@font-face {
    font-family: 'Noto Sans KR';
    src: url('font/NotoSansKR/NotoSansKR-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    /* 로딩 최적화 */
    unicode-range: U+AC00-D7A3;
    /* 한글 범위 */
}

@font-face {
    font-family: 'Outfit';
    src: url('font/Outfit/Outfit-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    /* 한글 범위 */
}

/* 기본(Regular, 400) */
@font-face {
    font-family: 'Poppins';
    src: url('font/Poppins/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    unicode-range: U+0020-007E,
        /* 기본 ASCII (영문/숫자/기본 기호) */
}

@font-face {
    font-family: 'Poppins';
    src: url('font/Poppins/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    unicode-range: U+0020-007E,
        /* 기본 ASCII (영문/숫자/기본 기호) */
}

@font-face {
    font-family: 'Poppins';
    src: url('font/Poppins/Poppins-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    unicode-range: U+0020-007E,
        /* 기본 ASCII (영문/숫자/기본 기호) */
}

/* @font-face {
    font-family: 'Inter-Regular';
    src: url('font/Inter/static/Inter-Regular.ttf');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Inter-SemiBold';
    src: url('font/Inter/static/Inter-SemiBold.ttf');
}

@font-face {
    font-family: 'Inter-Medium';
    src: url('font/Inter/static/Inter-Medium.ttf');
}

@font-face {
    font-family: 'Syncopate-Regular';
    src: url('font/Syncopate/Syncopate-Regular.ttf');
}

@font-face {
    font-family: 'Syncopate-Bold';
    src: url('font/Syncopate/Syncopate-Bold.ttf');
} */

.wow-item {
    opacity: 0.3;
    transition: opacity 0.3s ease;
}

html {
    max-width: 1920px;
    margin: auto;
}

body {
    font-family: 'Poppins', 'Noto Sans KR', system-ui, sans-serif;
}

p,
span {
    white-space: break-spaces;
}

html pre {
    margin-bottom: unset;
}

header {
    height: 900px;
    background-image: url(../img/bg_header_01.png);
    background-repeat: no-repeat;
}

header .p_menu {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

header .menu {
    height: 102px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: auto;
}

/* 언어변경 select box */
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
    width: fit-content;
}

.bootstrap-select>.dropdown-toggle {
    width: 250px;
    height: 42px;
    background-color: transparent;
    border-radius: 34px;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 1);
    color: #000;
    font-family: Outfit;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.bootstrap-select .dropdown-toggle .filter-option {
    width: 60%;
    line-height: 25px;
}

.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
    display: flex;
    justify-content: space-evenly;
}

.bootstrap-select .dropdown-toggle .filter-option-inner-inner img {
    width: 40px;
    height: 25px;
}

.dropdown-toggle::after {
    background: url(../img/down_icon.png) no-repeat 0px 0px;
    background-position-y: center;
    content: "";
    display: inline-block;
    height: 13px;
    width: 37px;
    margin: 0 -7px !important;
    vertical-align: unset;
    border-top: unset;
    border-right: unset;
    border-bottom: unset;
    border-left: unset;
}

.dropdown-item.active,
.dropdown-item:active {
    color: #140086;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.bootstrap-select .dropdown-toggle:focus,
.bootstrap-select>select.mobile-device:focus+.dropdown-toggle {
    outline: none !important;
}

.dropdown-menu.show {
    width: 250px;
    height: 106px;
    border-radius: 21px;
    border: 1px solid #FFF;
    background: #FFF;
    overflow: hidden;
}

.inner.show {
    overflow-x: hidden;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: transparent;
}

.bootstrap-select .dropdown-menu li {
    margin: 9px 0;
}

.bootstrap-select .dropdown-menu li a {
    /* margin: 10px 13px; */
    line-height: normal;
}

.bootstrap-select .dropdown-menu li a .text img {
    margin: 0 19px;
}

/* 언어변경 select box 종료*/


header .box {
    display: flex;
    flex-direction: column;
    width: fit-content;
    margin: 200px auto 80px;
    justify-content: center;
    gap: 30px;
}

header .box .textArea #header_01 {
    color: #FFF;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    font-size: clamp(20px, 1.67vw, 32px);
    font-style: normal;
    font-weight: 600;
    line-height: clamp(24px, 1.88vw, 36px);
}

header .box .textArea #header_02 {
    color: #FFF;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
    font-size: clamp(14px, 1.04vw, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: clamp(18px, 1.25vw, 24px);
}

header .btnArea {
    text-align: center;
    cursor: pointer;
}

header .btnArea div {
    width: fit-content;
    margin: auto;
}

.container {
    margin: 0;
    padding: 0;
}

.container .middle-01 {
    background: #FFF8F4;
    max-width: 1920px;
    width: 100vw;
    margin: 0;
}

.container .middle-01 .contents {
    display: flex;
    flex-direction: column;
}

.container .middle-01 .contents .title {
    margin-top: clamp(60px, 6.15vw, 118px);
    color: #555;
    font-size: clamp(20px, 1.67vw, 32px);
    font-style: normal;
    font-weight: 600;
    line-height: clamp(30px, 2.6vw, 50px);
    white-space: break-spaces;
}

.container .middle-01 .contents .subTitle {
    margin-top: clamp(10px, 1.25vw, 24px);
    color: #8D8D8D;
    font-size: clamp(14px, 1.04vw, 20px);
    font-style: normal;
    font-weight: 500;
    line-height: clamp(20px, 1.88vw, 36px);
    white-space: break-spaces;
}

.container .middle-01 .contents .subTitle#middle_01_sub01_text01 {
    margin-top: 0;
}

.container .middle-01 .contents .vision {
    margin-top: clamp(37px, 7.14vw, 137px);
    /* height: 807px; */
    background-image: url(../img/bg_middle-02.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.container .middle-01 .contents .vision {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.container .middle-01 .contents .vision #middle_01_sub02_title {
    margin-top: 208px;
    color: #FFF;
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.50);
    font-size: clamp(32px, 3.33vw, 64px);
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    white-space: break-spaces;
}

.container .middle-01 .contents .vision #middle_01_sub02_text {
    margin-top: 7px;
    margin-bottom: 151px;
    color: #FFF;
    text-align: center;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.70);
    line-height: clamp(14px, 0.83vw, 16px);
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    white-space: break-spaces;
}

.container .middle-01 .contents .vision #middle_01_sub02_text:lang(ko) {
    white-space: normal;
}

.container .middle-01 .contents .box {
    display: flex;
    flex-direction: column;
    border-radius: 30px;
    opacity: 0.8;
    background: #E2E2E2;
    margin-top: clamp(35px, 5.99vw, 115px);
    padding: 30px 40px 20px 40px;
}

.container .middle-01 .contents .box:last-child {
    margin-bottom: clamp(50px, 11.93vw, 229px);
}

.container .middle-01 .contents .box .title {
    margin-top: unset;
    color: #676767;
    text-align: center;
    font-size: clamp(20px, 1.25vw, 24px);
    font-style: normal;
    font-weight: 700;
    line-height: clamp(20px, 1.88vw, 36px);
    /* 150% */
    text-align: left;
}

.container .middle-01 .contents .box .text {
    margin-top: 18px;
    color: #676767;
    font-size: clamp(14px, 1.04vw, 20px);
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    /* 142.857% */
    text-align: left;
}

.container .middle-01 .contents .box .imgBox {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.container .middle-01 .contents .box .imgBox img {
    width: calc((100% - 60px) / 4);
    max-width: calc((100% - 60px) / 4);
    height: auto;
    object-fit: contain;
}

.container .middle-01 .contents .solution {
    margin-top: clamp(35px, 5.99vw, 115px);
    margin-bottom: clamp(50px, 11.93vw, 229px);
    width: 100%;
}

.container .middle-01 .contents .solution .title {
    color: #676767;
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 700;
    line-height: clamp(20px, 1.88vw, 36px);
    text-align: left;
}

.container .middle-01 .contents .solution .subTitle {
    margin-top: 10px;
    color: #888;
    font-size: clamp(14px, 1.04vw, 18px);
    font-weight: 500;
    text-align: left;
}

.container .middle-01 .contents .solution .imgBox {
    margin-top: clamp(20px, 2.5vw, 40px);
    display: flex;
    flex-direction: column;
    gap: clamp(10px, 1.3vw, 20px);
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.container .middle-01 .contents .solution .imgBox .row {
    display: flex;
    width: 100%;
    margin: 0;
    gap: clamp(7px,0.83vw,16px);
}

.container .middle-01 .contents .solution .imgBox .row-top .item-01 {
    flex: 486;
}

.container .middle-01 .contents .solution .imgBox .row-top .item-02 {
    flex: 292;
}

.container .middle-01 .contents .solution .imgBox .row-bottom .item-03 {
    flex: 305;
}

.container .middle-01 .contents .solution .imgBox .row-bottom .item-04 {
    flex: 474;
}

.container .middle-01 .contents .solution .imgBox picture {
    display: block;
    padding: 0;
}

.container .middle-01 .contents .solution .imgBox picture img {
    width: 100%;
    height: auto;
    display: block;
}

.container .middle-02 {
    background: #E4E4E4;
    max-width: 1920px;
    width: 100vw;
    margin: 0;
    /* height: 621px; */
}

.container .middle-02 .contents {
    display: flex;
    flex-direction: column;
}

.container .middle-02 .contents .title {
    margin-top: clamp(60px, 6.15vw, 118px);
    color: #555;
    font-size: clamp(20px, 1.67vw, 32px);
    font-style: normal;
    font-weight: 600;
    line-height: clamp(30px, 2.6vw, 50px);
    white-space: break-spaces;
}

.container .middle-02 .contents .box {
    margin: clamp(29px, 5.31vw, 102px) auto 0;
    position: relative;
}

.container .middle-02 .contents .box ul {
    position: absolute;
    padding-left: 4rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    margin-bottom: unset;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.container .middle-02 .contents .box li {
    color: #8D8D8D;
    font-size: clamp(16px, 1.04vw, 20px);
    font-style: normal;
    font-weight: 400;
    line-height: clamp(24px, 2.6vw, 50px);
}

.container .middle-02 .contents .tokenRate {
    margin: clamp(38px, 5.89vw, 113px) auto clamp(60px, 9.22vw, 177px);
    display: flex;
    flex-direction: column;
}

.container .middle-02 .contents .graph {
    display: flex;
    flex-direction: row;
    /* gap: 116px; */
    gap: clamp(15px, 6.04vw, 116px);
}

.container .middle-02 .contents .tokenRate .graph .rateImg img {
    max-width: fit-content;
    filter: drop-shadow(6px 6px 20px rgba(118, 192, 200, 0.50)) drop-shadow(-16px -16px 20px #FFF);
}

.container .middle-02 .contents .tokenRate .graph .textArea {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, 2.4vw, 46px);
    justify-content: center;
}

.container .middle-02 .contents .tokenRate .graph .textArea .list {
    display: flex;
    gap: clamp(10px, 0.73vw, 14px);
}

.container .middle-02 .contents .tokenRate .graph .textArea .list .text {
    color: #555;
    font-size: clamp(16px, 1.07vw, 20.5px);
    font-style: normal;
    font-weight: 400;
    line-height: clamp(22px, 1.15vw, 22px);
}

.container .middle-02 .contents .tokenRate .graph .textArea .list .text:lang(en) {
    text-align: left;
}

.container .middle-03 {
    background: #FFF8F4;
    max-width: 1920px;
    width: 100vw;
    margin: 0;
}

.container .middle-03 .contents .title {
    margin-top: clamp(60px, 7.92vw, 152px);
    color: #555;
    font-size: clamp(20px, 1.67vw, 32px);
    font-style: normal;
    font-weight: 600;
    line-height: 50px;
    white-space: break-spaces;
}

.container .middle-03 .roadmap-wrapper {
    position: relative;
    width: 100%;
    margin: clamp(39px,6.88vw,132px) auto clamp(61px,7.34vw,141px);
    padding: 20px 0;
}

.container .middle-03 .roadmap-timeline-axis {
    display: none;
}

.container .middle-03 .roadmap-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 65px;
    position: relative;
    z-index: 2;
}

/* 분기별 끊어진 세로 라인 */
.container .middle-03 .roadmap-row::after {
    content: '';
    position: absolute;
    top: 5px;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    background-color: #D89852;
    z-index: 1;
}

.container .middle-03 .roadmap-row:last-child {
    margin-bottom: 0;
}

.container .middle-03 .roadmap-content {
    width: 44%;
    position: relative;
}

.container .middle-03 .roadmap-row.left .roadmap-content {
    left: 4%;
}

.container .middle-03 .roadmap-row.right .roadmap-content {
    right: 4%;
}

.container .middle-03 .roadmap-empty-space {
    width: 44%;
}

.container .middle-03 .roadmap-row.left .roadmap-quarter {
    text-align: right;
    padding-right: 5px;
}

.container .middle-03 .roadmap-row.right .roadmap-quarter {
    text-align: left;
    padding-left: 5px;
}

.container .middle-03 .roadmap-quarter {
    font-size: clamp(20px, 1.88vw, 36px);
    font-weight: 400;
    color: #555;
    letter-spacing: clamp(2px, 0.19vw, 3.6px);
}

.container .middle-03 .roadmap-card {
    position: relative;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.04));
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.container .middle-03 .roadmap-card:hover {
    /* transform: translateY(-4px);
    filter: drop-shadow(0px 8px 20px rgba(0, 0, 0, 0.08)); */
}

.container .middle-03 .roadmap-card picture img {
    width: 100%;
    height: auto;
    display: block;
}

.container .middle-03 .roadmap-card .card-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 25px;
    text-align: center;
}

.container .middle-03 .roadmap-card .card-title {
    font-size: clamp(20px, 1.67vw, 32px);
    font-weight: 400;
    color: #555;
    margin-bottom: 10px;
}

.container .middle-03 .roadmap-card .card-desc {
    font-size: clamp(16px, 1.25vw, 24px);
    font-weight: 400;
    color: #8D8D8D;
}

.container .middle-04 {
    background: #D9D9D9;
    max-width: 1920px;
    width: 100vw;
    margin: 0;
}

.container .middle-04 .contents .title {
    margin-top: clamp(43px, 3.23vw, 62px);
    color: #555;
    font-size: clamp(20px, 1.67vw, 32px);
    font-style: normal;
    font-weight: 400;
    line-height: clamp(24px, 2.6vw, 50px);
    white-space: break-spaces;
}

.container .middle-04 .contents .text {
    margin-top: clamp(19px, 4.06vw, 78px);
    margin-bottom: clamp(58px, 6.82vw, 131px);
    padding: 0 5%;
    color: #555;
    font-size: clamp(14px, 1.04vw, 20px);
    font-style: normal;
    font-weight: 500;
    line-height: clamp(26px, 2.08vw, 40px);
    white-space: break-spaces;
}

/* Mobile Responsive */
@media (max-width: 768px) {}

footer {
    /* height: 343px; */
    background: #3F3E3E;
}

footer .row {
    align-items: center;
    height: 100%;
    margin: unset;
}

footer .copyright {
    color: #FFF;
    text-align: center;
    font-size: clamp(14px, 1.25vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: 34px;
    /* 141.667% */
    margin-top: clamp(46px, 4.32vw, 83px);
    margin-bottom: clamp(46px, 4.32vw, 83px);
    margin-left: unset;
    margin-right: unset;

}

@media (max-width: 1250px) {

    .container .col-9,
    .container .col-8 {
        width: 95%;
    }
}

@media (max-width: 800px) {}

@media (max-width: 750px) {

    header {
        height: 680px;
        background-image: url(../img/bg_header_01_m.png);
        background-size: cover;
        background-repeat: no-repeat;
        display: flex;
        flex-direction: column;
    }


    header .p_menu {
        display: none;
    }

    header .menu {
        width: 90%;
        height: auto;
        padding-top: 19px;
    }

    .m_menu {
        display: block !important;
    }

    .m_menu button {
        border: transparent;
        background-color: transparent;
    }

    .m_menu .list {
        position: absolute;
        width: 90%;
        top: 0px;
        right: 0px;
        z-index: 999;
        flex-direction: column;
        height: 50%;
        background-color: #FFF8F4;
        line-height: normal;
        max-height: 230px;
        max-width: 500px;
    }

    .m_menu .list a {
        text-decoration: none;
        color: inherit;
    }

    .m_menu .list .top {
        text-align: right;
        padding: 15px;

    }

    .m_menu .list button {
        background-color: transparent;
        border: unset;
    }

    .m_menu .list h4 {
        font-family: Poppins;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

    .m_menu .list button {
        /* padding-left: 10%; */
    }

    .m_menu .list p {
        /* padding-left: 10%;
        font-family: Poppins Noto Sans KR;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: normal; */
        display: flex;
        gap: 6px;
    }

    .m_menu .list .active {
        color: #1DA132;
    }

    .m_menu .list .active:before {
        background: url(../img/Ellipse.png) no-repeat;
        content: "";
        display: inline-block;
        width: 8px;
        height: 25px;
        padding: 5px 10px;
        background-position-y: center;
    }

    .m_menu .list p:not(.active) {
        padding-left: calc(5% + 18px);
    }

    .m_menu .list .menuList {
        margin-bottom: 25px !important;
    }

    .m_menu .list .m-language button {
        width: 60%;
        text-align: left;
    }

    header .box {
        flex: 2;
        display: flex;
        flex-direction: column;
        margin: auto;
        align-items: center;
        width: 80%;
    }

    header .box:lang(en) {
        margin-top: 60px;
    }

    header .box .textArea #header_01:lang(ko) {
        white-space: unset;
    }

    header .btnArea {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: end;
        margin: 0 auto;
        padding-bottom: 3rem;
    }

    header .btnArea div {
        margin: 0 auto;
    }

    .container .col-9,
    .container .col-8 {
        width: 95%;
    }

    .container .middle-01 .contents .subTitle#middle_01_sub01_text01 {
        margin-top: 1rem;
    }

    .container .middle-01 .contents .vision {
        background: url(../img/bg_middle-02_m.png) no-repeat;
        background-size: cover;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 147px;
    }

    .container .middle-01 .contents .vision #middle_01_sub02_title {
        margin-top: unset;
    }

    .container .middle-01 .contents .vision #middle_01_sub02_text {
        margin-top: unset;
        margin-bottom: unset;
    }

    .container .middle-01 .contents .box .imgBox {
        order: 3;
        display: flex;
        flex-direction: column;
    }

    .container .middle-01 .contents .box .imgBox img {
        width: fit-content;
        max-width: fit-content;
    }

    .container .middle-02 .contents .box ul {
        padding-left: 2rem;
        gap: 2rem;
    }

    .container .middle-02 .contents .box li {
        word-wrap: break-word;
    }

    .container .middle-02 .contents .tokenRate {
        text-align: center;
    }

    .container .middle-02 .contents .graph {
        flex-direction: column;
    }

    /* Roadmap Section Mobile Styles (max-width: 750px) */
    .container .middle-03 .roadmap-wrapper {
        margin: 30px auto;
        padding: 10px 0;
    }

    .container .middle-03 .roadmap-row {
        flex-direction: column;
        margin-bottom: 45px;
        position: relative;
        z-index: 2;
    }

    .container .middle-03 .roadmap-row:last-child {
        margin-bottom: 0;
    }

    .container .middle-03 .roadmap-row::after {
        left: 50%;
        top: 50px;
        bottom: -100px;
        width: 2px;
        z-index: 0;
    }

    .container .middle-03 .roadmap-row:last-child::after {
        display: none;
    }

    .container .middle-03 .roadmap-empty-space {
        display: none;
    }

    .container .middle-03 .roadmap-content {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        left: 0 !important;
        right: 0 !important;
        position: relative;
        z-index: 2;
    }

    .container .middle-03 .roadmap-row.left .roadmap-quarter,
    .container .middle-03 .roadmap-row.right .roadmap-quarter {
        text-align: left;
        padding-left: 0;
    }

    .container .middle-03 .roadmap-quarter {
        font-size: 18px;
        font-weight: 500;
        color: #555555;
        letter-spacing: 1px;
        margin-bottom: 2px;
    }

    .container .middle-03 .roadmap-card {
        position: relative;
        width: 100%;
        border-radius: 16px;
        overflow: hidden;
        filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 0.04));
        z-index: 2;
    }

    .container .middle-03 .roadmap-card picture {
        display: block;
    }

    .container .middle-03 .roadmap-card picture img {
        width: 100%;
        height: auto;
        display: block;
    }

    .container .middle-03 .roadmap-card .card-inner {
        padding: 15px 20px;
    }

    /* footer {
        height: 157px;
    } */
}