:root{
    --primary-color: #066bd2;
    --red: #fe0100;
    --blue: #344fcd;
    --hover: #0000fd;
    --dark-grey: #676f76;
    --gray: #f5f5f5;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .title-logo{
    font-family: "Libre Baskerville", "Noto Sans Thai", sans-serif !important;
}
body,p, footer h3, footer h4{ 
    font-size: 18px;
    font-family: "Google Sans Flex", "Noto Sans Thai", sans-serif !important;
}
nav p{ color: #f00;}
.bg-gray{ background: #f9f9f9;}
.quote{
    padding-top: 40px;
    position: relative;
    font-size: 1.5em;
}
.quote svg{
    position: absolute;
    top: -20px;
    left: -20px;
}
.logo{ height: 80px;}


/* menu */
.menu-link{ font-size: 16px;}

/* Active Menu Styles */
.menu-item.active {
    background-color: #0a62ae !important;
    color: #ffffff !important;
    border-radius: 6px;
    padding: 8px 16px !important;
}

.menu-item.active:hover {
    background-color: #085a9e !important;
    color: #ffffff !important;
}

/* Desktop Menu Active */
.mainmenu .menu-link.active {
    background-color: #0a62ae;
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 6px;
}

.mainmenu .menu-item.active {
    background-color: #0a62ae;
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 6px;
}

/* Submenu Active */
.mainmenu .group .absolute .active {
    background-color: #0a62ae !important;
    color: #ffffff !important;
}

/* Mobile Menu Active */
#mobile-menu .menu-item.active {
    background-color: #0a62ae !important;
    color: #ffffff !important;
}

#mobile-menu .menu-item.active:hover {
    background-color: #085a9e !important;
}

.breadcrumb a:hover,
.list-contact a:hover{ 
    color: var(--primary-color);
}
.hr-title{
    width: 100%;
    height: 3px;
    background: #000;
    margin: 40px 0 20px 0;
}
.header-title .text-title{
    font-size: 3em;
    padding-top: 7px;
}
.a-btn{
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    font-weight: 500;
    height: auto;
    line-height: 1.5;
    padding: 0;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: var(--transition);
    width: auto;
    margin: 20px 0 10px 0;
}
.a-btn__text{
    align-items: center;
    display: flex;
    position: relative;
    text-align: left;
    min-width: 150px;
    background: transparent;
    border-radius: 50px;
    min-width: 160px;
}
.a-btn__text::before{
    align-items: center;
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    content: "";
    display: flex;
    flex-shrink: 0;
    height: 40px;
    justify-content: center;
    margin-right: 12px;
    transition: var(--transition);
    width: 40px;
}
.a-btn__text::after{
    /* font-family: var(--fa-style-family,"Font Awesome 6 Free"); */
    /* font-family: 'Font Awesome 6 Free' !important; */
    font-family: var(--fa-style-family,"Font Awesome 6 Free");
    font-weight: var(--fa-style,900);
    content: "\f061";
    color: #fff;
    display: block;
    font-size: 18px;
    position: absolute;
    top: calc(50% + 1px);
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
}
.a-btn__text:hover{ background: #ebebeb;}
.a-btn:hover{ color: var(--hover); }
.a-btn:hover .a-btn__text::before{
    background-color: var(--hover);
    border-color: var(--hover);
}
.a-btn.btn-bg{
    background: #f2f0f0;
    padding: 1px;
    display: -webkit-inline-flex;
    border-radius: 50px;
    padding-right: 10px;
    font-size: 16px;
}

.activity-card h3{ font-size: 1em;}
.sect-about{ padding: 60px 0;}
.sect-activity{
    padding: 80px 0;
}
.sect-research{ 
    padding: 80px 0;
    background: #f2f4fc;
}
.hero-slide .a-btn{
    position: relative;
    z-index: 20;
}

.hero-slide .caption .inner{ z-index: 2;}

.sect-news{ 
    position: relative;
    padding: 80px 0;
}
.sect-news .header-title h2{ color: #ebebeb;}
.sect-news::before{
    position: absolute;
    content: "";
    width: 45%;
    height: 100%;
    background: #181717;
    top: 0;
    left: 0;
    z-index: -1;
}

/* wbu */
#image-lightbox-prev,
#image-lightbox-next{
    position: absolute;
    top: 50%;
    color: #fff;
}
#image-lightbox-prev{
    left: 40px
}
#image-lightbox-next{
    right: 40px;
}
#image-lightbox{ background: rgba(0, 0, 0, 0.39);}
#image-lightbox-close{
    right: 0px;
    top: -20px;
}
.wbu-features-icons svg{ color: var(--primary-color); }

/* sect-academics-1 */
.sect-academics-1,
.sect-academics-2,
.sect-academics-3,
.sect-academics-4{
    padding: 20px 0 40px 0 !important;
}
[class*="sect-academics-"]{ background: transparent;}
[class*="sect-academics-"] .hr-title{ margin-top: 80px;}
.sect-academics-1{ padding-top: 80px !important;}
.sect-academics-4{ padding-bottom: 80px !important;}


/* footer */
.btn-totop{ 
    background: var(--blue);
    color: #fff;
}
.btn:hover{ background: var(--primary-color); }
footer .footer-quick-links{ padding-left: 80px;}

footer{ background: #0e0e0e !important;}
footer, footer p{ color: #c7c7c7;}

@media(max-width: 1024px){
    .mobile-menu-button{ display: block;}
    .mainmenu{ display: none;}
    .sect-research .cleft{ margin-bottom: 20px;}
    .sect-research .cleft p{
        max-width: initial;
        padding-right: 0 !important;
    }
}
@media(max-width: 991px){
    .header-title .text-title{ 
        font-size: 2.5em;
        line-height: 1.3;
    }
    footer .footer-quick-links{ padding-left: 20px;}
    footer .footer-contact{ position: relative; left: -40px;}
    .quote{ font-size: 1.3em;}
    .box-contact-info{
        display: inline-block;
        width: -webkit-fit-content;
        margin: 0 auto;
    }
}
@media(max-width: 767px){
    footer .footer-quick-links{ padding-left: 0px;}
    footer .footer-contact{ position: relative; left: 0px;}
}
@media(max-width: 640px){
    .header-title .text-title{ font-size: 2em;}
    .sect-activity, .sect-news, .sect-research{ padding: 30px 0;}
    .sect-activity .gap-12,
    .sect-news .gap-12{ 
        gap: 0;
    }
    .sect-news::before{ width: 100%; background: rgba(24, 23, 23, 0.07);}
    .sect-news .header-title h2{ color: #000;}
    footer .footer-contact{ left: 0;}
    footer .footer-copyright-inner{ align-items: baseline;}
    footer .footer-copyright-text{ display: grid;}
}
@media(max-width: 580px){
    footer .footer-copyright-inner{ align-items: baseline;}
    footer .footer-copyright-text{ justify-content: initial;}
    .breadcrumb a, .breadcrumb span{
        text-overflow: ellipsis;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        display: -webkit-box;
    }
    .box-contact-info p{ font-size: 16px;}
}

/* Page Title Section */
#page-title.gradient-green {
    background: #eee;
    padding: 15px 0px;
    position: relative;
    overflow: hidden;
}

#page-title.gradient-green::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
}

#page-title.gradient-green .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

#page-title.gradient-green .page-title {
    margin: 0 0 0px 0;
}

#page-title.gradient-green .page-title h1 {
    color: #000000;
    font-size: 28px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    /* text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
}

/* Breadcrumb */
#page-title.gradient-green .breadcrumb {
    margin: 0;
    padding: 0;
}

#page-title.gradient-green .breadcrumb ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

#page-title.gradient-green .breadcrumb li {
    display: flex;
    align-items: center;
    color: #000;
    font-size: 14px;
}

#page-title.gradient-green .breadcrumb li:not(:last-child)::after {
    content: "/";
    margin-left: 8px;
    color: #000000;
    font-weight: 300;
}

#page-title.gradient-green .breadcrumb a {
    color: #000
    text-decoration: none;
    transition: color 0.3s ease;
}

#page-title.gradient-green .breadcrumb a:hover {
    color: #c10202;
    text-decoration: underline;
}

#page-title.gradient-green .breadcrumb li.active a {
    color: #000000;
    font-weight: 500;
    pointer-events: none;
}

/* Responsive */
@media(max-width: 768px){
    #page-title.gradient-green {
        padding: 40px 0 30px 0;
    }
    #page-title.gradient-green .page-title h1 {
        font-size: 2rem;
    }
    #page-title.gradient-green .breadcrumb li {
        font-size: 13px;
    }
}

@media(max-width: 640px){
    #page-title.gradient-green {
        padding: 30px 0 20px 0;
    }
    #page-title.gradient-green .page-title h1 {
        font-size: 1.75rem;
    }
    #page-title.gradient-green .breadcrumb li {
        font-size: 12px;
    }
}