@font-face {
    font-family: 'Cordia New';
    src: url('fonts/CORDIA.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

pre {
    color: #000;
}

.justify-items-center {
    justify-items: center;
}

body {
    font-family: "Noto Sans Thai", sans-serif;
    background-color: #f9f9f9;
    color: #FFF;
    font-weight: 400;
    margin: 0 !important;
    /* overflow-y: scroll !important; */
    overflow-x: hidden !important;
    padding-right: 0 !important;

    /* background-image: url("images/bg-sahn.png");
    background-attachment: fixed; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.font_cordia {
    font-family: "Cordia New", sans-serif;
}

a {
    outline: none !important;
}

.outline-none {
    outline: none !important;
}

.w-fit-content {
    width: fit-content !important;
}

.opacity-02 {
    opacity: 0.2;
}

.opacity-30 {
    opacity: 0.3;
}

.d-contents {
    display: contents !important;
}

@media (min-width: 576px) {
    .d-sm-contents {
        display: contents !important;
    }
}

@media (min-width: 768px) {
    .d-md-contents {
        display: contents !important;
    }

    .ca-bg {
        font-size: 80px;
        margin-top: -60px;
    }
}

@media (min-width: 1024px) {
    .d-lg-contents {
        display: contents !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-contents {
        display: contents !important;
    }
}

@media (min-width: 1400px) {
    .d-xxl-contents {
        display: contents !important;
    }
}

.z-index-1 {
    z-index: 1 !important;
}

.cursor-pointer,
.pointer {
    cursor: pointer !important;
}

.bg-center-auto {
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto;
}

.bg-bottom-auto {
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: auto;
}

.bg-center-cover {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.bg-center-contain {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.bg-top-contain {
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
}

.bg-center-auto-repeat {
    background-position: center !important;
    background-size: auto !important;
}

.bg-fixed {
    background-attachment: fixed;
}

.min-w-max-content {
    min-width: max-content;
}

.text-justify {
    text-align: justify;
}

.lh-24 {
    line-height: 24px;
}

.font-100 {
    font-weight: 100;
}

.font-200 {
    font-weight: 200 !important;
}

.font-300 {
    font-weight: 300 !important;
}

.font-400 {
    font-weight: 400 !important;
}

.font-500 {
    font-weight: 500 !important;
}

.font-600 {
    font-weight: 600 !important;
}

.font-700 {
    font-weight: 700 !important;
}

.font-800 {
    font-weight: 800;
}

.font-900 {
    font-weight: 900;
}

.font-12 {
    font-size: 12px;
}

.font-14 {
    font-size: 14px;
}

.font-16 {
    font-size: 16px;
}

.font-17 {
    font-size: 17px;
}

.font-18 {
    font-size: 18px;
}

.font-20 {
    font-size: 20px;
}

.font-22 {
    font-size: 22px;
}

.font-24 {
    font-size: 24px;
}

.font-26 {
    font-size: 26px;
}

.font-28 {
    font-size: 28px;
}

.font-30 {
    font-size: 30px;
}

.font-32 {
    font-size: 32px;
}

.font-34 {
    font-size: 34px;
}

.font-36 {
    font-size: 36px;
}

.font-38 {
    font-size: 38px;
}

.font-40 {
    font-size: 40px;
}

.font-50 {
    font-size: 50px;
}

.font-60 {
    font-size: 60px;
}

.font-70 {
    font-size: 70px;
}

.font-80 {
    font-size: 80px;
}

.font-90 {
    font-size: 90px;
}

.font-100 {
    font-size: 100px;
}

@media (max-width: 1600px) {
    .font-20 {
        font-size: 16px;
    }
}

@media (max-width: 1200px) {
    .font-18 {
        font-size: 16px;
    }

    .font-17 {
        font-size: 15px;
    }

    .font-16 {
        font-size: 14px;
    }

    /* .font-24 {
        font-size: 20px;
    } */

    .font-50 {
        font-size: 40px;
    }

    .font-60 {
        font-size: 50px;
    }

    .font-28 {
        font-size: 24px;
    }
}

@media (max-width: 576px) {

    /* .font-16 {
        font-size: 16px;
    } */
    .font-18 {
        font-size: 14px;
    }

    .font-20 {
        font-size: 16px;
    }

    /* .font-24 {
        font-size: 18px;
    } */

    .font-50 {
        font-size: 30px;
    }

    .font-60 {
        font-size: 40px;
    }

    /* .font-28 {
        font-size: 20px;
    } */
}

.color-fff {
    color: #fff !important;
}

.color-606060 {
    color: #606060;
}

.color-777777 {
    color: #777777 !important;
}

.color-00377a {
    color: #00377a;
}

.color-7c7c7c {
    color: #7c7c7c;
}

.color-4A5260 {
    color: #4A5260 !important;
}

.color-02243C {
    color: #02243C !important;
}

.color-FF0000 {
    color: #FF0000;
}

.color-000 {
    color: #000 !important;
}

.color-EC1C24 {
    color: #EC1C24 !important;
}

.color-e8ae7c {
    color: #e8ae7c;
}

.color-1c2e56 {
    color: #1c2e56;
}

.color-a8a8a8 {
    color: #a8a8a8;
}

.color-6d6d6d {
    color: #6d6d6d;
}

.color-4caf50 {
    color: #4caf50;
}

.color-FF7676 {
    color: #FF7676;
}

.color-603000 {
    color: #603000 !important;
}

.color-2b4e7f {
    color: #2b4e7f;
}

.color-ccc,
.color-cccccc,
.color-ccc a,
a.color-ccc {
    color: #ccc;
}

.bg-00377a {
    background-color: #00377a;
}

.bg-0B0204 {
    background-color: #0B0204;
}

.bg-EC1C24 {
    background-color: #EC1C24;
}

.bg-fff {
    background-color: #fff;
}

.bg-efefef {
    background-color: #efefef;
}

.bg-f9f9f9 {
    background-color: #f9f9f9;
}

.bg-000 {
    background-color: #000;
}

.bg-4caf50 {
    background-color: #4caf50;
}

.bg-1c2e56 {
    background-color: #1c2e56;
}

.bg-121212 {
    background-color: #121212;
}

.bg-f0fcff {
    background-color: #f0fcff;
}

.text-decoration,
.text-decoration-none,
.text-decoration a {
    text-decoration: none;
}

.text-underline {
    text-decoration: underline;
}

.text-a,
.text-a a {
    color: #FFF;
    text-decoration: none;
}

.margin_p p,
.margin-p p {
    margin-bottom: 0;
}

.container_custom_left {
    padding-left: 16px;
}

.container_custom_right {
    padding-right: 16px;
}

.container_custom {
    padding: 16px;
}

.container_swiper {
    padding-left: 16px;
    padding-right: 16px;
}


@media (min-width: 768px) {
    .container_custom {
        padding: 45px 60px;
    }

    .container_swiper {
        padding-left: 60px;
        padding-right: 60px;
    }

    .container_custom_left {
        padding-left: 60px;
    }

    .container_custom_right {
        padding-right: 60px;
    }
}


@media (min-width: 1200px) {
    .container_custom {
        padding: 45px 135px;
    }

    .container_swiper {
        padding-left: 135px;
        padding-right: 135px;
    }

    .container_custom_left {
        padding-left: 135px;
    }

    .container_custom_right {
        padding-right: 135px;
    }
}

@media (min-width: 1400px) {
    .container_custom {
        padding: 45px 195px;
    }

    .container_swiper {
        padding-left: 195px;
        padding-right: 195px;
    }

    .container_custom_left {
        padding-left: 195px;
    }

    .container_custom_right {
        padding-right: 195px;
    }
}

.border_bottom_a {
    position: relative;
    color: #003575 !important;
}

.border_bottom_a::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #003575;
}

.box_shadow_section {
    box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.5);
}

/* --------------------------- header ----------------------------- */
.container_header {
    align-items: center;
    background-color: #fff;
    padding-right: 30px;
}

.custom_menu_header ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    gap: 30px;
    font-size: 16px;
    font-weight: 600;
}


.custom_menu_header ul li a {
    color: #2b4e7f;
    text-decoration: none;
}

.custom_menu_header {
    position: relative;
}

.custom_menu_header::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #00377a;
}

.border_social {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #00377a;
    color: #fff !important;
    text-decoration: none;
}

@media (min-width: 1600px) {
    .custom_menu_header ul {
        gap: 60px;
        font-size: 20px;
    }

    .container_header {
        padding-right: 50px;
    }
}

/* --------------------------- header mobile----------------------------- */

.container_header_mobile {
    display: flex;
    padding-right: 30px;
    /* position: fixed; */
    position: relative;
    width: 100%;
    z-index: 1000;
    background-color: #fff;
}

.custom-header-mobile ul,
.custom_footer_menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* .custom-header-mobile ul li {
    padding-left: 80px;
} */

.custom-header-mobile ul li a {
    color: #00377a;
    text-decoration: none;
}

/* .menu-mobile {
    height: 20%;
    width: 100%;
    position: fixed;
    z-index: 98;
    top: 0;
    right: 0;
    background-color: #1c2e56;
    overflow-x: hidden;
    transition: 0.5s;
}

.menu-mobile.open {
    top: 0;
    right: 0;
    background-color: #1c2e56;
} */
.menu-mobile {
    position: absolute;
    height: auto;
    width: 100%;
    left: 0px;
    top: 100%;
    display: none;
    background-color: #fff;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    padding: 30px;
}

.hamburger_icon {
    z-index: 22222;
    align-content: center;
}

.hamburger_icon .line {
    width: 25px;
    height: 2px;
    background-color: #00377a;
    display: block;
    /* margin: 6px; */
    transition: all 0.3s ease-in-out;
    border-radius: 50px;
}

.hamburger_icon .line:nth-child(2) {
    margin: 6px 0px;
}

.hamburger_icon:hover {
    cursor: pointer;
}

.hamburger_icon.nav-opan .line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.hamburger_icon.nav-opan .line:nth-child(2) {
    opacity: 0;
}

.hamburger_icon.nav-opan .line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ------------------------------- Footer --------------------------------------------- */
.border_social_footer {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #00377a !important;
    text-decoration: none;
}

.custom_footer_menu ul li a {
    color: #fff;
    text-decoration: none;
}

.border_all_right {
    border-top: #fff 1px solid;
}

@media (min-width: 768px) {
    .border_col::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 1px;
        height: 100%;
        background-color: #fff;
    }
}


@media (min-width: 1024px) {
    .border_col::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 1px;
        height: 100%;
        background-color: #fff;
    }
}

/* .border_right:last-child:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 0px;
    height: 100%;
    background-color: #fff;
} */

/* ----------------------- Font ------------------------------ */
:root {
    --font_title_banner: 48px;
    --font_title: 45px;
    --font_detail: 16px;
    --font_detail_news: 14px;
    --font_title_32: 24px;
}

@media (min-width: 1200px) {
    :root {
        --font_title_banner: 72px;
        --font_title: 60px;
        --font_detail: 20px;
        --font_detail_news: 16px;
        --font_title_32: 32px;
    }
}

.font_title_banner {
    font-size: var(--font_title_banner);
    font-weight: 700;
    color: #fff;
    line-height: 100%;
}

.font_title {
    font-size: var(--font_title);
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
    line-height: 100%;
}

.font_title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60%;
    height: 5px;
    background-color: #000;
}

.font_title.color-fff::after {
    background-color: #fff;
    width: 100%;
}

@media (min-width: 1600px) {
    .font_title.color-fff::after {
        width: 70%;
    }
}

.about_mb .font_title.color-fff::after {
    background-color: #fff;
    width: 60%;
}

.font_detail {
    font-size: var(--font_detail);
    font-weight: 500;
    line-height: 25px;
}

.font_detail_news {
    font-size: var(--font_detail_news);
    font-weight: 400;
    /* line-height: 100%; */
}

.font_title_32 {
    font-size: var(--font_title_32);
    font-weight: 700;
    line-height: 38px;
}

/* --------------------------------layer slider------------------------------------------- */

.csutom_layer .ls-nav-prev {
    left: 25px !important;
    z-index: 30 !important;
    width: 25px !important;
    height: 25px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.csutom_layer .ls-nav-next {
    right: 25px !important;
    z-index: 30 !important;
    width: 25px !important;
    height: 25px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.csutom_layer .ls-nav-prev:after {
    content: '\f060' !important;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 25px;
    color: #fff;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    transform: unset !important;
    left: 0 !important;
    top: 0 !important;
    margin-top: 0 !important;
}

.csutom_layer .ls-nav-next:after {
    content: '\f061' !important;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 25px;
    color: #fff;
    border: 0 !important;
    width: auto !important;
    height: auto !important;
    transform: unset !important;
    right: 0 !important;
    top: 0 !important;
    margin-top: 0 !important;
}

@media (min-width: 1200px) {
    .csutom_layer .ls-nav-prev {
        left: 50px !important;
        width: 50px !important;
        height: 50px !important
    }

    .csutom_layer .ls-nav-next {
        right: 50px !important;
        width: 50px !important;
        height: 50px !important
    }

    .csutom_layer .ls-nav-prev:after,
    .csutom_layer .ls-nav-next:after {
        font-size: 50px;
    }
}

/* .csutom_layer .ls-nav-prev:hover,
.ls-v6 .ls-nav-next:hover {
    transform: scale(1) !important;
} */

/* .csutom_layer>.layer-slider>.ls-v6 .ls-bottom-slidebuttons a.ls-nav-active {
    background-color: #1c2e56;
    border: 1px solid #fff !important;
}

.csutom_layer>.layer-slider>.ls-v6 .ls-bottom-slidebuttons a {
    border: 1px solid #1c2e56 !important;
    background-color: #fff;
}

.csutom_layer>.layer-slider>.ls-v6 .ls-bottom-slidebuttons a {
    width: 13px !important;
    height: 13px;
} */

/* ----------------------------------------------------------------------- */
.text_ellipsis_4 {
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    line-height: 18px;
}

.content_news {}

.overlay {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    text-align: center;
    align-content: center;
    background-color: rgba(0, 55, 122, 0.5);
    opacity: 0;
    transition: 0.3s;
    color: #fff;
    font-size: 42px;
}

.test_our_partner {
    position: absolute;
    top: 0;
    left: 0;
}

.overlay_our::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    text-align: center;
    align-content: center;
    background-color: rgba(0, 55, 122, 0.5);
    /* opacity: 0; */
    transition: 0.3s;
    color: #fff;
    font-size: 42px;
}

.color_title {
    color: #000;
    transition: 0.3s;
}

.position_img_document {
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 50%;
}

@media (min-width: 1200px) {
    .position_img_document {
        width: 30%;
        bottom: -30px;
    }
}

@media (min-width: 1400px) {
    .content_news:hover .color_title {
        color: #00377a;
    }

    .content_news:hover .overlay {
        opacity: 1;
    }
}

/* ---------------- About Us --------------------------- */

.text-overlay {
    display: grid;
}

.text-overlay>* {
    grid-area: 1 / 1;
    /* ซ้อนใน cell เดียวกัน */
}

.title-base,
.title-highlight {
    position: absolute;
    inset: 0 auto auto 0;
    /* ซ้อนตรงกัน */
    margin: 0;
    line-height: 1.1;
    white-space: nowrap;
    /* ปรับตามดีไซน์จริงได้ */
    font-size: 60px;
    font-weight: 700;
    text-transform: uppercase;
}

.title-base,
.detail_base {
    color: #000;
}

.title-base::after {
    content: '';
    display: block;
    width: 60%;
    height: 5px;
    background: #000;
    position: absolute;
    bottom: 0px;
}

.title-highlight,
.detail_highlight {
    color: #fff;
    clip-path: inset(100% 0 0 0);
    /* เริ่มซ่อนทั้งหมด */
    will-change: clip-path;
}

.title-highlight::after {
    content: '';
    display: block;
    width: 60%;
    height: 5px;
    background: #fff;
    position: absolute;
    bottom: 0px;
}


.padding_section_parallax {
    padding: 80px 240px;
    /* height: 70vh; */
}

.block {
    width: 100%;
    /* height: 100%;
    position: relative; */
    inset: 0;
    height: 450px;
    position: absolute;
    overflow: hidden;
    border-radius: 20px;
    /* margin-top: 50px; */
}

.block .box_img {
    position: relative;
    display: block;
    margin: 0;
    font-size: 20px;
    color: #000;
    font-weight: 400;
    /* padding: 150px; */
    height: 100%;
    z-index: 1;
}

.box_img::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
}

.img-parallax {
    width: 100vmax;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    pointer-events: none
}

.position_title_abpot {
    position: absolute;
    top: 0px;
    left: -45px;
    color: #fff;
    z-index: 10;
}

.detail_fff {
    /* position: absolute; */
    /* top: 150px; */
    position: relative;
    padding-top: 100px;
    right: -100px;

    /* color: #fff; */
    z-index: 10;
    /* text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); */
}

/* ---------------- Our Partner --------------------------- */

.img_partner_main {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    box-shadow: 0 0px 8px rgba(0, 0, 0, 0.5);
    align-content: center;
    text-align: center;
}

.img_partner_main img {
    width: 75px;
}

.img_partner_sub {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    box-shadow: 0 0px 8px rgba(0, 0, 0, 0.5);
    align-content: center;
    text-align: center;
}

.img_partner_sub img {
    width: 50px;
}

@media (min-width: 576px) {
    .img_partner_main {
        width: 150px;
        height: 150px;
    }

    .img_partner_main img {
        width: 100px;
    }

    .img_partner_sub {
        width: 100px;
        height: 100px;
    }

    .img_partner_sub img {
        width: 70px;
    }
}


/* ----------------------- Banner Title --------------------------------------- */

.position_img_banner1 {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 15%;
}

.position_img_banner2 {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 15%;
}

/* -------------------------- Pagination ------------------------------------ */

.custom_pagination .page-link {
    color: #00377a !important;
    border: 0;
    background-color: transparent !important;
    padding: 0;
    font-size: 24px;
}

.custom_pagination .pagination_dropdown {
    border: 2px solid #000 !important;
    color: #00377a !important;
    position: relative;
    padding: 5px 25px 5px 15px;
}

.custom_pagination .pagination_dropdown:hover {
    border: 2px solid #000;
    color: #00377a;
}

.custom_pagination .pagination_dropdown::after {
    content: '\f0dd';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    border: 0 !important;
    position: absolute;
    top: 1px;
    right: 9px;
}

.custom_pagination .dropdown-menu {
    width: auto !important;
    height: auto !important;
    border: 2px solid #000 !important;
    min-width: 5rem;
    max-height: 10rem;
}


.custom_pagination .dropdown-menu a {
    outline: none !important;
    background-color: transparent !important;
}

.custom_pagination a.current_page {
    background-color: #00377a !important;
    color: #fff !important;
}

/* ------------------------ Ifeame Google map ------------------------------ */
.cumtom_iframe {
    border: 0;
    width: 100%;
    height: 450px;
    /* box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.5); */
    position: relative;
}

.cumtom_iframe::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /* box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.5) inset; */
    box-shadow: inset 0 15px 25px -15px rgba(0, 0, 0, 0.5),
        inset 0 -15px 25px -15px rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.cumtom_iframe iframe {
    width: 100%;
}

/* ------------------------ Gravity Form ------------------------------ */

.custom_form_contact .gform_validation_errors,
.custom_form_contact .gform_heading {
    display: none !important;
}

.custom_form_contact label {
    margin-bottom: 2px !important;
    gap: 0 !important;
    font: var(--font_detail_news) !important;
}

.custom_form_contact .gform_fields {
    row-gap: 16px !important;
}

.custom_form_contact select {
    background-color: #e0e0e0 !important;
    border: 2px solid #003575 !important;
    /* font: var(--font_detail) !important; */
    background-image: url('images/sort-down-solid.svg') !important;
    background-repeat: no-repeat !important;
    background-size: 14px !important;
    background-position: 95% 20% !important;
}

.custom_form_contact input {
    background-color: #e0e0e0 !important;
    border: 1px solid #e0e0e0 !important;
    font: var(--font_detail) !important;
}

.custom_form_contact input::placeholder {
    color: #848484 !important;
}

.custom_form_contact select:focus,
.custom_form_contact input:focus {
    outline: none !important;
}

.custom_form_contact .gform_button {
    position: relative;
    background-color: #00377a !important;
    border-radius: 50px !important;
    margin-left: auto !important;
    font: var(--font_detail) !important;
    padding: 5px 40px 5px 20px !important;
    background-image: url('images/paper-plane-solid.svg');
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: 88% center;
}

.custom_form_contact .gform_confirmation_message {
    color: #000 !important;
}


/* -------------------------------------------------------------- */
.border_b_new {
    position: relative;
    color: #003575;
    display: inline-block;
}

.border_b_new::after {
    content: "";
    background-color: #003575;
    width: 65px;
    height: 2px;
    position: absolute;
    bottom: -5px;
    left: 0;
}

@media (min-width: 1200px) {
    .border_b_new::after {
        width: 80px;
    }
}