@import url("https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp");

* {
    font-family: 'Noto Sans KR', sans-serif;
}

a {
    text-decoration: none;
    outline: none;
    color: inherit;
}

.material-icons-round {
    font-variation-settings:
    'FILL' 1,
    'wght' 400,
    'GRAD' 0,
    'opsz' 48
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}

textarea {
    resize: none;
}

/*이미지 사이즈*/
img {
    max-width: 100%;
}

.font14 {
    font-size: 0.875rem;
}

.font80 {
    font-size: 5em;
}

@media (max-width: 992px) {
    .font10-14 {
        font-size: 0.625rem;
    }
    .font12-16 {
        font-size: 0.75rem;
    }
    .font14-16, .font14-20 {
        font-size: 0.875rem;
    }
    .font20-30 {
        font-size: 1.25rem;
    }
    .font30-50, .font30-60 {
        font-size: 1.875rem;
    }
}

@media (min-width: 992px) {
    .font10-14 {
        font-size: 0.875rem;
    }
    .font14-20, .font16-20 {
        font-size: 1.25rem;
    }
    .font16-24 {
        font-size: 1.5rem;
    }
    .font20-30 {
        font-size: 1.875rem;
    }
    .font30-50 {
        font-size: 3.125rem;
    }
    .font30-60 {
        font-size: 3.75rem;
    }
    .vh-lg-90 {
        height: 90vh;
    }
}

.shadow44 {
    box-shadow: 0 0.25em 0.25em rgba(0,0,0, .25);
}

.text-auto-phrase {
    word-break: auto-phrase;
}

.vh-5 {
    height: 5vh;
}

.vh-10 {
    height: 10vh;
}

.vh-20 {
    height: 20vh;
}

.vh-50 {
    height: 50vh;
}

.min-vh-50 {
    min-height: 50vh;
}

#spinner {
    display: none;
    width: 3rem;
    height: 3rem;
    border: 5px solid grey;
    border-top: 5px solid blue;
    border-radius: 50%;
    animation: loading 1s linear infinite;
    margin: 1.5rem auto;
}

.w-120px {
    width: 7.5rem;
}

.pt-17_5 {
    padding-top: 17.5%;
}

.pt-35_3125 {
    padding-top: 35.3125%;
}

.pt-33 {
    padding-top: 33.33%;
}

.pt-45 {
    padding-top: 45.45%;
}

.pt-56_9 {
    padding-top: 56.9%;
}

.pt-100 {
    padding-top: 100%;
}

@keyframes loading {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.text-2E5019 {
    color: #2E5019;
}

.text-294917 {
    color: #294917;
}

.text-B39A61 {
    color: #B39A61;
}

.border-B39A61 {
    border-color: #B39A61;
}

.border-294917 {
    border-color: #294917;
}

.bg-294917 {
    background-color: #294917;
}

.bg-223D14 {
    background-color: #223D14;
}

.bg-2E5019 {
    background-color: #2E5019;
}

.btn.bg-2E5019:hover {
    background-color: #2E5019;
}

.linear-gradient-2E5019-to-499D16 {
    background: linear-gradient(to right, #2E5019, #499D16);
}

.checkbox-icon{
    width:1.125em;
    height:1.125em;
    min-width:1.125em;
    border:2px solid #656565;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    transition: all .15s ease;
    box-sizing:border-box;
    color: transparent; /* 체크 마크 색(내부) */
    font-size:.875em;
}

.checkbox-icon::after{
    content: "✓";
    color: transparent;
    font-weight: 700;
}

/* 체크 되었을 때(입력 checked인 경우 라벨의 자손 규칙) */
label input:checked + .checkbox-icon {
    background: #2E5019;
    border-color: #2E5019;
}

label input:checked + .checkbox-icon::after {
    color: white;
}

.table-border-top-dark-bottom-none {
    border-top: 2px solid;
    border-bottom: 0;
}

.table-border-top-dark-bottom-none th td {
    border-bottom: 0;
}

.blueBlackBar {
    display: inline-block;
    background-color: black;
    vertical-align: middle;
    width: .2em;
    height: .8em;
}

.blueBlackBar::before {
    content: '';
    display: inline-block;
    background-color: #3081F5;
    vertical-align: top;
    width: .2em;
    height: .4em;
}

.blue-circle:before {
    content: '';
    position: absolute;
    display: inline-block;
    width: .9em;
    height: .9em;
    top: .2em;
    left: -1.2em;
    margin-right: .2em;
    border-radius: 100rem;
    background-color: white;
    border: 6px solid #00A6FF;
}

.blue-circle {
    position: relative;
}

.required::after{
    content: "*";
    color: red;
    margin-left: 0.2rem;
}

.cursor-pointer {
    cursor: pointer;
}

.table-layout-fixed {
    table-layout: fixed;
}

.active>.page-link, .page-link.active {
    background: linear-gradient(to right, #2E5019, #499D16);
    border-color: transparent;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1120px;
    }
}