
/*===========================================================================
	FONT
============================================================================*/


/* 폰트 */
@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-style: normal;
    src: url('../fonts/Pretendard-Thin.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-style: normal;
    src: url('../fonts/Pretendard-ExtraLight.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-style: normal;
    src: url('../fonts/Pretendard-Light.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-style: normal;
    src: url('../fonts/Pretendard-Regular.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-style: normal;
    src: url('../fonts/Pretendard-Medium.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-style: normal;
    src: url('../fonts/Pretendard-SemiBold.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-style: normal;
    src: url('../fonts/Pretendard-Bold.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-style: normal;
    src: url('../fonts/Pretendard-ExtraBold.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-style: normal;
    src: url('../fonts/Pretendard-Black.otf') format("truetype");
    font-display: swap;
}





@font-face {
    font-family: 'xeicon';
    font-style: normal;
    src: url('../fonts/xeicon.ttf') format("truetype");
    font-display: swap;
}


@font-face {
    font-family: 'HakgyoansimDunggeunmiso-B';
    font-style: normal;
    src: url('../fonts/Hakgyoansim-Dunggeunmiso-OTF-B.otf') format("truetype");
    font-display: swap;
}
@font-face {
    font-family: 'HakgyoansimDunggeunmiso-oR';
    font-style: normal;
    src: url('../fonts/Hakgyoansim-Dunggeunmiso-OTF-R.otf') format("truetype");
    font-display: swap;
}

@font-face {
    font-family: 'HakgyoansimDunggeunmiso-tB';
    font-style: normal;
    src: url('../fonts/Hakgyoansim-Dunggeunmiso-OTF-B.ttf') format("truetype");
    font-display: swap;
}
@font-face {
    font-family: 'HakgyoansimDunggeunmiso-tR';
    font-style: normal;
    src: url('../fonts/Hakgyoansim-Dunggeunmiso-OTF-R.ttf') format("truetype");
    font-display: swap;
}


/*===========================================================================
	CSS 초기화
============================================================================*/
* { font-family: 'Pretendard', sans-serif;  box-sizing:border-box; margin:0; padding:0; font-weight: normal;}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, em, img, strong, b, i, dl, dt, dd, ol, ul, li, form, label, legend, article, aside, footer, header, menu, nav, section, video, a {border:0; outline:0; font-size:100%; color:#333; line-height:1;}
body {line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
ul, ol, li {list-style:none; }
strong {display: inline-block;}
a {margin:0; padding:0; font-size:100%; }
table {border-collapse:collapse; border-spacing:0;}
input, select {vertical-align:middle; font-size: 16px;}
p {line-height:1.5; word-break: keep-all;}
img {width: 100%; object-fit: contain;}
input {outline:none;}
button {cursor:pointer; border: 0; outline: 0; background: none; font-size: 16px;}
a {text-decoration: none;}
textarea {resize: none;}
input,
select {
    vertical-align: middle;
    outline: 0;
    border: 0;
    background: none;
    font-family: "Pretendard", sans-serif;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="file"],
input[type="checkbox"],
input[type="radio"] {
    display: none;
}

select {
    appearance: none;
    background-image: url(../images/icon_arrow_down.svg);
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 24px;
}

select option[value="disabled"][disabled] {
    display: none;
}

label {
    cursor: pointer;
}

i {
    font-family: 'xeicon';
    font-style: normal;
}


body {
    height: 100vh;
        height: -webkit-fill-available;
        height: fill-available;
}
/*===========================================================================
	Global
============================================================================*/

:root {
    /* 폰트 */
    --NanumSquareNeo: 'NanumSquareNeo-Variable', sans-serif;
    --HDB: 'HakgyoansimDunggeunmiso-B', sans-serif;
    --HDOR: 'HakgyoansimDunggeunmiso-oR', sans-serif;
    --HDTB: 'HakgyoansimDunggeunmiso-tB', sans-serif;
    --HDTR: 'HakgyoansimDunggeunmiso-tR', sans-serif;

    /* 폰트 사이즈 */
    --font14: clamp(0px, 0.9375vw, 20px);
    --font18: clamp(0px, 0.9375vw, 22px);
    --font20_32: clamp(0px, 1vw, 20px);
    --font20: clamp(0px, 2vw, 20px);
    --font21: clamp(0px, 1.09375vw, 24px);
    --font24: clamp(0px, 1.25vw, 24px);
    --font32: clamp(0px, 1.6667vw, 36px);
    --font34: clamp(0px, 1.6667vw, 36px);
    --font40: clamp(0px, 2.083vw, 50px);
    --font42: clamp(24px, 2.1875vw, 52px);
    --font80: clamp(40px, 5vw, 80px);


    /* 공통 색상 */
        --color-yellow-main: #ffe875;
        --color-yellow-head: #fe9c13;
        --color-yellow-pre: #ffd500;
    
        --color-green-main: #dcf6b0;
        --color-green-head: #00cb50;
        --color-green-pre: #aae053;
    
        --color-blue-main: #d6f3ff;
        --color-blue-head: #0093ff;
        --color-blue-pre: #84cfff;
    
        --color-red-main: #ffeff6;
        --color-red-head: #f05367;
        --color-red-pre: #ff97a3;
    
        /* Hover 효과 */
        --color-hover-yellow: #ffe875;
        --color-hover-green: #aae053;
        --color-hover-blue: #84cfff;
        --color-hover-red: #ff97a3;
    
        /* Null 값 */
        --color-unset: unset;
}

/* 정답확인 버튼 */
.btn_answer {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 280px;
    /* height: 80px; */
        height: unset;
            padding: 2% 0;
    border-radius: 40px;
    background-color:#ffb300;
    font-family: var(--HDB);
    font-size: 24px;
    color: #222;
    /* bottom: 140px; */
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
}

.btn_answer::after {
    position: absolute;
    content: "정답확인";
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color:var(--color-yellow-pre);
    left: 0;
    bottom: 8px;
    border-radius: 40px;
}

.btn_answer.type2 {
    max-width: 440px;
    height: 107px;
    font-size: 40px;
    border-radius: 53.5px;
    /* bottom: 15%; */
    bottom: 5%;
}

.btn_answer.type2::after {
    border-radius: 53.5px;
}


section {
    margin: 0 auto;
}


/* 전체 스크롤 */
.no-scroll {
    overflow: hidden;
}


/*===========================================================================
	공통요소
============================================================================*/

body {
  
}

.container {
    width: 100%;
    margin: 0 auto;
}

.mb {
    display: none;
}

.row {
    display: flex;
    flex-direction: row;
}

.col {
    display: flex;
    flex-direction: column;
}

.bold {
    font-weight: bold;
}


/* 유동적 이미지 */
.fluid-img-wrap  {
    width: 100%;
    position: relative;
}

.fluid-img-wrap img {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* 버튼 전체 공통 */
.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all 0.3s;
    width: 100%;
}



@media screen and (max-width: 1080px) {

    .pc {
        display: none;
    }

    .mb {
        display: block;
    }

}





.fullModal {
    display: none;
    /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    /* Semi-transparent black background */
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

/* Modal content */
.fullModal .modal-content {
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    width: 100%;
    height: 100%;
    position: relative;
}

/* Close button */
.fullModal .close-button {
    position: absolute;
    top: 20px;
    right: 10px;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    color: black;
    background-color: #707070;
}

.fullModal .close-button:hover {
    color: red;
}

/* Fade-in animation for the modal */
.fullModal.show {
    display: flex;
    animation: fadeIn 0.3s;
}

/* Fade-in animation keyframes */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


.fullModal .pageTitle {
    max-width: calc(100vw - 284px);
    justify-content: center;
    padding-left: unset;
}

@media (max-width: 1024px) {
    .fullModal .close-button {
        width: clamp(48px, 5vw, 64px);
        height: clamp(48px, 5vw, 64px);
    }
}



.nonView{
    display: none !important;
}


.randomModal {
    background-color: unset !important;
}

.whiteBoardModal .modal-content {
    width: 100%;
    max-width: 70%;
    margin: 0 auto;
    background-color: #fff;
    height: unset;
    border-radius: 40px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.16);
    /* padding: 96px 0 120px;    */
    padding: clamp(48px, 8vw, 96px) 0 clamp(60px, 10vw, 120px);
}

.whiteBoardModal.type2 .modal-content {
    max-width: clamp(300px, 70%, 1280px);
    margin: 0 auto;
    background-color: #fff;
    height: auto;
    border-radius: 40px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.16);
    padding: clamp(24px, 8vw, 140px) 0 clamp(40px, 12vw, 180px);
    box-sizing: border-box;
}


/* .whiteBoardModal .close-btn {
    position: absolute;
    top: 24px;
    right: 24px;
    font-size: 64px;
    color: #222;
    z-index: 2;
    cursor: pointer;
} */

.whiteBoardModal .close-btn {
    position: absolute;
    top: clamp(16px, 2vw, 24px);
    /* 최소 16px, 최대 24px */
    right: clamp(16px, 2vw, 24px);
    /* 최소 16px, 최대 24px */
    font-size: clamp(32px, 5vw, 64px);
    /* 최소 32px, 최대 64px */
    color: #222;
    z-index: 2;
    cursor: pointer;
}

.whiteBoardModal .img_stemp {
    /* max-width: 300px; */
    max-width: clamp(150px, 50vw, 300px);
    /* 최소 150px, 뷰포트 너비의 50%, 최대 300px */
    width: 30%;
    /* 이미지가 부모 요소의 너비를 따르도록 설정 */
    height: auto;
    /* 이미지 비율 유지 */
}

.whiteBoardModal .inner_content .title {
    font-family: var(--HDB);
    /* font-size: 80px; */
    font-size: var(--font80);
    color: #222;
    margin-top: 3%;
}

.whiteBoardModal .inner_content .sub {
    font-size: 40px;
    color: #222;
    margin-top: 32px;
}


@media screen and (max-width: 1024px) {

.btn_answer {
    font-size: 18px;
}

.btn_answer::after {
    bottom: 4px;
}

}