/* =================================
   Ganeral
================================= */
@import url('https://fonts.googleapis.com/css2?family=Kanit: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');

:root{
    --fff: #fff;
    --f8f8f8: #f8f8f8;
    --178141: #178141;
    --1E1E1E: #1E1E1E;
    --d9d9d9: #d9d9d9;
    --2b3b31: #2b3b31;
}
h1,h2,h3,h4,h5,h6,p,a,span{
    font-family: 'Kanit';
    color: var(--1E1E1E);
    transition: all .3s ease;
    text-decoration: none;
    position: relative;
}
p,ul{
    margin: 0;
}
a:hover{
    color: var(--178141);
    transition: all .3s ease;
}
.container{
    max-width: 1200px;
    margin: 0 auto;
}
.max-width-1200{
    max-width: 1200px !important;
}
button:focus,button:focus-visible,button:focus-within,button:active,
a:focus,a:focus-visible,a:focus-within,a:active{
    outline: 0;
    border: 0;
}
.flex-shrink-0{
    flex-shrink: 0 !important;
}

/* =================================
   Header
================================= */
header{
    position: fixed;
    top: 0;
    z-index: 999;
    background-color: var(--f8f8f8);
    padding: 10px 50px;
    left: 0;
    right: 0;
    margin: 15px 80px;
    border-radius: 999px;
    box-shadow: 5px 5px 20px rgba(0,0,0,.3);
    .container{
        display: flex;
        justify-content: space-between;
        align-items: center;
        .logo{
            img{
                width: 50px;
            }
        }
        .menu{
            ul{
                list-style: none;
                padding: 0;
                margin: 0;
                display: flex;
                gap: 15px;
                li.current-menu-item{
                    a{
                        color: var(--178141);
                    }
                }
                li{
                    a::after{
                        content: '';
                        display: block;
                        transform: scaleX(0);
                        transform-origin: bottom left;
                        transition: all .3s ease;
                        height: 2px;
                        width: 100%;
                        background-color: var(--178141);
                    }
                    a:hover::after{
                        transform: scaleX(1);
                        transition: all .3s ease;
                    }
                }
            }
        }
        .lang{
            ul{
                list-style: none;
                display: flex;
                gap: 3px;
                padding: 5px;
                margin: 0;
                background-color: var(--d9d9d9);
                border-radius: 999px;
            }
            li{
                a{
                    width: 50px;
                    display: block;
                    text-align: center;
                    border-radius: 999px;
                    padding: 5px;
                    transition: all .3s ease;
                }
                a:hover{
                    background-color: var(--178141);
                    color: var(--fff);
                    transition: all .3s ease;
                }
            }
            li.current-lang{
                a{
                    background-color: var(--178141);
                    color: var(--fff);
                }
            }
        }
    }
}
.logged-in{
    header{
        top: 32px;
    }
}
.elementor-editor-active{
    header{
        top: 0;
    }
}
.menu-mobile,.wrapper-menu-mobile{
    display: none;
}
@media only screen and (max-width: 1024px){
    header{
        margin-left: 20px;
        margin-right: 20px;
        z-index: 999;
        .container{
            .logo{
                img{
                    width: 50px;
                }
            }
            .menu-mobile{
                display: flex;
                gap: 5px;
                flex-direction: column;
                background-color: transparent !important;
                border: 0;
                span{
                    display: block;
                    width: 25px;
                    height: 2px;
                    background-color: var(--1E1E1E);
                    border-radius: 999px;
                    transform-origin: center;
                    transition: all .3s ease;
                }
                span:nth-of-type(2){
                    opacity: 1;
                    transition: all .3s ease;
                }
            }
            .menu-mobile.active{
                span:first-of-type{
                    transform: translateY(7px) rotate(45deg);
                    transition: all .3s ease;
                }
                span:nth-of-type(2){
                    opacity: 0;
                    transition: all .3s ease;
                }
                span:last-of-type{
                    transform: translateY(-7px) rotate(-45deg);
                    transition: all .3s ease;
                }
            }
            .lang,.menu{
                display: none;
            }
            .wrapper-menu-mobile{
                position: fixed;
                background-color: var(--f8f8f8);
                width: auto;
                left: 20px;
                right: 20px;
                border-radius: 20px;
                box-shadow: 5px 5px 20px rgba(0,0,0,.3);
                padding: 30px 50px;
                flex-direction: column;
                justify-content: center;
                /* align-items: center; */
                display: flex;
                opacity: 0;
                visibility: hidden;
                top: 200px;
                transition: all .3s ease;
                ul{
                    list-style: none;
                    margin: 0;
                    padding: 0;
                }
                nav{
                    ul{
                        gap: 5px;
                        display: flex;
                        flex-direction: column;
                    }
                }
                .polylang_langswitcher{
                    display: flex;
                    background-color: var(--d9d9d9);
                    border-radius: 999px;
                    width: fit-content;
                    padding: 5px;
                    margin-top: 30px;
                    li{
                        a{
                            width: 50px;
                            padding: 5px;
                            border-radius: 999px;
                            display: block;
                            text-align: center;
                            transition: all .3s ease;
                        }
                    }
                    li:hover{
                        a{
                            background-color: var(--178141);
                            color: var(--fff);
                            transition: all .3s ease;
                        }
                    }
                    .current-lang{
                        a{
                            background-color: var(--178141);
                            color: var(--fff);
                        }
                    }
                }
            }
            .wrapper-menu-mobile.active{
                opacity: 1;
                visibility: visible;
                top: 120px;
                transition: all .3s ease;
            }
        }
    }
    .logged-in{
        header{
            .wrapper-menu-mobile.active{
                top: 150px;
            }
        }
    }
    html.hidden{
        overflow: hidden;
    }
    body{
        transition: all .3s ease;
    }
    body.menu-active::after{
        content: '';
        display: block;
        position: fixed;
        width: 100vw;
        height: 100vh;
        height: calc(100vh + 200px);
        top: -100px;
        left: 0;
        right: 0;
        bottom: -100px;
        background-color: rgba(20,20,20,.7);
        transition: all .3s ease;
    }
}

/* =================================
   Footer
================================= */
footer{
    background-color: var(--2b3b31);
    padding: 80px 50px;
    .container{
        display: flex;
        justify-content: space-between;
        gap: 80px;
        .left{
            img{
                width: 80px;
                height: auto;
            }
            p{
                color: var(--fff);
                font-size: 16px;
                margin-top: 30px;
                font-weight: 300;
            }
            .contact{
                ul{
                    list-style: none;
                    padding: 0;
                    display: flex;
                    gap: 15px;
                    margin: 30px 0 0;
                    li{
                        a{
                            border-radius: 999px;
                            padding: 5px 20px;
                            font-size: 14px;
                            font-weight: 300;
                            border: 1px solid var(--fff);
                            color: var(--fff);
                            transition: all .3s ease;
                        }
                        a:hover{
                            background-color: var(--fff);
                            color: var(--2b3b31);
                            transition: all .3s ease;
                        }
                    }
                }
            }
        }
        .right{
            nav{
                ul{
                    list-style: none;
                    padding: 0;
                    display: flex;
                    flex-direction: column;
                    gap: 15px;
                    margin: 0;
                    li{
                        a{
                            color: var(--fff);
                            font-size: 16px;
                            font-weight: 300;
                        }
                        a::after{
                            content: '';
                            display: block;
                            background-color: var(--fff);
                            width: 100%;
                            height: 2px;
                            transform: scaleX(0);
                            transform-origin: bottom left;
                            margin-top: 2px;
                            transition: all .3s ease;
                        }
                        a:hover::after{
                            transform: scaleX(1);
                            transition: all .3s ease;
                        }
                    }
                }
            }
            .copy-right{
                margin-top: 70px;
                span{
                    color: var(--fff);
                    font-size: 14px;
                    font-weight: 300;
                }
            }
        }
    }
}
@media only screen and (max-width: 880px){
    footer{
        .container{
            flex-direction: column;
        }
    }
}

/* =================================
   Elementor Button
================================= */
.button{
    a{
        display: inline-flex;
        align-items: center;
        gap: 10px;
        span:last-of-type{
            width: 15px;
            display: flex;
            svg{
                transform: rotate(-45deg);
                transition: all .3s ease;
                width: 100%;
            }
        }
    }
    a:hover{
        span:last-of-type{
            svg{
                transform: rotate(0deg);
                transition: all .3s ease;
            }
        }
    }
}

/* =================================
   Elementor Image List
================================= */
.image-list{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    .list{
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        h3{
            position: absolute;
            width: 100%;
            text-align: center;
            margin: 0;
            z-index: 10;
            opacity: 0;
            transition: all .3s ease;
        }
    }
    .list:hover{
        h3{
            opacity: 1;
            transition: all .3s ease;
        }
    }
    .list::after{
        content: '';
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: all .3s ease;
    }
    .list:hover::after{
        opacity: 1;
        transition: all .3s ease;
    }
}
@media only screen and (max-width: 1200px){
    .image-list{
        grid-template-columns: repeat(2,1fr);
    }
}
@media only screen and (max-width: 767px){
    .image-list{
        grid-template-columns: repeat(1,1fr);
    }
}

/* =================================
   Elementor Tab
================================= */
.tab-siampaper{
    button{
        cursor: pointer;
    }
    button:hover,button[aria-selected=true]{
        span{
            color: var(--fff);
        }
    }
}

/* =================================
   Table
================================= */
.scroll{
    overflow-x: scroll !important;
    .table-siampaper{
        border-collapse: collapse;
        tr{
            th,td{
                border: 1px solid var(--1E1E1E);
                text-align: center;
                padding: 10px 15px;
            }
            th{
                white-space: pre;
            }
            td:first-of-type{
                white-space: pre;
            }
            td:last-of-type{
                text-align: left;
            }
        }
    }
}
@media only screen and (max-width: 1200px){
    .scroll{
        .table-siampaper{
            tr{
                td:last-of-type{
                    p{
                        width: 300px;
                    }
                }
            }
        }
    }
}