/* --------------------------------------------
 * header
/* ------------------------------------------ */
#header {width:100%; position: fixed; left: 0; top:0; z-index: 99; }
#header.scroll {box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); background-color: #fff;}
#header .inner {padding: 30px 16px;  justify-content:space-between;}
#header.scroll .inner {padding: 20px 16px;}
#header a.header-tel {padding: 10px 17px; border-radius: 100px; gap: 5px;}
#header .menu-warp {gap: 3vw; justify-content: flex-end;}
#header .menu-warp ul li.popup-close {display: none;}
#header .menu-warp a { font-size: 16px; font-weight: 600;}
#header .menu-warp a:hover {color: #FF4954; transition: all .3s;}
#header .menu-warp a.on {color: #FF4954; font-weight: bold;}
#mobileMenu.popup {visibility: visible; position: unset; width: auto; max-width: none;}

/* 모바일 메뉴 탭 */
#header .menu-trigger {display: none; width: 30px; height: 28px; padding: 4px;}
#header .trigger {width: 100%; height: 100%; margin: 0 auto; position: relative;}
#header .trigger span {
	display: block; width: 100%; height: 3px;
	background-color: #000; border-radius: 100px; 
	position: absolute; left: 0;
}
#header .show-popup .trigger span:nth-child(1) {top: 0;}
#header .show-popup .trigger span:nth-child(2) {top: 50%; transform: translateY(-50%);}
#header .show-popup .trigger span:nth-child(3) {bottom: 0;}
/* 메뉴 탭 닫기 */
#header .popup-close .trigger span {top: 50%;}
#header .popup-close .trigger span:nth-child(1) {transform: translateY(-50%) rotate(-45deg);}
#header .popup-close .trigger span:nth-child(2) {transform: translateY(-50%) rotate(45deg);}


/* --------------------------------------------
 * floation button
/* ------------------------------------------ */
.floationBtn {
	position: fixed; bottom: 0; right: 0;  z-index: 20; width: 100%;
}
.floationBtn .call-box a,
.floationBtn .call-box .consultBtn{flex: 1; height: 50px;}
.floationBtn .call-box a.call {background-color: #333333; color: #fff;}
.floationBtn .call-box a.call img {width: 20px;}
.floationBtn .call-box a.kakao img {width: 24px;}
.floationBtn .call-box .consultBtn img {width: 22px; margin-right: 10px;}
.floationBtn .call-box a span {font-size: 16px; margin-left: 11px;}
.floationBtn .btn-box {
	position: relative; padding: 0 16px 20px;}
.floationBtn .btn-box .btnBox {
	position: absolute; right: 15px; bottom: 15px;
	width: 50px;
}
.floationBtn .btn-box button {
	width: 50px; height: 50px; border-radius: 100px;
}
.floationBtn .scrollTop {
	border: 1px solid #DDDDDD; background-color: #fff; 
	padding: 0 14px;
}
.floationBtn .scrollTop img {
	margin: -2px 0 0 1px;
}
.floationBtn .consult-btn,
.floationBtn .call-box{display: none;}

.floationBtn form{
	background: #fff; border-top: 1px solid #ddd;
}
.floationBtn form .inner{
	padding: 20px 16px; gap: 20px;
}
.floationBtn .boardwriteWrap .boardWrite{
	flex-wrap:nowrap; flex: 1; gap:10px;
}
.floationBtn .boardwriteWrap .form-title h2{
	margin-bottom:0;
}
.floationBtn .boardwriteWrap button{
	margin-top: 0; flex: 1; min-width:150px;
}
.floationBtn .boardwriteWrap dl.flex{
	flex: 1;
}
.floationBtn .boardwriteWrap dl.agree-box{
	width: auto;
}
.floationBtn .boardwriteWrap a.call{
	padding:14px; width: 46px; border-radius:10px;
	background: #333;
}



/* --------------------------------------------
 * layerPopup
/* ------------------------------------------ */
.popup-overlay {
    position: fixed; top: 0; left: 0; 
    width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7);
    z-index: 999; opacity: 0; visibility: hidden;
}
.popup {
    position: fixed; left: 50%; z-index: 1000;
    width: 90%; max-width: 500px; visibility: hidden;
}
.popup .popup-content{
    position: relative; padding: 45px;
    background: #fff; border-radius: 26px;
}
.popup-title{
    display: flex; align-items: center;
	padding:0 25px; height: 60px;
}
.popup-close {
    position: absolute; top:30px; right:30px;
}
.popup .popup-content .link-btn {
	margin:20px auto 0; width:100%; max-width:210px; height:42px;
	border-radius:9px; font-size:18px; font-weight: 500;
}
.popup-close.circle{
    top:20px; right:20px; padding:8px;
    width: 25px; height: 25px;
    background: #007AFF; border-radius: 100%;
}
.popup-close.circle img{filter: invert(1);}
.layerPopup#loginpop .layerBody {height:100vh; bottom:0; border-radius:0;}


/* --------------------------------------------
 * layerPopup_Policy
/* ------------------------------------------ */
.popup.policy .popup-content{
    padding: 0; background: transparent; border-radius: 0;
}
.popup.policy{
    max-width: 600px; height: 400px;
    background: #ffffff; border-radius: 20px;
}
.popup.policy .popup-title{
	font-size:18px; font-weight: 600; color: #222;
}
.popup.policy .popup-close {
    position: relative; top:auto; right:auto;
    margin-left: auto; width: 20px; height: 20px;
    padding: 4px; filter:invert(0.5);
}
.popup.policy .popup-info {
    padding:0 30px 30px; height:340px; line-height: 21px;
	background:#f1f1f1; border-radius:0 0 30px 30px;
	font-size: 13px; word-break: keep-all; color: #888;
}
.popup.policy .popup-info pre {
	white-space: pre-wrap;
}
.popup.policy .popup-info .table_st1 td {
	font-size: 13px;
	line-height: 21px;
}
.popup.policy .popup-info .table_st1 {
	margin: 30px 0;
}
.popup.policy .popup-info h3 {
	margin: 30px 0 10px;
	color: #888;
	font-size: 15px;
}
.popup.policy .popup-info h4 {
	margin: 20px 0 5px;
	font-size: 15px;
}
.popup.policy .popup-info .policy_txt {
	font-size: 13px;
	line-height: 21px;
	color: #888;
}
.popup.policy .popup-info .policy_txt:after {
	display: block;
	clear: both;
	content: '';
}
.popup.policy .popup-info .policy_txt strong {
	display: block;
	color: #888;
	font-size: 13px;
	line-height: 30px;
	letter-spacing: -0.025em;
}
.popup.policy .popup-info .policy_txt ul.col_2 {
	float: left;
	width: 50%;
	padding-right: 20px;
}
.popup.policy .popup-info .policy_txt ul.col_2:last-child {
	padding-right: 0;
	padding-left: 20px;
}
.popup.policy .popup-info .policy_txt ul.col_2 li {
	margin-bottom: 15px;
}
.popup.policy .popup-info .policy_txt ul.col_2 li:last-child {
	margin-bottom: 0;
}
.popup.policy .popup-info .policy_txt ul.indent {
	margin: 5px 0 15px;
}
.popup.policy .popup-info .policy_txt ul.indent li {
	position: relative;
	padding-left: 16px;
}
.popup.policy .popup-info .policy_txt ul.indent li:before {
	content: '';
	width: 2px; height: 2px;
	display: inline-block;
	background: #666;
	position: absolute;
	top: 10px; left: 10px;
}
.popup.policy .popup-info .privacy_top {
	padding: 30px 0 50px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 50px;
}
.popup.policy .popup-info .policy_part {
	padding: 0 0 50px;
	border-bottom: 1px dotted #ddd;
	margin-bottom: 50px;
}
.popup.policy .popup-info .policy_part ul li {
	margin-bottom: 10px !important;
}
.popup.policy .popup-info .policy_part ul li a {
	font-size: 15px; color: #000;
}
.popup.policy .popup-info .policy_part ul li a:hover {
	text-decoration: underline;
}
.popup.policy .popup-info table {
	table-layout: fixed;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin: 20px 0;
    width: 100%;
}
.popup.policy .popup-info table thead th {
	font-family: 'NanumBarunGothicBold', 'NanumBarunGothic', sans-serif;
	padding: 15px 4px;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	text-align: center;
	color: #999;
	font-weight: normal;
}
.popup.policy .popup-info table thead tr:first-child th:first-child {
	border-left: none;
}
.popup.policy .popup-info table tbody tr th {
	font-family: 'NanumBarunGothicBold', 'NanumBarunGothic', sans-serif;
	padding: 15px 12px;
	border-top: 1px solid #ccc;
	color: #999;
	font-weight: normal;
    word-wrap: break-word;
}
.popup.policy .popup-info table tbody td {
	padding: 15px 12px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
    word-wrap: break-word;
}
.popup.policy .popup-info table tbody tr:first-child th,
.popup.policy .popup-info table tbody tr:first-child td {
	border-top: none; 
}
.popup.policy .popup-info table tbody td:first-child {
	border-left: none;
}

.popup#agrForm{
    width: 90%;
}
.popup#agrForm .popup-content{
    padding: 1px 10px;
}

/* 상담 및 견적 팝업 */
#consultPopup .popup-title {
	height: auto; justify-content: center;
	padding: 0 20px 10px 20px; font-size: 20px;
	font-weight: bold;
}
#consultPopup .consult-popup {margin-top: 20px;}
#consultPopup .boardwriteWrap dl {border: none;}
#consultPopup .boardwriteWrap dd input {
	margin-top: 6px; border: 1px solid #ddd; height: 40px;
}

#consultPopup .popup {width: 90%;}


#reviewPopup.popup .popup-content{
	padding: 8px 40px 40px;
}
#reviewPopup .review-popup{
	padding: 0 5px;
}
#reviewPopup .title-txt{
	width: 100%;
    font-size: 13px;
    text-align: center;
	color: #9e9e9e;
}
#reviewPopup .cm-scrollbar{
	height: 60vh;
}
#reviewPopup .tit {
	padding:25px 0 15px;
}
#reviewPopup .tit h2 {
	display: flex; align-items: center;
	margin-bottom:10px; font-size:22px; color:#393939;
}
#reviewPopup .tit h2 span{display:inline-block; margin-right:8px; padding:3px 8px; background:#000; border-radius:3px; font-size:13px; color:#fff;}
#reviewPopup .tit p {margin:11px 0; font-size:16px; color:#9e9e9e;  font-weight:500; letter-spacing:-0.5px; letter-spacing:-0.5px;}
#reviewPopup .tit h5 {display:flex; gap:9px; align-items:center; font-size:14px; color:#c2c2c2; font-weight:500;}
#reviewPopup .tit h5 .ico-cal {width:20px; height:20px; margin-left:-1px;}
#reviewPopup .thumb-img {border-radius:13px; overflow:hidden;}
#reviewPopup .thumb-img img{width: 100%;}
#reviewPopup .writer .name {margin-right:10px; font-size:15px; color:#6a6c73;}
#reviewPopup .writer .date {font-size:15px; color:#969696;}
#reviewPopup .writer .star {margin-top:5px;}
#reviewPopup .writer .star span {width:20px; height:20px;}
#reviewPopup .content p {font-size:15px; line-height:27px; color:#828282; }
#reviewPopup button {
    margin-top: 20px; height: 50px; width: 100%;
    border-radius: 10px; font-weight: 600; color: #fff;
}


/* --------------------------------------------
 * footer
/* ------------------------------------------ */
footer {font-size: 14px; line-height: 1.5; color: #666; padding-bottom: 120px;}
footer a {color: #666;}
footer > .inner {padding: 40px 16px 0;}
footer h2 {font-size: 26px;}
footer .terms {background-color: #191919; color:#f0f0f0;}
footer .terms .inner {gap: 50px; padding: 25px 16px 24px; font-size: 18px;}
footer .terms .inner p {cursor: pointer;}
footer .terms p.term-user {text-decoration: underline;}
footer .info .flex {align-items: flex-start; flex-wrap: wrap; margin: 4px 0;}
footer .info .flex h2 {font-size: 14px; font-weight: 400;}
footer .info dt {min-width: max-content; margin-right: 4px;}
footer .info .flex a {font-weight: 600;}
footer .copy {
	font-size:12px; font-weight: 300; margin-top: 30px;
	color: #ccc;
}



@media (max-width: 1024px) {
    #header .inner {padding: 20px 16px;}

	.floationBtn .consult-btn {
		display: block; padding: 0 12px; margin-top: 10px;
		background: #fc8b38;
	}
	.floationBtn .call-box{
		display: flex;
	}
	.floationBtn > form{
		display: none;
	}

}


@media (max-width: 768px ) {
    #header .inner {padding: 12px 16px;}
    #header .menu-trigger {display: none; margin-left: 16px;}
    #header .logo a {width: 200px;}
	#header a.header-tel {padding: 4px 8px;font-size: 11px;gap:3px;}
    #header a.header-tel img{width: 16px;}
    #mobileMenu.popup {display: none !important;}

	.popup .popup-content{padding: 30px;}

	#reviewPopup.popup .popup-content{
		padding: 8px 20px 20px;
	}
	#reviewPopup .title-txt{
	    font-size: 11px;
	    text-align: left;
	}
	#reviewPopup .tit {
		padding:15px 0 5px;
	}
	#reviewPopup .tit h2 {
		font-size:18px;
	}
	#reviewPopup .tit h2 span,
	#reviewPopup .writer .name,
	#reviewPopup .writer .date {
		font-size:11px;
	}
	#reviewPopup .writer .star span {
		width:10px; height:10px;
	}
	#reviewPopup .content p {
		font-size:13px; line-height:22px;
	}
	#reviewPopup button {
	    margin-top: 10px; height: 40px; border-radius: 8px;
	}

	.floationBtn .call-box a,
	.floationBtn .call-box .consultBtn {height: 40px;}
	.floationBtn .call-box a span {margin-left:6px; font-size: 14px;}
	.floationBtn .call-box a span em{display: none;}
	.floationBtn .call-box a.kakao img {width: 17px;}
	.floationBtn .call-box a.call img {width: 16px;}
	.floationBtn .btn-box .btnBox {width: 36px;}
	.floationBtn .btn-box  button {width: 36px; height: 36px; padding: 0 10px;}
	.floationBtn .consult-btn {margin-top: 6px;}

	.floationBtn .call-box .consultBtn{font-size: 14px;}
	.floationBtn .call-box .consultBtn img {width: 17px; margin-right: 6px;}



    footer {font-size: 12px; padding-bottom: 70px;}
	footer > .inner {padding-top: 20px;}
	footer .terms .inner {gap: 24px; font-size: 14px; padding: 14px 16px;}
	footer .info .flex h2 {font-size: 12px;}
	footer .copy {font-size: 10px; padding-top: 0;}

}
