@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

html {
    scroll-behavior: smooth;
}

body {
    /* Main Page (fixed) */
    position: relative;
    color: #EFBED9;
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 44px;
    letter-spacing: -0.015em;

    overflow: hidden;
}

.bg-1 {
    /* main banner */
    display: flex;
    justify-content: center;
    align-items: center;

    height: 85vh;
    background-color: rgb(66, 66, 66);
    text-align: center;
    font-size: 5em;
}

.bg-1 img {
    border-radius: 1000px;
    height: 54%;

    animation: rotate_image 60s linear infinite;
    transform-origin: 50% 50%;
}

@keyframes rotate_image {
    100% {
        transform: rotate(360deg);
    }
}

.bg-2 {
    /* Visualization */
    background-color: #666666;
    position: relative;

    box-shadow: 0px 0px 57px 43px rgba(0, 0, 0, 0.25);
}

.bg-2 h1 {
    margin-top: 7vw;
    margin-bottom: 3vw;
}

.vis-container p {
    margin-top: 0.5vw;
    color: white;

    font-size: 1.6vw;
    font-weight: 600;
    text-align: center;
}

.bg-3 {
    color: black;
    background-color: #e7e5e5;

    padding-top: 6vw;
    padding-bottom: 6vw;
}

.vis {
    margin: 0 5vw 4vw;
}

.vis-warp {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.more-btn-posi {
    margin-top: 6vw;
    text-align: center;
}

.vis-warp img {
    max-width: 24vw;
}

.vis-btn {
    line-height: initial;

    background-color: #666666;
    border: 0.3vw solid white;
    border-radius: 138px;
    font-weight: bold;
    font-size: 2vw;
    padding: 0.4vw 2.3vw;
}

.text-init {
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 3vw;
    letter-spacing: -0.015em;
}

.text-init3 {
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 2.4vw;
    letter-spacing: -0.015em;
}

.text-init4 {
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 2vw;
    letter-spacing: -0.015em;
    line-height: 1.3;
}

.vis-btn a {
    color: #EFBED9;
    text-decoration: none;
}

.vis-btn a:hover {
    color: #ffffff;
    text-decoration: none;
}

.vis-btn a:active {
    text-decoration: none;
}

.about-btn {
    line-height: initial;
    background-color: #F4F4F4;
    border: 0.3vw solid rgb(241, 169, 169);
    border-radius: 138px;
    font-weight: bold;
    font-size: 2vw;    
    padding: 0.4vw 2.3vw;
}

.about-btn a {
    color: black;
    text-decoration: none;
}

.about-btn a:hover {
    color: rgb(241, 169, 169);
    text-decoration: none;
}

.about-btn a:active {
    text-decoration: none;
}

footer {
    /* height: 200px;
    background-color: #666666; */
}

.text-loc :nth-child(1) {
    margin: 0;
    margin-bottom: 9vw;
}

.text-loc :nth-child(2) {
    margin: 0;
    margin-bottom: 1.7vw;
}

.text-loc :last-child {
    margin: 0;
    margin-bottom: 4vmax;
}