
.ipWrap input,
.ipWrap select,
.ipWrap textarea {
    display:block;
    margin:0;
    outline:none;
}
.required {
    color:#F00;
}
.ipWrap.textarea textarea {
    width:100%;
    min-height:85px;
    max-height:300px;
    padding:8px 12px;
    border:1px solid #B7B7B7;
    border-radius:4px;
    background:#FFF;
    color:#414141;
    font-size:15px;
    line-height:1.5;
    resize:none;
}
.ipWrap.textarea label + textarea {
    margin-top:8px;
}
.ipWrap.textarea textarea::placeholder {
    color:#9A9A9A;
    font-weight:400;
    letter-spacing:-0.6px;
}
.ipWrap.textarea textarea:read-only {
    outline:none;
    background:#f4f5f6;
}
.ipWrap.textarea textarea:focus {
    outline-color:#005baa;
}
.ipWrap.radio .radio_row {
    display:flex;
    align-items:center;
    gap:8px;
}
.ipWrap.radio input[type="radio"] {
    flex-shrink:0;
    width:18px;
    height:18px;
    margin:0;
    border:0;
    background:url("../img/radio_off.png") no-repeat center;
    background-size:contain;
    cursor:pointer;
    appearance:none;
}
.ipWrap.radio input[type="radio"]:checked {
    background-image:url("../img/radio_on.png");
}
.ipWrap.radio input[type="radio"]:disabled {
    background-image:url("../img/radio_off_dis.png");
    cursor:not-allowed;
}
.ipWrap.radio input[type="radio"]:checked:disabled {
    background-image:url("../img/radio_on_dis.png");
}
.ipWrap.radio label {
    color:#1F1F1F;
    font-weight:700;
    font-size:17px;
    cursor:pointer;
}
.ipWrap.radio .radio_desc {
    display:block;
    margin-top:4px;
    margin-left:28px;
    font-weight:400;
    font-size:13px;
}
.ipWrap.radio.is-disabled label {
    color:var(--color-disabled);
    cursor:not-allowed;
}
.ipWrap.radio.is-disabled .radio_desc {
    color:var(--color-border);
}
.ipWrap.checkbox .checkbox_row {
    display:flex;
    align-items:flex-start;
    gap:10px;
}
.ipWrap.checkbox input[type="checkbox"] {
    flex-shrink:0;
    width:20px;
    height:20px;
    margin:0;
    margin-top:2px;
    border:0;
    background:url("../img/checkbox_off.png") no-repeat center;
    background-size:contain;
    cursor:pointer;
    appearance:none;
}
.ipWrap.checkbox input[type="checkbox"]:checked {
    background-image:url("../img/checkbox_on.png");
}
.ipWrap.checkbox input[type="checkbox"]:disabled {
    background-image:url("../img/checkbox_off_dis.png");
    cursor:not-allowed;
}
.ipWrap.checkbox input[type="checkbox"]:checked:disabled {
    background-image:url("../img/checkbox_on_dis.png");
}
.ipWrap.checkbox label {
    color:#555;
    font-weight:400;
    font-size:17px;
    cursor:pointer;
}
.ipWrap.checkbox label .noti_txt {
    display:block;
    margin-top:4px;
    color:#666;
    font-weight:400;
    font-size:15px;
    line-height:150%; /* 22.5px */
    letter-spacing:-0.6px;
}
.ipWrap.checkbox .checkbox_desc {
    display:block;
    margin-top:4px;
    margin-left:30px;
    color:var(--color-text-light);
    font-weight:400;
    font-size:13px;
}
.ipWrap.checkbox.is-disabled label {
    color:var(--color-disabled);
    cursor:not-allowed;
}
.ipWrap.checkbox.is-disabled .checkbox_desc {
    color:var(--color-border);
}
.ipWrap.checkbox.toggleSwitch input[type="checkbox"] {
    width:32px;
    height:20px;
    background-image:url("../img/ip_desingcheck_off.png");
}
.ipWrap.checkbox.toggleSwitch input[type="checkbox"]:checked {
    background-image:url("../img/ip_desingcheck_on.png");
}
.ipWrap .label_hint {
    color:#de3412;
    font-weight:400;
    font-size:15px;
    line-height:1.5;
    letter-spacing:-0.6px;
}
.ipWrap select {
    min-width:250px;
    height:40px;
    padding:0 12px;
    border:1px solid #c8c8c8;
    border-radius:8px;
    background:url("../img/sel_arrow.png") no-repeat right 12px center;
    color:#666;
    font-weight:400;
    font-size:15px;
    line-height:1;
    letter-spacing:-1.08px;
    appearance:none;
}
.ipWrap select:disabled {
    background-color:#d9d9d9;
}
.ipWrap.select {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ipWrap.select.line select {
    min-width:0;
    height:50px;
    padding:10px 12px;
    border:none;
    border-bottom:1px solid #000;
    border-radius:0;
    font-size:17px;
}
.ipWrap.text {
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ipWrap.text.pwBox .pwBox_field {
    position:relative;
}
.ipWrap.text.pwBox .pwBox_field input {
    width:100%;
}
.ipWrap.text.pwBox input[type="password"],
.ipWrap.text.pwBox input[type="text"] {
    padding-right:44px;
}
.ipWrap.text.pwBox .btnPwToggle {
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:50%;
    right:12px;
    padding:0;
    border:none;
    background:none;
    cursor:pointer;
    transform:translateY(-50%);
}
.ipWrap_hint {
    display:flex;
    align-items:flex-start;
    gap:4px;
    color:#111;
    font-weight:400;
    font-size:14px;
    line-height:150%; /* 19.5px */
    letter-spacing:-0.52px;
}
.ipWrap label {
    color:#111;
    font-weight:400;
    font-size:15px;
    line-height:1.5;
    letter-spacing:-0.6px;
}
.ipWrap.text input[type="text"], .ipWrap.text input[type="password"] {
    min-height:60px;
    margin:0;
    padding:0 25px;
    border:none;
    outline:none;
    background:#F9F9F9;
    color:#111;
    font-weight:400;
    font-size:15px;
    letter-spacing:-1.2px;
}
.ipWrap.text input[type="text"]::placeholder, .ipWrap.text input[type="password"]::placeholder {
    color:#9A9A9A;
}
.ipWrap.text input[type="text"]:read-only, .ipWrap.text input[type="password"]:read-only {
    border:1px solid #f4f5f6;
    outline:none;
    background:#f4f5f6;
}
.ipWrap.text input[type="text"].datepicker {
    background:url("../img/icon_date.png") no-repeat right 12px center;
}
.ipWrap.text input[type="text"].datepicker:read-only {
    border:1px solid  #b7b7b7;
    pointer-events:unset;
}
.ipWrap.text input[type="text"]:disabled, .ipWrap.text input[type="password"]:disabled {
    border:1px solid #b7b7b7;
    background:#d9d9d9;
    pointer-events:none;
}
.ipWrap.text.line input[type="text"], .ipWrap.text.line input[type="password"] {
    height:50px;
    padding:10px 12px;
    border:none;
    border-bottom:1px solid #000;
    border-radius:0;
}
.ipWrap.text.xl input[type="text"], .ipWrap.text.xl input[type="password"] {
    height:56px;
    padding:0 24px;
    border-radius:12px;
    font-size:19px;
}
.ipWrap.text.lg input[type="text"], .ipWrap.text.lg input[type="password"] {
    height:48px;
    padding:0 12px;
    border-radius:8px;
    font-size:17px;
}
.ipWrap .ip_row {
    display:flex;
    align-items:center;
    gap:8px;
}
.ipWrap .ip_alert {
    display:flex;
    align-items:center;
    gap:4px;
    color:#1f1f1f;
    font-weight:400;
    font-size:14px;
    line-height:1.5;
    letter-spacing:-0.52px;
}
.ipWrap .ip_alert.hint {
    align-items:flex-start;
}
.ipWrap.is-alert input[type="text"],
.ipWrap.is-alert select {
    border:2px solid #005baa !important;
}
.ipWrap.is-alert .ip_alert {
    color:#005baa;
}
.ipWrap.is-success .ip_alert {
    color:#00A878;
}
.ipWrap.is-error input[type="text"],
.ipWrap.is-error input[type="password"],
.ipWrap.is-error select {
    border:2px solid #E02020 !important;
}
.ipWrap.is-error .ip_alert {
    color:#E02020;
}
.ipWrap .ip_alert.error {
    color:#E02020;
}
.ipWrap .ip_alert.success {
    color:#267337;
}
.ipWrap.file {
    display:flex;
    flex-direction:column;
    gap:6px;
}
.ipWrap.file input[type="file"] {
    width:100%;
    min-height:40px;
    padding:0;
    border:none;
    border-radius:0;
    outline:none;
    background:none;
    color:#464C53;
    font-weight:400;
    font-size:17px;
    letter-spacing:-1.02px;
    cursor:pointer;
    appearance:none;
}
.ipWrap.file input[type="file"]::file-selector-button,
.ipWrap.file input[type="file"]::-webkit-file-upload-button {
    height:32px;
    margin-right:8px;
    padding:0 12px;
    border:1px solid #414141;
    border-radius:4px;
    background:#fff;
    color:#414141;
    font-weight:400;
    font-size:15px;
    letter-spacing:-0.6px;
    cursor:pointer;
    appearance:none;
}
.ipGroup {
    display:flex;
    gap:6px;
    width:100%;
}
.ipGroup .ipWrap {
    flex:1;
}
.ipGroup .ip_divider {
    display:flex;
    align-items:center;
    color:#1f1f1f;
    font-size:15px;
}
.ipGroup .ipWrap input,
.ipGroup .ipWrap select {
    width:100%;
    min-width:0;
}

@media (width <= 768px) {
    .ipWrap select {
        width:100%!important;
        height:44px;
        font-size:16px;
    }
    .ipWrap.text {
        gap:10px;
    }
    .ipWrap.text input[type="text"] {
        flex:1;
        width:100% !important;
        min-height:50px;
        padding:0 16px;
        font-size:12px;
    }
    .ipWrap.text.xl input[type="text"], .ipWrap.text.xl input[type="password"],
    .ipWrap.text.lg input[type="text"], .ipWrap.text.lg input[type="password"] {
        flex:none;
    }
    .ipWrap.checkbox input[type="checkbox"] {
        width:24px;
        height:24px;
        background-size:cover;
    }
    .ipWrap.checkbox label {
        font-size:16px;
    }
}
