@font-face {
  font-family: "DB Heavent Cond";
  src: url("../fonts/DB-Heavent-Cond-v3.2.1.aab183602d45.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "DB Heavent Cond";
  src: url("../fonts/DB-Heavent-Bd-Cond-v3.2.1.bc15b9025c80.ttf") format("truetype");
  font-weight: 600 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "DB Heavent Cond";
  src: url("../fonts/DB-Heavent-Cond-It-v3.2.1.3ef1b3d40786.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "DB Heavent Cond";
  src: url("../fonts/DB-Heavent-Bd-Cond-It-v3.2.1.f358d5ea5142.ttf") format("truetype");
  font-weight: 600 700;
  font-style: italic;
  font-display: swap;
}

:root {
  --tz-font-sans-serif: "DB Heavent Cond", "Noto Sans Thai", "Tahoma", "Arial", sans-serif;
  --tz-body-font-family: var(--tz-font-sans-serif);
  --tz-body-font-size: 1.1rem;
  --tz-body-line-height: 1.38;
}

html {
  font-size: 16px;
}

body,
button,
input,
select,
textarea,
.dropdown-menu,
.popover,
.tooltip {
  font-family: var(--tz-body-font-family);
}

body {
  font-size: var(--tz-body-font-size);
  line-height: var(--tz-body-line-height);
  text-rendering: optimizeLegibility;
  font-weight: 400;
}

h1,
.h1 {
  font-size: 2.15rem;
  line-height: 1.18;
}

h2,
.h2 {
  font-size: 1.85rem;
  line-height: 1.2;
}

h3,
.h3 {
  font-size: 1.55rem;
  line-height: 1.24;
}

h4,
.h4,
.header-title {
  font-size: 1.32rem;
  line-height: 1.28;
}

h5,
.h5 {
  font-size: 1.18rem;
  line-height: 1.3;
}

h6,
.h6 {
  font-size: 1.04rem;
  line-height: 1.35;
}

.page-title,
.page-title-box h4 {
  font-size: 1.45rem;
  line-height: 1.25;
}

.card-title,
.card-header,
.dropdown-item,
.nav-link,
.side-nav-link,
.side-nav-title {
  line-height: 1.35;
}

.side-nav .side-nav-title {
  font-size: 1rem;
  letter-spacing: 0;
}

.side-nav .side-nav-link {
  font-size: 1.1rem;
  line-height: 1.35;
  min-height: 2.45rem;
}

.side-nav .side-nav-link i {
  font-size: 1.1rem;
}

.side-nav .menu-arrow {
  font-size: 1.05rem;
}

.side-nav-second-level li a,
.side-nav-third-level li a {
  font-size: 1.04rem;
  line-height: 1.35;
  min-height: 2.2rem;
}

.form-label,
.form-control,
.form-select,
.btn,
.dropdown-item,
.table,
.form-text,
.text-muted,
small {
  font-size: 1.2rem;
}

.form-control,
.form-select,
.btn {
  line-height: 1.35;
}

.table > :not(caption) > * > * {
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  vertical-align: middle;
}

.table th {
  font-size: 1.2rem;
  font-weight: 600;
}

.badge {
  font-size: 1rem;
  line-height: 1.1;
  padding: 0.38em 0.58em;
}

.widget-flat h2 {
  font-size: 2rem;
  line-height: 1;
}

.widget-flat h6 {
  font-size: 1.04rem;
  line-height: 1.2;
}

.auth-brand + .p-4 h4,
.account-pages h4.fs-20 {
  font-size: 1.55rem !important;
}

.account-pages p,
.account-pages label,
.account-pages .form-control,
.account-pages .btn {
  font-size: 1.1rem;
}

.account-pages .js-login-form label {
  font-size: 1.3rem;
  font-weight: 600;
}

.account-pages .js-login-form .form-control::placeholder {
  font-size: 1.1rem;
}

.account-pages .card {
  line-height: 1.45;
}

.account-pages .js-signup-form label {
  font-size: 1.3rem;
  font-weight: 600;
}

.account-pages .signup-password-rules {
  font-size: 1.1rem;
}

.topbar-user-avatar {
  border: 1px solid rgba(54, 64, 76, 0.18);
  box-shadow: 0 1px 4px rgba(54, 64, 76, 0.18);
  object-fit: cover;
  object-position: center top;
}

.topbar-avatar-link {
  display: inline-flex;
  line-height: 1;
}

.topbar-user-menu-toggle:hover {
  color: inherit;
}

.student-table-avatar {
  border: 1px solid rgba(54, 64, 76, 0.18);
  box-shadow: 0 1px 4px rgba(54, 64, 76, 0.14);
  object-fit: cover;
  object-position: center top;
}

.student-profile-avatar {
  border: 1px solid rgba(54, 64, 76, 0.18);
  box-shadow: 0 1px 4px rgba(54, 64, 76, 0.14);
  object-fit: cover;
  object-position: center top;
}

.job-apply-summary {
  border: 1px solid rgba(59, 192, 195, 0.18);
  border-radius: 8px;
  background: rgba(59, 192, 195, 0.04);
  padding: 1rem;
}

.job-apply-info-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-height: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(54, 64, 76, 0.08);
  border-radius: 8px;
  background: #fff;
}

.job-apply-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 8px;
  color: #3bc0c3;
  background: rgba(59, 192, 195, 0.12);
  font-size: 1.25rem;
}

.job-apply-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  color: #3bc0c3;
  background: rgba(59, 192, 195, 0.12);
  font-size: 1.15rem;
}

.job-apply-detail-panel {
  padding: 1rem;
  border: 1px solid rgba(54, 64, 76, 0.08);
  border-radius: 8px;
  background: #fff;
}

.job-apply-detail-title {
  margin-bottom: 0.75rem;
  font-weight: 700;
  color: #36404c;
}

.job-apply-summary-value {
  font-size: 1.3rem;
}

.job-apply-detail-content {
  max-height: 360px;
  overflow-y: auto;
  color: #495057;
  font-size: 1.3rem;
}

.job-apply-detail-content :last-child {
  margin-bottom: 0;
}