/* Form reset
-----------------------------------------------*/
input,
label,
select,
button,
textarea{margin:0; border:0; padding:0; display:inline-block; vertical-align:middle; white-space:normal; background:none; line-height:1; font-size:1rem; font-family:'Noto Sans Korean','Nanum Gothic','굴림',sans-serif; font-weight:400}
textarea{white-space:pre}
input:focus,
textarea:focus{outline:0;}
input,
textarea,
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
select[multiple]{ vertical-align:top;}
::-webkit-file-upload-button{ padding:0; border:0; background:none;}

/* Search Input
-----------------------------------------------*/
input[type=search]{-webkit-appearance:textfield; box-sizing:content-box; -webkit-box-sizing:content-box;}
::-webkit-search-decoration{display:none;}


/* custom
-----------------------------------------------*/
input[type=date].input,
input[type=datetime].input,
input[type=datetime-local].input,
input[type=email].input,
input[type=month].input,
input[type=number].input,
input[type=range].input,
input[type=search].input,
input[type=time].input,
input[type=url].input,
input[type=week].input,
input[type=tel].input,
input[type=password].input,
input[type=text].input,
select.input,
textarea.input{

	display: inline-block;
    width: 100%;
    height: 2.75em;
    padding: .375rem .75rem;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	word-wrap: normal;
}
select.input{width:auto;}
textarea.input{min-height:10em;}
input[readonly="readonly"]{background-color:#eee !important;}

/* form checkbox / radio cusotm
-----------------------------------------------*/
.input-form{display:inline-block; position:relative; padding-left:25px; cursor:pointer; font-size:1rem; text-align:left; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; vertical-align:top;}
.input-form.no-text{padding-left:0;}
.input-form:hover input[type="radio"] ~ .checkmark,
.input-form:hover input[type="checkbox"] ~ .checkmark{background-color:#c0c0c0;}
.input-form input[type="radio"]:checked ~ .checkmark,
.input-form input[type="checkbox"]:checked ~ .checkmark{background-color:#272262;}
/* .input-form input[type="radio"]:checked ~ .checkmark:after,
.input-form input[type="checkbox"]:checked ~ .checkmark:after{display:block;} */
.input-form input[type="radio"]:disabled ~ .checkmark,
.input-form input[type="checkbox"]:disabled ~ .checkmark{background-color:#bbb;}
.input-form input[type="radio"]:disabled ~ .checkmark:after,
.input-form input[type="checkbox"]:disabled ~ .checkmark:after{display:none;}
.input-form input[type="radio"]:disabled:checked ~ .checkmark,
.input-form input[type="checkbox"]:disabled:checked ~ .checkmark{background-color:rgba(39,34,98,.4);}
.input-form input[type="radio"]:disabled:checked ~ .checkmark:after,
.input-form input[type="checkbox"]:disabled:checked ~ .checkmark:after{display:block;}

.input-form input[type="radio"]{position:absolute; opacity:0; cursor:pointer;}
.input-form input[type="radio"] ~ .checkmark{position: absolute; top:0;left:0; height:20px; width:20px; background-color:#d7d6e1; border-radius:50%;}
.input-form input[type="radio"] ~ .checkmark:after{content:""; position:absolute; top:6px; left:6px; width:8px; height:8px; border-radius:50%; background:white;}

.input-form input[type="checkbox"]{position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0;}
.input-form input[type="checkbox"] ~ .checkmark{position:absolute; top:0; left:0; height:20px; width:20px; background-color: #d7d6e1; border:1px solid #ddd;}
.input-form input[type="checkbox"] ~ .checkmark:after{content:""; position:absolute; left:5px; top:2px; width:6px; height:8px; border:solid white; border-width:0 3px 3px 0; -webkit-transform:rotate(45deg);  -ms-transform:rotate(45deg); transform:rotate(45deg);}

.title--check .input-form{padding:6px 0; padding-left:37px; font-size:1.125rem}
.title--check .input-form input[type="checkbox"] ~ .checkmark{height:28px; width:28px;}
.title--check .input-form input[type="checkbox"] ~ .checkmark:after{left:8px; top:3px; width:8px; height:13px;}

@media screen and (max-width: 768px){
    .input-form{padding-left:20px}
    .input-form input[type="radio"] ~ .checkmark{height:17px; width:17px;}
    .input-form input[type="radio"] ~ .checkmark:after{top:5.4px; left:5px; width:7px; height:7px;}
    .input-form input[type="checkbox"] ~ .checkmark{height:17px; width:17px;}
    .input-form input[type="checkbox"] ~ .checkmark:after{left:6px; top:2px; width:4px; border-width:0 2px 2px 0;}
}


/* switch cusotm
-----------------------------------------------*/
.switch{position:relative; display:inline-block; padding-left:35px; margin:4px 0 4px 4px; font-size:1rem;}
.switch input[type=checkbox]{height:0; width:0; visibility:hidden;}
.switch label {position:absolute; top:0; left:0; transition:all .3s ease-in-out; cursor:pointer; text-indent:-9999px; width:35px; height:15px; background-color:#ddd; display:block; border-radius:2em;}
.switch label:after {content:''; position:absolute; top:-2px; left:-2px; width:19px; height:19px; background-color:#fff; border-radius:50%; transition:0.3s; box-shadow:0 0 5px rgba(0, 0, 0, 0.4);}
.switch input[type=checkbox]:checked+label {transition:all .4s ease-in-out; background-color:#2b46bd;}
.switch input[type=checkbox]:checked+label:after {left:37px; -webkit-transform:translateX(-100%); transform:translateX(-100%);}
.switch input[type=checkbox]:disabled+label:after {background-color:#ddd;}
.switch input[type=checkbox]:disabled+label {background-color:#bbb;}

/* File Uploads
-----------------------------------------------*/
input[type=file]{}


/* input file type */
.input-file {position:relative; display: inline-block; width:100%;}
.input-file input[type="file"]{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0 none;}
.input-file .file-label{position:absolute; top:0; right:0; display:inline-block; width:120px; height:100%; line-height:38.5px; vertical-align:middle; padding:0 10px; border-top-right-radius:.25em; border-bottom-right-radius:.25em; font-size:.875rem; background-color:#272262; color:#fff; text-align:center;}
.input-file .file-name{width:100%; height: 2.75em; padding: .375rem .75rem; font-size: .875rem; font-weight:400; line-height: 1.5; color: #495057; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: .25rem; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; word-wrap: normal;}
/* 접근성 탭 포커스 스타일 */
.file-focus {outline:1px dotted #d2310e;}




/* Buttons
-----------------------------------------------*/
button,
input[type="reset"],
input[type="button"],
input[type="submit"]{overflow:visible; width:auto;}



/**
 * bootstrap form css
*/
.form-group {margin-bottom: 1rem;}
.form-control{display:block !important; width:100% !important; padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; color: #495057; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: .25rem; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;}
.input-group > .custom-select:not(:first-child),
.input-group > .form-control:not(:first-child) {border-top-left-radius: 0; border-bottom-left-radius: 0;}
.input-group > .custom-file,
.input-group > .custom-select,
.input-group > .form-control{ position: relative; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; width: 1%; margin-bottom: 0;}
.form-control-file,
.form-control-range {display: block; width: 100%;}
