@charset "utf-8";

:root{
	--color-primary-light:#4DA3FF;
	--color-primary:#2579b8;
	--color-point:#2b4a9d;
	--color-dark:#0B1F3A;
	--color-text:#1E293B;
	--color-text-sub:#2563EB;
	--color-green:#22C55E;
	--color-light:#F1F6FF;
	--color-gray:#a3a8af;
	--color-box:#eceff5;
	--color-bg:#F8FAFF;
	--color1:#64748B;
	--color2:#334155;
	--color-yellow:#FACC15;
	--swiper-theme-color:#1F6FEB !important;
}

input:focus, 
select:focus,
textarea:focus {
    outline: none;
	box-shadow: none;
}

input::placeholder,
textarea::placeholder {
    color: #666;
}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

.none {display:none;}

* {
	/* 포커스 outline 제거 */
	outline: none;
	-webkit-transition:all .3s ease-in-out; 
	-moz-transition:all .3s ease-in-out; 
	-ms-transition:all .3s ease-in-out; 
	-o-transition:all .3s ease-in-out; 
	transition:all .3s ease-in-out;  
	
	/* 하이라이트 색상을 투명하게 설정 */
	-webkit-tap-highlight-color: transparent;
/*	*/
/*	-webkit-user-select: none; /* iOS Safari */*/
/*    -ms-user-select: none; /* Internet Explorer/Edge */*/
/*    user-select: none; /* 표준 속성 */*/
/*	*/
}

.italic { font-style: italic; }
.center { text-align:center;}

.flexbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;

		-webkit-box-align: center;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
}
.flexbox_stretch {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;

		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		-webkit-align-items: stretch;
		align-items: stretch;
}
.between {
	justify-content: space-between;
	-webkit-justify-content: space-between;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
}
.around {
	justify-content: space-around;
	-webkit-justify-content: space-around;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
}
.start {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.wrap { flex-wrap: wrap; }
.column { 
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	-ms-flex-direction:column;
	-o-flex-direction:column;
	flex-direction:column;
}

.boxPage { margin:0 auto; text-align:center; }
.boxPage strong,
.boxPage a { display:inline-block; width:2.4rem; height:2.4rem; line-height:2.4rem; text-align:center; }
.boxPage strong { background:#007a9c; }

.under { 
	background-image: -webkit-linear-gradient(transparent 60%, #fff8a6 40%);
	background-image: -moz-linear-gradient(transparent 60%, #fff8a6 40%);
	background-image: -ms-linear-gradient(transparent 60%, #fff8a6 40%);
	background-image: -o-linear-gradient(transparent 60%, #fff8a6 40%);
	background-image: linear-gradient(transparent 60%, #fff8a6 40%);
	background-size: 100% 100%; 
}

.overflow { overflow:hidden; }

.radius4 {
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	-ms-border-radius:4px;
	-o-border-radius:4px;
	border-radius:4px;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  appearance: textfield;
  -moz-appearance: textfield; /* Firefox에서도 동작하도록 추가 */
}

@keyframes scroll{
	0%{bottom: -25px;}
	100%{bottom: -40px;}
}
@keyframes height{
	0%{height:100%}
	100%{height:0%}
}
@keyframes width{
	0%{width:0%}
	100%{width:100%}
}
@keyframes scaleWidth {
    0% { width: 0; opacity: 0; } 
    100% { width: 100%; opacity: 1; } 
}
@keyframes scale{
	0%{transform:scale(0.6); opacity: 0;}
	100%{transform:scale(1); opacity: 1;}
}
@keyframes upDown{
	0%{transform:translateY(-40px); opacity: 0;}
	100%{transform:translateY(0); opacity: 1;}
}
@keyframes up{
	0%{transform:translateY(110px); opacity: 0;}
	100%{transform:translateY(0); opacity: 1;}
}
@keyframes fadeIn{
	0%{opacity: 0;}
	100%{opacity: 1;}
}
@keyframes fadeUp{
	0%{transform:translateY(180px); opacity: 0;}
	100%{transform:translateY(0); opacity: 1;}
}
@keyframes fadeLeft{
	0%{transform:translateX(180px); opacity: 0;}
	100%{transform:translateX(0); opacity: 1;}
}
@keyframes fadeRight{
	0%{transform:translateX(-180px); opacity: 0;}
	100%{transform:translateX(0); opacity: 1;}
}
@keyframes move{
	0%{transform:translateX(-10px) translateY(-50%); opacity: 0;}
	100%{transform:translateX(10px) translateY(-50%); opacity: 1;}
}

.ani { opacity:0; }
.fadeUp { animation: fadeUp 1s ease forwards; }
.fadeLeft { animation: fadeLeft 1s ease forwards; }
.fadeRight { animation: fadeRight 1s ease forwards; }
.scaleWidth { animation: scaleWidth 1.5s 0.8s both; }

.table-container {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch; /* iOS에서 부드러운 스크롤을 지원 */
}

.material-symbols-outlined.thin {
	font-variation-settings: "wght" 100;
}

.material-symbols-outlined.bold {
	font-variation-settings: "wght" 400;
}

.material-symbols-outlined.filled {
	font-variation-settings: "FILL" 1;
}

.boxCalendar { background:#fff; padding:1.5rem; width:90vw;  margin:0 auto; padding-bottom:2rem; position:relative; overflow:hidden; }
.boxCalendar .boxCalendarTit { text-align:center; font-size:1.25rem; font-weight:500; height:3rem; line-height:3rem; border-bottom:1px solid #ddd; margin-bottom:.5rem; overflow:hidden; }
.boxCalendar .boxCalendarCon .line { width:100%; height:1px; background:#ddd; margin:0 auto; }
.boxCalendar .boxCalendarCon label { margin-top:1rem; }

.tooltip-icon {position:relative;}
.tooltip-box {display: none;position: absolute;background-color: #333;color: #fff;font-size:.9rem;padding: .5rem;border-radius: 4px;z-index: 999;white-space: normal;word-wrap: break-word; word-break: break-word;text-align:left;}

.guide { display:block; color:var(--color-text-sub); font-size:12px; }

/* ================================================
   주소 팝업 레이어
   ================================================ */
#juso_layer,.juso-layer{display:none;position:fixed;inset:0;z-index:9999;}
#juso_layer #juso_dim,.juso-dim{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);}
#juso_layer .juso_modal,.juso-modal{position:relative;width:min(920px,calc(100% - 24px));max-width:860px;margin:6vh auto;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.06);}
#juso_layer .juso_header,.juso-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;background:linear-gradient(#fff,#fafafa);}
#juso_layer .juso_title,.juso-head .juso-title{font-weight:500;font-size:1.25rem;letter-spacing:-.02em;}
#juso_layer .juso_status,.juso-head .juso-title .juso-status{display:inline-block;margin-left:1rem;color:#777;font-size:1rem;}
#juso_layer .juso_close,.juso-head .juso-close{height:2rem;line-height:2rem;background:transparent;border:0;font-size:2rem;}
#juso_layer .juso_body,.juso-body{padding:16px;}
#juso_layer .juso_search_row,.juso-body .juso-row--search{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;}
#juso_layer .juso_search_row input,.juso-body .juso-row--search input{flex:1;border:1px solid #ddd;border-radius:.25rem 0 0 .25rem;line-height:3rem;font-size:1rem;padding:0 1rem;}
#juso_layer .juso_search_row button,.juso-body .juso-row--search button{background:#222;color:#fff;border:0;height:3rem;padding:0 1.5rem;font-size:1rem;border-radius:0 .25rem .25rem 0;}
#juso_layer .juso_option_row{margin-top:10px;display:flex;gap:8px;align-items:center;}
#juso_layer .juso_count,.juso-body .juso-row--search .juso-count{width:120px;max-width:40vw;border:1px solid #ddd;border-radius:.25rem;margin-left:.5rem;height:3rem;text-align:center;}
#juso_layer #juso_count{display:none;}
#juso_layer .juso_list,.juso-list{margin-top:12px;max-height:52vh;overflow:auto;border:1px solid #eee;border-radius:.25rem;background:#fff;}
#juso_layer .juso_paging,.juso-foot{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
#juso_layer .juso_page,.juso-foot .juso-page{font-size:12px;color:#777;white-space:nowrap;}
.juso-foot .juso-prev,.juso-foot .juso-next{min-width:88px;height:3rem;line-height:3rem;background:#f5f5f5;border:0;border-radius:.25rem;}
.juso-list th,.juso-list td{padding:1rem;}
.juso-list th{font-size:1rem;font-weight:600;}
.juso-list::-webkit-scrollbar{width:10px;}
.juso-list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:.25rem;border:2px solid #fff;}

@media (max-width:768px){
		#juso_layer .juso_modal,.juso-modal{width:90%;max-width:none;margin:3vh auto;border-radius:.5rem;}
		#juso_layer .juso_header,.juso-head{padding:1rem 1.5rem;}
		#juso_layer .juso_body,.juso-body{padding:16px;}
		#juso_layer .juso_search_row input,.juso-body .juso-row--search input{display:block;width:calc(100% - 70px);flex:none;}
		#juso_layer .juso_search_row button,.juso-body .juso-row--search button{flex:0 0 70px;padding:0;font-weight:600;height:3rem;line-height:3rem;}
		#juso_layer .juso_count,.juso-body .juso-row--search .juso-count{width:100%;max-width:none;margin-top:.5rem;margin-left:0;}
		#juso_layer .juso_paging,.juso-foot{margin-top:.5rem;gap:.5rem;}
		#juso_layer .juso_page,.juso-foot .juso-page{font-size:.9rem;}
		.juso-foot .juso-prev,.juso-foot .juso-next{font-size:1rem;font-weight:500;}
		.juso-list thead{display:none;}
		.juso-list tr.juso_item{display:block;font-size:.85rem;text-align:left;}
		.juso-list tr.juso_item td{display:block;padding:.25rem 0;border:0;}
		.juso-list tr.juso_item td:nth-child(1){font-weight:600;background:#f5f5f5;}
		.juso-list::-webkit-scrollbar{width:.5rem;}
}

/* 달력 이삿날 체크 */
#ui-datepicker-div { z-index:10000 !important; }
.ui-widget-content .ui-state-default { text-align:center; }
.ui-datepicker-calendar > tbody td.ui-datepicker-week-end:first-child a { color: #ff0000; }
.ui-datepicker-calendar > tbody td.ui-datepicker-week-end:last-child a { color: #0000ff; }
.ui-widget-content .holiday-color .ui-state-default { color:#fff !important; background:var(--color-point); }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { color: #fff !important; }
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { color: #777620 !important; }
.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all::after { content:'';color:#fff;background:var(--color-point); text-align:center; display:block; font-size:1rem; line-height:3rem;}

@media (max-width:768px){
	#ui-datepicker-div{
		position:fixed !important;
		left:50% !important;
		top:50% !important;
		transform:translate(-50%,-50%) !important;
		width:90%;
		max-width:540px;
	}
	.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all::after{white-space:pre;font-size:.9rem; line-height:1.2rem;padding:.75rem 0;}
	.ui-datepicker-multi .ui-datepicker-group{
		float:none !important;
		width:100% !important;
	}
	.ui-datepicker-multi{
		width:90% !important;
	}
}

.pc_only{display:block;}
.mo_only{display:none;}

@media all and (max-width:768px){
	.pc_only{display:none !important;}
	.mo_only{display:block !important;}
}