@charset "utf-8";
html, body { min-height: 100%; }
html, body, div, h1, h2, h3, h4, h5, h6, span, object, iframe,
p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, a, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, input, textarea, select,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, 
section, summary, button, time, mark, audio, video {
    margin: 0; 
    padding: 0; 
    border: 0; 
    outline: 0;
    vertical-align: baseline; 
    background: transparent; 
    word-break: keep-all;
    box-sizing: border-box;
}

/* Reset box-sizing */
*, *::before, *::after {
    box-sizing: border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1; 
    -webkit-text-size-adjust: none; 
    -moz-text-size-adjust: none; 
    -ms-text-size-adjust: none;
    -webkit-font-smoothing: antialiased; 
    -moz-font-smoothing: grayscale;
}

ol, ul, li { list-style: none; }

blockquote, q { quotes: none; }
blockquote::before, blockquote::after, q::before, q::after { content: ''; }

table { border-collapse: collapse; border-spacing: 0; }

caption, legend {
    position: absolute; 
    width: 1px; 
    height: 1px; 
    padding: 0; 
    margin: -1px; 
    overflow: hidden; 
    clip: rect(0, 0, 0, 0); 
    white-space: nowrap; 
    border: 0;
}

hr {
    display: block; 
    height: 1px; 
    margin: 1em 0; 
    padding: 0; 
    border: 0; 
    border-top: 1px solid #ccc;
}

strong { font-weight: bold; }
em { font-style: normal; }
mark { font-style: italic; color: #000; font-weight: bold; background-color: #ff9; }
ins { color: #000; text-decoration: none; background-color: #ff9; }
del { text-decoration: line-through; }

a {
    color: #000; 
    text-decoration: none; 
    background: transparent; 
    vertical-align: baseline;
}
/* a:focus, button:focus, input:focus, textarea:focus {
    outline: 2px solid #007bff; 
    outline-offset: 2px;
} */

img { max-width: 100%; vertical-align: top; }

/* Buttons */
button {
    font-size: inherit; 
    line-height: inherit;
    background: none; 
    border: 0; 
    border-radius: 0;
    cursor: pointer;
}
button::-moz-focus-inner { padding: 0; border: 0; }

/* Inputs */
input, textarea, select {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

input[type="text"],
input[type="password"],
textarea {
    height: 35px; 
    border: 1px solid #ccc; 
    text-indent: 10px; 
    font-size: 13px; 
    color: rgb(0, 0, 0);
    resize: none; /* textarea 수직 리사이즈 제한 */
}
input:disabled, textarea:disabled {
    background-color: #e4e4e4;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { font-size: 13px; color: #666; font-weight: 300; }
input::-moz-placeholder, textarea::-moz-placeholder { font-size: 13px; color: #666; font-weight: 300; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder { font-size: 13px; color: #666; font-weight: 300; }

input[type="file"] { display: none; }
input[type="checkbox"], input[type="radio"] { display: inline-block; }

/* Accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Responsive font sizes */
@media all and (max-width: 1440px) {
    html { font-size: 1.1111vw; }
    input[type="text"], input[type="password"] { height: 2.4306vw; font-size: 0.9028vw; }
}

@media all and (max-width: 1100px) {
    html { font-size: 1.4545vw; }
    input[type="text"], input[type="password"] { height: 3.1818vw; font-size: 1.1818vw; }
}

@media all and (max-width: 800px) {
    html { font-size: 16px; }
    input[type="text"], input[type="password"] { height: 35px; font-size: 13px; }
}

@media all and (max-width: 414px) {
    html { font-size: 16px; }
}
