:root{
    --circle-width:50px; 
}

/* header */
@media screen and (min-width: 1181px){
    .hide-on-pc {
        display: none;
    }

    .container {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .one-container .site-content {
        padding: 0 !important;
    }

    .mobile-show {
        display: none;
    }
    .font-14px {
        font-size: clamp(8px, 0.8vw, 14px);
    }

    .font-16px {
        font-size: 16px;
    }

    .font-18px {
        font-size: clamp(15px, 0.8vw, 18px);
    }

    .font-20px {
        font-size: clamp(17px, 1.1vw, 20px);
    }

    .font-24px {
        font-size: clamp(18px, 1.2vw, 24px) !important;
    }

    .font-28px {
        font-size: clamp(19px, 1.35vw, 28px);
    }

    .font-32px {
        font-size: clamp(24px, 1.6vw, 32px);
    }

    .font-33px {
        font-size: clamp(26px, 1.5vw, 33px);
    }

    .font-36px {
        font-size: clamp(28px, 1.65vw, 36px);
    }

    .font-40px {
        font-size: clamp(30px, 1.9vw, 40px);
        line-height: 0.8;
    }

    .font-44px {
        font-size: clamp(34px, 2.3vw, 46px);
        line-height: 0.8;
    }

    .font-48px {
        font-size: clamp(31px, 1.9vw, 48px);
    }

    .font-54px {
        font-size: 54px;
        line-height: 1;
    }

    .font-60px {
        font-size: clamp(48px, 1.2vw, 60px);
        line-height: 1.2;
    }

    .font-72px {
        font-size: clamp(56px, 3.8vw, 72px);
    }

    .font-84px {
        font-size: clamp(65px, 4vw, 84px);
    }

    .font-88px {
        font-size: clamp(68px, 4.5vw, 88px);
    }

    .font-90px {
        font-size: clamp(71px, 1.4vw, 90px);
        line-height: 1.2;
    }

    .font-96px {
        font-size: clamp(72px, 5vw, 96px);
    }

    .font-114px {
        font-size: clamp(82px, 6.5vw, 114px);
        line-height: 1;
    }

    .font-128px {
        font-size: clamp(95px, 8.5vw, 128px);
        line-height: 1;
    }

    .font-200px {
        font-size: 200px;
        line-height: 1;
    }

    .font-400px {
        font-size: clamp(200px, 1.4vw, 400px);
        line-height: 1.2;
    }
    /* !top-menu---------------------------------------------------------------------------------- */
    div#nav-header-menu {
        --gap-margin:2.5vw;

        background: #fff;
        border-bottom: 1px solid #E0E0E0;
    }

    /* ซ่อน sub-menu */
    .menu_main_position .sub-menu {
        display: none;
        position: absolute;
        top: 82%;
        left: 0;
        min-width: 250px;
        width: max-content;
        z-index: 1000;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        padding: 0rem;

        li {
            padding: 8px 1rem;
            background: #121213;
            display: flex;
            justify-content: center;
            transition: all 0.4s ease-in-out;

            a{
                color: #7B7B7B !important;
                font-weight: 300 !important;
                transition: all 0.4s ease-in-out;
            }

            &:hover{
                background: #2F2F2F;
                transition: all 0.4s ease-in-out;

                a{
                    color: #fff !important
                }
            }
        }
        
    }

    /* โครงสร้างเมนูหลักต้องมี relative */
    .menu_main_position li {
        position: relative;
    }

    /* แสดง sub-menu เมื่อ hover */
    .menu_main_position li:hover > .sub-menu {
        display: block;
    }

    /* ลิงก์เมนู */
    .menu_main_position a {
        display: block;
        text-decoration: none;
        transition: all 0.5s ease-in-out;
    }

    .menu_main_position a:hover {
        transform: scale(1.05);
        transition: all 0.5s ease-in-out;
    }

    /* สำหรับ sub-menu ซ้อนหลายชั้น */
    .menu_main_position .sub-menu .sub-menu {
        left: 100%;
        top: 0;
    }

    .menu_main_position .menu-item-has-children > a::after {
        content: url(./assets/icons/down.svg);
        width: 9px;
        top: 4px;
        left: 90%;
        height: 100%;
        font-size: clamp(12px, 0.8vw, 1rem);
        font-weight: 600;
        margin-left: 8px;
    }

    .nav_pc{
        display: flex;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 0;
        gap: 3rem;

        .logo img{
            width: 110px;
        }
    }
    .menu-flex{
        display: flex;
        gap: var(--gap-margin);
        align-items: center;
    }

    .menu-flex ul{
        display: flex;
        gap: var(--gap-margin);
        justify-content: space-around;
        padding: 0;
        list-style: none;
        margin: 0;

        li a{
            font-size: clamp(16px, 1vw, 18px);
            font-weight: 400;
            color: var(--color-green);
            text-transform: uppercase;
        }
        
    }

    li.current_page_item a{
        font-weight: 700 !important;
    }
    /* FOUR */

    .all_link{
        display: flex;
        justify-content: flex-end;
        margin: 1rem 0;
        a{
            gap: 10px;
            align-items: center;
        }
    }

    .all_link a:hover .line:nth-child(1),
    .all_link a:hover .line:nth-child(3){
    width: 21px;
    }

    .all_link a:hover .line:nth-child(1){
    -webkit-transform: translateX(8px) rotate(45deg);
    -ms-transform: translateX(8px) rotate(45deg);
    -o-transform: translateX(8px) rotate(45deg);
    transform: translateX(8px) rotate(45deg);
    }

    .all_link a:hover .line:nth-child(3){
    -webkit-transform: translateX(8px) rotate(-45deg);
    -ms-transform: translateX(8px) rotate(-45deg);
    -o-transform: translateX(8px) rotate(-45deg);
    transform: translateX(8px) rotate(-45deg);
    }

    

    /* !top-menu---------------------------------------------------------------------------------- */


    /* !home ----------------------------------------------------------------------------------*/
    
    /* *start main_banner*/

    section.main_banner{
        height: 1080px;
        position: relative;
    }
    .title_box_abs{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        display: flex;
        justify-content: center;
        align-items: center;

        .title_box{
            padding: 2rem;
            background: #1d3626cb;
            width: 55%;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 2rem;
        }
    }

    .swiper-main_banner{
        height: 1080px;

        .swiper-slide{
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
        }
    }

    .main_banner_pagination {
        z-index: 10 !important;
        bottom: 10% !important;
    }


    /* *end main_banner*/

    /* *start about_home*/

    section.about_home{
        padding: 4rem 0;
    }

    .about_home_grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 2rem;

        .about_grid_detail {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            height: 100%;
            gap: 1rem;
        }
    }

    /* *end about_home*/

    /* *start information*/

    section.information{
        padding: 6rem 0;
        background: url(./assets/banner/bg--information-home.png) no-repeat center / cover;

        h2{
            margin: 0 0 3rem 0;
        }
    }
    .information_grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 15rem;

        .information_text {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
    }
    .li_flex{
        display: flex;
        gap: 1rem;
        padding-bottom: 0.5rem;

        &.col{
            flex-direction: column;
        }

        p{
            text-transform: uppercase;
            padding-bottom: 0.5rem;
        }
    }

    .border_bt{
        border-bottom: 1px solid white;
    }


    /* *end information*/

    /* *start facilities*/
    section.facilities{
        display: grid;
        grid-template-columns: repeat(2,1fr);

        img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .facilities_text{
        background: var(--color-green);
        padding: 3rem 20% 2rem 10%;
        display: flex;
        flex-direction: column;
        gap: 1rem;

        center{
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
    }


    /* *end facilities*/

    /* *start location*/

    section.location{
        display: grid;
        grid-template-columns: repeat(2,1fr);

        img{
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .location_text{
        padding: 2rem 20% 2rem 10%;
        display: flex;
        flex-direction: column;
        gap: 1rem;

        img{
            max-width: 66px;
        }

        center{
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1rem;
        }
    }
    .project_type{
        padding: 6rem 0 4rem;
        background: #E7E6E3;
    }
    .project_type_flex{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3rem;
    }


    /* *end location*/

    /* *start project*/

    section.project{
        padding: 5rem 0;
    }

    .project_grid{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 2rem;
        margin-bottom: 2rem;
    }
    .project_items{
        display: flex;
        flex-direction: column;
        height: 100%;
        align-items: stretch;

        img{
            aspect-ratio: 4 / 3;
            object-fit: cover;
        }
    }
    .project_items_detail{
        background: #F5F6F6;
        padding: 2rem;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 1rem;
        height: 100%;
        
        > .text_detail{
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        > div > center > p{
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 1; /* number of lines to show */
                    line-clamp: 1; 
            -webkit-box-orient: vertical;
        }

        > div > div {
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 3; /* number of lines to show */
                    line-clamp: 3; 
            -webkit-box-orient: vertical;
        }
    }

    .project_info{
        display: flex;
        justify-content: space-between;
        align-items: last baseline;
    }
    .underline{
        border-bottom: 1px solid var(--color-green);
    }

    .link_bt{
        text-align: center;
        padding: 0.5rem 1.2rem;
        border-radius: 10px;
        color: #ffffff;
        display: inline-flex;
        transition: all 0.5s ease-in-out;

        &:hover{
            color: #fff;
            transform: scale(1.05);
            transition: all 0.5s ease-in-out;
        }
    }

    .cream_bg{
        background: #B7A486;
    }

    /* *end project*/

    /* *start gallerys*/

    section.gallerys{
        padding: 5rem 0;
        background: url('./assets/banner/bg--gallery-home.png') no-repeat center  / cover;
    }

    .swiper-container {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        overflow: hidden;
        position: relative;
        
    }

    .swiper-slide {
        background-size: cover;
        background-position: center;
    }

    .gallery-top {
        height: 750px;
        width: 100%;
        margin-top: 3rem;
    }

    .gallery-thumbs {
        height: 170px;
        box-sizing: border-box;
        padding: 10px 0;
        margin-bottom: 2rem;
    }

    .gallery-thumbs .swiper-slide {
        height: 100%;
        opacity: 1;
    }

    .gallery-thumbs .swiper-slide-thumb-active {
        opacity: 1;
    }

    


    /* *end gallerys*/

    /* *start contact*/

    section.contact{
        padding: 5rem 0;
        display: flex;
        flex-direction: column;
        gap: 3rem;
    }
    .banner_contact{
        background: url(./assets/banner/banner-home.png) no-repeat center / cover;
        border-radius: 10px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        padding: 2rem 0;

        > div {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            text-align: center;
        }
    }

    .contact_sec{
        display: grid;
        grid-template-columns: repeat(3,1fr);
    }
    .sec_1{
        background: #F0F0F0;
        padding: 2rem 2rem 2rem 3rem;
    }
    .social_flex{
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .social_items{
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 1rem;
        
        p{
            padding: 10px 0;
        }
    }
    .sec_2{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .sec_3{
        padding: 2rem 3rem 2rem 2rem;
    }


    /* *end contact*/

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* !END-home ----------------------------------------------------------------------------------*/

    /* !footer ----------------------------------------------------------------------------------*/
    section.footer_main{
        --logo-footer-width:240px;
        --address-width:300px;
        --grid-gap: 1rem;
        padding: 6rem 0 1rem;
        background: #1D3626;
        margin-top: -10px;
        position: relative;
        z-index: 10;
        

        .logo_footer img {
                width: 210px;
            }
    }
    .footer_main_grid{
        display: grid;
        grid-template-columns:  repeat(3,1fr);
        gap: var(--grid-gap);
        

        div.contact_form_grid{
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
        }

        ul#menu-footer{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            margin: 0;
            padding-left: 0;
            list-style: none;

            li a{
                color: #F4EDD6;
                font-weight: 400;
            }

            ul.sub-menu{
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 1rem;
                margin: 0;
                padding-left: 0;
                list-style: none;
            }
        }
		.footer_main_items {
			display: flex;
			justify-content: center;
		}
        .footer_flex_ul{
            display: flex;
            gap: var(--grid-gap);
        }

        .footer_main_items > div > p {
            padding-bottom: 2rem;
        }
    }

    .copy_right{
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
        gap: var(--grid-gap);
        margin-top: 1.5rem;
        padding: 1.5rem 0 0;
        border-top: 1px solid #fff;
    }

    /* !END-footer ----------------------------------------------------------------------------------*/


    /* !all_project----------------------------------------------------------------------------------*/

    /* *start rooms*/

    section.rooms{
        padding: 5rem 0;
    }

    .rooms_grid{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 2rem 0;
    }
    .rooms_items{
        display: flex;
        flex-direction: column;
        gap: 1rem;
        align-items: center;

        p{
            text-align: center;
        }
    }


    
    /* *end rooms*/

    /* *start all_project*/

    section.all_project{
        padding: 5rem 0;
        background: #E7E6E3;


        .project_grid{
            grid-template-columns: 1fr;
            padding: 3rem 0 0;
        }

        .project_items{
            flex-direction: row;


            img{
                aspect-ratio: 16 / 9;
                object-fit: cover;
                max-width: 55%;
            }
        }
    }


    /* ?single */

    .rooms_content{
        padding: 5rem 0;

    }

    .icon_room{
        display: flex;
        gap: 4rem;
        justify-content: center;
        align-items: center;
        margin-top: 2rem;
    }

    .icon_room_items{
        display: flex;
        gap: 10px;
        align-items: center;
    }

    .room_gallerys{

        .gallery-thumbs {
            position: relative;
            height: 300px;
            padding: 0rem;
            margin-top: 10px;
        }
    }
    
    section.rooms_info{
        padding: 2rem 0;

        .w-70{
            width: 70%;
            margin:  0 auto;
        }
    }

    .rooms_info_grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        align-items: center;
        gap: 2rem;
        padding: 0rem 10% 0;
    }

    .single-p{
        padding: 2rem 0 !important;
        background: #E7E6E3;
    }

    

    /* *end all_project*/

    /* !all_project----------------------------------------------------------------------------------*/


    /* !facilitie ----------------------------------------------------------------------------------*/


    /* *start facilitie*/

    section.facilitie{
        padding: 5rem 0;
    }

    .facilitie_grid{
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 2rem;
        padding: 3rem 0;
        justify-content: center;
        align-items: center;

        &.g_3{
            grid-template-columns: repeat(3,1fr);
            max-width: 75%;
            margin: 0 auto;
        }
    }
    .facilitie_items{
        display: flex;
        flex-direction: column;
        gap: 1rem;
        align-items: center;

        p{
            text-align: center;
        }
    }
    
    .facilitie_text{
        padding: 4rem 0;
    }

    .facilitie_text_grid{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 3rem;
        padding: 3rem 0;
    }


    /* *end facilitie/

    /* *start */

    .single-valla-swiper{
        margin: 4rem 0;
    }

    .swiper-button-next, .swiper-button-prev{
        color: #fff !important;
    }
    .swiper-button-next,.swiper-button-prev{
        background-image: none !important;
        z-index: 101 !important;
    }

    .shadow-l {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 120px;
        z-index: 100;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    }

    .shadow-r {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 120px;
        z-index: 100;
        background: linear-gradient(270deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    }


    /* *end */

    /* !facilitie----------------------------------------------------------------------------------*/


    /* !gallery_page ----------------------------------------------------------------------------------*/


    /* *start gallery_page*/

    section.gallery_page{
        padding: 5rem 0;
    }
    
    /* Tabs */
    .tabs {
        display: flex;
        justify-content: center;
        gap: 30px;
        margin-bottom: 30px;
        margin-top: 3rem;
    }

    .tab {
        font-weight: 500;
        cursor: pointer;
        position: relative;
        padding-bottom: 10px;
        color: #333;
    }

    .tab.active {
        color: #1a381d;
    }

    .tab.active::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        background: #1a381d;
        bottom: 0;
        left: 0;
    }

    /* Gallery grid */
    .tab-content {
        display: none;
    }

    .tab-content.active {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 15px;
        margin-top: 5rem;
    }

    .tab-content img {
        width: 100%;    
        object-fit: cover;
    }


    .icons_zoom{
        position: relative;
        transition: all 0.5s ease-in-out;
        
        &:hover{
            filter: brightness(0.8);
            transition: all 0.5s ease-in-out;
        }

        &::after{
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            opacity: 0;
            z-index: 10;
            transition: opacity 0.5s ease-in-out;
        }

    }
    .icons_zoom:hover::after{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        background: url(./assets/icons/zoom.svg) no-repeat center / 10%;
        z-index: 10;
        opacity: 1;
        transition: opacity 0.5s ease-in-out;
    }

    .lightbox{
        display: inline-block;
        height: 100%;
    }


    /* *end gallery_page/



    /* *start */

    .single-valla-swiper{
        margin: 4rem 0;
    }

    .swiper-button-next, .swiper-button-prev{
        color: #fff !important;
    }
    .swiper-button-next,.swiper-button-prev{
        background-image: none !important;
        z-index: 101 !important;
    }

    .shadow-l {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 120px;
        z-index: 100;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    }

    .shadow-r {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 120px;
        z-index: 100;
        background: linear-gradient(270deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    }


    /* *end */

    /* !gallery_page----------------------------------------------------------------------------------*/


    /* !location ----------------------------------------------------------------------------------*/

    /* *start location_page*/

    section.location_page{
        padding: 5rem 0;

        .w-80-center{
            display: flex;
            flex-direction: column;
            gap: 2rem;
            align-items: center;
        }
    }
    .location_grid{
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 3rem 1rem;
    }
    


    /* *end location_page*/

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    /* *start */


    /* *end */

    
    /* !END-article ----------------------------------------------------------------------------------*/

    /* !contact ----------------------------------------------------------------------------------*/
    section.contact_page{
        padding: 5rem 0 0;
    }
    section.contact_title{
        padding: 8rem 0 3rem;
        position: relative;
    }
    .contact_title_flex{
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        z-index: 1;

        &::after{
            content: 'MR.KLEANE';
            font-size: clamp(105px, 7.29vw, 140px);
            font-family: "Press Start 2P";
            background: linear-gradient(90deg, #8E348F -123.18%, rgb(255 255 255 / 60%) 55.19%, #54266D 126.14%);
            -webkit-background-clip: text;
            background-clip: text; 
            -webkit-text-fill-color: transparent; 
            color: transparent;
            position: absolute;
            z-index: -1;
            top: -35%;
            right: 0;
            bottom: 0;
            left: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
        }
    }

    /* ?form */

        div.wpforms-container-full .wpforms-form textarea.wpforms-field-large {
            height: 100px !important;
        }
        label.wpforms-field-label {
            font-size: 1.1rem !important;
            font-weight: 400 !important;
            color: #393939 !important;
            display: flex !important;
            justify-content: space-between;
        }
        input#wpforms-553-field_0, 
        input#wpforms-553-field_3, 
        input#wpforms-553-field_1, 
        textarea#wpforms-553-field_2,
        input#wpforms-553-field_5 {
            background-color: #F0F0F070;
            border: 1px solid #777474;
            border-radius: 10px !important;
            
            &::placeholder{
                font-weight: 200 !important;
            }
        }
        button.form-bt {
            background: #B7A486 !important;
            color: #fff !important;
            padding: 1rem 110px !important;
            font-weight: 300;
            font-size: clamp(16px, 1.25vw, 20px);
            width: 100% !important; 
            display: flex !important;
            border-radius: 10px !important;
            justify-content: center;
        }
        .wpforms-submit-container {
            display: flex;
            align-items: center;
            justify-content: flex-start;
        }

    /* ?form */

    /* !END-contact ----------------------------------------------------------------------------------*/


    



}

@media screen and (min-width:1400px) {
    
}