.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
a,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
    font-family: Roboto
}

a,
a:hover {
    text-decoration: none
}

a {
    color: #007bff;
    background-color: transparent
}

@media (min-width:1200px) {
    .container {
        max-width: 1200px;
        padding: 0
    }
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #445567
}

.navigation-clean-search {
    background: #445567;
    padding: 0 10px;
    color: #fff;
    border-radius: 0;
    border: none;
    margin-bottom: 0;
    position: fixed;
    z-index: 999;
    top: 0;
    width: 100%;
    box-shadow: 0 5px 8px 0 rgba(68, 85, 103, .2);
    -webkit-box-shadow: 0 5px 8px 0 rgba(68, 85, 103, .2)
}

@media (max-width:768px) {
    .navigation-clean-search {
        padding-top: 10px;
        padding-bottom: 10px;
        position: fixed;
        width: 100%;
        z-index: 999;
        top: 0
    }
}

.navigation-clean-search .navbar-brand {
    font-weight: 700;
    color: inherit;
    height: 55px
}

@media (max-width:576px) {
    .navigation-clean-search .navbar-brand {
        font-weight: 700;
        color: inherit;
        height: 55px;
        display: flex;
        align-items: center;
        margin-right: 0
    }
}

.navigation-clean-search .navbar-brand:hover {
    color: #fff;
    opacity: .6
}

.navigation-clean-search .navbar-toggler {
    border-color: #ddd;
    color: #fff
}

.navigation-clean-search .navbar-toggler:focus,
.navigation-clean-search .navbar-toggler:hover {
    background: 0 0
}

.navigation-clean-search .form-inline,
.navigation-clean-search .navbar-collapse {
    border-top-color: #ddd
}

.navigation-clean-search .navbar-nav a.active,
.navigation-clean-search .navbar-nav>.show>a {
    background: 0 0;
    box-shadow: none
}

.navigation-clean-search.navbar-light .navbar-nav a.active,
.navigation-clean-search.navbar-light .navbar-nav a.active:focus,
.navigation-clean-search.navbar-light .navbar-nav a.active:hover {
    color: #fff;
    box-shadow: none;
    border-bottom: 5px solid #AFFBD5;
    background: 0 0;
    pointer-events: none
}

@media (max-width:576px) {
    .navigation-clean-search.navbar-light .navbar-nav a.active,
    .navigation-clean-search.navbar-light .navbar-nav a.active:focus,
    .navigation-clean-search.navbar-light .navbar-nav a.active:hover {
        color: #fff;
        box-shadow: none;
        border-bottom: 2px solid #AFFBD5;
        background: 0 0;
        pointer-events: none
    }
}

.navigation-clean-search.navbar .navbar-nav .nav-link {
    padding: 2px 0;
    margin: 0 10px;
    border-bottom: 5px solid transparent;
    font-weight: 500;
    font-size: 16px
}

@media (max-width:576px) {
    .navigation-clean-search.navbar .navbar-nav .nav-link {
        padding: 10px 0;
        margin: 10px;
        border-bottom: 2px solid transparent;
        font-weight: 500;
        font-size: 16px
    }
}

.navigation-clean-search.navbar-light .navbar-nav .nav-link {
    color: #fff
}

.navigation-clean-search.navbar-light .navbar-nav .nav-link:focus,
.navigation-clean-search.navbar-light .navbar-nav .nav-link:hover {
    color: #fff!important;
    background-color: transparent;
    border-bottom: 5px solid #AFFBD5
}

@media (max-width:576px) {
    .navigation-clean-search.navbar-light .navbar-nav .nav-link:focus,
    .navigation-clean-search.navbar-light .navbar-nav .nav-link:hover {
        color: #fff!important;
        background-color: transparent;
        border-bottom: 2px solid #AFFBD5
    }
}

.navigation-clean-button .action-button:active,
.navigation-clean-search .action-button {
    background: #56c6c6;
    border-radius: 20px;
    font-size: inherit;
    color: #fff!important;
    box-shadow: none;
    border: none;
    text-shadow: none;
    padding: 8px 20px;
    transition: background-color .25s
}

.navigation-clean-search .action-button:focus,
.navigation-clean-search .action-button:hover {
    background: #66d7d7
}

.navigation-clean-search .form-inline label {
    color: #ccc
}

.navigation-clean-search .form-inline .search-field {
    background-color: transparent;
    border: 1px solid #31BC9F;
    border-radius: 50px;
    padding-right: 30px;
    box-shadow: none;
    color: inherit;
    text-align: right;
    transition: border-bottom-color .3s
}

@media (max-width:767px) {
    .navigation-clean-search .form-inline .search-field {
        display: inline-block;
        width: 100%
    }
}

.navigation-clean-search .form-inline .search-field:focus {
    border: 1px solid #63e7cb;
    color: #fff
}

.navbar-brand img {
    height: 100%
}

.search-field::placeholder {
    color: rgba(255, 255, 255, .24);
    font-size: 14px
}

.search-field {
    height: 35px!important;
    background-image: url(../../dharma/img/ic-search.svg)!important;
    background-size: 38px 18px!important;
    background-repeat: no-repeat!important;
    background-position: right center!important
}

ul li a {
    color: inherit;
    text-decoration: none;
}

ul li a:hover {
    color: inherit;
}

@media (max-width:576px) {
    .search-field {
        height: 50px!important;
        background-image: url(../../dharma/img/ic-search.svg)!important;
        background-size: 38px 18px!important;
        background-repeat: no-repeat!important;
        background-position: right center!important
    }
}

.home-slide {
    height: 600px;
    position: relative;
    background-color: #445567
}

@media (max-width:576px) {
    .home-slide {
        height: 450px;
        position: relative;
        background-color: #445567
    }
}

.home-slide img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    opacity: .5
}

@media (max-width:576px) {
    .home-slide img {
        width: auto!important;
        height: 100%!important;
        position: absolute;
        left: 50%;
        bottom: 0;
        margin: 0;
        z-index: 1;
        opacity: .2;
        transform: translate(-50%, 0)
    }
}

.carousel-indicators li {
    box-sizing: content-box;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    margin-right: 5px;
    margin-left: 5px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: none;
    opacity: 1;
    transition: opacity .6s ease
}

.carousel-indicators .active {
    opacity: 1;
    background-color: #31bc9f
}

.indikator-produk .active {
    opacity: 1;
    background-color: #fff;
    border-color: #555
}

.home-slide--inner {
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    z-index: 5
}

.home-slide--quote {
    left: 0;
    top: 50%;
    position: absolute;
    transform: translate(0, -50%);
    padding: 15px;
    width: 100%;
    color: #fff
}

.sub-huge {
    color: #AFFBD5;
    font-size: 48px;
    font-weight: 400
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2
}

.main-huge {
    font-size: 84px;
    font-weight: 700
}

@media (max-width:576px) {
    .main-huge {
        font-size: 34px;
        font-weight: 700
    }
}

.home-slide--quote p {
    font-size: 22px
}

.section-utama {
    padding: 5em 0;
    position: relative
}

@media (max-width:576px) {
    .home-slide--quote p {
        font-size: 18px
    }
    .section-utama {
        padding: 2.5em 0;
        position: relative
    }
}

.text-primary {
    color: #31bc9f!important
}

.container--section {
    padding-top: 2.5em;
    padding-bottom: 2.5em
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 18px
}

.bg-primary {
    background-color: #31bc9f!important
}

.gambar--grid {
    width: 100%;
    height: 275px;
    overflow: hidden
}

@media (max-width:576px) {
    .container--section {
        padding-top: 1.5em;
        padding-bottom: 1.5em
    }
    .gambar--grid {
        width: 100%;
        height: 155px;
        overflow: hidden
    }
}

.gambar--grid img {
    width: 100%;
    height: auto;
    transform: scale(1.3);
    transition: .3s
}

.text-prime {
    color: #AFFBD5
}

.bg-primary-dark {
    background-color: #24B4AB!important
}

.fix-overlay {
    position: absolute;
    bottom: -20px;
    right: -20px;
    width: 30%
}

.center-div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media (max-width:576px) {
    .text-prime {
        color: #31bc9f
    }
    .center-div {
        position: relative;
        padding: 10px 25px;
        text-align: right
    }
}

.gambar--grid:hover img {
    transform: scale(1.2)
}

.partner-logo {
    width: 100%
}

.partner-logo img {
    height: auto;
    width: 100%
}

.footer-web {
    padding: 3.5em 0;
    background-color: #445567
}

@media (max-width:576px) {
    .footer-web {
        padding: 2.5em 0;
        background-color: #445567
    }
}

.heading-footer {
    font-size: 24px;
    color: #fff;
    font-weight: 400
}

.widget-footer1 p {
    color: #fff;
    line-height: 2;
    font-weight: 300
}

.widget-footer2 {
    width: 75%;
    float: right
}

@media (max-width:768px) {
    .widget-footer2 {
        width: 100%;
        float: none;
        text-align: center
    }
}

.footer-search {
    height: 50px;
    display: block;
    width: 100%;
    border-radius: 50px;
    text-align: right;
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff;
    padding-right: 50px
}

.bg-search {
    background-image: url(../../dharma/img/icons8-search_filled.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: 50px 30px
}

.footer-search::placeholder {
    color: #fff;
    font-weight: 300
}

.form-control {
    display: block;
    width: 100%;
    height: calc(2.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

.form-transparan {
    background-color: transparent;
    border: 1px solid #fff
}

.form-transparan::placeholder {
    color: #fff
}

.footer-list {
    color: #fff;
    margin: 15px 0;
    padding: 15px 0;
    display: flex
}

@media (max-width:576px) {
    .footer-list {
        color: #fff;
        margin-bottom: 0;
        padding-bottom: 0;
        display: flex
    }
}

.footer-list li {
    justify-content: center;
    margin-right: 0!important
}

.footer-list li a {
    color: #fff;
    font-size: 18px
}

a:hover {
    color: rgba(206, 212, 218, .82);
    opacity: .6
}

.bg-dark {
    background-color: #445567!important
}

.banner-besar {
    background-size: cover;
    background-position: center center;
    position: relative;
    z-index: 3
}

.overlay-mask {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(68, 85, 103, .75)!important;
    z-index: -1
}

.ourproduk--gambar {
    width: 100%;
    height: 350px;
    margin-bottom: 15px;
    position: relative;
    overflow: hidden;
    border: 1px solid #ddd;
    transition: .2s
}

@media (max-width:576px) {
    .ourproduk--gambar {
        width: 100%;
        height: 150px;
        margin-bottom: 15px;
        position: relative;
        overflow: hidden;
        border: 1px solid #ddd;
        transition: .2s
    }
}

.ourproduk--gambar img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto
}

.indikator-produk,
.main-konten {
    position: relative
}

.nama-produk {
    font-size: 24px;
    margin-bottom: 20px
}

.ourproduk--detail p {
    font-size: 18px;
    line-height: 1.5;
    height: 80px;
    font-weight: 300;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

@media (max-width:576px) {
    .nama-produk {
        font-size: 18px;
        margin-bottom: 10px
    }
    .ourproduk--detail p {
        font-size: 15px;
        line-height: 1.5;
        height: 70px;
        font-weight: 300;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        margin-bottom: 5px
    }
}

.btn-outline-primary {
    color: #445567;
    border: 2px solid #24b4ab;
    border-radius: 0
}

.btn-group-lg>.btn,
.btn-lg {
    padding: .8rem 2.5rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #24b4ab;
    border-color: #24b4ab
}

.link-outline {
    color: #445567;
    font-size: 18px;
    padding: 15px 50px;
    border: 2px solid #24B4AB;
    display: inline-block;
    transition: .3s
}

.ourproduk--detail {
    margin-bottom: 25px
}

@media (max-width:576px) {
    .link-outline {
        color: #fff;
        font-size: 15px;
        padding: 5px 20px;
        border: 2px solid #24B4AB;
        display: inline-block;
        transition: .3s;
        background-color: #24B4AB
    }
    .ourproduk--detail {
        margin-bottom: 10px
    }
}

.link-outline:hover {
    background-color: #1a968e;
    color: #fff;
    opacity: 1
}

.item-ourproduk {
    margin-bottom: 25px;
    padding: 10px
}

@media (max-width:576px) {
    .item-ourproduk {
        margin-bottom: 15px;
        padding: 0
    }
}

.modal-open .main-konten {
    -webkit-filter: blur(4px);
    -moz-filter: blur(4px);
    -o-filter: blur(4px);
    -ms-filter: blur(4px);
    filter: blur(4px);
    filter: progid: DXImageTransform.Microsoft.Blur(PixelRadius='4')
}

.modal-produk {
    padding: 15px
}

.indikator-produk {
    z-index: 15;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: 0;
    margin-left: 0;
    width: 100%;
    justify-content: flex-start
}

.indikator-produk li {
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    width: 30%;
    height: 150px;
    margin: 5px;
    border-radius: 0;
    background-color: #fff;
    opacity: .8;
    border: 1px solid #ddd;
    position: relative;
    overflow: hidden
}

@media (max-width:576px) {
    .indikator-produk li {
        -ms-flex: 0 0 22%;
        flex: 0 0 22%;
        width: 22%;
        height: 80px;
        margin: 3px;
        border-radius: 0;
        background-color: #fff;
        opacity: .8;
        border: 1px solid #ddd;
        position: relative;
        overflow: hidden
    }
}

.indikator-produk li img {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto
}

.heading-medium {
    font-size: 32px;
    margin-bottom: 25px
}

@media (max-width:576px) {
    .heading-medium {
        font-size: 28px;
        margin-bottom: 15px
    }
}

.gambar-project--unggulan img,
.slidein-modal img {
    margin: auto;
    top: 0;
    bottom: 0;
    width: 100%;
    left: 0;
    right: 0
}

.slidein-modal {
    position: relative;
    height: 400px;
    overflow: hidden
}

@media (max-width:576px) {
    .slidein-modal {
        position: relative;
        height: 250px;
        overflow: hidden
    }
}

.slidein-modal img {
    position: absolute;
    height: auto
}

.btn-primary {
    color: #fff;
    background-color: #24B4AB;
    border-color: #24B4AB
}

.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #1a968e;
    border-color: #1a968e
}

.btn-primary.focus,
.btn-primary:focus {
    box-shadow: 0 0 0 .2rem #1a968e
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .2rem rgba(26, 150, 142, .16)
}

.gambar-project--unggulan {
    width: 100%;
    height: 550px;
    position: relative;
    overflow: hidden;
    padding: 25px;
    background-color: #000
}

@media (max-width:576px) {
    .gambar-project--unggulan {
        width: 100%;
        height: 200px;
        position: relative;
        overflow: hidden;
        padding: 5px;
        background-color: #000
    }
    .gambar-project--unggulan div {
        display: none
    }
}

.gambar-project--unggulan img {
    position: absolute;
    height: auto;
    z-index: 1;
    transition: .3s
}

.gambar-project--unggulan div {
    position: absolute;
    z-index: 2;
    padding: 25px;
    left: 0;
    bottom: 0;
    width: 100%
}

.gambar-project--unggulan:hover img,
.grid-project:hover img {
    opacity: .5
}

.grid-project {
    background-color: #000
}

.heading-kontak {
    font-size: 22px;
    margin-bottom: 15px
}

@media (max-width:576px) {
    .heading-kontak {
        font-size: 18px;
        margin-bottom: 15px
    }
}

.widget-kontak {
    padding: 10px;
    margin-bottom: 25px
}

@media (max-width:576px) {
    .widget-kontak {
        padding: 5px;
        margin-bottom: 10px
    }
}

.border-primary {
    border-color: #24b4ab!important
}

.card-principal {
    display: block;
    border: 1px solid #ddd;
    padding: 15px;
    transition: .3s
}

.card-principal--link {
    color: #31bc9f;
    font-size: 14px
}

.card-principal--link i {
    margin-right: 10px;
    color: #445567
}

.card-principal--link:hover {
    color: #31bc9f;
    opacity: .7
}

.card-principal--top {
    margin-bottom: 15px
}

.card-principal--img {
    height: 200px;
    position: relative;
    width: 100%;
    overflow: hidden
}

@media (max-width:576px) {
    .card-principal {
        display: block;
        border: 1px solid #ddd;
        padding: 8px;
        transition: .3s
    }
    .card-principal--img {
        height: 120px;
        position: relative;
        width: 100%;
        overflow: hidden
    }
}

.card-principal--img img {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    left: 0;
    right: 0;
    margin: auto
}

.card-principal:hover {
    border-color: #24b4ab
}

.div-about {
    position: relative;
    margin-bottom: 2.5rem
}

@media (max-width:576px) {
    .div-about {
        position: relative;
        margin-bottom: 1.5rem
    }
}

.div-about p {
    line-height: 1.6
}

.div-about--media {
    margin: 2.5rem 0;
    display: block
}

@media (max-width:576px) {
    .div-about--media {
        margin: .5rem 0;
        display: block
    }
}

.blockquote p {
    font-size: 22px;
    font-weight: 300!important;
    font-style: italic
}

.blockquote {
    padding: 25px;
    margin: 2.5rem 0;
    text-align: center;
    background-color: rgba(68, 85, 103, .1)
}

.item-ourproduk:hover .ourproduk--gambar {
    border-color: #31bc9f
}

.m-card {
    padding: .5rem
}

@media (max-width:576px) {
    .m-card {
        padding: 10px
    }
    .m-none {
        display: none!important
    }
}

.m-none {
    display: block
}

.close-modal {
    display: inline-block;
    position: absolute;
    top: -10px;
    right: -10px;
    color: #fff;
    text-align: center;
    width: 35px;
    height: 35px;
    background-color: #445567;
    border-radius: 25px;
    font-size: 22px
}

.close-modal i {
    color: #fff
}

@media (max-width:576px) {
    .navbar-brand h1 {
        font-size: 15px!important;
        margin-left: 0!important;
        margin-bottom: 0;
        display: block!important;
        text-transform: uppercase
    }
}

.navbar-brand h1 {
    font-size: 22px;
    margin-left: 15px;
    margin-bottom: 0;
    display: none
}

.navbar-toggler {
    padding: 5px;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: none;
    border-radius: .25rem
}

.navbar-toggler i {
    font-size: 22px
}

@media (max-width:576px) {
    .fm-search {
        padding: 10px 0;
        margin-bottom: 15px
    }
    .wm-100 {
        width: 100%!important
    }
    .mt-mobile {
        margin-top: 70px!important
    }
}

.wm-100 {
    width: auto
}

.mt-mobile {
    margin-top: 50px
}

@media (max-width:576px) {
    .m-trans {
        background-color: transparent!important
    }
    .pm-mobile {
        padding: 10px 25px!important
    }
    .mb-mobile {
        margin-bottom: 15px
    }
    .p5-mobile {
        padding: 10px!important
    }
    .nope-mobile {
        padding: 0
    }
    .widget-kontak p {
        font-size: 15px
    }
    .margin-mo {
        margin-bottom: 15px!important
    }
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

@media (max-width:576px) {
    .lead {
        font-size: 15px;
        font-weight: 300
    }
}