/* FONT - noto sans kr */
@font-face {
    font-style: normal;
    font-weight: 100;
    font-family: 'Noto Sans KR';
    src: url('../fonts/notosans/NotoSans-Thin.eot'),
    url('../fonts/notosans/NotoSans-Thin.woff2') format('woff2'),
    url('../fonts/notosans/NotoSans-Thin.woff') format('woff'),
    url('../fonts/notosans/NotoSans-Thin.otf') format('opentype');
}

@font-face {
    font-style: normal;
    font-weight: 300;
    font-family: 'Noto Sans KR';
    src: url('../fonts/notosans/NotoSans-Light.eot'),
    url('../fonts/notosans/NotoSans-Light.woff2') format('woff2'),
    url('../fonts/notosans/NotoSans-Light.woff') format('woff'),
    url('../fonts/notosans/NotoSans-Light.otf') format('opentype');
}

@font-face {
    font-style: normal;
    font-weight: 400;
    font-family: 'Noto Sans KR';
    src: url('../fonts/notosans/NotoSans-Regular.eot'),
    url('../fonts/notosans/NotoSans-Regular.woff2') format('woff2'),
    url('../fonts/notosans/NotoSans-Regular.woff') format('woff'),
    url('../fonts/notosans/NotoSans-Regular.otf') format('opentype');
}

@font-face {
    font-style: normal;
    font-weight: 500;
    font-family: 'Noto Sans KR';
    src: url('../fonts/notosans/NotoSans-Medium.eot'),
    url('../fonts/notosans/NotoSans-Medium.woff2') format('woff2'),
    url('../fonts/notosans/NotoSans-Medium.woff') format('woff'),
    url('../fonts/notosans/NotoSans-Medium.otf') format('opentype');
}

@font-face {
    font-style: normal;
    font-weight: 700;
    font-family: 'Noto Sans KR';
    src: url('../fonts/notosans/NotoSans-Bold.eot'),
    url('../fonts/notosans/NotoSans-Bold.woff2') format('woff2'),
    url('../fonts/notosans/NotoSans-Bold.woff') format('woff'),
    url('../fonts/notosans/NotoSans-Bold.otf') format('opentype');
}

@font-face {
    font-style: normal;
    font-weight: 900;
    font-family: 'Noto Sans KR';
    src: url('../fonts/notosans/NotoSans-Black.eot'),
    url('../fonts/notosans/NotoSans-Black.woff2') format('woff2'),
    url('../fonts/notosans/NotoSans-Black.woff') format('woff'),
    url('../fonts/notosans/NotoSans-Black.otf') format('opentype');
}


html,
body,
div,
span,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
p,
form,
fieldset,
legend,
table,
col,
colgroup,
thead,
tfoot,
tbody,
th,
td,
button,
input,
select,
textarea {
    color: #3B3B3B;
    font-family: 'Noto Sans KR', sans-serif, '맑은 고딕', '돋움', Dotum, Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
}

img {
    border: 0;
    margin: 0;
    padding: 0;
    vertical-align: top;
}

* {
    outline: none;
}

*:focus {
    outline: none;
}

html,
body {
    width: 100%;
    height: 100%;
}

body {
    position: relative;
    max-width: 1024px;
    margin: 0 auto;
    background: #F2F3F5;
}

p,
span {
    word-break: normal;
    word-wrap: break-word;
}

button {
    /*cursor: pointer;*/
    padding: 0;
    background: transparent;
    border: none;
}

input:disabled {
    cursor: default;
    background: #F9F9F9 !important;
    color: #ADB6BD;
}

.disabled {
    color: #C6C6C6 !important;
}

underline {
    width: 100%;
    font-size: 20px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ddd;
}

.hidden {
    display: none !important;
}

.bg-white {
    background: #fff !important;
}

.bg-gray {
    background: #F2F3F5 !important;
}

.bg-gray-FAFAFA {
    background: #FAFAFA !important;
}

.bg-black {
    background: #000 !important;
}

.bg-pink {
    background: #2358a0 !important;
}

.bg-dpink {
    background: #E8647C !important;
}

.bg-blue {
    background: #164796 !important;
}

.bg-dblue {
    background: #0d3b86 !important;
}

.bg-navy {
    background: #131A34 !important;
}

.bg-purple {
    background: #146CE5 !important;
}

.color-white {
    color: #fff !important;
}

.color-yellow {
    color: yellow !important;
}

.color-blue {
    color: #164796 !important;
}

.color-blue-5D8BE1 {
    color: #5D8BE1; !important;
}

.color-green {
    color: #5EB239 !important;
}

.color-gray {
    color: #ADB6BD !important;
}

.color-gray-FAFAFA {
    color: #FAFAFA !important;
}

.color-gray-B8B8B8 {
    color: #B8B8B8 !important;
}

.color-darkgray {
    color: #808080 !important;
}

.color-darkgray-4F4F4F {
    color: #4F4F4F !important;
}

.color-lightgray {
    color: #F9F9F9 !important;
}

.color-pink {
    color: #2358a0 !important;
}

.color-error, .color-red {
    color: #FF1212 !important;
}

.color-normal {
    color: #3b3b3b !important;
}

.color-disabled {
    color: #c6c6c6 !important;
}

.self-center {
    align-self: center !important;
}

.items-center {
    align-items: center !important;
}

.t-l {
    text-align: left !important;
}

.t-c {
    text-align: center !important;
}

.t-r {
    text-align: right !important;
}

.t-e {
    text-align: end !important;
}

.fz-10 {
    font-size: 10px !important;
}

.fz-12 {
    font-size: 12px !important;
}

.fz-13 {
    font-size: 13px !important;
}

.fz-14 {
    font-size: 14px !important;
}

.fz-15 {
    font-size: 15px !important;
}

.fz-16 {
    font-size: 16px !important;
}

.fz-18 {
    font-size: 18px !important;
}

.fz-20 {
    font-size: 20px !important;
}

.fwb {
    font-weight: 500;
}

.border-top {
    border-top: 1px solid #dddddd;
}

.border-bottom {
    border-bottom: 1px solid #dddddd;
}

.border-bottom-4f4f4f {
    border-bottom: 1px solid #4f4f4f;
}

.border-bottom-eaeaea {
    border-bottom: 1px solid #EAEAEA;
}

.border-bottom-dash {
    border-bottom: 1px dashed #dddddd;
}

.border-top-dash {
    border-top: 1px dashed #dddddd;
}

.border-pink {
    border: 2px solid #2358a0 !important;
}

.file {
    position: absolute;
    left: -9999px;
    visibility: hidden;
}

.cursor-pointer {
    cursor: pointer;
}

.row {
    position: relative;
    height: 100%;
    padding: 0 20px;
}

.align-f {
    display: flex;
    justify-content: space-between;
}

.d-flex {
    display: flex;
    flex-direction: column;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-3 {
    margin-top: 3px !important;
}

.mt-5 {
    margin-top: 5px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-15 {
    margin-top: 15px !important;
}

.mt-25 {
    margin-top: 25px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-35 {
    margin-top: 35px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

.mt-70 {
    margin-top: 70px !important;
}

.mt-120 {
    margin-top: 120px !important;
}

.mr-0 {
    margin-right: 0 !important;
}

.mr-5 {
    margin-right: 5px !important;
}

.mr-auto {
    margin-right: auto !important;
}

.mr-10 {
    margin-right: 10px !important;
}

.mr-20 {
    margin-right: 20px !important;
}

.ml-auto {
    margin-left: auto !important;
}

.ml-3 {
    margin-left: 3px !important;
}

.ml-5 {
    margin-left: 5px !important;
}

.ml-7 {
    margin-left: 7px !important;
}

.ml-10 {
    margin-left: 10px !important;
}

.ml-13 {
    margin-left: 13px !important;
}

.ml-20 {
    margin-left: 20px !important;
}

.ml-32 {
    margin-left: 32px !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-5 {
    margin-bottom: 5px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-12 {
    margin-bottom: 12px !important;
}

.mb-15 {
    margin-bottom: 15px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-25 {
    margin-bottom: 25px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.mb-60 {
    margin-bottom: 60px !important;
}

.mb-80 {
    margin-bottom: 80px !important;
}

.p-10 {
    padding: 10px;
}

.p-15 {
    padding: 15px;
}

.p-20 {
    padding: 20px;
}

.t-0 {
    top: 0px !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-5 {
    padding-top: 5px !important;
}

.pt-10 {
    padding-top: 10px !important;
}

.pt-15 {
    padding-top: 15px !important;
}

.pt-20 {
    padding-top: 20px !important;
}

.pt-25 {
    padding-top: 25px !important;
}

.pt-30 {
    padding-top: 30px !important;
}

.pt-40 {
    padding-top: 40px !important;
}

.pt-44 {
    padding-top: 44px !important;
}

.pt-50 {
    padding-top: 50px !important;
}

.pt-65 {
    padding-top: 65px !important;
}

.b-0 {
    bottom: 0px;
}

.pb-5 {
    padding-bottom: 5px !important;
}

.pb-10 {
    padding-bottom: 10px !important;
}

.pb-15 {
    padding-bottom: 15px !important;
}

.pb-20 {
    padding-bottom: 20px !important;
}

.pb-25 {
    padding-bottom: 25px !important;
}

.pb-30 {
    padding-bottom: 30px !important;
}

.pb-44 {
    padding-bottom: 44px !important;
}

.pb-50 {
    padding-bottom: 50px !important;
}

.pb-80 {
    padding-bottom: 80px !important;
}

.pb-140 {
    padding-bottom: 140px !important;
}

.pl-20 {
    padding-left: 20px !important;
}

.pl-5 {
    padding-left: 5px !important;
}

.pl-10 {
    padding-left: 10px !important;
}

.pl-13 {
    padding-left: 13px !important;
}

.pl-25 {
    padding-left: 25px !important;
}

.pl-110 {
    padding-left: 110px !important;
}

.pr-0 {
    padding-right: 0px !important;
}

.pr-10 {
    padding-right: 10px;
}

.pr-20 {
    padding-right: 20px;
}

.pr-25 {
    padding-right: 25px;
}

.w-100 {
    width: 100%;
}

.w-95 {
    width: 95%;
}

.w-90 {
    width: 90%;
}

.w-80 {
    width: 80% !important;
}

.w-78 {
    width: 78% !important;
}

.w-70 {
    width: 70% !important;
}

.w-60 {
    width: 60% !important;
}

.w-50 {
    width: 50% !important;
}

.w-22 {
    width: 22% !important;
}

.w-20 {
    width: 20% !important;
}

.w-10 {
    width: 10%;!important;
}

.h-60 {
    height: 60% !important;
}

.h-90 {
    height: 90% !important;
}

.h-100 {
    height: 100% !important;
}

.br-0 {
    border-radius: 0px;
}

.br-5 {
    border-radius: 5px;
}

.br-10 {
    border-radius: 10px;
}

.br-20 {
    border-radius: 20px;
}

.h-unset {
    height: unset !important;
}

.b-none {
    border: 0 !important;
}

.b-bottom-none {
    border-bottom: 0 !important;
}

.fr {
    float: right !important;
}

.fl {
    float: left !important;
}

.lh-24 {
    line-height: 24px;
}

.lh-30 {
    line-height: 30px;
}

.lh-36 {
    line-height: 36px;
}

/* toggle group */
.toggle-group {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
}

.toggle-group .btn-toggle {
    position: relative;
    display: inline-block;
    width: 51px;
    height: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 20px;
    background: #E5E5EA;
}

.toggle-group .btn-toggle:before {
    position: absolute;
    top: 2px;
    left: 42px;
    width: 26px;
    height: 26px;
    content: "";
    transition: all 0.3s ease;
    transform: translateX(-40px);
    border-radius: 50%;
    background: #fff;
    -webkit-box-shadow: 0 1px 3px 0 rgb(0 0 0 / 12%);
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 12%);
}

.toggle-group .btn-toggle.on {
    transition: all 0.3s ease;
    background: #2358a0;
}

.toggle-group .btn-toggle.on:before {
    transition: all 0.3s ease;
    transform: translateX(-19px);
}

/* button */
.btn {
    border: none;
    background: transparent;
    padding: 0;
}

.btn-s {
    padding: 15px;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    width: 100%;
    border: 0;
    outline: 0;
}

.btn-m {
    padding: 15px;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    width: 100%;
    border: 0;
    outline: 0;
}

.btn-half {
    padding: 15px !important;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    width: 50% !important;
    border: 0 !important;
    outline: 0;
}

.btn-l {
    padding: 15px;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    width: 100%;
    border: 0;
    outline: 0;
}

.btn-confirm {
    padding: 15px 0;
    border-radius: 50px;
    background: #2358a0;
    border: 0;
    outline: 0;
    font-size: 18px;
    font-weight: 500;
}

.btn-white {
    color: #2358a0;
    border: 1px solid #fff;
    background: #fff;
}

.btn-gray-white {
    color: #808080;
    border: 1px solid #ddd;
    background: #fff;
}


.btn-pink {
    color: #fff;
    border: 1px solid #2358a0;
    background: #2358a0;
}

.btn-blue {
    color: #fff;
    border: 1px solid #164796;
    background: #164796 !important;
}

.btn-gray {
    color: #fff;
    border: 1px solid #C6C6C6;
    background-color: #C6C6C6;
}

.btn-gray.active {
    border: 1px solid #2358a0;
    background: #2358a0;
}

.btn-dgray {
    color: #fff;
    border: 1px solid #808080;
    background-color: #808080;
}

.btn-dgray-A09E9E {
    color: #fff;
    border: 1px solid #A09E9E;
    background: #A09E9E;
}

.btn-dgray-4D4D4D {
    color: #fff;
    border: 1px solid #4D4D4D;
    background: #4D4D4D;
}

.btn-round-5 {
    border-radius: 5px;
}

.btn-round-30 {
    border-radius: 30px;
}

.btn-round {
    border-radius: 50px;
}

/* IE - input close button delete */
input::-ms-clear {
    display: none;
}

/* input common */
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 0;
    -webkit-text-fill-color: #4a4a4a;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}

input::placeholder {
    color: #adb6bd;
}

input:-ms-input-placeholder {
    color: #adb6bd;
}

input::-moz-placeholder {
    color: #adb6bd;
}

input::-webkit-input-placeholder {
    color: #adb6bd;
}

textarea::placeholder {
    color: #adb6bd;
}

textarea:-ms-input-placeholder {
    color: #adb6bd;
}

textarea::-moz-placeholder {
    color: #adb6bd;
}

textarea::-webkit-input-placeholder {
    color: #adb6bd;
}

/* input-box */
.input-box {
    border-radius: 5px;
    background: #F3F4F6;
    width: 100%;
    border: 1px solid #F3F4F6;
    box-sizing: border-box;
    padding: 0 20px;
    font-size: 16px;
}

/* textarea-box */
.textarea-box {
    display: block;
    width: 100%;
    height: auto;
    padding: 10px 20px;
    resize: none;
    border: 1px solid #dddddd;
    font-size: 16px;
    border-radius: 5px;
}

/* select box */
.select-wrap {
    position: relative;
}

.select {
    width: 100%;
    height: 50px;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px;
    text-align: left;
}

.select-disable {
    width: 100%;
    /*height: 60px;*/
    height: 50px;
    /*padding: 0 20px 0 20px;*/
    /*cursor: pointer;*/
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    background: #F9F9F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px;
    text-align: left;
}

.select-wrap::after {
    position: absolute;
    top: 18px;
    right: 22px;
    display: inline-block;
    content: "\e901";
    pointer-events: none;
    color: #3B3B3B;
    font-family: 'icomoon' !important;
    font-size: 16px;
}

/* modal */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 400;
}


/* checkbox, radio */
.checks-basic,
.checks,
.checks-circle,
.checks-circle-black,
.radios,
.radios-circle {
    position: relative;
    display: flex;
    align-items: center;
}

.checks-basic input[type="checkbox"],
.checks input[type="checkbox"],
.checks-circle input[type="checkbox"],
.checks-circle-black input[type="checkbox"],
.radios input[type="radio"],
.radios-circle input[type="radio"] {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.checks-basic input[type="checkbox"] + label,
.checks input[type="checkbox"] + label,
.checks-circle input[type="checkbox"] + label,
.checks-circle-black input[type="checkbox"] + label,
.radios input[type="radio"] + label,
.radios-circle input[type="radio"] + label {
    position: relative;
    display: inline-block;
    /*cursor: pointer;*/
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    color: #3B3B3B;
}

.checks-basic input[type="checkbox"]:disabled + label,
.checks input[type="checkbox"]:disabled + label,
.radios input[type="radio"]:disabled + label,
.radios-circle input[type="radio"]:disabled + label {
    cursor: default;
    pointer-events: none;
}


.checks-basic input[type="checkbox"] + label {
    height: 20px;
    padding-left: 30px;
    line-height: 20px;
    font-size: 15px;
    font-weight: 400;
}

.checks-basic input[type="checkbox"] + label:before {
    position: absolute;
    top: 1px;
    left: 0;
    width: 18px;
    height: 18px;
    line-height: 20px;
    border: 2px solid #C6C6C6;
    border-radius: 2px;
    content: "\e908";
}

.checks-basic input[type="checkbox"]:checked + label:before {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2358a0;
    font-family: 'icomoon' !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 20px;
}


.checks input[type="checkbox"] + label {
    height: 20px;
    padding-left: 29px;
    line-height: 20px;
    font-size: 14px;
    font-weight: 400;
}

.checks input[type="checkbox"] + label strong {
    padding-left: 2px;
    font-weight: 500;
    font-size: 16px;
    line-height: 21px
}


.checks input[type="checkbox"] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    content: "\e908";
    color: #c6c6c6;
    font-family: 'icomoon' !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
}

.checks input[type="checkbox"]:checked + label:before {
    color: #2358a0;
}

.checks-circle input[type="checkbox"] + label,
.radios-circle input[type="radio"] + label {
    height: 24px;
    padding-left: 29px;
    line-height: 24px;
    font-size: 16px;
    font-weight: 500;
}

.checks-circle input[type="checkbox"] + label:before,
.radios-circle input[type="radio"] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    content: "";
    border: 1px solid #c6c6c6;
    border-radius: 50px;
    background: #c6c6c6;
}

.checks-circle input[type="checkbox"] + label:after,
.radios-circle input[type="radio"] + label:after {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    content: "\e908";
    color: #fff;
    font-family: 'icomoon' !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
}

.checks-circle input[type="checkbox"]:checked + label:before,
.radios-circle input[type="radio"]:checked + label:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    content: "";
    border: 1px solid #2358a0;
    border-radius: 50px;
    background: #2358a0;
}

.checks-circle input[type="checkbox"]:checked + label:after,
.radios-circle input[type="radio"]:checked + label:after {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    content: "\e908";
    color: #fff;
    font-family: 'icomoon' !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
}

/*check-circl-black*/
.radios input[type="radio"] + label,
.checks-circle-black input[type="checkbox"] + label {
    height: 17px;
    padding-left: 22px;
    line-height: 17px;
    font-size: 13px;
    font-weight: 500;
}

.radios input[type="radio"] + label:before,
.checks-circle-black input[type="checkbox"] + label:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    content: "";
    border: 1px solid #c6c6c6;
    border-radius: 17px;
    background: #c6c6c6;
}

.radios input[type="radio"] + label:after,
.checks-circle-black input[type="checkbox"] + label:after {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    content: "\e908";
    color: #fff;
    font-family: 'icomoon' !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 17px;
}

.radios input[type="radio"]:checked + label:before,
.checks-circle-black input[type="checkbox"]:checked + label:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    content: "";
    border: 1px solid #2358a0;
    border-radius: 17px;
    background: #2358a0;
}

.radios input[type="radio"]:checked + label:after,
.checks-circle-black input[type="checkbox"]:checked + label:after {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    content: "\e908";
    color: #fff;
    font-family: 'icomoon' !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 17px;
}

.bar-10 {
    position: relative;
    display: block;
    width: 100%;
    height: 10px;
    background: #F2F3F5;
}

.bar-20 {
    position: relative;
    display: block;
    width: 100%;
    height: 20px;
    background: #F2F3F5;
}

/* box style */
.gray-line-box {
    background: #F9F9F9;
    border: 1px solid #C6C6C6;
    border-radius: 10px;
}

.white-box {
    background: #fff;
    border-radius: 4px;
}
