body {
    font-family: 'Kanit', sans-serif;
    color: #333;
    font-size: 14px;
    overflow-x: hidden;
}

html, body {
    height: 100%;
    margin: 0;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, p {
    margin-bottom: 0;
}

a {
    cursor: pointer;
    text-decoration: none!important;
}
a:hover {
	color: white;
}

.wrapper {
    background: #F3F3F3;
    min-height: 100vh;
    position: relative;
}

.sidebar-header {
    display: flex;
    padding: 20px 15px;
    position: relative;
}

.sidebar-header .logo {
    transition: transform 0.2s ease-in-out;
}

.sidebar-header .sidebar-header-info {
    transition: opacity 0.3s;
}

.sidebar-header h1 {
    font-size: 16px;
}

.sidebar-header p {
    font-size: 12px;
}

.nav-link {
    color: white;
    display: flex;
    align-items: center;
    padding: 10px;
}

.nav-link i {
    margin-right: 10px;
    font-size: 20px;
}

.menu-text {
    transition: opacity 0.3s;
}

.toggle-menu {
    display: block;
    width: 8px;
    height: 12px;
    background-image: url('../images/arrow-left.png');
    background-repeat: no-repeat;
    background-size: contain;  
    background-position: center;  
    position: absolute;
    right: 20px;
    top: 45px;
}

.content {
    flex: 1;
    transition: margin-left 0.3s;
    margin-left: 340px;
    padding: 40px;
}

header {
    background: linear-gradient(180deg, #00EFD7 0%, #005F55 100%), linear-gradient(180deg, #0FD -21.33%, #0538B4 74.32%, #001E65 119.84%), #FFF;
    height: 80px;
}

/* กำหนดโครงสร้างของ navbar-toggler */
.navbar-toggler {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 1000;
}

/* กำหนดเส้น 3 เส้นของ Hamburger */
.toggler-icon {
    width: 30px;
    height: 3px;
    background-color: white;
    position: relative;
   transition: opacity 0.3s;
}

.toggler-icon::before,
.toggler-icon::after {
    content: "";
    width: 30px;
    height: 3px;
    background-color: white;
    position: absolute;
   transition: opacity 0.3s;
}

.toggler-icon::before {
    top: -10px;
}

.toggler-icon::after {
    top: 10px;
}

/* Animation เมื่อกด (เปลี่ยนเป็น X) */
.navbar-toggler.open .toggler-icon {
    background-color: transparent; /* ซ่อนเส้นกลาง */
}

.navbar-toggler.open .toggler-icon::before {
    transform: rotate(45deg);
    top: 0;
}

.navbar-toggler.open .toggler-icon::after {
    transform: rotate(-45deg);
    top: 0;
}

.sidebar .sidebar-body {
    padding: 20px;
    display: flex;
    flex-direction: column; 
    height: calc(100vh - 100px);
    overflow-y: auto;
}

.sidebar .sidebar-body ul {
    list-style-type: none;
    padding-left: 0;
}

.sidebar-body a {
    color: #FFF;
    font-size: 14px;
}

.sidebar-menu-item {
    flex-grow: 1; /* ให้รายการทั้งหมดใน sidebar ยืดขึ้นจนเต็มพื้นที่ */
}

.sidebar-menu-item li:last-child {
    margin-top: auto; /* ใช้เพื่อให้ปุ่ม "ออกจากระบบ" อยู่ด้านล่าง */
}

.sidebar-menu-item a.sidebar-mainmenu {
    display: flex;
    align-items: center;
    padding: 15px 30px;
    transition: all 0.3s ease-in-out;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: 600;
    position: relative;
}

.sidebar-menu-item a.sidebar-mainmenu.active, .sidebar-menu-item a.sidebar-mainmenu:hover {
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.30);
}

.sidebar-menu-item a.sidebar-mainmenu i {
    margin-right: 20px;
    font-size: 20px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.3s ease-in-out;
}

.sidebar-menu-item a.sidebar-mainmenu i.ic-dashboard {
    background-image: url(../images/ic-dashboard.png);
    width: 20px;
    height: 20px;
}

.sidebar-menu-item a.sidebar-mainmenu i.ic-database {
    background-image: url(../images/ic-database.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-pmqa {
    background-image: url(../images/ic-pmqa.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-tra{
    background-image: url(../images/ic-tra.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-ict {
    background-image: url(../images/ic-ict.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-ems {
    background-image: url(../images/ic-ems.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-cpm1 {
    background-image: url(../images/ic-cpm1.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-a1 {
    background-image: url(../images/ic-a1.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-fad {
    background-image: url(../images/ic-fad.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-bi {
    background-image: url(../images/ic-bi.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-qms {
    background-image: url(../images/ic-qms.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-j3 {
    background-image: url(../images/ic-j3.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-master {
    background-image: url(../images/ic-master.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-act {
    background-image: url(../images/ic-act.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-bud {
    background-image: url(../images/ic-bud.png);
    width: 18px;
    height: 20px;
}
.sidebar-menu-item a.sidebar-mainmenu i.ic-ums {
    background-image: url(../images/ic-ums.png);
    width: 18px;
    height: 20px;
}

.sidebar-menu-item a.sidebar-mainmenu i.ic-code-branch {
    background-image: url(../images/ic-code-branch.png);
    width: 18px;
    height: 23px;
}

.sidebar-menu-item a.sidebar-mainmenu i.ic-sign-out {
    background-image: url(../images/ic-sign-out.png);
    width: 24px;
    height: 18px;
}

 /* ---- Dropdown Arrow ---- */
 .sidebar-dropdown > a::after {
    content: "";
    background-image: url(../images/arrow-down.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 8px;
    transition: transform 0.3s ease-in-out;
    position: absolute;
    right: 15px;
}
.sidebar-dropdown > a {
    color: #FFF!important;
    font-weight: 600;
}

.sidebar-dropdown.active > a::after {
    transform: rotate(180deg);
}

.sidebar-dropdown.active .sidebar-mainmenu {
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.3);
}

/* ---- Submenu Styling ---- */
.sidebar-submenu {
    display: none;
    padding-left: 60px;
}
.sidebar-submenu .sidebar-submenu {
    padding-left: 20px;
}

.sidebar-submenu ul {
    list-style: none;
    padding: 0;
}

.sidebar-submenu ul li {
    padding: 10px 0;
    position: relative;
}

.sidebar-submenu ul li a {
    color: rgba(255, 255, 255, 0.60);
    display: flex;
    align-items: center;
    transition: all 0.3s ease-in-out;
}

.sidebar-submenu ul li a:hover {
    color: #FFF;
}

.sidebar-submenu ul li a.active {
    color: #FFF;
    font-weight: 600;
}

.dropdown-user .dropdown-toggle::after {
    content: ""; 
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/arrow-down.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 12px;
    height: 8px;
    border: 0!important;
    margin-left: 5px;
    transition: transform 0.3s ease; 
} 

.dropdown-user .dropdown-toggle.show::after {
    transform: rotate(180deg);
}

.dropdown-user .btn-user {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    padding: 0;
    border: 0;
}

.dropdown-user .btn-user .user-img {
    display: block;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    position: relative;
    margin-right: 10px;
}

.dropdown-user .dropdown-item {
    color: #000000;
}

.dropdown-user .user-text {
/*     max-width: 120px;  */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.dropdown-menu-user {
    background: linear-gradient(180deg, #00EFD7 -12.94%, #005F55 108.36%), linear-gradient(180deg, #0FD -21.33%, #0538B4 74.32%, #001E65 119.84%), linear-gradient(0deg, #FFF 0%, #FFF 100%), #4466D1;
    border: 0;
}

.dropdown-menu-user .dropdown-item {
    background-color: transparent!important;
    color: #FFF;
    font-size: 14px;
    transition: all 0.1s ease-in-out;
}

.dropdown-menu-user .dropdown-item:hover {
    font-weight: 600;
}

.text-main {
    color: #016F64!important;
}

.text-main-gradient {
    background: linear-gradient(91deg, #00EFD7 -60.45%, #005F55 112.42%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

.text-red {
    color: #D80000!important;
}

.text-gray {
    color: #BCBCBC!important;
}
.text-gray2 {
    color: #999!important;
}
.text-green {
    color: #005F55!important;
}
.fw-medium {
    font-weight: 500!important;
}

.fw-semibold {
    font-weight: 600!important;
}

.content h1 {
    font-size: 30px;
}

.content h2 {
    font-size: 20px;
}

.content h3 {
    font-size: 18px;
}

.content h4 {
    font-size: 16px;
}

.content h6 {
    font-size: 14px;
}

.card-main {
    border-radius: 30px;
    background-color: #FFF;
    box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.07);
    border: 0;
    padding: 10px;
}
 
.card-main .card-header, .card-main .card-footer {
    background-color: #FFF;
    border-color: rgba(3, 55, 122, 0.26);
}

.form-control {
    border-radius: 60px;
    border: 1px solid #BABABA;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px;
    height: 40px;
}

.form-control:focus {
    border-color: transparent;
    box-shadow: 0 0 0 .25rem rgba(1, 172, 155, .25);
}

.form-control[readonly] {
    background-color: #EBEBEB; 
    cursor: not-allowed; /* เปลี่ยน cursor เมื่อวางเมาส์บนฟิลด์ */
}

.form-group {
    margin-top: 30px;
    margin-bottom: 30px;
}

.form-group-icon {
    position: relative;
}

.form-group-icon .form-control {
    padding-right: 40px;
}

.form-group-icon .ic-pst {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 60px;
    border-bottom-right-radius: 60px;
}

textarea.form-control {
    border-radius: 10px;
    height: auto;
}

.form-control::placeholder {
    color: #C4C4C4;  
    opacity: 1;  
}

.bootstrap-select>.dropdown-toggle {
    outline: none!important;
    display: flex!important; 
    align-items: center!important; 
    justify-content: space-between!important; 
    height: 100%!important;
    padding-top: 8.5px!important;
    padding-bottom: 8.5px!important;
}

.bootstrap-select>.dropdown-toggle:hover {
    border-color: rgb(186, 186, 186)!important;
}

.bootstrap-select>.dropdown-toggle.show, .bootstrap-select>.dropdown-toggle:focus {
    border-color: transparent!important;
    box-shadow: 0 0 0 .25rem rgba(1, 172, 155, .25)!important;
}

.bootstrap-select .dropdown-item, .bootstrap-select .dropdown-item {
    font-size: 14px!important;
}

.bootstrap-select .dropdown-item.active, .bootstrap-select .dropdown-item:active {
    background: linear-gradient(180deg, #00EFD7 -12.94%, #005F55 108.36%), linear-gradient(180deg, #0FD -21.33%, #0538B4 74.32%, #001E65 119.84%), linear-gradient(0deg, #FFF 0%, #FFF 100%), #4466D1!important;
}

a:focus,
.btn:focus,
.bootstrap-select .btn:focus {
  outline: none!important;
}

/* เปลี่ยนสีเริ่มต้นของปุ่ม dropdown เป็นสีเทา */
.bootstrap-select>.dropdown-toggle.bs-placeholder {
    color: #C4C4C4!important;
    font-weight: 300!important;
}

/* เมื่อมีการเลือกค่าแล้ว เปลี่ยนเป็นสีดำ */
.bootstrap-select .dropdown-toggle {
    color: #333!important;
    font-weight: 400!important;
}

/* ซ่อนลูกศรเดิม */
.bootstrap-select .dropdown-toggle::after {
    display: none !important;
}

/* ใส่ไอคอนรูปภาพใหม่ */
.bootstrap-select .dropdown-toggle {
    position: relative;
    padding-right: 40px !important; /* เว้นช่องให้รูป */
}

/* เพิ่มไอคอนรูปภาพเป็น background */
.bootstrap-select .dropdown-toggle::before {
    content: "";
    background: url(../images/arrow-down-black.png) no-repeat center center;
    background-size: contain;
    width: 8px; 
    height: 5px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg); /* ลูกศรปกติชี้ลง */
    transition: transform 0.3s ease-in-out;
}

/* เมื่อ dropdown ถูกเปิด ให้หมุนลูกศร */
.bootstrap-select .dropdown-toggle.show::before {
    transform: translateY(-50%) rotate(180deg);
}

.bootstrap-select .dropdown-menu {
    border-color: #BABABA!important;
}

.form-control[type=file] {
    padding-left: 12px!important;
}

input[type="file"]::file-selector-button {
    background-color: #F8F9FA; 
    height: 40px;
}

input[type="file"]::file-selector-button:hover {
    background-color: #dfe0e2; 
}

.border-top, .border-bottom, .border-left, .border-right {
    border-color: #C0C0C0!important;
}

.ic-add {
    display: block;
    background-image: url(../images/ic-add.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
}

.ic-add.white {
    background-image: url(../images/ic-add-white.png);
}

.ic-edit {
    display: block;
    background-image: url(../images/ic-edit.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
}

.ic-edit.white {
    background-image: url(../images/ic-edit-white.png);
}

.ic-trash {
    display: block;
    background-image: url(../images/ic-trash.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}

.ic-link.white {
    display: block;
    background-image: url(../images/ic-link.png);
    background-repeat: no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
}

.ic-trash.white {
    background-image: url(../images/ic-trash-white.png);
}

.ic-doc {
    display: block;
    background-image: url(../images/ic-doc.png);
    background-repeat: no-repeat;
    background-size: 16px 20px;
    width: 16px;
    height: 20px;
}

.ic-search {
    display: block;
    background-image: url(../images/ic-search.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
}
.ic-unlock {
    display: block;
    background-image: url(../images/unlock-key.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}
.ic-follow {
    display: block;
    background-image: url(../images/ic-follow.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}
.ic-map {
    display: block;
    background-image: url(../images/ic-map.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}
.ic-circle {
    display: block;
    background-image: url(../images/ic-circle.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
}
.ic-calendar {
    display: block;
    background-image: url(../images/ic-calendar.png);
    background-repeat: no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    margin-left: auto;
    margin-right: auto;
}
.ic-history {
    display: block;
    background-image: url(../images/ic-reject-history.png);
    background-repeat: no-repeat;
    background-size: 16px 20px;
    width: 16px;
    height: 20px;
}
.ic-ex-link{
    display: block;
    background-image: url(../images/ic-ex-link.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
}
.icon-arrow-left {
    display: block!important;
    background-image: url(../images/arrow-down-black.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 8px;
    transform: rotate(90deg);
    margin-left: auto;
    margin-right: auto;
}

.icon-arrow-right {
    display: block!important;
    background-image: url(../images/arrow-down-black.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 8px;
    transform: rotate(-90deg);
    margin-left: auto;
    margin-right: auto;
}
.ic-check-mark {
    display: block;
    background-image: url(../images/ic-check-mark-green.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
}
a[class^="ic-"] {
    transition: transform 0.3s ease; 
}

a[class^="ic-"]:hover {
    transform: scale(1.2); 
}

.btn-style {
    height: 40px;
    color: #FFF!important;
    font-size: 14px;
    border-radius: 50rem;
    transition: all 0.3s ease-in-out;
/*     padding: inherit; */
}

.btn-style.sm {
    height: 30px;
}

.btn-main {
    background: linear-gradient(91deg, #00EFD7 -60.45%, #005F55 112.42%)!important;
    border: none;
    outline: none; 
}

.btn-main:hover, .btn-main:focus {
    background: linear-gradient(93deg, #084F48 -46.01%, #023833 113.28%), #3589FF!important;   
}

.btn-cancel {
    background: #FF4A4A!important;
}

.btn-cancel:hover, .btn-cancel:focus {
    background: #cd3838!important;
}

.btn-outline-main {
    border: 1px solid #01AC9B;
    color: #01AC9B!important;
}

.btn-outline-main:hover, .btn-outline-main:focus {
    background: #023833;
    color: #FFF!important;
}

.btn-outline-cancel {
    border: 1px solid #FF4A4A;
    color: #FF4A4A!important;
}

.btn-outline-cancel:hover, .btn-outline-cancel:focus {
    background: #FF4A4A;
    color: #FFF!important;
}

.btn-outline-add {
    border: 1px solid #198754;
    color: #01AC9B!important;
}

.btn-outline-add:hover, .btn-outline-add:focus {
    background: #01AC9B;
    color: #FFF!important;
}

.btn-more {
    background: #00ECD4!important;
    color: #003F3A!important;
}

.btn-more:hover, .btn-more:focus {
    background: #01AC9B!important;
}

.btn-thaid {
    background: #3B599B!important;
}

.btn-thaid:hover, .btn-focus {
    background: #243a69!important;
}

.btn-thaid::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/logo-thaid.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 25px;
    height: 25px;
    margin-right: 10px;
}

.btn-refresh {
    width: auto;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #DC3545!important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-refresh::before {
    content: "";
    display: block;
    background-image: url(../images/ic-refresh.png);
    background-repeat: no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease-in-out;
}

.btn-refresh:hover, .btn-refresh:focus {
    background: #DC3545!important;
}

.btn-refresh:hover::before, .btn-refresh:focus::before {
    background-image: url(../images/ic-refresh-white.png);
    transform: rotate(-360deg);
}

.btn-export {
    width: auto;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #005F55!important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-export::before {
    content: "";
    display: block;
    background-image: url(../images/ic-excel.png);
    background-repeat: no-repeat;
    background-size: 25px;
    width: 25px;
    height: 25px;
    transition: transform 0.3s ease-in-out;
}

.btn-export:hover, .btn-export:focus {
    background: #01B4A1!important;
}

.upload-profile {
    width: 120px;
    height: 120px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%; 
    cursor: pointer;
}

.upload-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    cursor: pointer;
}

.upload-profile img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    border-radius: 50%;
    transition: opacity 0.3s;
}

.upload-label:hover img {
    opacity: 0.7; 
}


.upload-profile .upload-ic {
    position: absolute;
    bottom: 5px;
    right: 5px;
    border-radius: 50%;
    background-image: url(../images/ic-upload.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 32px;
    height: 32px;
}

.form-check-input[type="checkbox"] {
    transform: scale(1.5);
    border-color: #B8B8B8;
    border-radius: 0!important;
    border-width: 0.5px;
}

.form-check-input:checked {
    background-color: #098373;
    border-color: #098373;
}

.form-check-input:focus {
    border-color: #098373;
    box-shadow: 0 0 0 .25rem rgba(9, 131, 115, .100)
}

.login-wrapper {
    background-image: url(../images/bg-login.webp);
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 100vh;
}

.login-wrapper .login-card {
    width: 520px;
    max-width: 100%;
    background: white;
    padding: 40px 30px;
    border-radius: 30px;
}

.login-wrapper .login-card h1 {
    font-size: 22px;
    line-height: 122.954%;
}

.login-wrapper .login-card p {
    font-size: 14px;
}

.login-wrapper .ic-eye {
    background-image: url(../images/ic-eye-close.png);
    background-repeat: no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.login-wrapper .ic-eye.open {
    background-image: url(../images/ic-eye-open.png);
}
.login-wrapper .divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: #999;
    margin: 5px 0 15px;
}

.login-wrapper .divider::before,
.login-wrapper .divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #999;
}

.login-wrapper .divider:not(:empty)::before {
    margin-right: 5px;
}

.login-wrapper .divider:not(:empty)::after {
    margin-left: 5px;
}

.img-service {
    border-radius: 20px;
    box-shadow: 10px 14px 24px 0px rgba(0, 0, 0, 0.33);
}

.photo-thumb {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    padding-bottom: 70%;
    transition: all 0.3s ease-in-out;
}

.photo-thumb .photo-parent {
    position: absolute;
    height: 100%;
    width: 100%;
}

.photo-thumb .photo {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    transition: all 0.3s linear;
    background-color: #FFFFFF;
    object-fit: cover;
}

.photo-thumb .photo-content {
    position: absolute;
    bottom: 25px;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

.photo-thumb .photo-content h1 {
    font-size: 20px;
}

.photo-thumb .photo-content .btn-more {
    font-size: 12px;
    height: 28px;
}

.photo-service {
    border-radius: 40px;
    box-shadow: 10px 14px 24px 0px rgba(0, 0, 0, 0.33);
}

.photo-service::after {
    content: "";
    background: linear-gradient(180deg, rgba(3, 216, 188, 0.00) 25%, rgba(1, 99, 86, 0.74) 59.22%, #003932 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.photo-service .photo-content {
    z-index: 1;
}

.table.fixed {
    table-layout: fixed;
}

.table-plan .table-tr-head {
    border: none;
}

.table-plan .table-tr-head td {
    background: linear-gradient(180deg, #00EFD7 0%, #005F55 100%), #FFF;
    color: #FFF;
    padding: 25px 15px;
    border-top: none;
    border-bottom: none;
}

.table-plan tr {
    border-color: #CBCBCB;
    border-top: none;
}

.table-plan .table-tr-minor {
    border-bottom: none;
}

.table-plan .table-tr-minor td {
    background: rgba(64, 180, 242, 0.15);
    border-bottom: none;
}

.table-plan td {
    padding-top: 15px;
    padding-bottom: 15px;
    border-left: none;
    border-right: none;
}

.table-plan td.paragraph1 {
    padding-left: 30px;
}

.table-plan td.paragraph2 {
    padding-left: 60px;
}

.table-plan td.paragraph3 {
    padding-left: 90px;
}

.table-main thead > tr > th {
    background: linear-gradient(180deg, #00EFD7 0%, #005F55 100%), #FFF;
    color: #FFF;
    font-weight: 400;
}

.table-main th {
    padding: 15px 20px;
}

.table-main td {
    padding: 20px 15px;
}

.table-main th, .table-main td {
    vertical-align: middle;
}

.table-main .form-check {
    display: flex;
    justify-content: center;
    align-items: center;
}

.table-main.border-wrap {
    border: 1px solid #DEE2E6;
}

.table-main.th-green thead > tr > th {
    background: #01B4A1;
    border: 0.5px solid rgba(255, 255, 255, 0.3);
}

.pagination {
    justify-content: flex-end;
}

.dt-container .pagination .page-item .page-link {
    background: transparent;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 14px;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 3px;
    margin-right: 3px;
  }

  .dt-container .pagination .page-item .page-link.hide-hover {
    background-color: #EBE9F2 !important;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }

  .dt-container .pagination .page-item .page-link.first,
  .dt-container .pagination .page-item .page-link.previous,
  .dt-container .pagination .page-item .page-link.next,
  .dt-container .pagination .page-item .page-link.last {
   font-size: 0;
    background: transparent!important;
    width: auto;
    height: auto;
  }

  .dt-container .pagination .page-item .page-link.first:before {
    content: "";
    display: block;
    background-image: url(../images/page-first.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 18px;
    height: 18px;
  }

  .dt-container .pagination .page-item.disabled .page-link.first:before {
    background-image: url(../images/page-first-gray.png);
  }

  .dt-container .pagination .page-item .page-link.previous:before {
    content: "";
    display: block;
    background-image: url(../images/page-previous.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 10px;
    height: 16px;
  }

  .dt-container .pagination .page-item.disabled .page-link.previous:before {
    background-image: url(../images/page-previous-gray.png);
  }

  .dt-container .pagination .page-item .page-link.next:before {
    content: "";
    display: block;
    background-image: url(../images/page-next.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 10px;
    height: 16px;
  }

  .dt-container .pagination .page-item.disabled .page-link.next:before {
    background-image: url(../images/page-next-gray.png);
  }

  .dt-container .pagination .page-item .page-link.last:before {
    content: "";
    display: block;
    background-image: url(../images/page-last.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 18px;
    height: 18px;
  }

  .dt-container .pagination .page-item.disabled .page-link.last:before {
    background-image: url(../images/page-last-gray.png);
  }

  .dt-container .pagination .page-item:hover .page-link, .pagination .page-item.active .page-link {
    color: rgb(255, 255, 255) !important;
    background: linear-gradient(93deg, #03D8BC -11.26%, #086E60 100.03%);
  }

  .dt-container .pagination .paginate_button {
    padding: 5px 0px !important;
    margin-left: 0 !important;
    border: none !important;
    background: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    border-radius: 0 !important;
  }

  .dt-container .pagination .paginate_button.page-item.first .page-link {
    background-color: #EBE9F2 !important;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: block !important;
    text-indent: -9999px;
    cursor: pointer;
    color: transparent !important;
  }

  .dt-container .pagination .paginate_button.page-item.first .page-link:before {
    content: "";
    display: block;
    background-color: #EBE9F2;
    background-image: url(../images/icon/page-first.png);
    background-repeat: no-repeat;
    background-size: 12px 11px;
    width: 12px;
    height: 11px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }

  .dt-container .pagination .paginate_button.page-item.previous .page-link {
    background-color: #EBE9F2 !important;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: block !important;
    text-indent: -9999px;
    cursor: pointer;
    color: transparent !important;
  }

  .dt-container .pagination .paginate_button.page-item.previous .page-link:before {
    content: "";
    display: block;
    background-color: #EBE9F2;
    background-image: url(../images/icon/page-prev.png);
    background-repeat: no-repeat;
    background-size: 6px 11px;
    width: 6px;
    height: 11px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }

  .dt-container .pagination .paginate_button.page-item.next .page-link {
    background-color: #EBE9F2 !important;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: block !important;
    text-indent: -9999px;
    cursor: pointer;
    color: transparent !important;
  }

  .dt-container .pagination .paginate_button.page-item.next .page-link:before {
    content: "";
    display: block;
    background-color: #EBE9F2;
    background-image: url(../images/icon/page-next.png);
    background-repeat: no-repeat;
    background-size: 6px 11px;
    width: 6px;
    height: 11px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }

  .dt-container .pagination .paginate_button.page-item.last .page-link {
    background-color: #EBE9F2 !important;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: block !important;
    text-indent: -9999px;
    cursor: pointer;
    color: transparent !important;
  }
  
  .dt-container .pagination .paginate_button.page-item.last .page-link:before {
    content: "";
    display: block;
    background-color: #EBE9F2;
    background-image: url(../images/icon/page-last.png);
    background-repeat: no-repeat;
    background-size: 12px 11px;
    width: 12px;
    height: 11px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }

.dt-container div.dt-length label {
    margin-right: 8px;
}

.dt-container div.dt-length select {
    border-radius: 50rem;
    border: 1px solid #D3D3D3;
    font-size: 14px;
    height: 40px;
    padding-left: 20px;
}

.dt-container div.dt-length select:hover,
.dt-container div.dt-length select:focus {
    box-shadow: rgba(1, 172, 155, 0.25) 0px 0px 0px 0.25rem;
}

.modal-main .modal-header, .modal-main .modal-footer {
    border-color: #A4A4A4;
}

.modal-main .modal-title {
    font-size: 16px;
}

.modal-main .modal-content {
    border-radius: 20px;
}

.process-group {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 20px;
  }

  .process-group::before {
    content: "";
    display: block;
    width: 80%;
    height: 2px;
    background: linear-gradient(91deg, #00EFD7 -60.45%, #005F55 112.42%);
    position: absolute;
    top: 22%;
    left: 50%;
    -webkit-transform: translate(-50%, -22%);
        -ms-transform: translate(-50%, -22%);
            transform: translate(-50%, -22%);
  }

  .process-group .process-item {
    text-align: center;
  }

  .process-group .process-item .process-circle {
    width: 45px;
    height: 45px;
    border: 2px solid #005F55;
    color: rgba(0, 0, 0, 0.45);
    border-radius: 50%;
    z-index: 1;
    position: relative;
    background: #FFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
  }

  .process-group .process-item.active .process-circle {
    background: linear-gradient(91deg, #00EFD7 -60.45%, #005F55 112.42%);
    color: white;
    font-weight: 600;
    border: none;
  }

  .process-group .process-item p {
    font-size: 12px;
    line-height:  133.333%; 
  }

  .process-group .process-item.active p {
    background: linear-gradient(91deg, #00EFD7 -60.45%, #005F55 112.42%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
  }

  .process-group .ic-check {
    display: inline-block;
    vertical-align: middle;
    background-image: url("../images/icon/ic-check-mark.png");
    background-repeat: no-repeat;
    background-size: 11px 9px;
    width: 11px;
    height: 9px;
    margin-right: 5px;
    margin-left: 0px;
    margin-top: 0px;
  }

  .process-form {
    display: none;
}

.process-form.active {
    display: block;
}

.accordion-main .accordion-item {
    border: none;
    margin-top: 20px;
    margin-bottom: 20px;
}

.accordion-main .accordion-item .accordion-button {
    border-radius: 50rem;
    background: linear-gradient(180deg, #00EFD7 0%, #005F55 100%);
    color: #FFF;
    font-size: 16px;
    font-weight: 600;
    padding-top: 10px;
    padding-bottom: 10px;
}

.accordion-main .accordion-item .accordion-button:focus {
    border: none;
    box-shadow: none;
}

.accordion-main .accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: 50rem;
    border-bottom-left-radius: 50rem;
}

.accordion-main .accordion-button::after {
    content: "";
    background-image: url(../images/arrow-down.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 8px;
}

.ui-datepicker .ui-datepicker-header {
    background: linear-gradient(93deg, #00EFD7 -46.01%, #005F55 113.28%);
}

.ui-widget.ui-widget-content, .ui-datepicker .ui-datepicker-title select {
    font-family: 'Kanit', sans-serif;
    outline: none!important;
    border-radius: 5px;
    margin-left: 1px;
    margin-right: 1px;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
    border: none;
    background: linear-gradient(93deg, #00EFD7 -46.01%, #005F55 113.28%);
}

.ui-state-default, .ui-widget-content .ui-state-default {
    text-align: center;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    top: 4px;
    background-color: transparent;
    border: 0;
}

.ui-datepicker .ui-datepicker-prev {
    left: 0;
}

.ui-datepicker .ui-datepicker-prev span {
    display: block;
    background-image: url(../images/arrow-down.png);
    background-position: center;
    background-size: contain;
    width: 12px;
    height: 8px;
    transform: rotate(90deg);
    margin-top: -4px;
}

.ui-datepicker .ui-datepicker-next {
    right: 0;
}

.ui-datepicker .ui-datepicker-next span {
    display: block;
    background-image: url(../images/arrow-down.png);
    background-position: center;
    background-size: contain;
    width: 12px;
    height: 8px;
    transform: rotate(-90deg);
    margin-top: -4px;
}

@media (min-width: 576px) {
    .form-group {
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .card-main {
        padding: 20px;
    }

    .login-wrapper .login-card h1 {
        font-size: 35px;
    }
    
    .login-wrapper .login-card p {
        font-size: 18px;
    }

    .img-service {
        border-radius: 40px;
    }
}

@media (min-width: 768px) {
    .process-group {
        margin: 0 8% 40px;
    }

    .process-group .process-item .process-circle {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }

    .process-group::before {
        width: 90%;
        top: 27%;
        left: 50%;
        -webkit-transform: translate(-50%, -27%);
            -ms-transform: translate(-50%, -27%);
                transform: translate(-50%, -27%);
      }
}

@media (min-width: 1025px) {
    .login-wrapper .login-card {
        padding: 45px 80px;
    }
    .process-group .process-item .process-circle {
        width: 70px;
        height: 70px;
    }
}

@media (min-width: 992px) {
    .sidebar {
        width: 300px;
        min-height: calc(100vh - 80px); /* ความสูงเต็มจอ */
        max-height: calc(100vh - 80px); /* ป้องกันการล้น */
        overflow-y: auto; /* ทำให้สามารถเลื่อนในกรณีเมนูยาว */
        border-radius: 30px;
        background: linear-gradient(180deg, #00EFD7 -12.94%, #005F55 108.36%), linear-gradient(180deg, #0FD -21.33%, #0538B4 74.32%, #001E65 119.84%), linear-gradient(0deg, #FFF 0%, #FFF 100%), #4466D1;
        color: white;
        transition: width 0.3s;
        overflow: hidden;
        padding: 10px;
        position: fixed;
        top: 40px;
        left: 40px;
    }

    /* หุบ Sidebar */
    .sidebar.action {
        width: 110px;
        border-radius: 80px;
    }

    .sidebar.action .menu-text,
    .sidebar.action .sidebar-header .sidebar-header-info {
        opacity: 0;
        visibility: hidden;
        display: none;
    }

    .sidebar.action .toggle-menu {
        right: 0;
        transform: rotate(-180deg);
    }

    .sidebar.action + .content {
        margin-left: 150px;
    }

    .sidebar.action .sidebar-menu-item a.sidebar-mainmenu.active {
        width: 52px;
        overflow: hidden;
        text-align: center;
    }
    
    .sidebar.action .sidebar-menu-item a.sidebar-mainmenu {
        width: 52px;
        justify-content: center;
        padding-left: 15px; 
        padding-right: 15px;
    }
    
    .sidebar.action .sidebar-menu-item a.sidebar-mainmenu i {
        margin-right: 0;
    }
    
    /* พอยุบ sidebar เมนูที่มี dropdown ให้ซ่อน arrow */
    .sidebar.action .sidebar-dropdown > a::after {
        display: none;
    }

      /* พอยุบ sidebar เมนูที่มี dropdown ให้ซ่อน sub menu */
    .sidebar.action .sidebar-dropdown .sidebar-submenu {
        display: none!important;
    }

    .sidebar .sidebar-body {
         height: calc(100vh - 180px);
     }

     .dropdown-user .dropdown-toggle::after {
        background-image: url(../images/arrow-down-black.png);
    } 
}

@media (max-width: 991px) {
    .sidebar {
        transform: translateX(100%); /* ดันให้พ้นจอ + ระยะเผื่อ */
        transition: transform 0.2s ease-in-out;
        display: block; /* แสดง sidebar แต่เลื่อนออกไป */
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: 100vh;
        width: 100%;
        background: linear-gradient(180deg, #00EFD7 -12.94%, #005F55 108.36%), linear-gradient(180deg, #0FD -21.33%, #0538B4 74.32%, #001E65 119.84%);
        z-index: 999; /* ให้อยู่ด้านหน้า */
        margin-left: 0;
        margin-right: 0;
        border-radius: 0;
    }

    .sidebar.action {
        transform: translateX(0); /* เลื่อน sidebar กลับมาให้แสดง */
    }

    .sidebar.action .sidebar-header .logo {
        width: 50px;
        height: 50px;
    }

    .dropdown-user .btn-user .user-img {
        margin-right: 2px;
    }

    header .text-main {
        font-size: 16px;
    }

    .dropdown-user-pst {
        position: fixed;
        top: 25px;
        right: 60px;
        z-index: 1031;
    }

    .content {
        margin-left: 0; 
        padding: 100px 15px 15px 15px;
    }

    .login-wrapper .img-login {
        display: block;
        width: 50%;
        margin: 10px auto 0;
    }
}

@media (max-width: 575px) {
    .process-group::before {
        width : 2px;
        height: 80%;
    }

    .process-group .process-item .process-circle {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
    
    .process-group .process-item p {
        background: #FFF;
        position: relative;
        z-index: 1;
        margin-bottom: .5rem!important;
    }

    .process-group .process-item.active p {
        background: #FFF;
        -webkit-text-fill-color: #005F55;
      }
}

.bg-gray {
    background-color: #F3F3F3;
}
.border-bottom-lg {
    border-bottom: 5px solid #E1E1E1;
}

footer {
    border-radius: 40px 40px 0px 0px;
    background: linear-gradient(266deg, #00EFD7 -32.9%, #005F55 116.07%), #4D5776;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

footer .ft-info h1 {
    font-size: 16px;
    color: #FFF;
}

footer .list-contact {
    list-style-type: none;
}

footer .list-contact li {
    display: inline-block;
    position: relative;
    padding-left: 25px;
}

footer .list-contact .ft-ic:before {
    content: "";
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-right: 10px;
}

footer .list-contact .ft-ic.ic-phone:before {
    background-image: url(../images/icon/phone.png);
    background-size: 14px;
    width: 14px;
    height: 14px;
}

footer .list-contact .ft-ic.ic-fax:before {
    background-image: url(../images/icon/fax.png);
    background-size: 17px;
    width: 17px;
    height: 17px;
}

footer a .img-social {
     transition: transform 0.3s ease;
}

footer a:hover .img-social {
    transform: scale(1.1);
}

footer .ft-copyright {
    color: #FFF;
    border-top: 1px solid #FFF;
}

.footer-wrapper {
    background-color: #F3F3F3;
}


.ic-red {
    display: block;
    background-image: url(../images/ic-red.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}
.ic-yellow {
    display: block;
    background-image: url(../images/ic-yellow.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}
.ic-green {
    display: block;
    background-image: url(../images/ic-green.png);
    background-repeat: no-repeat;
    background-size: 15px 18px;
    width: 15px;
    height: 18px;
}
