/*=========================================================== 1. IOS DEFAULT CSS ===========================================================*/
input,button,select,textarea
{outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; border-radius: 0; -webkit-border-radius: 0; -moz-border-radius: 0;}
input:active,input:focus,button:active,button:focus,select:active,select:focus,textarea:active,textarea:focus
{outline: none !important; box-shadow: none !important;}
/*=========================================================== 2. COMMON ===========================================================*/
:root {
    --font-size : 14px;
    --font-family : 'Pretendard';
    --font-weight : 400;
    --font-color : #111111;
    --main-text-color : #000000;
    --cont-padding : 150px;
    --m-cont-padding : 100px;
    --cont-tit-margin : 50px;
    --max-width : 1280px;
    --padding : 0 20px;
    --mobile-common-padding : 0 20px;

    --HEADER-HEIGHT: 80px;
    --MAX-WIDTH : 1280px;
    --COMMON-PADDING: 20px;
    --COMMON-PADDING-100: min(20vw, 100px);
    --COMMON-PADDING-150: min(30vw, 150px);
    --COMMON-PADDING-200: min(44vw, 200px);
    --BASE-COLOR: #c9252c;
    --COLOR-EF: #efefef;
    --COLOR-E0: #e0e0e0;
    --COLOR-B0: #b0b0b0;
}
/*=========================================================== 2.1. Web-icons-import ===========================================================*/
    /* google icons */
        .material-icons {font-family: 'Material Icons';font-weight: normal;font-style: normal;font-size: 24px;
            /* Preferred icon size */display: inline-block;line-height: 1;text-transform: none;letter-spacing: normal;word-wrap: normal;white-space: nowrap;direction: ltr;
            /* Support for all WebKit browsers. */-webkit-font-smoothing: antialiased;
            /* Support for Safari and Chrome. */text-rendering: optimizeLegibility;
            /* Support for Firefox. */-moz-osx-font-smoothing: grayscale;
            /* Support for IE. */font-feature-settings: 'liga';}        
        .material-symbols-outlined {font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48}
/*=========================================================== 2.2. default-layout ===========================================================*/
html,body{width:100%;height:100%;font-size:var(--font-size);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select{margin:0;padding:0;font-family:var(--font-family);font-weight:var(--font-weight);}
body,input,textarea,select,button,table,h1,h2,h3,h4,h5{}
body{position:relative;color:var(--font-color);/*overflow-y: scroll;overflow-x:hidden;*/}
table{border-collapse:collapse}
img,fieldset{border:0}
img{vertical-align:top; /* image-rendering:-webkit-optimize-contrast; */ }
ul,ol,li{list-style:none;padding: 0;margin: 0;}
em,address{font-style:normal;}
input[type="button"],input[type="reset"],input[type="submit"],button,label{cursor:pointer;}
a{color:inherit;text-decoration:none;}
a:hover, a:visited, a:link, a:active {color:var(--font-color); text-decoration: none;}

.thumb {
    img {
        width: 100%;
    }

    &.cover {
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
}

label {
    position: relative;
    display: inline-block;
    width: fit-content;
    max-width: none;
    padding: 0;
    margin: 0;
}

video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section { position: relative; }
main { position: relative; }

/* mobile 환경에서 div 요소 숨김 class */
@media (max-width: 575.98px) {.div-space {display: none;} .col-xs-hidden {display:none;}}
@media (max-width: 767.98px) {.div-space {display: block;} .col-xs-hidden {display:none;}}
@media (min-width: 768px) {.col-xs-hidden {display:block;}}
/*=========================================================== 2.4. default-tag-style ===========================================================*/
    .bold {font-weight: bold;}
    .eng-font {font-family: 'Amiri';}
    .Vollkorn {font-family: 'Vollkorn','pretendard';}
/* float class 설정 */
    .float-right {float:right;}
/* text-align 설정 */
    .text-center {text-align: center;}.text-right {text-align: right;}.text-left {text-align: left;}
/* font-size */
    .font-size-160 {font-size: 160px;}
    .font-size-120 {font-size: 120px;} .font-size-100 {font-size: 100px;} .font-size-80 {font-size: 80px;} 
    .font-size-70 {font-size: 70px;} .font-size-60 {font-size: 60px;} .font-size-50 {font-size: 50px;} .font-size-40 {font-size: 40px;}
    .font-size-34 {font-size: 34px;} .font-size-30 {font-size: 30px;} .font-size-28 {font-size: 28px;} .font-size-24 {font-size: 24px;}
    .font-size-20 {font-size: 20px;} .font-size-18 {font-size: 18px;} .font-size-16 {font-size: 16px;} .font-size-14 {font-size: 14px;}
/* padding class 설정 */
    .pt-10 {padding-top:10px !important;} .pb-10 {padding-bottom:10px !important;}
    .pt-20 {padding-top:20px !important;} .pb-20 {padding-bottom:20px !important;}
    .pt-30 {padding-top:30px !important;} .pb-30 {padding-bottom:30px !important;}
    .pt-50 {padding-top:50px !important;} .pb-50 {padding-bottom:50px !important;}
    .pt-100 {padding-top:100px !important;} .pb-100 {padding-bottom:100px !important;} 
    .pt-130 {padding-top:130px !important;} .pb-130 {padding-bottom:130px !important;} 
    .pt-150 {padding-top:150px !important;} .pb-150 {padding-bottom:150px !important;} 
    .pt-200 {padding-top:200px !important;} .pb-200 {padding-bottom:200px !important;}
/* margin class 설정 */
    .mt-10 {margin-top:10px !important;} .mb-10 {margin-bottom:10px !important;}
    .mt-20 {margin-top:20px !important;} .mb-20 {margin-bottom:20px !important;}
    .mt-30 {margin-top:30px !important;} .mb-30 {margin-bottom:30px !important;}
    .mt-50 {margin-top:50px !important;} .mb-50 {margin-bottom:50px !important;}
    .mt-100 {margin-top:100px !important;} .mb-100 {margin-bottom:100px !important;}
    .mt-200 {margin-top:200px !important;} .mb-200 {margin-bottom:200px !important;}
/* 반응형에 따른 br 설정 */
    .mobile-br {display:none;}.pc-br {display:block;}
    @media (max-width: 575px) {.mobile-br {display:block;}.pc-br {display:none;}}
    @media (min-width: 576px) {.mobile-br {display:none;}.pc-br {display:none;}}
    @media (min-width: 768px) {.mobile-br {display:none;}.pc-br {display:none;}}
    @media (min-width: 992px) {.mobile-br {display:none;}.pc-br {display:block;}}    
/* 반응형에 따른 ver 설정 */
    .mobile-ver {display:none;}.pc-ver {display:block;}
    @media (max-width: 575px) {.mobile-ver {display:block;} .pc-ver {display:none;}}
    @media (min-width: 576px) {.mobile-ver {display:block;} .pc-ver {display:none;}}
    @media (min-width: 768px) {.mobile-ver {display:none;} .pc-ver {display:block;}}
    @media (min-width: 992px) {.mobile-ver {display:none;} .pc-ver {display:block;}}

/* 애니메이션 */
    .dot {
        position: relative;
        top: 0;
        transition: 0.6s;
        display: inline-block;
        margin-left: 22px;
        vertical-align: middle;

        i {
            display: block;
            background: #c9252c;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            transition: 0.6s;
            animation: dots2 2s alternate infinite;
            animation-delay: 0.4s;
            transition: all .35s cubic-bezier(0.33, 1, 0.68, 1);
        }

        &::before {
            content: '';
            display: block;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: -11px;
            background: #c9252c;
            border-radius: 50%;
            animation: dots2 2s alternate infinite;
            transition: all .35s cubic-bezier(0.33, 1, 0.68, 1);
        }

        &::after {
            content: '';
            display: block;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: -6px;
            background: #c9252c;
            border-radius: 50%;
            animation: dots2 2s alternate infinite;
            animation-delay: 0.2s;
            transition: all .35s cubic-bezier(0.33, 1, 0.68, 1);
        }
    }

    @keyframes dots2 {
        0% {
            opacity: 0;
        }
        50% {
            opacity: .9;
        }
        100% {
            opacity: 0;
        }
    }