/* 전체 스타일은 CMS style guide ver.2.0.0 을 따름 */


/************************* Import : Fonts - Predendard **************************/ 

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Thin.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
}





/************************** Variables **************************/



:root {

/* v1. color */
--cl-primary: #03a2b4;
--cl-secondary: #2c3b94;
--cl-point-1: #4473aa;
--cl-point-2: #293851;
--cl-point-3: #2b3760;
--cl-point-4:#afe223;
--cl-base-1: #1e1e1e;
--cl-base-2: #656a7d;
--cl-base-3: #a1aac6;
--cl-base-4:#6784b2;
--cl-base-5:#999;
--cl-bg-1: #eeeff3;
--cl-bg-2: #0F132E;
--cl-bg-3: #f4f4f4;
--cl-bg-4: #c6d5f5;
--cl-bg-5: #ddd;
--cl-disabled: #e9eaf5;
--cl-error: #ef0f44;


/* v2. font-size */
--fz-caption: 12px;
--fz-body2: 14px;
--fz-body1: 16px;
--fz-subtitle2: 18px;
--fz-subtitle1: 20px;
--fz-headline5: 24px;
--fz-headline4: 28px;
--fz-headline3: 32px;
--fz-headline2: 36px;
--fz-headline1: 48px;
}


/************************** Reset **************************/



* {
  box-sizing: border-box;
  font-size: 16px;
  color: var(--cl-base1);
  letter-spacing: 0.5px;
  font-family: "Pretendard", sans-serif;
}


body {
  font-family: "Pretendard", sans-serif;
  margin: 0;
  padding: 0;
}

a {
  font-style: normal;
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  font-family: inherit;
}

p {
  margin: 0;
  padding: 0;
}

ul,
ol,
li {
  padding: 0;
  margin: 0;
  list-style: none;
}

input[type=button],
input[type=select],
button {
  cursor: pointer;
}

img {
  height: auto;
  max-width: 100%
}

h1,h2,h3,h4,h5,h6 {
  margin: 0;
  padding: 0;
}

span {
  font-family: inherit;
  display: inline-block;
}

/****************** commonness ******************/

/* c1 : grid & flex */

.grid {
  display: grid;
}

.flex {
  display: flex;
}

.item {
 
}

/* c3 : buttons */

.btn {
  font-weight:600;
  align-items: center;
}

.btn,
.file-name,
.input,
.select select,
.textarea {
  background-color: transparent;
  color: var(--cl-base-1);
  border-width: 1px;
  cursor: pointer;
  justify-content: center;
  padding-bottom: calc(.75em - 1px);
  padding-left: calc(1em - 1px);
  padding-right: calc(1em - 1px);
  padding-top: calc(.75em - 1px);
  white-space: nowrap;
  font-size: var(--fz-body2);
  transition:0.5s;
  border-radius: 6px;
  max-height: 46px;
 
}

.input::placeholder {
  transition:0.5s;
}

.input:focus::placeholder {
  opacity: 0;
}

.btn.btn-dark {
  color: var(--cl-base-1);
  border-color: var(--cl-base-1);
  color: var(--cl-base-1);
  background: #fff;
}

.btn.btn-type-1 {
  background-color: #fff;
  color: var(--cl-secondary);
  border:none;
}

.btn.btn-type-1:hover {
color : #fff;
 background-color: var(--cl-secondary);
}

.input.input-with-icon {
  padding-left: 40px;
}

.input.input-with-icon::placeholder {
  color: #fff;
}

.btn.btn-dark:hover {
  background-color: #fff;
  border-color: var(--cl-base-1);
  color: var(--cl-base-1);
}

.btn.btn-transparent {
  background-color: transparent;
  color: #fff;
}

.btn.btn-transparent:hover {
  color: var(--cl-base-1);
  background-color: #fff;
}

.btn.btn-white {
  background-color: #fff;
  border-color: var(--cl-base-1);
  color: var(--cl-base-1)
}

.btn.btn-white:hover {
  background-color:var(--cl-base-1);
  border-color: var(--cl-base-1);
  color: #fff;
}

.btn.btn-with-icon {
  padding-right: 2.5rem;
}

.btn-download-excel {
  background: var(--cl-base-1) url(../images/icon_excel.png) no-repeat center right 10px;
  background-size: 20px;
  border:1px solid var(--cl-base-1);
  color: #fff;
}

.btn-download-excel:hover {
  background: #fff url(../images/icon_excel.png) no-repeat center right 10px;
  background-size: 20px;
  border:1px solid var(--cl-base-1);
  color: var(--cl-base-1);
}

.btn.btn-primary {

  background-color: var(--cl-primary);
  color: #fff;
  border:1px solid transparent;
}

.btn.btn-primary:hover {
  background: #fff;
  color: var(--cl-primary);
  border: 1px solid var(--cl-primary);
}

.btn.btn-secondary {

  background-color: var(--cl-secondary);
  color: #fff;
  border: 1px solid transparent;
}

.btn.btn-secondary:hover {


  background: #fff;
  color: var(--cl-secondary);
  border: 1px solid var(--cl-secondary);
}

.btn.btn-danger {

  background-color: var(--cl-error);
  color: #fff;
  border: 1px solid transparent;
}

.btn.btn-danger:hover {
  background: #fff;
  color: var(--cl-error);
  border: 1px solid var(--cl-error);
}

.btn-right {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}


/* c5 : input */
.select {
  background:url(../images/icon-arrow-down.png) no-repeat center right 10px;
  background-size: 10px;
}


.select select:not([multiple]) {
  padding-right: 2.5em;}


  .input{
    border-top:none;
    border-left: none;
    border-right:none;
  }

  select {
  -webkit-appearance: none; /* Safari, Chrome, Opera */
   -moz-appearance: none;    /* Firefox */
  appearance: none;         /* Standard */
  }


.input,
.select select,
.select select option,
.textarea {
  background-color: transparent;
  border: 1px solid var(--cl-bg-1);
  color: inherit;
  font-size: var(--fz-body2);
  
}

.input,
.textarea {
  box-shadow: none;
  max-width: 100%;
  outline: none;
  border-bottom: 1px solid var(--cl-bg-1);

}

.input::placeholder,
.select select::placeholder,
.textarea::placeholder {
  color: var(--cl-base-5);
  font-weight: 300;
}



.input[disabled],
.select fieldset[disabled] select,
.select select[disabled],
.textarea[disabled],
fieldset[disabled] .input,
fieldset[disabled] .select select,
fieldset[disabled] .textarea {
  background-color: var(--cl-disabled);
  border-color: var(--cl-disabled);
  box-shadow: none;
  color: var(--cl-base-3)
}

.input[readonly],
.textarea[readonly] {
  box-shadow: none;
}

.small.input,
.small.textarea {
  border-radius: 2px;
  font-size: .75rem
}

.medium.input,
.medium.textarea {
  font-size: 1.25rem
}

.large.input,
.-large.textarea {
  font-size: 1.5rem
}

.fullwidth.input,
.fullwidth.textarea,
.fullwidth.select {
  display: block;
  width: 100%
}


.fullwidth.select select {
  width: 100%;
  text-align: left;
}

.inline.input,
.inline.textarea {
  display: inline;
  width: auto
}


.input.static {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0
}

.textarea {
  display: block;
  max-width: 100%;
  min-width: 100%;
  padding: calc(1em - 1px);
  resize: vertical
}

.textarea:not([rows]) {
  max-height: 40em;
  min-height: 8em
}

.textarea[rows] {
  height: initial
}

.textarea.fixed-size {
  resize: none
}

.checkbox,
.radio {
  cursor: pointer;
  display: inline-block;
  line-height: 1.25;
  position: relative;
  padding: 3px;
}

.checkbox input,
.radio input {
  cursor: pointer
}

.checkbox:hover,
.radio:hover {
  color: inherit;
}

.checkbox input[disabled],
.checkbox[disabled],
.radio input[disabled],
.radio[disabled],
fieldset[disabled] .checkbox,
fieldset[disabled] .radio {
  color: var(--cl-base-3);
  cursor: not-allowed
}

.checkbox label {
  cursor: pointer;
  display: flex !important;
  align-items: center;
  gap: 0.25rem;
}

.checkbox label input[type=checkbox] {
  display: none;
}

.checkbox label b {
  display: inline-block;
  width: 17px;
  height: 17px;
  border: 1px solid var(--cl-bg-1);
  border-radius: 2px;
  position: relative;
}


.checkbox label span {
  display: inline-block;
  font-size: var(--fz-body2);
  color: var(--cl-base-1);
  font-weight: 400;
}

.checkbox label input[type=checkbox]:checked ~ span {
  color: var(--cl-base-1);
  font-weight: 600;
  font-size: var(--fz-body2);
}

.checkbox label input[type=checkbox]:checked ~ b:after {
  position: absolute;
  content: '';
  width:9px;
  height: 9px;
  background-color: var(--cl-base-1);
  top:3px;
  left:3px;
  border-radius: 2px;
}

.select {
  display: inline-block;
  max-width: 100%;
  position: relative;
  vertical-align: top;

}

.select:not(.multiple):not(.loading)::after {
  border-color: var(--cl-base-1);
  right: 1.125em;
  z-index: 4
}

.select select {
  cursor: pointer;
  display: block;
  font-size: var(--fz-body2);
  max-width: 100%;
  outline: 0;
}

.select select::-ms-expand {
  display: none
}

.select select[disabled]:hover,
fieldset[disabled] .select select:hover {
  border-color: var(--cl-bg-3);
}

.filebox .upload-name {
  display: inline-block;
  height: 40px;
  padding: 0 0.75rem;
  vertical-align: middle;
  border: 1px solid var(--cl-bg-1);
  width: 78%;
  color: var(--cl-base-5);
  border-radius: 4px;
  font-size: var(--fz-body2);
}

.filebox label {
  display: inline-block;
  padding: 10px 20px;
  color: #fff;
  vertical-align: middle;
  background-color: var(--cl-base-5);
  cursor: pointer;
  height: 40px;
  margin-left: 0.5rem;
  border-radius: 4px;
  transition: 0.5s;
  font-size: var(--fz-body2);
}

.filebox label:hover {
  background-color: var(--cl-base-1);
}

.filebox input[type="file"] {
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
}


/* c4 : popups */

.popup {
  align-items: center;
  display: none;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: fixed;
  z-index: 40;
  width: 100%;
  height: 100vh;
 
}

.popup.active {
  display: flex;
}

.popup-background {
  background-color: rgba(10, 10, 10, .86);
  width: 100%;
  height: 100%;
  position: absolute;
}

.popup-card,
.popup-content {
  margin: 0 20px;
  overflow: auto;
  position: relative;
  width: 100%;
  margin: 0 auto;
  max-height: calc(100vh - 40px);
  width: 640px
}

.popup-card {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 40px);
  overflow: hidden;
  -ms-overflow-y: visible
}

.popup-close {
  background: 0 0;
  height: 40px;
  position: absolute;
  right: 20px;
  top: 20px;
  width: 40px
}

.popup-close a {
  background-color: #fff;
  border-radius: 6px;
  display: block;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cl-bg-1);
}

.popup-close a img {
  height: 20px;
}

.popup-card-foot,
.popup-card-head {
  align-items: center;
  background-color: var(--cl-bg-4);
  display: flex;
  flex-shrink: 0;
  justify-content: flex-start;
  padding: 20px;
  position: relative
}

.popup-card-head {
  border-bottom: 1px solid var(--cl-bg-3);
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  color:#fff;
  background:url("../images/bg-login-2.png") no-repeat center;
  background-size: cover;
}

.popup-card-head .popup-card-title {
  color: inherit;
  display: flex;
  align-items: center;
  gap: 0.5rem;

}

.popup-card-head img {
  height: 30px;
}

.popup-card-title {
  color: var(--cl-base-1);
  flex-grow: 1;
  flex-shrink: 0;
  font-size: var(--fz-subtitle1);
  line-height: 1;
  font-weight: 600;
}

.popup-card-title span {
  font-size: inherit;
}

.popup-card-foot {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  border-top: 1px solid var(--cl-bg-1);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--cl-bg-3);
  width: 100%;
}

.popup-card-foot .btn {
  font-size: var(--fz-body2);
}

.popup-card-foot .btn:last-of-type {
  background-color:#fff;
  color: var(--cl-base-1);
  border: 1px solid var(--cl-bg-1);
}

.popup-card-foot .btn:last-of-type:hover {
  background-color:var(--cl-base-1);
  color: #fff;
  border: 1px solid var(--cl-bg-1);
}

.popup-card-foot .btn.btn-confirm {
  background: var(--cl-base-1);
  color: #fff;
  border:none;
}

.popup-card-foot .btn.btn-confirm:hover {
  background: var(--cl-base-2);
  color: #fff;
}


.popup-card-foot .btn:not(:last-of-type) {
  margin-right: .5em
}

.btn.btn-excel {
  border: none;
  outline: none;
  background: url("../images/icon-excel.png") no-repeat center;
  background-size: contain;
}

.popup-card-body {
  -webkit-overflow-scrolling: touch;
  background-color: #fff;
  flex-grow: 1;
  flex-shrink: 1;
  overflow: auto;
  padding: 20px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.delete {
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    pointer-events: auto;
    display: inline-block;
    flex-grow: 0;
    flex-shrink: 0;
    font-size: 0;
    height: 20px;
    max-height: 20px;
    max-width: 20px;
    min-height: 20px;
    min-width: 20px;
    outline: 0;
    position: relative;
    vertical-align: top;
    width: 20px;
  }

  .delete::after, .delete::before {
    content: "";
    background-color: var(--cl-base-1);
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
    transform-origin: center center;
    height: 2px;
    width: 50%;
  }

  .delete::before {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }

  

/* c6 : table */


.table-basic {
  width: 100%;
  line-height: 1.375;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--fz-caption);
}

.table-basic.table-50 {
  width: calc(50%)
}

.table-basic tr {
  font-size: inherit;
}


.table-basic thead {
  text-align: center;
  font-size: inherit;
}

.table-basic tbody {
    font-size: inherit;
}

.table-basic th,
.table-basic td {
  padding: 0.5em 1em;
  border-bottom: 1px solid var(--cl-bg-3);
  vertical-align: middle;
  font-size: inherit;
}

.table-basic td {
  border-left: 1px solid var(--cl-bg-3);
  position: relative;
}

.table-basic td:first-of-type {
  border-right: 1px solid var(--cl-bg-3);
}

.table-basic td:last-of-type {
  border-right: 1px solid var(--cl-bg-3);
}

.table-basic th {
  border-right: 1px solid var(--cl-bg3);
}

.table-basic th:last-of-type {
  border-right: 0;
  border-right: 1px solid var(--cl-bg3);
}

.table-basic thead th {
  font-weight: 500;
  background-color:var(--cl-base-1);
  border-bottom: 1px solid var(--cl-bg-3);
  color: #fff;
}

.table-basic.table_bgc tbody tr:nth-of-type(odd) {
  background-color: var(--cl-bg-1);
}

.table-basic thead.white th {
  color: #fff;
}

.table-basic tbody {
  background-color: #fff;
}

.table-basic thead th,
.table-basic tbody td {
  font-size: inherit;
}

.table-basic tbody td div {
  font-size: inherit;
  word-break: keep-all;
  word-wrap: break-word;
  text-align: left;
}

.table-basic tbody td div img {
  height: var(--fz-body2)
}

.table-basic thead th {
  border-right: 1px solid var(--cl-bg-3);
}

.table-basic tfoot th,
.table-basic tfoot td {
  background-color: #faf5f5;
}


.table-basic.tableB tbody tr td a {
  font-weight: bold;
}

.table-basic.tableB tbody tr td a:hover {
  text-decoration: underline;
}


.table-basic input[type=date] {
  min-width: 134px;
}

.table-basic tbody td .select  {
  width: 100%;
}

.table-basic tbody td .select.select-wrap {
  display: flex;
  gap:0.25rem;
  align-items: center;
}

.table-basic tbody td .select select {
  width: 100%;

}

.table-basic tbody td div p {
  font-size: var(--fz-body2);
  word-wrap: break-word;
}

.popup .table-basic tbody td .select select {
  font-size: var(--fz-caption);
  padding-left: 0.5rem;
}
