@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

*{
    box-sizing: border-box;
}
body{
    font-family: 'Noto Sans KR', sans-serif;
}
#sel-popup{
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    position: absolute;
    display: none;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: space-around;
    padding: 10%;
    background-color: rgba(0, 0, 0, 0.8);
}
#sel-Btn{
    position: absolute;
    font-size: 2vmin;
    color: white;
    cursor: pointer;
}
#sel-popup p:hover{
    opacity: 0.8;
    text-decoration: underline;
}

.sel-list{
    width: 20vmin;
    height: 20vmin;
    border-radius: 3vmin;
    background-color: white;
}

.sel-list p{
    text-align: center;
    font-size: 2vmin;
    margin-top: 1vmin;
    color: white;
}

.sel-list img{
    width: 100%;
    border-radius: 3vmin;
    cursor: pointer;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.sel-list img:hover{
    opacity: 0.7;
}

#note-popup{
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    position: absolute;
    display: none;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: space-around;
    background-color: rgba(0, 0, 0, 0.8);
}

#note-Btn{
    font-size: 2vmin;
    color: white;
    cursor: pointer;
}

#note-Btn:hover{
    opacity: 0.7;
    text-decoration: underline;
}

#note-Btn:active{
    opacity: 0.3;
    text-decoration: underline;
}

.note-list{
    width: 30%;
    height: 80%;
    border-radius: 3vmin;
    background-color: white;
}

.note-list-top{
    width: 100%;
    height: 10%;
    border-radius: 3vmin 3vmin 0 0;
    padding: 3vmin;
    background-color: #FED966;
}

.note-list-top p{
    font-size: 2vmin;
    font-weight: 600;
    color: #2F2F2F;
}

.note-list-main{
    width: 100%;
    height: 90%;
    overflow-y: auto;
    border-radius: 0 0 3vmin 3vmin;
    padding: 3vmin;
    background-color: #FFFAF5;
}

.note-list-main p{
    font-size: 1.7vmin;
    font-weight: 500;
    line-height: 1.8em;
}

body{
    overflow: hidden;
}
#wrap{
    width: 100vw;
    height: 100vh;
    font-family: 'Noto Sans KR', sans-serif;
    color: rgb(46, 46, 46);
    letter-spacing: -0.03em;
    overflow: hidden;
}
#header{
    width: 100%;
    height: 20%;
    padding: 3vmin 5%;
}
#title{
    width: 55%;
    font-size: 2.4vmin;
    font-weight: 500;
    line-height: 1.6em;
}
#subTitle{
    width: 40%;
    height: 80px;
    margin-top: 3vmin;
    font-size: 1.5vmin;
    font-weight: 400;
    line-height: 1.65em;
    word-spacing: -0.07em;
}
#profile{
    width: 10%;
    height: 100px;
    float: right;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
#profile img{
    width: 100%;
    border-radius: 2vmin;
    cursor: pointer;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
#profile img:hover{
    opacity: 0.8;
}
#profile img:active{
    -webkit-transition: 0.2s;
    transition: 0.2s;
    opacity: 0.5;
}
#middle{
    width: 100%;
    height: 70%;
}
#main{
    width: 95%;
    height: 100%;
    margin: 0 auto;
    padding: 5vmin;
}
#mainArea, #exerciseArea, #healthArea{
    width: 100%;
    height: 100%;
    display: inline-block;
}
.part{
    width: 19%;
    height: 100%;
    margin: 0 0.5%;
    float: left;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.small{
    height: 49%;
}
.big{
    width: 39%;
}
.middle-Long{
    width: 39%;
    height: 49%;
}
.bottom{
    margin-top: 1%;
}
.big-Long{
    width: 59%;
    height: 49%;
    margin-top: 1%;
}
.big-Long-MAX{
    width: 99%;
    height: 49%;
    margin-top: 1%;
}
.module{
    width: 100%;
    height: 100%;
    border-radius: 3vmin;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    cursor: pointer;
    background-color: rgb(230, 230, 230);
}
.module:hover{
    box-shadow: 0 0 15vmin rgba(0, 0, 0, 0.45);
}
.module:active{
    -webkit-transition: 0.2s;
    transition: 0.2s;
    opacity: 0.5;
}

/* 모듈 세부 디자인 */
.bigM{
    background-color: #FED966;
    padding-top: 5vmin;
}

.bigM p{
    text-align: center;
    font-size: 3vmin;
    font-weight: 600;
    margin-bottom: 4vmin;
    color: #B76A25;
}

.bigM svg{
    width: 50%;
    left: 50%;
    -ms-transform: translate(50%, 0%);
    transform: translate(50%, 0%);
    margin-bottom: 5vmin;
}

.bigM div{
    margin: 0 auto;
    width: 30%;
    height: 10%;
    border-radius: 10vmin;
    font-size: 3vmin;
    background-color: white;
}

#sc p{
    position: relative;
    top: 45%;
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}

#bigMDivSe{
    width: fit-content;
    height: fit-content;
    background-color: transparent;
    text-align: center;
}

#bigMDivSe p{
    font-size: 1.4vmin;
    color: #C67D33;
}

.small div{
    padding-top: 5vmin;
    text-align: center;
    font-size: 3vmin;
    font-weight: 600;
}

.small p{
    margin-bottom: 5vmin;
}

.small span{
    font-size: 7vmin;
}

.big-LongM{
    background-color: #FFFAF5;
}

#big-LongM-Top{
    width: 100%;
    height: 20%;
    border-radius: 3vmin 3vmin 0 0;
    padding: 2vmin 3vmin;
    font-size: 1.8vmin;
    font-weight: 500;
    background-color: #FED966;
    color: #2F2F2F;
}
#big-LongM-Main{
    width: 100%;
    height: 80%;
    padding: 2vmin 0 3vmin 3vmin;
    font-size: 1.4vmin;
    line-height: 1.8em;
    overflow-y: auto;
}

#big-LongM-Main::-webkit-scrollbar{
    width: 10px;
    background-color: transparent;
}

#big-LongM-Main::-webkit-scrollbar-thumb{
    background-color: #C3C3C3;
    border-radius: 1vmin;
}

#healthBig{
    background-color: #A7DEDC;
    padding: 5vmin;
}

#healthBig p, .H-M p{
    font-size: 1.6vmin;
    line-height: 1.8em;
    font-weight: 500;
    margin-bottom: 3em;
}

.M-title{
    font-size: 2.5vmin !important;
    font-weight: 600 !important;
    margin-bottom: 1em !important;
}

.H-M{
    padding: 3vmin 5vmin;
}

.paddingNo{
    padding-top: 0 !important;
}

#small-main{
    width: 100%;
    height: 60%;
    padding-top: 3vmin
}

#small-main p{
    font-size: 2vmin;
    margin-bottom: 1vmin;
}

.small-title{
    font-size: 2vmin;
    margin-bottom: 1vmin;
}

#small-bottom p{
    font-size: 2vmin;
    color: #5D5D5D;
    font-weight: 400;
}


#de{
    margin-top: 1vmin;
    font-size: 1.3vmin !important;
    font-weight: 400;
    color: #5D5D5D;
}

#small-bottom{
    width: 100%;
    height: 40%;
    border-radius: 0 0 3vmin 3vmin;
    background-color: #FFBC8B;
}

#lastP{
    margin: 1vmin 0;
    color: #454545;
    font-size: 1.5vmin;
}

#lastSpan{
    font-size: 1.5vmin;
    color: #5D5D5D;
    font-weight: 400;
}

/* 운동 */

.exM-title-small{
    height: 50%;
}

.exM-title-small p{
    font-size: 2vmin;
    font-weight: 500;
    line-height: 1.8em;
    margin-bottom: 0px;
    color: #909090;
    z-index: 2;
}

.exM-title-small svg{
    z-index: 1;
    mask-mode: auto;
}

.exM-BtTitle-small p{
    margin-top: 3vmin;
    font-size: 2vmin;
    font-weight: 300;
}

.big-Long-MAX-M1{
    width: 14%;
    height: 100%;
    display: inline-block;
    margin: 0;
    border-radius: 3vmin 0 0 3vmin;
    background-color: #5DBCF7;
}

.big-Long-MAX-M2{
    width: 30%;
    height: 100%;
    margin: 0;
    display: inline-block;
    background-color: #CEECFF;
}

.big-Long-MAX-M3{
    width: 35%;
    height: 100%;
    display: inline-block;
    background-color: #D8D8D8;
}

.big-Long-MAX-M3 p{
    margin: 0;
    padding: 0;
    font-size: 15vmin;
    top: 40%;
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    transform: scaleX(-1);
    position: absolute;
}

.big-Long-MAX-M4{
    width: 17%;
    height: 100%;
    padding: 2vmin;
    display: inline-block;
}

.big-Long-MAX-M4 p{
    margin: 0;
    padding: 0;
    font-size: 2vmin;
    line-height: 1.8em;
    font-weight: 500;
    color: #5DBCF7;
    position: absolute;
}






#tebBar{
    width: 100%;
    height: 10%;
}
#Icons{
    width: 16vmin;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.navigationIcon{
    width: 2.3vmin;
    height: 2.3vmin;
    margin: 1vmin;
    display: flex;
    justify-content: center;
    align-content: center;
}
.navigationIcon svg{
    width: 100%;
    height: 100%;
    cursor: pointer;
    fill: rgb(177, 177, 177);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.navigationIcon svg:hover{
    opacity: 0.5;
}
.navigationIcon svg:active{
    opacity: 0.3;
}
.C-btn{
    width: 6vmin;
    position: absolute;
    display: inline-block;
    top: 56.5vh;
}
.C-btn svg{
    width: 100%;
    height: 100%;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 9999;
}
.C-btn svg:hover{
    opacity: 0.5;
}
.C-btn svg:active{
    opacity: 0.1;
}
#leftBtn{
    left: 4vmin;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
#leftBtn div{
    width: 2.5vmin;
    height: 2.5vmin;
}
#rightBtn{
    right: 4vmin;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
#rightBtn div{
    width: 2.5vmin;
    height: 2.5vmin;
    float: right;
}

/* 숨기기 */

#mainArea, #exerciseArea, #healthArea{
    visibility: hidden;
}

#leftBtn{
    opacity: 0;
}

#leftBtnSvg{
    cursor: default;
}

#mo-footer, #mo-light{
    display: none;
}

/* 상호작용 */

.here{
    fill: #333333 !important;
}

/* 애니메이션 */

.waiting{
    width: 90% !important;
    height: 60% !important;
    transform: scale(0) !important;
    opacity: 0 !important;
    position: absolute !important;
}

.toLeftEnd{
    animation: moveToLeftEnd 1s;
    width: 90% !important;
    height: 60% !important;
    transform: scale(0) !important;
    opacity: 0 !important;
    position: absolute !important;
}

.toLeftStart{
    animation: moveToLeftStart 1s;
    visibility: visible !important;
}

.toRightEnd{
    animation: moveToLRightEnd 1s;
    width: 90% !important;
    height: 60% !important;
    transform: scale(0) !important;
    opacity: 0 !important;
    position: absolute !important;
}

.toRightStart{
    animation: moveToRightStart 1s;
    visibility: visible !important;
}

@keyframes moveToLeftEnd {
    0%{
        -ms-transform: translate(0vw); /* IE 9 */
        -webkit-transform: translate(0vw); /* Safari */
        transform: translate(0vw);
        opacity: 1;
    }
    100%{
        -ms-transform: translate(-100vw); /* IE 9 */
        -webkit-transform: translate(-100vw); /* Safari */
        transform: translate(-100vw);
        opacity: 0;
    }
}

@keyframes moveToLeftStart {
    0%{
        -ms-transform: translate(100vw); /* IE 9 */
        -webkit-transform: translate(100vw); /* Safari */
        transform: translate(100vw);
        opacity: 0;
    }
    100%{
        -ms-transform: translate(0vw); /* IE 9 */
        -webkit-transform: translate(0vw); /* Safari */
        transform: translate(0vw);
        opacity: 1;
    }
}

@keyframes moveToLRightEnd {
    0%{
        -ms-transform: translate(-100%); /* IE 9 */
        -webkit-transform: translate(-100%); /* Safari */
        transform: translate(-100%);
        opacity: 1;
    }
    100%{
        -ms-transform: translate(0%); /* IE 9 */
        -webkit-transform: translate(0%); /* Safari */
        transform: translate(0%);
        opacity: 0;
    }
}

@keyframes moveToRightStart {
    0%{
        -ms-transform: translate(-100vw); /* IE 9 */
        -webkit-transform: translate(-100vw); /* Safari */
        transform: translate(-100vw);
        opacity: 0;
    }
    100%{
        -ms-transform: translate(0vw); /* IE 9 */
        -webkit-transform: translate(0vw); /* Safari */
        transform: translate(0vw);
        opacity: 1;
    }
}

/* 미디어 쿼리 */


@media screen and (max-height: 850px) {
    #profile img{
        width: fit-content;
        height: 100%;
    }
    #Icons{
        width: 40vmin;
    }
    .navigationIcon{
        width: 5vmin;
        height: 5vmin;
    }
    #rightBtn div, #leftBtn div{
        width: 5vmin;
        height: 5vmin;
    }
}
@media screen and (max-width: 1500px) {
    #Icons{
        width: 35vmin;
    }
    .navigationIcon{
        width: 4vmin;
        height: 4vmin;
    }
    #leftBtn{
        left: 2vmin;
    }
    #rightBtn{
        right: 2vmin;
    }
    #rightBtn div, #leftBtn div{
        width: 4vmin;
        height: 4vmin;
    }
}
@media screen and (max-width: 1024px) {
    #Icons{
        width: 30vmin;
    }
    .navigationIcon{
        width: 5vmin;
        height: 5vmin;
    }
    .C-btn{
        top: 55vh;
    }
    #rightBtn div, #leftBtn div{
        width: 5vmin;
        height: 5vmin;
    }
    svg{
        transform: scale(80%);
    }
}
@media screen and (max-width: 500px) {
    #sel-popup{
        width: 100vw;
        height: 100vh;
        position: absolute;
        flex-direction: row;
        overflow-y: auto;
        padding-top: 280vh;
    }
    #sel-Btn{
        position: fixed;
        font-size: 5vmin;
        font-weight: 600;
    }
    
    .sel-list{
        width: 70vmin;
        height: max-content;
        border-radius: 10vmin;
        margin: 10vmin 0;
        background-color: white;
    }
    
    .sel-list p{
        font-size: 6vmin;
        margin: 5vmin 0;
        color: black;
    }
    
    .sel-list img{
        border-radius: 10vmin;
    }
    
    
    #note-popup{
        width: 100vw;
        height: 210vh;
        justify-content: space-around;
        align-content: space-around;
        background-color: rgba(0, 0, 0, 0.8);
        overflow-y: auto;
    }
    
    #note-Btn{
        font-size: 5vmin;
        color: white;
        cursor: pointer;
        position: fixed;
        margin-top: 10vmin;
    }
    
    .note-list{
        width: 90vw;
        height: 80vh;
        display: block;
        border-radius: 10vmin;
        background-color: white;
        margin-bottom: 10vmin;
    }
    
    .note-list-top{
        border-radius: 10vmin 10vmin 0 0;
        padding: 6vmin;
    }
    
    .note-list-top p{
        font-size: 5vmin;
    }
    
    .note-list-main{
        border-radius: 0 0 10vmin 10vmin;
        padding: 6vmin;
    }
    
    .note-list-main p{
        font-size: 4.7vmin;
        line-height: 1.8em;
    }

    #header{
        width: 100%;
        height: 30%;
        padding: 10vmin 10%;
    }
    #title{
        width: 80%;
        font-size: 5vmin;
        float: left;
    }
    #subTitle{
        display: none;
    }
    #profile{
        float: none;
        display: inline-block;
    }
    #profile img{
        width: 20vmin;
        height: 20vmin;
        clear: both;
    }
    .part{
        width: 100%;
        height: 70%;
        margin-bottom: 10vmin;
        clear: both;
    }
    .module{
        border-radius: 10vmin;
    }
    #middle{
        height: 70%;
        overflow-y: auto;
    }
    #main{
        padding: 6vmin;
    }
    .light, #tebBar, .C-btn{
        display: none;
    }
    #mainArea, #exerciseArea, #healthArea{
        visibility: visible !important;
        margin-bottom: 50vmin;
        display: block;
    }
    .waiting{
        width: 100% !important;
        height: 100% !important;
        transform: scale(1) !important;
        opacity: 1 !important;
        position: relative !important;
    }
    .big{
        width: 100%;
    }
    .middle-Long{
        width: 100%;
        height: 50%;
    }
    .bottom{
        margin-top: 0%;
    }
    .big-Long{
        width: 100%;
        height: 50%;
        margin-top: 0%;
    }
    .big-Long-MAX{
        width: 100%;
        height: 50%;
        margin-top: 0%;
    }
    /* 모듈 세부 디자인 */
    .bigM{
        background-color: #FED966;
        padding-top: 10vmin;
    }

    .bigM p{
        font-size: 6vmin;
        margin-bottom: 8vmin;
    }

    .bigM svg{
        margin-bottom: 6vmin;
    }

    #sc p{
        font-size: 6vmin;
    }

    #bigMDivSe p{
        font-size: 5vmin;
    }

    #big-LongM-Top{
        border-radius: 10vmin 10vmin 0 0;
        padding: 5vmin 8vmin;
        font-size: 5vmin;
    }
    #big-LongM-Main{
        width: 100%;
        height: 80%;
        padding: 5vmin 8vmin 5vmin 8vmin;
        font-size: 4vmin;
        line-height: 1.8em;
        overflow-y: hidden;
    }

    #healthBig{
        background-color: #A7DEDC;
        padding: 10vmin;
        overflow-y: hidden;
    }

    #healthBig p, .H-M p{
        font-size: 4vmin;
    }

    .M-title{
        font-size: 5vmin !important;
    }

    .H-M{
        padding: 10vmin;
    }

    .paddingNo{
        padding-top: 0 !important;
    }

    #small-main{
        padding-top: 15vmin
    }
    
    #small-main span{
        font-size: 20vmin;
    }

    #small-main p{
        font-size: 7.5vmin;
        margin-bottom: 5vmin;
    }

    .small-title{
        margin-top: 15vmin;
        margin-bottom: 5vmin;
        font-size: 7.5vmin;
    }

    #small-bottom p, #lastSpan{
        font-size: 5vmin;
    }


    #de{
        margin-top: 5vmin;
        font-size: 5vmin !important;
    }

    #small-bottom{
        border-radius: 0 0 10vmin 10vmin;
    }

    #imo{
        font-size: 20vmin;
    }

    #lastP{
        margin: 10vmin;
        font-size: 5vmin !important;
    }

    /* 운동 */

    .exM-title-small p{
        font-size: 6.5vmin;
        line-height: 1.5em;
        margin: 10vmin;
    }
    
    .exM-title-small span{
        font-size: 20vmin;
    }

    .exM-BtTitle-small p{
        margin-top: 30vmin;
        font-size: 5vmin;
        font-weight: 500;
    }

    .big-Long-MAX-M1{
        border-radius: 10vmin 0 0 10vmin;
    }
    

    .big-Long-MAX-M3 p{
        font-size: 15vmin;
        top: 75%;
    }

    .big-Long-MAX-M4 p{
        font-size: 5vmin;
        line-height: 1.8em;
        left: 60%;
    }

    /* 모바일에서만 등장하는 요소 */

    #mo-light{
        display: flex;
        justify-content: center;
        align-content: center;
        width: 100%;
        height: 50%;
    }

    .mo-light-M{
        width: 20vmin;
        height: 20vmin;
        margin: 0 3vmin;
        border-radius: 10vmin;
        font-size: 10vmin;
        text-align: center;
        color: white;
    }

    .mo-light-M p{
        position: relative;
        top: 45%;
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    #mo-footer{
        display: inline-block;
        width: 100%;
        height: 10%;
    }
}
