* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -o-font-smoothing: antialiased;
}

*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
}

.w-richtext> :not(div):first-child,
.w-richtext>div:first-child> :first-child {
    margin-top: 0 !important;
}

.w-richtext>:last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
    margin-bottom: 0 !important;
}

.pointer-events-off {
    pointer-events: none;
}

.pointer-events-on {
    pointer-events: auto;
}

.container-medium,
.container-small,
.container-large {
    margin-right: auto !important;
    margin-left: auto !important;
}

.hide {
    display: none !important;
}

@media screen and (max-width: 991px) {

    .hide,
    .hide-tablet {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .hide-mobile-landscape {
        display: none !important;
    }
}

@media screen and (max-width: 479px) {
    .hide-mobile {
        display: none !important;
    }
}

.margin-0 {
    margin: 0rem !important;
}

.padding-0 {
    padding: 0rem !important;
}

.margin-top {
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-top {
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-right {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
    margin-left: 0rem !important;
}

.padding-right {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    padding-left: 0rem !important;
}

.margin-bottom {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-bottom {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.margin-left {
    margin-top: 0rem !important;
    margin-right: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-left {
    padding-top: 0rem !important;
    padding-right: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-horizontal {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-horizontal {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-vertical {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.padding-vertical {
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.loader-overlay {
    position: fixed;
    inset: 0;
    background: black;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    animation: fadeOut 0.8s ease forwards;
    animation-delay: 3s; /* hilang setelah 3 detik */
}

.loader {
    width: 50px;
    aspect-ratio: 1.154;
    position: relative;
    background: conic-gradient(from 120deg at 50% 64%,#0000, #fff 1deg 120deg,#0000 121deg);
    animation: l27-0 1.5s infinite cubic-bezier(0.3,1,0,1);
}
.loader:before,
.loader:after {
    content:'';
    position: absolute;
    inset:0;
    background:inherit;
    transform-origin: 50% 66%;
    animation: l27-1 1.5s infinite;
}
.loader:after {
  --s:-1;
}
@keyframes l27-0 {
   0%,30%      {transform: rotate(0)}
   70%         {transform: rotate(120deg)}
   70.01%,100% {transform: rotate(360deg)}
}
@keyframes l27-1 {
   0%      {transform: rotate(calc(var(--s,1)*120deg)) translate(0)}
   30%,70% {transform: rotate(calc(var(--s,1)*120deg)) translate(calc(var(--s,1)*-5px),10px)}
   100%    {transform: rotate(calc(var(--s,1)*120deg)) translate(0)}
}
@keyframes fadeOut {
    to {
      opacity: 0;
      visibility: hidden;
    }
}

.no-border {
    border: 0
}
    
.flex-grid {
    display: grid;
    grid-template-columns: repeat(var(--cols-mobile, 1), 1fr);
    grid-column-gap: 1.5rem;
    grid-row-gap: 2rem;
}

.flex-grid > * {
    grid-area: auto !important;
}
    
.first-section {
    padding-top: 4rem;
}

.section-padding-larges {
    padding: 6rem 0;
}
    
.section-padding-larges .item {
    display: flex;
    flex-direction: column;
}

.section-padding-larges .item > * {
    order: initial !important;
}

.section-padding-larged {
    display: grid;
    grid-template-rows: auto;
    padding: 4rem 0 10rem 0 ;
    grid-column-gap: 16px;
}

.section-padding-larged > * {
    grid-area: auto !important;
}

.section-padding-larges .item > img {
    width: 100%;
}

.w-form {
    text-align: left;
}

small.error {
    font-style: italic;
}

@media (max-width: 767px) {
    .section-padding-larged {
        grid-template-columns: 1fr;
    }
    
    .item .stat-item {
        margin-bottom: 2rem;
    }
    
    .item .stat-item:nth-child(2) {
        margin-top: 2rem;
    }

    .section-padding-larges .item.reverse {
        flex-direction: column-reverse;
    }

    .section-padding-larges .item.reverse > *:last-child {
        margin-bottom: 2rem;
    }

    .item .stat-item {
        margin-top: 0;
    }
    
    .section-padding-larges .item > img {
        max-height: 25rem;
    } 
 
    .heading-style-h1.text-allcaps {
        font-size: 4rem;
        margin-top: 4rem;
    }
}

@media (min-width: 768px) {
    .item .stat-item {
        margin-bottom: 2rem;
    }
    
    .item .stat-item:nth-child(2) {
        margin-top: 2rem;
    }
        
    .section-padding-larged {
        grid-template-columns: repeat(3, 1fr);
    }
    .flex-grid {
        grid-template-columns: repeat(var(--cols, 3), 1fr);
    }

    .section-padding-larges .item {
        max-height: 60rem;
    }
    
    .section-padding-larges .item:not(:nth-child(2)) > *:first-child {
        height: 35rem;
    }
    
    .section-padding-larges .item:nth-child(2) > *:first-child {
        height: calc(35rem - 74px);
    }
    
    .section-padding-larges  .item > *:last-child {
        height: 19rem;
    }
}