/* Reset CSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px; /* 1rem = 16px */
}

html, body {
    width: 100%;
    height: 100%;
}

body {
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography Scale - 5 Standard Font Sizes */
.font-size-xs {
    font-size: 0.611rem; /* 11px - 더 작게 */
    line-height: 1.4;
}

.font-size-sm {
    font-size: 0.722rem; /* 13px - 작게 */
    line-height: 1.5;
}

.font-size-md {
    font-size: 0.833rem; /* 15px - 중간 */
    line-height: 1.5;
}

.font-size-lg {
    font-size: 1rem; /* 18px - 크게 */
    line-height: 1.4;
}

.font-size-xl {
    font-size: 1.333rem; /* 24px - 매우 크게 */
    line-height: 1.5;
}

.font-size-xxl {
    font-size: 1.667rem; /* 30px - 매우 크게 */
    line-height: 1.5;
}

.font-size-xxxl {
    font-size: 2rem; /* 36px - 매우 크게 */
    line-height: 1.3;
}

.font-size-special {
    font-size: 2.667rem; /* 48px - 슬로건용 특별 크기 */
    line-height: 1.2;
}

.font-weight-bold {
    font-weight: 900;
    font-weight:bold;
}



/* Default font size for body */
body {
    font-size: 1rem; /* 18px */
}

ol, ul {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    border: none;
    background: none;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

input, textarea, select {
    font: inherit;
    color: inherit;
    border: none;
    background: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Remove default focus styles */
:focus {
    outline: none;
}

/* Remove default button styles */
button::-moz-focus-inner {
    border: 0;
}

/* Remove default input styles */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove default select styles */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Remove default textarea styles */
textarea {
    resize: none;
}

/* Remove default fieldset styles */
fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

/* Remove default legend styles */
legend {
    padding: 0;
}

/* Remove default hr styles */
hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 0;
}

/* Remove default blockquote styles */
blockquote {
    margin: 0;
    padding: 0;
}

/* Remove default pre styles */
pre {
    margin: 0;
    white-space: pre-wrap;
}

/* Remove default code styles */
code {
    font-family: monospace;
}

/* Remove default sub and sup styles */
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
} 

.align-left {
    text-align: left !important;
}

.align-right {
    text-align: right !important;
}

.align-center {
    text-align: center;
}