body {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    position: relative;

}

body > div.body-wrapper {
    flex: 1;
    width: 100%;  
    position: relative;
    display:flex;
    justify-content: space-between;
    align-items: center;
}

body > div.body-wrapper > section.body-content-right {
	width: 100%;
    height: 100%;
    background-color: #f7f7f9;
    overflow: auto;
}

body > div.body-wrapper > section.body-content-right > div.body-content {
    width: 1200px;
    height: calc(100vh - 110px);
    margin: 0 auto;
	background-color: #fff;
	padding: 24px;
}


/* 캡션 style */
.caption-wrapper {
    width: 100%;
    height: auto;
    background-color: #f8d7da;
    padding: 9px 24px;
    border-radius: 8px;
}
.caption-wrapper > .caption {
    color:#721c24;
}

.caption-id {
    display: block;
}
.caption-password {
    display: none;
}
.caption-otp {
    display: none;
}

.caption-wrapper > .caption > span {
    color: red;
    font-weight: 900;
    margin-right: 8px;
}



/* 버튼 style */
.button-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: 30px;
}

/* 큰 라운드 버튼 */
.round-button {
    width: auto;
    height: 27px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 24px;
    cursor: pointer;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 500;
}
.round-button-fix {
    width: 188px;
    height: 27px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 24px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
}
.round-button-var {
    width: 100%;
    height: 27px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 24px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
}
/* 작은 라운드 버튼 */
.semi-round-button {
    width: auto;
/*     height: 27px; */
/*     display: flex;
    justify-content: center;
    align-items: center; */
    padding: 4px 24px;
    cursor: pointer;
    white-space: nowrap;
    font-size: 16px;
/*     font-weight: 500; */
    text-align: center;
}
.semi-round-button-fix {
    min-width: 100px;
    height: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
}
.semi-round-button-var {
    width: 100%;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 500;
}
/* 라운드 없는 버튼 */
.no-round-button {
    width: auto;
    height: 27px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 24px;
    cursor: pointer;
    white-space: nowrap;
    font-size: 16px;
    font-weight: 500;
}
.no-round-button-fix {
    width: 188px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
}

.button-white {
    background-color: #fff;
    border: 1px solid #253586;
    color:#253586;
}
.button-white > a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;


    color:#253586;
    cursor: pointer;
}
.button-blue {
    background-color: #253586;
    border: 1px solid #253586;
    color:#fff;
}
.button-blue > a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    color:#fff;
    cursor: pointer;
}
.button-gray {
    border: 1px solid #919192;
    color:#919192;
}
.button-gray > a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    color:#919192;
    cursor: pointer;
}
.button-red {
	background-color: #da0043;
    border: 1px solid #da0043;
    color:#fff;
}

.button-white:hover, .button-blue:hover, .button-gray:hover, .button-red:hover {
    font-weight: 700;
}

.hovered:hover {
	font-weight: 700;
}

/* margin 값 */
.margin-clear {
    margin: 0 !important;
}
/* margin-left */
.margin-left-5 {
    margin-left: 5px;
}
.margin-left-10 {
    margin-left: 10px;
}
.margin-left-20 {
    margin-left: 20px;
}
/* margin-right */
.margin-right-5 {
    margin-right: 5px;
}
.margin-right-10 {
    margin-right: 10px;
}
.margin-right-20 {
    margin-right: 20px;
}
.margin-right-30 {
    margin-right: 30px;
}
.margin-right-50 {
    margin-right: 50px;
}
/* margin-bottom */
.margin-bottom-0 {
	margin-bottom: 0 !important;
}
.margin-bottom-4 {
    margin-bottom: 4px;
}
.margin-bottom-5 {
    margin-bottom: 5px;
}
.margin-bottom-6 {
    margin-bottom: 6px;
}
.margin-bottom-10 {
    margin-bottom: 10px !important;
}
.margin-bottom-20 {
    margin-bottom: 20px !important;
}
.margin-bottom-30 {
    margin-bottom: 30px;
}
.margin-bottom-40 {
    margin-bottom: 40px;
}
.margin-bottom-50 {
    margin-bottom: 50px !important;
}
.margin-bottom-80 {
    margin-bottom: 80px;
}
/* margin-top */
.margin-top-0 {
	margin-top: 0 !important;
}
.margin-top-5 {
    margin-top: 5px;
}
.margin-top-7 {
    margin-top: 7px;
}
.margin-top-10 {
    margin-top: 10px;
}
.margin-top-20 {
    margin-top: 20px;
}
.margin-top-30 {
    margin-top: 30px;
}
.margin-top-40 {
    margin-top: 40px;
}
.margin-top-50 {
    margin-top: 50px;
}

.margin-auto {
	margin: 0 auto;
}

/* 패딩 padding */
/* padding-left */
.padding-left-10 {
    padding-left: 10px !important;
}
.padding-left-20 {
    padding-left: 20px !important;
}
.padding-left-30 {
    padding-left: 30px !important;
}
.padding-left-40 {
    padding-left: 40px !important;
}
.padding-left-50 {
    padding-left: 50px !important;
}
.padding-right-5 {
	padding-right: 5px !important;
}
.padding-right-10 {
    padding-right: 10px !important;
}
.padding-right-20 {
    padding-right: 20px !important;
}
.padding-bottom-0 {
	padding-bottom: 0 !important;
}



/* 폰트 */
/* 폰트 크기 */
.fs-12 {
    font-size: 12px;
}
.fs-14 {
    font-size: 14px;
}
.fs-18{
    font-size: 18px;
} 
.fs-20{
    font-size: 20px;
} 
/* 폰트 굵기 */
.fw-600 {
    font-weight: 600;
}
.fw-700 {
    font-weight: 700;
}
.fw-800 {
    font-weight: 800;
}
/* 폰트 색상 */
.fc-red {
    color:red;
}
.fc-0073ff {
	color: #0073ff;
}

/* 배경색 제거 */
.background-color-clear {
	background-color: transparent !important;
}

/* 텍스트 */
.text-align-left {
    text-align: left !important;
}
.text-align-right {
    text-align: right !important;
}
.text-align-center {
	text-align: center !important;
}

/* table 영역 크기 */
.tw-checkbox {
    width: 50px;
}
.tw-num {
    width: 50px;
}
.tw-date {
    width: 200px;
}

.tw-40 {
	width: 40px !important;
}
.tw-50 {
    width: 50px  !important;
}
.tw-60 {
    width: 60px  !important;
}
.tw-70 {
    width: 70px  !important;
}
.tw-80 {
    width: 80px  !important;
}
.tw-100 {
    width: 100px !important;
}
.tw-120 {
    width: 120px !important;
}
.tw-125 {
    width: 125px !important;
}
.tw-130 {
    width: 130px !important;
}
.tw-150 {
    width: 150px !important;
}
.tw-200 {
    width: 200px !important;
}
.tw-250 {
    width: 250px !important;
}
.tw-300 {
    width: 300px !important;
}
.tw-350 {
    width: 350px !important;
}
.tw-400 {
    width: 400px !important;
}
.tw-500 {
    width: 500px !important;
}
.tw-600 {
    width: 600px !important;
}
.tw-auto {
    width: 100% !important;
}

/* score table 기본값 */
.score-table-default {
	width: 100%;
	height: auto;
}
.score-table-default > thead > tr > th {
	border: 1px solid #dadde5;
	vertical-align: middle;
	text-align: center;
	font-size: 14px;
}
.score-table-default > tbody > tr > td {
	border: 1px solid #dadde5;
	vertical-align: middle;
	text-align: center;
	font-size: 14px;
} 

/* input 영역 (input의 타이틀 포함) */
.input-wrapper { 
   margin-bottom: 10px; 
}
.input-wrapper > p {
    margin-bottom: 5px;
    font-size: 14px;
    white-space: nowrap;
}
.input-wrapper > label.input-box {
    width: 100%;
}
.input-wrapper > label.input-box > input {
    width: 100%;
    height: 34px;
    padding-left: 12px;
    font-size: 14px;
}
.input-wrapper > label.input-box > input::placeholder {
    font-size: 12px;
}

.input-wrapper > div.file-upload {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.input-wrapper > div.file-upload > div {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
}
.input-wrapper > div.file-upload > label {
	margin-left: 14px;
	width: 120px;
}
.input-wrapper > div.file-upload > label > input {
	display: none;
}


/* 모달 input - 나중에 input 스타일 통일 필요 */
.input-wrapper-horizontal {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 36px;
}
.input-wrapper-horizontal > div {
	height: 36px;
}
.input-wrapper-horizontal > div.input-title {
	width: 140px;
	height: 100%;
	font-weight: 600;
    margin-bottom: 0;
}
.input-wrapper-horizontal > label {
	flex: 1;
	height: 36px;
}
.input-wrapper-horizontal > label > input {
	width: 100%;
	height: 100%;
	padding-left: 12px;
	font-size: 14px;
	border: 1px solid #cbd3e5;
	border-radius: 5px;
	outline: none;
}


/* input 개별 style */
.input-object {
    flex: 1;
    width: 100%;
    height: 36px;
    padding: 0 12px;
    border-radius: 5px;
    border: 1px solid #c8d3e5;
    outline: none;
}
.input-object:focus {
	border: 0;
}
.input-object:disabled{
	background-color: #edeff4;
}
.input-object::placeholder {
    font-size: 14px; 
}
/*  input label 버튼 포함 style */
.input-object-lable {
    width: 100%;
    height: 36px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.input-object-lable > input {
    width: 100%;
    height: 34px;
    padding: 0 12px;
    border-radius: 5px;
    border: 1px solid #cbd3e5;
    line-height: middle;
    font-size: 14px;
    outline: none;
}
.input-object-lable > input::placeholder {
    font-size: 12px;
}

.input-object-lable-icon {
    width: 100%;
    height: 34px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.input-object-lable-icon > input {
    width: 100%;
    height: 34px;
    padding: 12px 12px;
    border-radius: 5px;
    border: 1px solid #cbd3e5;
    outline: none;
}
.input-object-lable-icon > input::placeholder {
    font-size: 14px;
}
.input-object-lable-icon > button {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    cursor: pointer;
}
.input-object-lable-icon > button > img {
    width: 80%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;   
}

/* input, textarea outline 색상 */
/* .input-outline-cyan {
    outline-color: #438cae !important;
} */

.result-input-outline-cyan::before {
	content: none !important;
}

/* input select */
.select-box {
    position: relative;
    min-width: 80px;
    min-height: 34px;
    height: auto;
    border-radius: 5px;
	padding-left: 12px;
    border: 1px solid #cbd3e5;
    color: #395b92;
    overflow: hidden;
    z-index: 2;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 12px;
    outline: none;
    font-size: 14px;
    cursor: pointer;
    
    appearance: none;
    -webkit-appearance: none;
    -moz-apperance: none;
    
	background-image:url("./../../images/egovframework/icon/arrowDown.svg");
	background-repeat: no-repeat;
	background-size: 14px;
	background-position: top 10px right 10px;
}
.select-box::-ms-expand{display:none;}

.select-box-search {
	z-index: 4;
}


.checkbox-select {
    width: 100%;
    /* height: auto; */
    height: 34px;
}

.checkbox-select-padding {
    padding: 0 12px;
}



.checkbox-select > label {
    width: 100%;
    padding-top: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 14px;
    cursor: pointer;
}
.checkbox-select > label > input {
    margin-right: 5px;
}
.checkbox-select > label:first-child{
	padding-top:0;
    height: 34px;
}
.checkbox-select > label:nth-child(2) {
    justify-content: flex-start;
    border-top: 1px solid #395b92;
}
.checkbox-select > label:last-child {
	padding-bottom: 10px;
}
.checkbox-select > .ico-arrow {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 35px;
    height: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    /* background-color: #fff; */
    /* background-color: pink; */
}
.checkbox-select > .ico-arrow > img {
    width: 40%;
    transition: .3s;
    cursor: pointer;
}

.select-box > select {
    width: 100%;
    height: 100%;
    background: transparent;
    border: 0 none;
    outline: 0 none;
  /*   padding: 0 10px; */
    position: relative;
    z-index: 3;
    appearance: none;
    color: #395b92;
    font-size: 14px;

}
.select-box > select > option {
    padding: 3px 0;
    font-size: 14px;
}
.select-box > .ico-arrow {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 35px;
    height: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* background-color: #fff; */
    /* background-color: pink; */
}
.select-box > .ico-arrow > img {
    width: 40%;
    transition: .3s;
}
.select-box > select::-ms-expand {
    display: none;
}
.select-box > select:focus + .ico-arrow > img {
    transform: rotate(180deg);
}

/* checkbox select */

.refresh-btn {
    width: 34px;
    height: 34px;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background-color: #253586;
}
.refresh-btn > img {
    cursor: pointer;
    width: 60%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: red;
}




/* 디스플레이 플렉스 */
.display-flex-center {
    display: flex !important;
    justify-content: center;
    align-items: center;
}
.display-flex {
	display: flex;
}
.align-items-center {
	align-items: center !important;
}
.align-items-flex-start {
	align-items: flex-start !important;
}
.display-flex-direction-column {
    flex-direction: column;
}
.justify-content-flex-end {
    justify-content: flex-end !important;
}
.justify-content-space-between {
	justify-content: space-between !important;
}
.align-self-flex-start {
    align-self: flex-start;
}
.align-self-center {
    align-self: center;
}
.display-flex-none {
	flex:none !important;
}
.display-flex-one {
	flex: 1;
}

/* 디스플레이 none */
.display-none {
    display: none;
}

.display-none-im {
    display: none !important;
}


/* 커서 포인터 */
.cursor-pointer {
    cursor: pointer !important;
}
.cursor-pointer > img {
    cursor: pointer;
}
.cursor-default {
	cursor: default !important;
}
.cursor-default > td {
	cursor: default !important;
}
.cursor-default > td > input {
	cursor: pointer;
}


/* border 삭제 */
.border-none {
    border: none !important;
    border-bottom: 0 !important;
}

.disabled-wrapper {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border: 1px solid #c8d3e5;
    background-color: #edeff4;
    border-radius: 5px;
    padding-left: 12px;
}

/* height 34px 고정, input height*/
.h34 {
	height: 34px !important;
}

/* download 받는 div에 설정*/
/* .download-wrapper {
	cursor:pointer
} */
.download-wrapper a {
	color: var(--bs-modal-color)
}
.download-wrapper:hover {
	text-decoration: underline;
}


/* 프로그래스바 css */
body > div.progress-bar {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
    background-color: #f7f7f9;
    display: flex;
    justify-content: center;
    align-items: center;
}
