@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
/* Google_Notosans_font */
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");
/* Goggle_icon */
@font-face {
    font-family: 'Eulyoo1945-SemiBold';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2102-01@1.0/Eulyoo1945-SemiBold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Eulyoo1945-Regular';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2102-01@1.0/Eulyoo1945-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
html {
    font-size: 16px;
}
body{
    background: #40305f;
}
* {
    font-family: 'Noto Sans KR', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* header디자인 */
header {
    position: fixed;
    top: 0;
    left: 0;
    height: 100px;
    width: 100%;
    z-index: 10;
}

header .wrap {
    margin: 0 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .menu {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

header .logo {
    background: url(../img/Logo_star.svg) no-repeat;
    background-position: center;
    width: 175px;
    height: 100px;
    text-indent: -9999px;
    overflow: hidden;
}

.navButton,
.navButton span {
    display: inline-block;
    transition: all .4s;
}

.navButton {
    position: relative;
    width: 32px;
    height: 28px;
}

.navButton span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background: #FFF4D7;
    border-radius: 3px;
    z-index: 15;
}

.navButton span:nth-of-type(1) {
    top: 0;
}

.navButton span:nth-of-type(2) {
    top: 13px;
}

.navButton span:nth-of-type(3) {
    bottom: 0;
}


/* 중앙 라인이 고정된 자리에서 투명하게 사라지며 상하라인 회전하며 엑스자 만들기 */
.navButton.active-1 span:nth-of-type(1) {
    transform: translateY(12px) rotate(-45deg);
    background: #2F2725;
}

.navButton.active-1 span:nth-of-type(2) {
    opacity: 0;
}

.navButton.active-1 span:nth-of-type(3) {
    transform: translateY(-13px) rotate(45deg);
    background: #2F2725;

}

header .menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 40%;
    height: 100vh;
    padding: 100px 0;
    z-index: 10;
    flex-direction: column;
    background: #f7f7f7bb;
    transform: translateX(100%);
    transition: transform 0.5s;
    box-shadow: 6px 6px 9px 2px #342D44;
}

header .menu a {
    font-size: 1.3rem;
    text-decoration: none;
    font-weight: 500;
    color: #2F2725;
    text-align: right;
    padding: 20px 100px 30px 0;
    position: relative;
    width: 200px;
}

/* 밑줄효과 애니메이션 */
header .menu a::after {
    width: 0%;
    height: 4%;
    background: #514b5c;
    content: "";
    position: absolute;
    bottom: 20%;
    right: 40%;
    z-index: 10;
}

header .menu a:hover::after {
    width: 80%;
    transition: width 0.5s;
}

header .menu a:hover {
    color: #2F2725;
}

header .menu.on {
    transform: translateX(0);
}

/* inner 디자인 */

/* course bar design */
.st0 {
    fill: none;
    stroke: #2F2725;
    stroke-miterlimit: 10;
}

.st1 {
    fill: #2F2725;
}

.cultureLogo {
    background: url(../img/Logo_cultural_sun.svg) no-repeat;
}

.cultureLogo2 {
    background: url(../img/Logo_cultural2_sun.svg) no-repeat;
    margin-right: 150px;
}

.cultureLogo,
.cultureLogo2 {
    background-size: contain;
    height: 100px;
    width: 150px;
    text-indent: -9999px;
    overflow: hidden;
    display: inline-block;
    position: absolute;
    bottom:50px;
    right: 100px;
}

/* tab구조 */
.course_sun,
.course_night {
    width: 550px;
    margin: 0 auto;
    position: fixed;
    bottom: 20px;
    right: 100px;
}
.course_sun{
    display: none;
}
ul.tabs {
    list-style: none;
    display: flex;
    justify-content: flex-end;
}

ul.tabs li {
    background: none;
    color: rgb(255, 255, 255);
    display: inline-block;
    padding: 10px 15px;
    cursor: pointer;
}

ul.tabs li.current {
    background: #ffffffab;
    color: #222;
    border-radius: 5px 5px 0 0;
    font-weight: 600;
}

.tab-content {
    display: none;
    background: #ffffffab;
    padding: 15px;
    border-radius: 15px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.tab-content.current {
    display: inherit;
}

.Tbox .place li {
    font-size: 0.9rem;
    font-weight: 500;
    list-style: none;
    width: 50px;
    margin: 25px 0 0 30px;
    cursor: pointer;
}
.Tbox .place li::before{
    content:'';
    display:inline-block;
    width:8px;
    height:8px;
    margin:-13px -24px 0 0;
    vertical-align:top;
    background:black;
    border-radius:50%;
    cursor: pointer;
  }
  .Tbox .place li::after {
    content: '';
    background:black;
    display: block;
    height: 0.15em;
    margin:-32px -85px 0 -25px;
    pointer-events: none;

}
.Tbox .place li:last-child:after{
    display: none;
}
.Tbox p {
    font-size: 0.9rem;
    font-weight: 400;
    margin: 15px 0;
    text-align: center;
    font-family: 'Eulyoo1945-Regular';
}

.Tbox .place {
    display: flex;
    justify-content: space-around
}

/* 왼쪽 장소 설명박스 */
.left {
    position: fixed;
    top: 0;
    left: 0;
    width: 60%;
    height: 100vh;
    padding: 100px 0;
    z-index: 10;
    background: #f7f7f7bb;
    transform: translateX(-100%);
    transition: transform 0.5s;
    box-shadow: 1px 2px 5px 1px #342d4462;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.left.on {
    transform: translateX(0);
}

.left h1 {
    font-size: 1.5rem;
    text-align: center;
}

.left img {
    height: 40%;
    text-align: center;
    margin: 50px 50px;
}

.left h2 {
    font-size: 1rem;
    text-align: center;
    font-weight: 500;
    margin: 0 150px;
    color: rgb(56, 56, 56);
    letter-spacing: 1px;
    line-height: 27px;
    word-break: keep-all;
}

/* map 구조 */
.map {
    /* position: relative; */
    margin: 0 10px;
    padding-top: 100px;
}

.road,
.sun_road {
    position: absolute;
    top: 200px;
    left: 340px;
    width: 1250px;
}
.sun_road{
    display: none;
}
img[class^="place"] {
    position: absolute;
    cursor: pointer;
}

.place1 {
    top: 574px;
    left: 254px;
}

.place2 {
    top: 319px;
    left: 501px;
}

.place3 {
    top: 337px;
    left: 803px;
}

.place4 {
    top: 204px;
    left: 872px;
}

.place5 {
    top: 180px;
    left: 432px;
}

.place6 {
    top: 269px;
    left: 1200px;
}

.place7 {
    top: 629px;
    left: 961px;
}

.place8 {
    top: 493px;
    left: 1079px;
}

.place9 {
    top: 259px;
    left: 1145px;
    bottom: 100px;
}

.place10 {
    top: 144px;
    left: 1074px;
}

.star {
    position: absolute;
    top: 272px;
    left: 286px;
    width: 1131px;
    pointer-events: none;
    animation: light 3s forwards;
}

@keyframes light {
    0% {
        opacity: 0%;
    }

    100% {
        opacity: 100%;
    }
}

.tree {
    position: absolute;
    top: 201px;
    left: 439px;
    width: 1127px;
    pointer-events: none;
}

.lightBar {
    position: absolute;
    top: 340px;
    left: 641px;
    width: 1029px;
    pointer-events: none;
}
.sun_tree{
    position: absolute;
    top: 147px;
    left: 406px;
    width: 1253px;
    pointer-events: none;
    display: none;
}

/* 마우스 호버 */
.map div p {
    position: absolute;
    color: white;
    border-left: 2px solid white;
    padding: 0 10px;
    font-weight: 500;
    z-index: 1;
    transition: all 0.5s;
}

.map div p:after {
    position: absolute;
    content: ' ';
}

.map div {
    display: inline-block;
}

.map .wrap10 p {
    top: 83px;
    left: 1054px;
    height: 70px;
}

.map .wrap9 p {
    top: 101px;
    left: 1203px;
    height: 162px;
}

.map .wrap8 p {
    top: 445px;
    left: 998px;
    height: 49px;
}

.map .wrap7 p {
    top: 545px;
    left: 998px;
    height: 85px;
}

.map .wrap6 p {
    top: 184px;
    left: 1423px;
    height: 124px;
}

.map .wrap5 p {
    top: 114px;
    left: 573px;
    height: 99px;
}

.map .wrap4 p {
    top: 123px;
    left: 853px;
    height: 99px;
}

.map .wrap3 p {
    top: 212px;
    left: 848px;
    height: 126px;
}

.map .wrap2 p {
    top: 113px;
    left: 717px;
    height: 242px;
}

.map .wrap1 p {
    top: 464px;
    left: 301px;
    height: 124px;
}

.map .wrap10 p,
.map .wrap8 p,
.map .wrap4 p,
.map .wrap1 p {
    border-left: none;
    border-right: 2px solid white;
    text-align: right;
}

/* 조명움직이기 */
.cls-1 {
    isolation: isolate;
}

.cls-2 {
    opacity: 0.74;
}

.cls-3 {
    mix-blend-mode: screen;
    opacity: 0.57;
}

.cls-4 {
    mask: url(#mask);
}

.cls-5 {
    fill: url(#linear-gradient);
}

.cls-6 {
    fill: #ce2925;
}

.cls-7 {
    fill: #ea4747;
}

.cls-8 {
    fill: #e23d3d;
}

.cls-9 {
    fill: #4c49e8;
}

.cls-10 {
    fill: #4141d8;
}

.cls-11 {
    mask: url(#mask-2);
}

.cls-12 {
    fill: url(#linear-gradient-2);
}

.cls-13 {
    fill: #3a2534;
}

.cls-14 {
    filter: url(#luminosity-noclip-2);
}

.cls-15 {
    filter: url(#luminosity-noclip);
}
.ani {
    top: 274px;
    left: 331px;
    width: 948px;
}
#move1,
#move2{
    position: absolute;
}
#move1{
    transform-origin: right ;
    animation: move 2s infinite;
}
#move2{
    transform-origin: bottom ;
    animation: move2 2s infinite;
}
@keyframes move{
    0% {
        transform: rotate(0deg);
    }
    35% {
        transform: rotate(1deg);
    }
    70%{
        transform: rotate(-1deg);
    }
    100%{
        transform: rotate(0deg);
    }
}
@keyframes move2{
    0% {
        transform: rotate(0deg);
    }
    35% {
        transform: rotate(-0.3deg);
    }
    100%{
        transform: rotate(0deg);
    }
}


/* 코스따라가기 */
.cls-0 {
    fill: none;
    stroke: #ffce46;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 14px;
}
.cls-01 {
    fill: none;
    stroke: #39b54a;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 14px;
}
.n_course1,
.n_course2,
.s_course1,
.s_course2,
.s_course3,
.ani{
    position: absolute;
    pointer-events: none;
}
.n_course1{
    width: 341px;
    top: 240px;
    left: 942px;
}
#n1-1{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1s linear 0s forwards;}
#n1-2{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1.8s linear 0s forwards;}
#n1-3{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 0s forwards;}
#n1-4{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 2s forwards;}
#n1-5{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1.8s forwards;}
@keyframes Cn1 {
   from {stroke-dashoffset : -500px;}
   to {stroke-dashoffset : 0px;}
}
@keyframes Cn1-1 {
    from {stroke-dashoffset : 500px;}
    to {stroke-dashoffset : 0px;}
 }
 .n_course2{
    width: 946px;
    top: 318px;
    left: 350px;
 }
#n2-1{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1s linear 0s forwards;}
#n2-2{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 0.5s forwards;}
#n2-3{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1.3s forwards;}
#n2-4{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 3s linear 2s forwards;}
#n2-5{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1.5s linear 1.5s forwards;}
#n2-6{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2.5s linear 3s forwards;}
#n2-7{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 3.3s forwards;}
#n2-8{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 2.5s forwards;}
#n2-9{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 4.5s forwards;}
#n2-10{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 3.7s forwards;}
#n2-11{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1.8s linear 5.8s forwards;}
#n2-12{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1.8s linear 6.3s forwards;}
#n2-13{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1.3s linear 7.2s forwards;}

.s_course1{
    width: 562px;
    top: 348px;
    left: 370px;
}
#n3-1{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1s linear 0.2s forwards;}
#n3-2{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1s forwards;}
#n3-3{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1.8s forwards;}
#n3-4{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 4s forwards;}
.s_course2{
    width: 761px;
    top: 465px;
    left: 362px;
}
#n4-1{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1s linear 0.2s forwards;}
#n4-2{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1s forwards;}
#n4-3{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1.8s forwards;}
#n4-4{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 2.3s forwards;}
#n4-5{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 2.7s forwards;}
#n4-6{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 3.5s forwards;}
.s_course3{
    width: 897px;
    top: 348px;
    left: 360px;
}
#n5-1{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1s linear 0.2s forwards;}
#n5-2{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 1s forwards;}
#n5-3{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 1.5s linear 1.8s forwards;}
#n5-4{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 3.3s forwards;}
#n5-5{stroke-dasharray: 500; stroke-dashoffset: -500;animation: 2s linear 4.6s forwards;}

/* toggle 버튼만들기 */
.toggle{
    margin: 0 100px;
    display: flex;
    align-items: center;
}
.toggle .material-symbols-outlined{
    width: 30px;
    height: 30px;
}
.moonT,
.sunT{
    font-family: 'Eulyoo1945-Regular';
    margin-right: 20px;
    font-size: 1.2rem;
}
.moonT,
#moon
{
    color: white;
}
.sunT,
#sun{
    color: #2F2725;
    display: none;
}
.switch-button {
    position: relative;
    display: inline-block;
    width: 55px;
    height: 30px;
}

.switch-button input {
    opacity: 0;
    width: 0;
    height: 0;
}

.onoff-switch {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius:20px;
    background-color: #ccc;
    transition: .4s;
}

.onoff-switch:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 4px;
    background-color: #fff;
    transition: .4s;
    border-radius:20px;
}

.switch-button input:checked + .onoff-switch {
    background-color: #723ead;
}

.switch-button input:checked + .onoff-switch:before {

    transform: translateX(26px);
}
/* modal창 디자인 */
#modal.modal-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(129, 129, 129, 0.25);
    box-shadow: 0 8px 32px 0 rgba(39, 15, 46, 0.37);
    backdrop-filter: blur(1.5px);
    border-radius: 10px;
    z-index: 20;
    touch-action: none;
}
#modal .modal-window {
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 8px 32px 0 rgba(39, 15, 46, 0.37);
    backdrop-filter: blur( 13.5px );
    border-radius: 10px;
    width: 500px;
    height: 400px;
    position: relative;
    top: -100px;
    padding: 35px 20px;
    z-index: 30;
}

#modal .title h2 {
    color: #40305f;
    text-align: center;
    font-family: 'Eulyoo1945-SemiBold';
}
#modal .close-area {
    position: absolute;
    font-size: 1.3rem;
    cursor: pointer;
    right: 48%;
    bottom: 20px;
    color: #40305f;
    padding: 0px 8px;
    border: 2px solid #40305f;
    border-radius: 50px;
}
#modal .close-area:hover{
    background: #40305f;
    color: white;
}

#modal .content {
    margin-top: 20px;
    color: rgb(31, 31, 31);
    text-align: center;
}
#modal .content h3{
    color: black;
    font-weight: 500;
    font-size: 1rem;
    line-height: 26px;
    font-family: 'Eulyoo1945-Regular';
}
#modal .content p{
    color: rgb(49, 49, 49);
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 26px;
    margin-top: 50px;
}

body[data-theme='dark'] {
    background-color: #f0f0f0;
}
/* 테마변경 */
body.sun{
    background: #f0f0f0;
}
.sun header .logo{
    background:url(../img/Logo_star_black.svg) no-repeat;
}
.sun .navButton span{
    background: #40305f;
}
.sun .map div p,
.sun ul.tabs li{
    color: #40305f;
}
.sun .map div p{
    border-left: 2px solid #40305f;
}
.sun .map .wrap10 p,
.sun .map .wrap8 p,
.sun .map .wrap4 p,
.sun .map .wrap1 p{
    border-left: none;
}
.sun .map .wrap10 p,
.sun .map .wrap8 p,
.sun .map .wrap4 p,
.sun .map .wrap1 p{
    border-right: 2px solid #40305f;
}
.sun .course_sun,
.sun .sun_road,
.sun .sun_tree,
.sun #sun,
.sun .sunT{
    display: block;
}
.sun .star,
.sun .course_night,
.sun .tree,
.sun .lightBar,
.sun .road,
.sun .ani,
.sun #moon,
.sun .moonT{
    display: none;
}