.elementor-32 .elementor-element.elementor-element-180295c4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-32 .elementor-element.elementor-element-5530137 > .elementor-widget-container{background-color:var( --e-global-color-primary );margin:0rem 0rem -3.5rem 3rem;padding:1rem 2rem 1rem 2rem;}.elementor-32 .elementor-element.elementor-element-5530137.elementor-element{--align-self:flex-start;}.elementor-32 .elementor-element.elementor-element-5530137{z-index:2;text-align:left;}.elementor-32 .elementor-element.elementor-element-5530137 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-text );}.elementor-32 .elementor-element.elementor-element-54522e68{--display:flex;--min-height:45vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-text );--border-color:var( --e-global-color-text );--padding-top:3rem;--padding-bottom:2rem;--padding-left:0rem;--padding-right:0rem;}.elementor-32 .elementor-element.elementor-element-56d344c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-19.5vw;--margin-bottom:2vw;--margin-left:0vw;--margin-right:0vw;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;--z-index:2;}.elementor-32 .elementor-element.elementor-element-d5aab46.elementor-element{--align-self:center;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-32 .elementor-element.elementor-element-54522e68{--width:80%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-32 .elementor-element.elementor-element-5530137 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-32 .elementor-element.elementor-element-180295c4{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:5rem;--padding-left:1rem;--padding-right:1rem;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-32 .elementor-element.elementor-element-5530137 > .elementor-widget-container{margin:0rem 0rem -3rem 0rem;}.elementor-32 .elementor-element.elementor-element-5530137.elementor-element{--align-self:center;}.elementor-32 .elementor-element.elementor-element-5530137{text-align:center;}.elementor-32 .elementor-element.elementor-element-5530137 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-32 .elementor-element.elementor-element-54522e68{--min-height:40vh;--padding-top:2rem;--padding-bottom:1rem;--padding-left:0rem;--padding-right:0rem;--z-index:1;}.elementor-32 .elementor-element.elementor-element-56d344c0{--margin-top:-22.5rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}}/* Start custom CSS for container, class: .elementor-element-54522e68 */.elementor-32 .elementor-element.elementor-element-54522e68{
    overflow: visible !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d5aab46 */.custom-tabs {
  width: 100%; /* ➤ Konten tab full width */
  margin: 0 auto;
  position: relative;
  overflow: hidden; /* Hanya di container utama */
}

.tab-content {
  visibility: hidden;
  position: absolute;
  height: 0;
  overflow: hidden;
  width: 100%;
  animation: fadeIn 0.5s;
}

.tab-content.active {
  visibility: visible;
  position: relative;
  height: auto;
  margin-bottom: 1.5rem; /* ➤ Jarak konten ke tab heading */
}

.tab-buttons-wrapper {
  max-width: 1140px; /* ➤ Batasan hanya untuk heading */
  margin: 0 auto; /* ➤ Tengah */
  padding: 0 15px;
}

.tab-buttons {
  display: flex;
  justify-content: center;
  gap: 10px; /* ➤ Jarak antar tombol tab */
}

.tab-btn {
  flex: 1;
  padding: 0.5rem 3rem;
  font-family: 'Moon Font', sans-serif;
  font-size: 0.75rem !important;
  letter-spacing: 4px;
  line-height: 1rem;
  text-align: center;
  cursor: pointer;
  background: #eee;
  border: none;
  border-radius: 5px;
  transition: 0.3s;
  display: flex; /* Added for perfect centering */
  align-items: center; /* Vertical center */
  justify-content: center; /* Horizontal center */
}

.tab-btn.active {
  background: #333;
  color: #fff;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Responsive Mobile */
@media (max-width: 768px) {
  .tab-buttons {
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .tab-btn {
    min-width: calc(50% - 4px);
    max-width: calc(50% - 4px);
    text-align: center !important;
    font-size: 0.7rem !important;
    padding: 0.5rem;
    letter-spacing: 0.5px !important;
  }
  
  .tab-content {
    padding: 0 15px;
  }
}/* End custom CSS */
/* Start custom CSS */.project .swiper-slide {
    filter: grayscale(100%);
    padding: 2rem 0;
    transition: all 0.5s ease-in-out;
}

.project .swiper-slide-active {
    filter: grayscale(0%);
    transform: scale(1.2);
    right: 2.5vw;
    margin: 0 5vw;
    transition: all 0.5s ease-in-out;
}

.project .swiper-slide-next {
  right: 0.25vw;
}

.project .swiper-slide-prev {
  left: 0.25vw;
}

.project .swiper-slide .namepj {
  display: none;
}

.project .swiper-slide-active .namepj {
  display: block;
}

@media (min-width:1600px) and (max-width:1800px) {
    .aspek {
        margin-top: -48vh !important;
    }
    
    .line {
        min-height: 45vh !important;
    }
}

@media (min-width:1500px) and (max-width:1600px) {
    .aspek {
        margin-top: -48vh !important;
    }
    
    .line {
        min-height: 47vh !important;
    }
    
    .swiper.elementor-loop-container.elementor-grid.offset-left.swiper-initialized.swiper-horizontal.swiper-pointer-events{
        --swiper-offset-size: 300px;
    }
}


@media (min-width:1300px) and (max-width:1500px) {
    .aspek {
        margin-top: -48vh !important;
    }
    
    .line {
        min-height: 50vh !important;
    }
    
    .swiper.elementor-loop-container.elementor-grid.offset-left.swiper-initialized.swiper-horizontal.swiper-pointer-events{
        --swiper-offset-size: 200px;
    }
}

@media (min-width:1100px) and (max-width:1300px) {
    .aspek {
        margin-top: -49vh !important;
    }
    
    .line {
        min-height: 52vh !important;
    }
    
    .swiper.elementor-loop-container.elementor-grid.offset-left.swiper-initialized.swiper-horizontal.swiper-pointer-events{
        --swiper-offset-size: 100px;
    }
}

@media only screen and (max-width: 600px) {
    .mobile .swiper-slide {
        filter: grayscale(100%);
        transition: all 0.3s ease-in-out;
    }
    
    .mobile .swiper-slide-active {
        filter: grayscale(0%);
    }

    .mobile .swiper-slide .namepj {
      display: none;
    }
    
    .mobile .swiper-slide-active .namepj {
      display: block;
    }
    
    .elementor-widget-loop-carousel .elementor-loop-container.offset-both{
        --swiper-offset-size: 5vw !important;
    }
}/* End custom CSS */