/* sub common */
.styled-btn > button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 135px;
	height: 35px;
	color: #484848;
	background-color: #f5f5f5;
	border: 1px solid #d5d5d5;
}
.on .styled-btn > button {
	color: #fff;
	font-weight: bold;
	background-color: #e9a420;
	border: 1px solid #db9309;
}
.styled-btn > button.color-type1 {
	background-color: #007eca;
	border-color: #007eca;
	color: #fff;
}
.styled-btn > button.color-type2 {
	background-color: #db9309;
	border-color: #db9309;
	color: #fff;
}

.sch-con {
	display: flex;
	align-items: center;
}
.sch-con + .sch-con {
	margin-top: 15px;
}
.sch-con > dt {
	width: 140px;
	font-weight: bold;
}
.sch-con > .form-group {
	display: flex;
	align-items: center;
	gap: 5px;
}
.sch-con .styled-form-el select {
	width: 80px;
}
.text-right {
	text-align: right !important;
}
.btn.text-right {
	display: block;
}
.d-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mb-20 {
	margin-bottom: 20px !important;
}
/* 로그인 */
#content_login {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: #ededed;
}
.login_div {
	position: relative;
	width: 650px;
	padding: 75px 50px 60px;
	text-align: center;
	border:  1px solid #bcbcbc;
}
.login_div .ico {
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	padding: 0 20px;
	background-color: #ededed;
}
.login_div .ico::before,
.login_div .ico::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 6px;
	height: 6px;
	background-color: #bcbcbc;
}
.login_div .ico::before {
	left: -3px;
}
.login_div .ico::after {
	right: 3px;
}
.login_div ul {
	margin-top: 50px;
}
.login_div ul > li + li {
	margin-top: 10px;
}
.login_div input {
	width: 345px;
	height: 50px;
	background-color: #fff !important;
}

/* sub contents */

/* 연차 관리 */
.progress-top-wrap {
	width: 96%;
	margin: 0 auto;
	margin-top: 20px;
}
.progress-top-wrap > h1 {
	font-size: 25px;
	font-weight: 600;
	color: #151A2A;
}
.vacation-info-wrap {
	display: flex;
	max-width: max-content;
	margin-top: 20px;
	border-radius: 12px;
	border: 1px solid #CFD8EA;
	background: #FFF;
}
.vacation-info-wrap > * {
	padding: 30px;
}
.vacation-info-wrap > .tit {
	font-size: 14px;
}
.vacation-info-wrap > .tit strong {
	display: block;
	margin-bottom: 5px;
	font-size: 20px;
}
.vacation-info-wrap > .tit strong > span {
	font-size: 16px;
	color: #666;
}
.vacation-count-wrap {
	display: flex;
	align-items: center;
	gap: 20px;
	border-left: 1px solid #CFD8EA;
}
.vacation-count-wrap > li {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 3px;
	font-size: 14px;
	color: #333;
}
.vacation-count-wrap > li > strong {
	display: inline-block;
	margin-left: -4px;
	font-size: 18px;
	font-weight: 700;
	color: #3B82F6;
	letter-spacing: -0.08em;
}
.calHeader {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 20px;
}
.calHeader > span {
	font-size: 16px;
	font-weight: bold;
}
.calHeader > button {
	margin: 0;
	padding: 0;
	background-color: transparent;
	border: 0 none;
} 
.cal-table th,
.cal-table td{
		padding: 15px 10px;
    border: 1px solid #dfdfdf;
    letter-spacing: -0.045em;
}
.cal-table th:first-child,
.cal-table td:first-child{
    border-left: 0;
}
.cal-table th:last-child,
.cal-table td:last-child{
    border-right: 0;
}
.cal-table th{
    border-bottom: 0;
    background-color: #404040;
    font-weight: 700;
    color: #fff;
    text-align: center;
}
.cal-table thead th {
	border-top: 0 none;
	border-bottom: 0 none;
}
.cal-table .sun,
.cal-table .sun .num{
    color: #e93c69 !important;
}
.cal-table .sat,
.cal-table .sat .num{
    color: #144393 !important;
}
.cal-table td {
		height: 90px;
    vertical-align: top;
}
.cal-table .today{
    background-color: #f6f6f6;
}
.cal-table .ev-tooltip-con{
	display: none;
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	z-index: 2;
	min-width: 310px;
	padding: 15px;
	background-color: #fffee1;
	border: 1px solid #556278;
	border-radius: 5px;
	font-size: 1.5rem;
	font-weight: 500;
	box-shadow: 0 8px 10px rgba(182,182,182,0.2);
}
/*  세금계산서 발행 */
.searchWrap {
	margin-top: 20px;
	padding: 20px 30px;
	background-color: #f8f8f8;
	border: 1px solid #d6d6d6;
	border-radius: 10px;
}
.listDivTabArea {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.listDivTabArea > ul {
	display: flex;
	align-items: center;
	gap: 5px;
}
.serch_btn {
	padding: 4px 10px;
	font-size: 12px;
	background-color: #fff;
	border: 1px solid #d6d6d6;
	border-radius: 3px;
}
.serch_btn.on {
	color: #fff;
	background-color: #575757;
}
