:root {
  --bar-width: 30px;
  --bar-height: 2px;
  --hamburger-gap: 8px;
  --foreground: #666666;
  --background: #666666;
  --hamburger-margin: 8px;
  --animation-timing: 200ms ease-in-out;
  --hamburger-height: calc((var(--bar-height) * 3) + (var(--hamburger-gap) * 2));
}

.navbar {
  /*border-bottom: 1px solid;*/
  box-shadow: 0px 0px 3px;
}

@media (max-width: 767px) {
  .navbar-nav {
  }
}

#tentang-kami {
  scroll-margin-top: 85px;
}

.hamburger-menu {
  --x-width: calc(var(--hamburger-height)*(sqrt(2)));
  display: flex;
  flex-direction: column;
  gap: var(--hamburger-gap);
  width: max-content;
  /*position: absolute;*/
  top: var(--hamburger-margin);
  left: var(--hamburger-margin);
  z-index: 2;
  cursor: pointer;
}

.hamburger-menu:has(input:checked) {
  /*--foreground: white;*/
  /*--background: white;*/
}

.hamburger-menu:has(input:focus-visible)::before, .hamburger-menu:has(input:focus-visible)::after, .hamburger-menu input:focus-visible {
  border: 1px solid var(--background);
  box-shadow: 0 0 0 1px var(--foreground);
}

.hamburger-menu::before, .hamburger-menu::after, .hamburger-menu input {
  content: "";
  width: var(--bar-width);
  height: var(--bar-height);
  background-color: var(--foreground);
  border-radius: 999px;
  transform-origin: left center;
  transition: opacity var(--animation-timing), width var(--animation-timing), rotate var(--animation-timing), translate var(--animation-timing), background-color var(--animation-timing);
}

.hamburger-menu input {
  appearance: none;
  padding: 0;
  margin: 0;
  outline: none;
  pointer-events: none;
}

.hamburger-menu:has(input:checked)::before {
  rotate: 45deg;
  width: var(--x-width);
  translate: 0 calc(var(--bar-height) / -2);
}

.hamburger-menu:has(input:checked)::after {
  rotate: -45deg;
  width: var(--x-width);
  translate: 0 calc(var(--bar-height) / 2);
}

.hamburger-menu input:checked {
  opacity: 0;
  width: 0;
}

.form-label {
  margin: 0;
}

h1, h2, p {
  /*max-width: 800px;*/
}

.navbar-brand img {
  max-height: 45px;
}

.hero-section-j1 {
  height: 500px;
}

.container {
  max-width: 1080px;
  padding: 0px 25px;
}

.icon-j1 {
  font-size: 42px;
  padding-bottom: 1rem;
  color: var(--bs-primary);
}

.top-line-j1 {
  position: relative;
}

.top-line-j1::before {
  position: absolute;
  content: "";
  height: 3px;
  background-color: var(--bs-secondary);
  top: 0;
  left: 0;
  right: 0;
}

.bottom-line-j1 {
  position: relative;
}

.bottom-line-j1::before {
  position: absolute;
  content: "";
  height: 3px;
  background-color: var(--bs-secondary);
  bottom: 0;
  left: 0;
  right: 0;
}

.img-khkm-j1 {
  object-fit: cover;
  width: 100%;
  height: 150px;
}

@media (min-width: 576px) {
  .img-khkm-j1 {
    object-fit: cover;
    width: 100%;
    height: 250px;
  }
}

.hero-cards-j1 {
  /*position: absolute;*/
  /*top: -50%;*/
}

@media (max-width: 991px) {
  .hero-cards-j1 {
    /*position: relative;*/
  }
}

.div-card-j1 {
  background-color: var(--bs-light);
  box-shadow: 1px 1px 5px var(--bs-dark-text-emphasis);
  padding-left: 24px;
  padding-right: 24px;
  min-height: 205px;
}

.col-profile-j1 > div {
  height: 100%;
  background-color: rgb(214,214,214);
}

.col-profile-j1 > div > a {
  text-decoration: none;
}

.div-img-j1 {
  overflow: hidden;
}

.div-img-j2 {
  aspect-ratio: 6 / 7;
}

.div-img-j3 {
  aspect-ratio: 3 / 4;
}

.row-area-praktek-j1 .div-img-j1 img {
  aspect-ratio: 3 /2;
  /*filter: grayscale(50%);*/
}

.div-img-j1 > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.div-img-j2 > img {
  filter: grayscale(100%);
  transition: all 0.4s ease-in-out;
}

.col:hover > div > a > .div-img-j2 > img {
  transform: scale(1.1);
  filter: grayscale(0%);
}

.div-name-title-j1 {
  padding: 1.25rem;
  /*background-color: rgb(214,214,214);*/
}

.div-name-title-j1 > div > * {
  color: #333;
}

.name-tim-j1 {
  font-size: 1.15rem;
  font-weight: 700;
}

.job-title {
  /*font-size: 1rem;*/
  font-weight: 600;
  /*margin: 0px 0px 5px 0px;*/
  /*padding-bottom: 10px;*/
}

.job-short-bio {
  font-size: 14px;
  font-weight: 400;
}

.row-area-praktek-j1 h2 {
  font-size: 1rem;
  font-weight: 600;
}

.row-area-praktek-j1 > .col > div {
  height: 100%;
  box-shadow: 1px 1px 3px var(--bs-body-color);
}

.div-tab-pane-j1 {
  padding: 3rem 1rem;
}

.div-tab-pane-j1 li {
  padding-top: 0.35rem;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-dark);
  --bs-nav-tabs-link-active-bg: var(--bs-primary);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}

.section-tabs-j1 .nav-link {
  background-color: #333333;
  color: var(--bs-light);
  border-width: 1px;
  border-color: var(--bs-light);
}

@media (max-width: 575px) {
  .nav-tabs .nav-item {
    width: 100%;
  }
}

.div-section-header-j1 {
  height: 300px;
}

.logo-klien-j1 > div {
  display: flex;
  justify-content: center;
  margin-top: 3em;
  padding-left: 3em;
  padding-right: 3em;
}

.logo-klien-j1 > div > img {
  /*max-height: 50px;*/
  max-width: 200px;
  object-fit: contain;
}

@media (max-width: 767px) {
  .navbar-nav {
    display: flex;
    position: absolute;
    right: 0;
    width: 200px;
    background-color: #ffffff;
    height: 100vh;
    /*gap: 0.75em;*/
    padding-block: 1em !important;
    padding-left: 2em !important;
    /*padding-right: 1em !important;*/
    /*backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);*/
    /*z-index: 100;*/
  }
}

@media (max-width: 767px) {
  .navbar-collapse > .navbar-nav {
    /*opacity: 0;*/
    /*transition: opacity 250ms ease-out;*/
  }
}

@media (max-width: 767px) {
  .navbar-collapse.show > .navbar-nav {
    opacity: 100%;
  }
}

.bio-profile-j1 h1 {
  font-size: clamp(1.375rem, calc(1.375rem + 1.5vw), 2rem);
}

.bio-profile-j1 h2 {
  font-size: clamp(1.325rem, calc(1.325rem + .9vw), 1.5rem);
}

.bio-profile-j1 p:first-child {
  text-align: justify;
  /*padding-top: 1rem;*/
}

.spesialis {
  font-size: 0.85rem !important;
}

.div-msg-sent-j1 {
  height: calc(100vh - 71px);
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

