@charset "utf-8";

/***** 모바일 *****/
@media screen and (max-width: 430px) {
    /*** chat ***/
    .chat a {
        position: fixed;
        top: 680px;
        right: 15px;
    }

    /*** header ***/
    header {
        width: 100%;
        height: 80px;
        padding: 0 15px;

        background-color: #555555;
    }
    header .logo {
        display: flex;
        align-items: center;
    }
    header .logo a:nth-child(1) img {
        width: 35px;
    }
    header .logo a:nth-child(2) {
        display: block;
    }
    header .logo a:nth-child(2) img {
        width: 120px;
        margin-left: 10px;
    }

    /* nav */
    /* main-menu */
    header nav .main-menu {
        display: none;
    }

    /* sub-menu */
    header nav .sub-menu {
        display: none;
    }

    /* side-menu */
    header .side-menu a:nth-child(1),
    header .side-menu a:nth-child(3),
    header .side-menu a:nth-child(4) {
        display: none;
    }
    header .side-menu a:nth-child(2) img {
        width: 25px;
    }

    /* 햄버거 메뉴!!!!!!!! */
    /* menu-bar */
    header .menu-bar {
        display: block;

        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        padding: 10px;
        margin-left: 10px;
        position: relative;
    }
    header .menu-bar a img {
        width: 25px;
    }

    /* mo-menu */
    /* 기본 상태: nav 숨김 */
    header .menu-bar nav {
        /* display: none; */
        visibility: hidden;
        position: fixed;
        top: 80px;
        left: 0;
        width: 430px;
        height: 100%;
        background-color: #555555;
        color: #ffffff;
        transform: translateX(-100%);
        transition: 0.5s ease-in-out;
    }

    header .menu-bar nav.menu-mo-clicked {
        visibility: visible;
        /* display: block; */
        transform: translateX(0);
    }

    header .menu-bar nav .menu-mo {
        padding: 20px 30px;
        margin: 0;
        display: flex;
        flex-direction: column;
        text-align: left;
        list-style: none;
        line-height: 3;
    }
    header .menu-bar nav .menu-mo > li {
        font-size: 20px;
        border-bottom: 1px #B3B2B3 solid;
    }
    header .menu-bar nav .menu-mo li a span {
        font-size: 18px;
        color: #ffffff;
    }
    header .menu-bar nav .menu-mo .sub-mo {
        padding-bottom: 5px;
        line-height: 2.5;
        position: relative;

        overflow: hidden;
        max-height: 0;
        transition: 0.5s ease-in-out;
    }

    /* 서브 메뉴가 활성화된 */
    header .menu-bar nav .menu-mo .sub-mo.open {
        max-height: 450px;
    }

    header .menu-bar nav .menu-mo .sub-mo a {
        color: #fff;
        padding: 10px;
        text-decoration: none;
    }

    /* side-mo */
    header .menu-bar nav .side-mo {
        padding: 20px 30px;
        margin: 0;
        display: flex;
        flex-direction: column;
        text-align: left;
        list-style: none;
        line-height: 2.5;
    }
    header .menu-bar nav .side-mo li a {
        color: #B3B2B3;
    }


    /*** main ***/
    .main {
        width: 100%;
        height: 800px;
        padding: 0 15px 0 15px;
    }
    .main .title {
        position: absolute;
        top: 400px;
        z-index: 9999;
    }
    .main .title h1{
        width: 300px;
        font-size: 80px;
    }
    .main .title h2 {
        margin-top: 25px;
        font-size: 18px;
    }

    /* button */
    .main .title .title-btn {
        margin-top: 15px;
    }
    .main .title .title-btn .btn1 {
        background-color: #ffffff;;
        color: #101010;
    }
    .main .title .title-btn .btn1 svg {
        fill: #101010;
    }
    .main .title .title-btn .btn2:hover {
        background-color: #006CD0;
        color: #ffffff;
    }
    .main .title p {
        width: 300px;
        margin-top: 50px;

        font-size: 12px;
        line-height: 1.3;
    }

    /*** gradient ***/
    .gradient {
        position: absolute;
        top: 600px;
    }

    /*** intro ***/
    .intro {
        padding: 150px 15px;
        height: 700px;
    }
    .intro h2 {
        width: 100%;
        font-size: 35px;
    } 
    .intro video {
        width: 100%;
        padding: 50px 0 0 0;
    }


    /*** recommendation ***/
    .recommen {
        width: 100%;
        height: 3100px;
        padding: 0 15px;

        display: flex;
        flex-direction: column;
    }
    .recommen .menu {
        display: none;
    }

    .recommen .wrapper .charging-section:nth-child(1) {
        margin: 0 auto;
        height: 800px;
    }
    .recommen .wrapper .charging-section:nth-child(2) {
        margin: 0;
        height: 750px;
    }
    .recommen .wrapper .charging-section:nth-child(3) {
        margin: 0;
        height: 700px;
    }
    .recommen .wrapper .charging-section:nth-child(4) {
        height: 0;
    }

    .recommen .wrapper #recommen1,
    .recommen .wrapper #recommen2,
    .recommen .wrapper #recommen3,
    .recommen .wrapper #recommen4 {
        flex-direction: column;
    }
    .recommen .wrapper #recommen1 .txt,
    .recommen .wrapper #recommen2 .txt,
    .recommen .wrapper #recommen3 .txt,
    .recommen .wrapper #recommen4 .txt {
        padding: 0;

        order: 2;
    }
    .recommen .wrapper #recommen1 .txt h2,
    .recommen .wrapper #recommen2 .txt h2,
    .recommen .wrapper #recommen3 .txt h2,
    .recommen .wrapper #recommen4 .txt h2 {
        width: 90%;
        padding-top: 40px;
        font-size: 25px;
    }
    .recommen .wrapper #recommen1 .txt p,
    .recommen .wrapper #recommen2 .txt p,
    .recommen .wrapper #recommen3 .txt p,
    .recommen .wrapper #recommen4 .txt p {
        width: 80%;
        padding-top: 15px;
        font-size: 14px;
        line-height: 1.5;
    }
    
    /* 3번째 버튼 */
    .recommen .wrapper #recommen3 .txt > a {
        width: 200px;
        margin-top: 30px;
        height: 50px;
        font-size: 14px;
    }
    .recommen .wrapper #recommen3 .txt a img {
        width: 35px;
        padding: 8px;
    }
    /* 나머지 버튼 */
    .recommen .wrapper #recommen1 .txt > a,
    .recommen .wrapper #recommen2 .txt > a,
    .recommen .wrapper #recommen4 .txt > a {
        width: 140px;
        height: 50px;
        margin-top: 30px;
        font-size: 14px;
    }
    .recommen .wrapper #recommen1 .txt > a img,
    .recommen .wrapper #recommen2 .txt > a img,
    .recommen .wrapper #recommen4 .txt > a img {
        width: 35px;
        padding: 8px;
    }
    
    /* 이미지 */
    .recommen .wrapper #recommen1 .images {
        padding: 0;
        overflow-y: hidden;

        position: relative;
    }
    .recommen .wrapper #recommen1 .images img,
    .recommen .wrapper #recommen2 .images img,
    .recommen .wrapper #recommen3 .images img,
    .recommen .wrapper #recommen4 .images img {
        width: 400px;
        height: 400px;
        margin: 0;
        transform: translateY(0);

        order: 1;
    }


    /*** models ***/
    .models {
        width: 100%;
        height: 1400px;
        margin: 0 auto;
    }

    /* title */
    .models h1 {
        padding-top: 80px;
        font-size: 50px;
    }

    /* options */
    .models .options {
        width: 100%;
        padding: 0 30px;

        top: 32%;
        left: 0;
        display: flex;
    }
    .models .options .list {
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: row;
    }

    /* list */
    .models .options .list a {
        display: flex;
        flex-direction: column;
        align-items: baseline;
        justify-content: center;

        margin: 0 10px;
        line-height: 1.5;
        text-align: center;
    }
    .models .options .list a span {
        display: none;
        margin-top: 5px;
    }
    .models .options .list a svg {
        width: 35px;
        height: auto;
        margin: auto;
    }
    .models .options .list.active {
        display: block;
    }
    .models .options .list.active a svg {
        animation: none;
    }

    /* content */
    .models .content {
        padding: 0 15px;
        margin: 0 auto;
    }
    .models .content img {
        width: 85%;
        padding-top: 30px;
    }
    .models .content p {
        display: none;
    }

    /* spec */
    .models .spec {
        width: 430px;
        padding: 0 30px;
        text-align: center;

        flex-direction: column;
        
        top: 550px;
    }
    .models .spec .inner {
        width: 100%;

    }
    .models .spec h2 {
        width: 100%;
        padding: 20px 0 10px 0;
    }
    .models .spec p {
        width: 100%;
        padding-bottom: 30px;
        line-height: 1.3;
    }

    /* links */
    .models .link a {
        font-size: 16px;

        position: absolute;
        bottom: 70px;
    }
    .models .link a img {
        width: 25px;
    }


    /*** service & acc ***/
    .service {
        padding: 80px 15px;
    }

    /* title */
    .service .title h2 {
        font-size: 35px;
    }
    .service .title a {
        display: none;
    }

    /* content-list */
    .service .content {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }
    .service .content::-webkit-scrollbar {
        display: none;
    }
    .service .content > div {
        margin-right: 20px;
    }
    .service .content .inner1, 
    .service .content .inner4 {
        min-width: 300px;
    }
    .service .content .inner2 {
        min-width: 360px;
    }
    .service .content .inner3 {
        min-width: 230px;
    }

    .service .content .inner1 p,
    .service .content .inner2 p,
    .service .content .inner3 p,
    .service .content .inner4 p {
        padding-top: 15px;
        font-size: 12px;
    }
    .service .content .inner1 h3,
    .service .content .inner2 h3,
    .service .content .inner3 h3,
    .service .content .inner4 h3 {
        width: 100%;
        padding-top: 20px;
        font-size: 16px;
    }
    .service .content .inner1 a,
    .service .content .inner2 a,
    .service .content .inner3 a,
    .service .content .inner4 a {
        width: 200px;
        height: 50px;
        font-size: 14px;
    }
    .service .content .inner1 a img,
    .service .content .inner2 a img,
    .service .content .inner3 a img,
    .service .content .inner4 a img {
        width: 35px;
        padding: 8px;
    }

    /* list 1 */
    .service .content .inner1 > img {
        width: 300px;
    }
    /* list 2 */
    .service .content .inner2 > img {
        width: 360px;
        height: 360px;
        object-position: 84%;
    }
    /* list 3 */
    .service .content .inner3 > img {
        width: 230px;
        height: 280px;
        object-position: 84%;
    }
    /* list 4 */
    .service .inner4 > img {
        width: 300px;
        padding-top: 0;
    }

    /*** outro ***/
    .outro .inner1,
    .outro .inner2 {
        height: 800px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #ffffff;
        transition: opacity 0.5s ease-in-out;
    }

    /* 1 번쩨 */
    .outro .inner1 {
        width: 100%;
        position: relative;
    }
    .outro .inner1 .txt {
        width: 100%;
        position: absolute;
        top: 50%;
    }
    .outro .inner1 .txt h1 {
        font-size: 40px;
        letter-spacing: 2px;
    }
    .outro .inner1 .txt p {
        margin: 0 auto;
        padding: 30px 15px;
        font-size: 16px;
        line-height: 1.5;
    }
    /* 2 번째 */
    .outro .inner2 h1 {
        width: 60%;
        font-size: 40px;
        line-height: 1.3;
        padding-bottom: 430px;
    }

    /*** last-txt ***/
    .last-txt {
        height: 1000px;
    }
    .last-txt > h1 {
        width: 100%;
        margin: 0 auto;
        padding: 0 15px 100px 15px;
        font-size: 50px;

        transition: 0.5s ease-in-out, 0.5s ease-in-out;
    }

    /*** footer ***/
    footer {
        padding: 80px 15px;
    }

    /* title */
    footer h1 {
        font-size: 40px;
    }
    footer > a {
        width: 260px;
        height: 50px;
        margin: 20px auto;
        font-size: 14px;
    }
    footer > a img {
        width: 35px;
        padding: 8px;
    }

    /* menu */
    footer .footer-menu {
        flex-direction: column;
        padding-top: 20px;
    }
    footer .footer-menu .main-menu {
        width: 100%;
        padding: 15px 0;
        background: none;
        border: none;
        text-align: left;
        color: #101010;
    }

    .footer-menu .sub-menu {
        max-height: 0;
        border-bottom: 1px solid #B3B2B3;

        overflow: hidden;
        transition: 0.5s ease-in-out;
    }
    .footer-menu .sub-menu a {
        line-height: 2.8;
    }
    
    .footer-menu .sub-menu.active {
        max-height: 500px;
    }

    /* copyright */
    footer .copyright {
        padding-top: 40px;
        font-size: 14px;
        line-height: 1.3;
    }
    footer .copyright .links {
        width: 95%;
        padding: 25px 0;
        line-height: 2;

        display: block;
    }

    /* bottom */
    footer .bottom {
        display: block;
        padding-bottom: 0;
    }
    footer .bottom .txt p{
        font-size: 12px;
        line-height: 1;
        padding-bottom: 5px;
    }
    footer .bottom .sns {
        margin-left: 0;
        gap: 20px;
        padding-top: 20px;
    }

    /* back-to-top */
    footer .bottom > a {
        font-size: 16px;

        position: absolute;
        bottom: 80px;
        right: 15px;
    }
    footer .bottom a img {
        width: 25px;
    }
}