/* =========================================================
   MOBILE RESPONSIVE CSS
   ใส่ต่อท้าย CSS เดิม โดยไม่ต้องแก้ CSS เดิม
   ========================================================= */

@media screen and (max-width: 767px) {

    /* -------------------------
       GLOBAL
       ------------------------- */

    html,
    body {
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        margin: 0 !important;
        padding: 0 !important;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    .clear {
        clear: both;
        height: 0;
    }


    /* -------------------------
       MAIN CONTAINER
       ------------------------- */

    .mainsite,
    .step_mainsite {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }


    /* -------------------------
       TOP BAR
       ------------------------- */

    .step_top {
        padding: 10px 0 !important;
    }

    .step_top .step_mainsite {
        display: block;
    }

    .step_map {
        float: none !important;
        width: 100% !important;
        margin-bottom: 8px;
        text-align: center;
    }

    .step_map img {
        float: none !important;
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
    }

    .step_map span {
        display: inline;
        font-size: 14px !important;
        line-height: 20px;
    }


    /* -------------------------
       PHONE + EMAIL
       ------------------------- */

    .step_telmail {
        float: none !important;
        width: 100% !important;
        text-align: center;
    }

    .step_tel {
        float: none !important;
        display: inline-block;
        vertical-align: middle;
        width: auto !important;
        margin-right: 10px !important;
    }

    .step_tel img {
        float: none !important;
        display: inline-block;
        vertical-align: middle;
        margin-right: 4px;
    }

    .step_tel span {
        display: inline;
    }

    .step_tel span a {
        display: inline;
        font-size: 14px !important;
        line-height: 20px;
    }

    .step_mail {
        float: none !important;
        display: inline-block;
        vertical-align: middle;
        width: auto !important;
    }

    .step_mail img {
        float: none !important;
        display: inline-block;
        vertical-align: middle;
        margin-right: 4px;
        margin-top: 0 !important;
    }

    .step_mail span {
        display: inline;
    }

    .step_mail span a {
        display: inline;
        font-size: 14px !important;
        line-height: 20px;
        word-break: break-word;
    }


    /* -------------------------
       LOGO + MENU
       ------------------------- */

    .step_toplogomenu {
        position: relative !important;
        width: 100% !important;
        margin-top: 0 !important;
        z-index: 1999;
        background: #272727;
    }

    .step_logo {
        float: none !important;
        width: 100%;
        margin: 0 !important;
        padding: 15px 0;
        text-align: center;
    }

    .step_logo a {
        display: inline-block;
    }

    .step_logo a img {
        max-width: 75%;
        height: auto;
    }


    /* -------------------------
       MOBILE MENU
       ------------------------- */

    .step_menu {
        width: 100%;
        clear: both;
    }

    .step_menu ul {
        width: 100%;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none;
    }

    .step_menu ul li {
        width: 100%;
        float: none !important;
        display: block;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 1px solid rgba(255,255,255,0.12);
    }

    .step_menu ul li a {
        width: 100% !important;
        float: none !important;
        display: block !important;
        box-sizing: border-box;
        padding: 12px 15px !important;
        margin: 0 !important;
        font-size: 16px !important;
        line-height: 22px;
        text-align: center;
        color: #fff;
    }

    .step_menu ul li a:hover,
    .step_menu .nav-menu li a:hover,
    .step_menu .nav-menu li.current-post-ancestor a,
    .step_menu .nav-menu li.current-menu-parent a,
    .step_menu .nav-menu li.current-post-parent a,
    .step_menu .nav-menu li.current-menu-item a,
    .step_menu .nav-menu li.current_page_item a {
        color: #f7b732;
    }


    /* -------------------------
       BANNER
       ------------------------- */

    .step_bbb {
        margin-bottom: 25px !important;
        width: 100%;
    }

    .step_bbb img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }


    .step_toptop {
        width: 100%;
        line-height: 0;
    }


    /* -------------------------
       SERVICE
       ------------------------- */

    .step_service {
        padding-bottom: 30px !important;
    }

    .step_service1 {
        width: 100%;
    }

    .step_service1 b {
        font-size: 32px !important;
        line-height: 38px;
        margin-bottom: 10px;
    }

    .step_service1 span {
        margin-bottom: 30px !important;
    }

    .step_service1 ul {
        width: 100%;
    }

    .step_service1 ul li {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 25px !important;
        min-height: 0;
        overflow: hidden;
    }

    .step_service1 ul li.end {
        margin-right: 0 !important;
    }

    .step_service1 ul li a.img {
        width: 95px !important;
        height: 95px !important;
        margin-right: 12px;
    }

    .step_service1 ul li a.link {
        font-size: 20px !important;
        line-height: 22px !important;
        height: auto !important;
        max-height: 44px;
        margin-bottom: 5px;
    }

    .step_service1 ul li a.link1 {
        font-size: 16px !important;
        line-height: 19px !important;
        height: auto !important;
        max-height: 57px;
        margin-bottom: 8px;
    }

    .step_service1 ul li a.link2 {
        font-size: 15px !important;
        width: 75px !important;
        padding: 3px 0 !important;
    }

    .step_service0 {
        float: none !important;
        width: 100% !important;
    }


    /* -------------------------
       ABOUT
       ------------------------- */

    .step_about {
        padding: 40px 0 !important;
        margin-bottom: 35px !important;
    }

    .step_about .step_mainsite {
        display: block;
    }

    .step_about1 {
        float: none !important;
        width: 100% !important;
        margin-bottom: 30px;
    }

    .step_about1 h1 {
        width: 65px !important;
        margin-top: 0;
        margin-bottom: 8px;
    }

    .step_about1 b {
        font-size: 34px !important;
        line-height: 40px;
    }

    .step_about1 span {
        font-size: 17px !important;
        line-height: 25px !important;
        margin-bottom: 20px !important;
    }

    .step_about1 a {
        width: 150px !important;
        padding: 8px 10px !important;
        font-size: 18px !important;
    }

    .step_about2 {
        float: none !important;
        width: 100% !important;
    }

    .step_about2 img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }


    /* -------------------------
       PROJECTS
       ------------------------- */

    .step_projects {
        padding-bottom: 30px !important;
    }

    .step_projects1 {
        width: 100%;
    }

    .step_projects1 b {
        font-size: 32px !important;
        line-height: 38px;
        margin-bottom: 10px;
    }

    .step_projects1 span {
        margin-bottom: 30px !important;
    }

    .step_projects1 ul {
        width: 100%;
    }

    .step_projects1 ul li {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 30px !important;
    }

    .step_projects1 ul li.end {
        margin-right: 0 !important;
    }

    .step_projects1 ul li a.img {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin-bottom: 8px;
    }

    .step_projects1 ul li a.img img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    .step_projects1 ul li a.link {
        font-size: 22px !important;
        line-height: 28px !important;
        height: auto !important;
        text-align: center;
    }


    /* -------------------------
       FOOTER
       ------------------------- */

    .step_footer {
        padding: 35px 0 !important;
    }

    .step_address,
    .step_contact,
    .step_information {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 30px;
    }

    .step_address b,
    .step_contact b,
    .step_information b {
        font-size: 25px !important;
        line-height: 30px;
        margin-bottom: 10px;
    }

    .step_address span,
    .step_contact span {
        font-size: 17px !important;
        line-height: 25px !important;
    }

    .step_information ul li a {
        font-size: 17px !important;
        line-height: 28px !important;
    }

    .step_information {
        margin-bottom: 0;
    }


    /* -------------------------
       COPYRIGHT
       ------------------------- */

    .step_copyright {
        width: 100%;
    }

    .step_copyright span {
        font-size: 13px !important;
        line-height: 20px;
        text-align: center;
        padding: 15px !important;
    }


    /* -------------------------
       WORDPRESS CONTENT
       ------------------------- */

    .entry-content {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
    }

    .entry-content img {
        max-width: 100%;
        height: auto;
    }

    .entry-content table {
        max-width: 100%;
    }

    .entry-content td,
    .comment-content td {
        vertical-align: top;
    }

}


/* =========================================================
   SMALL MOBILE
   480px ลงมา
   ========================================================= */

@media screen and (max-width: 480px) {

    .step_mainsite {
        padding-left: 12px;
        padding-right: 12px;
    }

    .step_map span {
        font-size: 13px !important;
    }

    .step_tel span a,
    .step_mail span a {
        font-size: 13px !important;
    }

    .step_logo {
        padding: 12px 0;
    }

    .step_logo a img {
        max-width: 80%;
    }

    .step_menu ul li a {
        font-size: 15px !important;
        padding: 10px 12px !important;
    }

    .step_service1 b,
    .step_projects1 b {
        font-size: 28px !important;
        line-height: 34px;
    }

    .step_service1 ul li a.img {
        width: 80px !important;
        height: 80px !important;
    }

    .step_service1 ul li a.link {
        font-size: 18px !important;
        line-height: 20px !important;
    }

    .step_service1 ul li a.link1 {
        font-size: 15px !important;
        line-height: 18px !important;
    }

    .step_about1 b {
        font-size: 30px !important;
        line-height: 35px;
    }

    .step_about1 span {
        font-size: 16px !important;
        line-height: 23px !important;
    }

    .step_projects1 ul li a.link {
        font-size: 20px !important;
        line-height: 25px !important;
    }

    .step_address b,
    .step_contact b,
    .step_information b {
        font-size: 23px !important;
    }

    .step_address span,
    .step_contact span,
    .step_information ul li a {
        font-size: 16px !important;
        line-height: 24px !important;
    }

}