body {
    color: #000;
    font-family: "Lato", sans-serif;
    font-weight: 400;
}

footer,
section {
    width: 100%;
    padding-left: 116px;
    padding-right: 116px;
}

.container {
    width: 100%;
    max-width: 1134px;
    margin: 0 auto;
}
.outer-container {
    width: 100%;
    max-width: 1366px;
    position: relative;
    margin: 0 auto;
}
a:not(.btn) {
    color: #00A880;
    text-decoration: underline;
}
a:not(.btn):hover {
    text-decoration: none;
}
p, li {
    color: #000;
    font-family: 'Arial', sans-serif;
    font-size: 24px;
    font-weight: 400;
}

h1 {
    color: #FFF;
    font-family: Lato;
    font-size: 56px;
    font-weight: 400;
    line-height: 1;
}

.text-underline {
    text-decoration: underline;
}

.content .text-teal,
.text-teal {
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    color: #00A880;
    font-weight: 700;
}

.text-teal.isi-header {
    margin-bottom: 0;
}
.mb-0 {
    margin-bottom: 0 !important;
}
@media (max-width: 768px) {
    section {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* hero section */
.hero {
    overflow-x: clip;
    padding-left: 0;
    padding-right: 0;
}

.hero a {
    display: inline-block;
    margin-bottom: 12px;
}
.hero .inner {
    padding: 28px 116px 47px;
    background-color: #00746A;
    border-radius: 0 0 0 56px;
    /* background: linear-gradient(42deg, #00746A 32.74%, #00A880 73.43%, #FFDA02 108.05%); */
    background: linear-gradient(318deg, #00746A 32.74%, #00A880 73.43%, #FFDA02 108.05%);
}
.hero .container {
    position: relative;
}
.bg-extension {
    content: '';
    width: 200%;
    height: 100%;
    position: absolute;
    right: -150%;
    top: 0;
    z-index: -1;
    background-color: #00746A;
}

.hero__logo {
    width: 100%;
    max-width: 260px;
}

.hero__text-top {
    font-size: 36px;
    font-weight: 400;
    line-height: 1.4;
}

.hero__text-lg {
    font-size: 56px;
    font-weight: 700;
    line-height: .9;
}

.hero__text-sm {
    font-size: 44px;
}

/* ultrawide hero fix */
@media (min-width: 2560px) {
    .bg-extension {
        display: none;
    }
    .hero .inner {
        padding: 28px 32px 47px 32px;
    }
}

@media (max-width: 1280px) {
    .hero .inner {
        padding: 28px 58px 47px;
    }
    footer,
    section {
        width: 100%;
        padding-left: 58px;
        padding-right: 58px;
    }
}
@media (max-width: 900px) {
    .hero {
        padding-left: 0;
    }
}

@media (max-width: 768px) {
    h1 {
        text-align: center;
        line-height: .8;
    }
    .hero {
        padding-left: 0;
        padding-right: 0;
    }
    .hero .inner {
        padding: 27px 24px 44px;
    }
    .hero__text-top {
        font-size: 32px;
    }
    .hero__text-lg {
        font-size: 40px;
    }
    .hero__text-sm {
        font-size: 32px;
    }

    .inner {
        text-align: center;
    }
    .inner a {
        margin: 0 0 18px;
    }
    .bg-extension {
        display: none;
    }
    footer,
    section {
        padding-left: 24px;
        padding-right: 24px;
    }
}

.content {
    padding-top: 30px;
    padding-bottom: 30px;
}
.content h2 {
    margin-bottom: 12px;
}

.content p, .content li {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    font-family: 'Arial', sans-serif;
}
.content .container > *:not(:last-child) {
    margin-bottom: 12px;
}

/* card section */
.card-body__container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 32px;
}

.card {
    display: flex;
    flex-direction: column;
    flex: 1;
    background-color: #E6F0E9;
    border-radius: 38px;

    padding: 32px;
}
.card > *:not(.btn) {
    margin-bottom: 32px;
}
.card h2 {
    font-size: 32px;
    font-weight: 700;
}
.btn {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 52px;
    width: 100%;
    max-width: 311px;
    margin-top: auto;

    color: #FFF;
    background-color: #00A880;
    border-radius: 100px;
    text-align: center;
    font-family: 'Arial', sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;

    cursor: pointer;
    transition: background-color .3s ease-in;
}

.btn:hover {
    background-color: #064;
}

.btn:focus-visible {
    outline: 2px solid #FB00FF;
}

@media (max-width: 768px) {
    .card-body__container {
        gap: 0;
        grid-template-columns: 1fr;
    }
    .card {
        border-radius: 0;
        padding: 32px 24px;
    }
    .card:first-child {
        border-radius: 38px 38px 0 0;
    }
    .card:last-child {
        border-radius: 0 0 38px 38px;
    }
    .card:not(:last-child) {
        border-bottom: 1px solid #000;
    }
    .btn {
        margin: auto;
    }
}

/* footer */
footer {
    padding-bottom: 60px;
}
footer p {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    font-family: 'Arial', sans-serif;
}
footer .container > *:not(:last-child) {
    margin-bottom: 32px;
}
.footer__logo-row {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}
.footer__logo-row a {
    display: inline-block;
}

.footer__logo-row a:first-child{
    padding-right: 16px;
    margin-right: 16px;
    border-right: 1px solid #000;
}
.footer__logo-san {
    height: 100%;
    width: 100%;
    max-width: 83px;
}

.footer__logo-reg {
    height: 100%;
    width: 100%;
    max-width: 145px;
}

@media (max-width: 768px) {
    footer {
        padding-left: 16px;
        padding-right: 16px;
    }
    
}