@font-face {
    font-family: "Dosis-Bold";
    src: url("fonts/Dosis-Bold.ttf");
}

@font-face {
    font-family: "Dosis-Medium";
    src: url("fonts/Dosis-Medium.ttf");
}

@font-face {
    font-family: "Dosis-Regular";
    src: url("fonts/Dosis-Regular.ttf");
}

@font-face {
    font-family: "Dosis-Semibold";
    src: url("fonts/Dosis-SemiBold.ttf");
}

@font-face {
    font-family: "poppins";
    src: url("fonts/Poppins-Regular.ttf");
}

@font-face {
    font-family: "poppins-bold";
    src: url("fonts/Poppins-Bold.ttf");
}

@font-face {
    font-family: "poppins-medium";
    src: url("fonts/Poppins-Medium.ttf");
}

* {
    font-family: "poppins", "Sans-Serif";
    transition: all 0.26s !important;
}

.uppercase {
    text-transform: uppercase;
}

.border-bot1.contact span.float-end {
    padding-top: 5px;
    font-size: 16px;
}

p {
    font-size: 14px;
}

.pe-6 {
    padding-right: 6rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title,
a {
    font-family: "Dosis-Medium", "sans-serif";
}

h6 {
    font-family: "Dosis-Medium", "sans-serif";
    text-transform: initial;
}

h1.reg,
h2.reg,
h3.reg,
h4.reg,
h5.reg,
h6.reg,
.title.reg,
a.reg {
    font-family: "Dosis-Regular", "sans-serif";
}

h1 {
    font-size: 64px;
}

h2 {
    font-size: 44px;
}

h3 {
    font-size: 32px;
}

.navbar.bg-grad-dark {
    background: rgb(0, 0, 0);
    background: linear-gradient(
        0deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.6) 100%
    );
}

nav.navbar.navbar-expand-lg.bg-grad-dark.fixed-top.pb-5.pt-3 {
    padding-bottom: 20px !important;
}

.px-6 {
    padding-left: 160px;
    padding-right: 160px;
}

.px-7 {
    padding-left: 6rem;
    padding-right: 6rem;
}

.border-bot1 {
    border-bottom: 1px solid #cdcdcd;
    padding: 10px 0px 10px 20px;
}

.navbar-expand-lg .navbar-nav li.nav-item {
    width: 100%;
    font-size: 18px;
    text-align: center;
    padding-top: 7px;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding: 3px 10px;
    color: white;
    display: inline-block;
}

.navbar-expand-lg .navbar-nav .nav-link:hover,
.navbar-expand-lg .navbar-nav .nav-link.active {
    background: #f77e0a;
    padding: 3px 10px;
    border-radius: 5px;
}

nav.navbar ul.navbar-nav {
    width: 100%;
    padding-left: 30px;
}

nav.navbar .border-bot1.contact {
    padding: 7px 0px 7px 30px;
    position: absolute;
    width: calc(100% - 80px);
    top: -36px;
    left: 55px;
}

.navbar-collapse {
    position: relative;
}

.white {
    color: white;
}

.font-18 {
    font-size: 18px;
}

.font-14 {
    font-size: 14px;
}

.font-12 {
    font-size: 12px;
}

.font-24 {
    font-size: 24px;
}

.font-20 {
    font-size: 20px;
}

.carousel-img {
    height: 85vh;
}

.carousel-img .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: top;
    object-position: center;
}

section.carousel-img #carouselHome,
section.carousel-img #carouselHome .carousel-inner {
    height: 100%;
}

section.carousel-img #carouselHome .carousel-indicators {
    margin-bottom: 2rem;
    margin-left: 117px;
    list-style: none;
    justify-content: start;
}

.carousel-indicators [data-bs-target] {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    border: 2px solid white;
    opacity: 1;
    background: transparent;
}

.carousel-indicators [data-bs-target] span {
    width: 10px;
    height: 10px;
    background: white;
    display: block;
    margin-left: 3px;
    border-radius: 50%;
}

section.carousel-img .carousel-indicators .active {
    border: 2px solid #f77e0a;
}

section.carousel-img .carousel-indicators .active span {
    background: #f77e0a;
}

.clip-path {
    clip-path: polygon(96% 20px, 100% 18%, 100% 100%, 15% 100%, 0 100%, 0 0);
    border-radius: 20px;
}

.bg-orange {
    background: #f77e0a;
}

section.section2.home-detail {
    margin-top: -100px;
}

.btn-ghost-white {
    background: transparent;
    color: white;
    border: 1px solid white;
    padding: 5px 22px;
    border-radius: 5px;
    text-decoration: none;
}

.btn-ghost-white:hover {
    background: white;
    color: #f77e0a;
}

.pos-relative {
    position: relative;
}

.clip-triangle {
    clip-path: polygon(0 0, 48% 0, 100% 100%);
}

.clip-triangle.abso-bottom {
    width: 70px;
    height: 50px;
    position: absolute;
    bottom: -45px;
    z-index: -1;
    left: 200px;
}

.rounded-triangle.abso-top {
    position: absolute;
    top: 0;
    right: 150px;
}

.rounded-triangle.abso-top:before {
    content: "";
    width: 40px;
    height: 40px;
    background: #f77e0a;
    position: absolute;
    -webkit-transform: translateX(0) rotate(0deg);
    transform: translateX(0) rotate(0deg);
    top: 21px;
    right: -54px;
    border-radius: 0 20px 0 0;
}

.container {
    max-width: 1140px;
}

.service-content .bg-orange.rounded {
    border-radius: 30px !important;
    overflow: hidden;
    height: auto;
}

.btn-ghost-black {
    background: white;
    border: 1px solid #000;
    padding: 5px 22px;
    border-radius: 5px;
    text-decoration: none;
    border-radius: 30px;
    color: #000;
    font-size: 14px;
}

.btn-ghost-black:hover {
    background: #f77e0a;
    color: white;
    border: 1px solid #f77e0a;
}

.shadowy-bg {
    box-shadow: 2px 0px 15px -6px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 2px 0px 15px -6px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 2px 0px 15px -6px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    min-height: 307px;
}

.bg-gray {
    background: #f5f5f5;
}

span.orange-shape.me-1 {
    width: 20px;
    height: 15px;
    display: inline-block;
    background: #f77e0a;
    border-radius: 20px;
    margin-bottom: 8px;
}

a.thumb-client {
    background: white;
    display: block;
    text-align: center;
    height: 90px;
    padding: 15px;
    border-radius: 15px;
}

.section4.client-list {
    height: 460px;
}

.footer-clip1 {
    clip-path: polygon(0 31%, 100% 0, 100% 100%, 0% 100%);
    background: rgb(39, 76, 196);
    background: radial-gradient(
        circle,
        rgba(39, 76, 196, 1) 12%,
        rgba(26, 29, 75, 1) 100%
    );
    overflow: hidden;
    height: auto;
    padding-bottom: 15px !important;
    position: relative;
    z-index: 1;
}

footer {
    margin-top: -90px;
    position: relative;
    z-index: 2;
}

.abso-orange-footer {
    clip-path: polygon(0 47%, 90% 0, 100% 100%, 0% 100%);
    background: #f77e0a;
    position: absolute;
    z-index: 0;
    top: -18px;
    height: 120px;
    width: 100%;
}

.fixed-chat {
    position: fixed;
    bottom: 70px;
    right: 15px;
    padding: 8px 10px;
    color: white !important;
    border-radius: 8px;
    background: #38af38;
    text-decoration: none;
    z-index: 10;
    background: linear-gradient(0deg, rgb(56 175 56) 0%, rgb(56 175 56) 100%);
}

.fixed-chat:hover {
    transform: scale(1.2);
    box-shadow: 2px 0px 15px -4px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 2px 0px 15px -4px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 2px 0px 15px -4px rgba(0, 0, 0, 0.5);
    right: 30px;
    background: linear-gradient(0deg, rgb(36 82 36) 0%, rgb(56 175 56) 100%);
}

.navbar .navbar-brand img {
    width: 126px;
}

.navbar .navbar-brand {
    margin-right: -26px;
}

footer .float-end img {
    width: 80px;
    filter: invert(1);
    margin-bottom: 10px;
}

p.white b {
    color: white;
}

.orange {
    color: #f77e0a;
}

.min-1vh {
    min-height: 100vh;
}

.abso-full-bg img {
    width: 100%;
    height: 102vh;
    object-fit: cover;
    object-position: top;
}

figure.abso-full-bg {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: -1;
}

.backdrop-blur {
    backdrop-filter: blur(8px);
}

.below-navbar {
    padding-top: 178px;
}

.about-us .col-9.backdrop-blur,
.our-services .col-9.backdrop-blur,
.blog-sect .col-9.backdrop-blur,
.contact-us .col-9.backdrop-blur {
    min-height: 520px;
    border: 1px solid #bdbdbd;
    border-radius: 30px;
    padding-top: 50px !important;
    background: rgba(255, 255, 255, 0.6);
    padding-bottom: 120px !important;
}

.contact-us .col-9.backdrop-blur .bold {
    font-weight: 700;
}

.client-logo img {
    width: 100%;
    border-radius: 23px;
}

a.client-logo:hover img {
    box-shadow: 2px 0px 15px -2px rgba(0, 0, 0, 0.38);
    -webkit-box-shadow: 2px 0px 15px -2px rgba(0, 0, 0, 0.38);
    -moz-box-shadow: 2px 0px 15px -2px rgba(0, 0, 0, 0.38);
}

.bg-white {
    background: white;
}

.our-services .shadowy-bg {
    min-height: 280px;
}

.our-services .col-10.backdrop-blur {
    height: 540px;
}

.our-services figure img {
    object-position: center;
}

.blog-thumb .blog-img img {
    width: 210px;
    height: 170px;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

.blog-thumb .blog-img {
    margin-bottom: 0;
    margin-right: 20px;
}

.blog-thumb {
    border-radius: 20px;
    overflow: hidden;
    height: auto;
}

.float-start.judul-desk {
    max-width: calc(100% - 230px);
}

.dark-btn {
    background: #707070;
    padding: 5px 8px;
    border-radius: 15px;
    text-decoration: none;
}

.dark-btn.small-btn {
    font-size: 12px;
    color: white;
    margin-top: 15px;
}

.dark-btn:hover {
    background: #f77e0a;
}

a.nav-link {
    text-transform: uppercase;
}

.contact-us input,
.contact-us textarea {
    font-size: 12px;
    border-radius: 10px;
    border: transparent;
    box-shadow: 2px 0px 7px -2px rgba(0, 0, 0, 0.38);
    -webkit-box-shadow: 2px 0px 7px -2px rgba(0, 0, 0, 0.38);
    -moz-box-shadow: 2px 0px 7px -2px rgba(0, 0, 0, 0.38);
    padding: 8px 15px;
}

.bg-dim-white {
    background: rgba(155, 155, 155, 0.3);
}

.contact-us .bg-dim-white {
    border-radius: 15px;
}

.orange-btn {
    font-size: 12px;
    text-decoration: none;
    background: #f77e0a;
    padding: 8px;
    color: white;
    text-align: center;
    border-radius: 10px;
}

.orange-btn:hover {
    box-shadow: 2px 0px 7px -2px rgba(0, 0, 0, 0.38);
    -webkit-box-shadow: 2px 0px 7px -2px rgba(0, 0, 0, 0.38);
    -moz-box-shadow: 2px 0px 7px -2px rgba(0, 0, 0, 0.38);
    color: white;
}

.contact-info p span.info-title {
    width: 90px;
    display: inline-block;
}

.pos-abso.detail-services .bg-gray {
    width: 340px;
    padding: 35px 30px;
    border-radius: 45px;
    min-height: 540px;
    padding-bottom: 130px;
}

.pos-abso.detail-services {
    position: absolute;
    z-index: 1;
    width: auto;
    top: 220px;
}

.our-services.page-detail .col-9.backdrop-blur {
    min-height: 630px;
}

.detail-submenu a.active {
    background: #f77e0a;
    color: white !important;
    border-color: #f77e0a;
}

.detail-submenu button {
    font-size: 12px !important;
}

.no-border {
    border: none;
}

.our-services.page-detail .abso-full-bg img {
    width: 100%;
    height: 115vh;
    object-fit: cover;
    object-position: top;
}

.detail-per-service img {
    width: 100%;
}

.our-services.page-detail .row.align-items-center {
    min-height: 400px;
}

.our-services.page-detail .container.below-navbar.pos-abso {
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    z-index: 1;
}

.content-adsnya .col-6 img {
    width: 100%;
}

.blog-info .sub-headline {
    padding-left: 15px;
}

section.blog-sect.blog-detail .col-9.backdrop-blur.px-5.py-4 {
    min-height: initial;
    padding-bottom: 40px !important;
    height: auto;
    margin-bottom: 120px;
}

.our-services.our-client .col-9.backdrop-blur.px-5.py-4 {
    padding-top: 20px !important;
}

.font-10 {
    font-size: 10px;
}

.client-porto figure,
.client-porto figure img {
    width: 100%;
    height: 135px;
    object-fit: cover;
    object-position: center;
}

.bg-abso-zero {
    position: absolute;
    width: 100%;
    height: 100vh;
    z-index: 0;
    top: 0;
    left: 0;
}

.bg-abso-zero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

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

.logo-abso-center img {
    width: 230px;
    height: auto;
}

.start-page .container-fluid.pos-relative {
    height: 100vh;
}

.index-5 {
    z-index: 5;
}

.start-page button.float-end.pos-abso-btn {
    position: absolute;
    right: -25px;
    background: transparent;
    border: none;
    font-size: 32px;
    padding: 0 !important;
}

.text-co {
    padding-top: 12px;
}

.start-page.showbg .container-fluid.index-5 {
    background: rgba(0, 0, 0, 0.65);
}

.start-page.showbg #show-menu {
    display: none;
}

.start-page #close-menu {
    display: none;
}

.start-page.showbg #close-menu {
    display: block;
}

.start-page .menunya {
    display: none;
    clear: both;
    overflow: hidden;
    height: auto;
}

.start-page.showbg .menunya {
    display: block;
}

.showbg .text-co {
    color: white;
}

button#close-menu {
    font-size: 36px;
    margin-top: -4px;
    margin-right: -2px;
}

.menunya a {
    display: inline-block;
    text-decoration: none;
}

.menunya a:hover {
    color: #f77e0a;
}

.email-service .col-12 figure,
.email-service .col-12 figure img {
    width: 100%;
}

.informasi2 .sub-info span:first-child {
    width: 90px;
    font-weight: 700;
    display: inline-block;
}

.informasi2 .sub-info span {
    font-size: 11px;
    display: block;
    float: left;
}

.font-11 {
    font-size: 11px;
}

ul.numeric {
    list-style: auto;
    padding: 0 12px;
}

.informasi2 .sub-info span:last-child {
    width: calc(100% - 90px) !important;
}

.informasi2 {
    overflow: hidden;
    height: auto;
}

.col-12.brand-experience {
    margin-top: -30px;
}

.our-services.email-service .col-9.backdrop-blur {
    min-height: 830px;
}

img.arrow-4 {
    height: 28px;
}

.client-porto .col-4 p.font-10 {
    text-align: center;
}

.client-porto.tirai-porto figure,
.client-porto.tirai-porto figure img {
    height: auto;
}

.client-porto.tirai-porto figure,
.client-porto.tirai-porto figure img {
    height: 255px;
    width: 100%;
    object-fit: contain;
}

@media not all and (min-resolution: 0.001dpcm) {
    .clip-triangle {
        clip-path: polygon(0 0, 48% 0, 100% 100%);
        display: none;
    }
}

@media (max-width: 1024px) {
    .rounded-triangle.abso-top:before {
        top: 20px;
        right: -65px;
    }
    section.carousel-img #carouselHome .carousel-indicators {
        margin-bottom: 2rem;
        margin-left: 14px;
    }

    .carousel-img .carousel-item img {
        width: auto;
        height: 87vh;
        object-fit: cover;
        object-position: top;
    }

    .section3 .col-4.px-4.service-content.h-100 {
        max-width: 40%;
        flex: 50%;
    }

    .start-page .container .col-12.pt-5 {
        padding-right: 4rem;
    }

    .start-page button.float-end.pos-abso-btn {
        position: absolute;
        right: 2.5rem;
    }

    .content-adsnya {
        padding-left: 15px;
    }
    .section4.client-list h2.uppercase {
        padding-left: 30px;
    }
}

@media (max-width: 768px) {
    .home-detail .container {
        width: 87%;
    }

    .rounded-triangle.abso-top:before {
        top: 20px;
        right: -94px;
        height: 60px;
    }

    .home-detail .row.align-items-center .col-9.ps-5.pe-3,
    .home-detail .row.align-items-center .col-3.pe-5.ps-3 {
        flex: 100%;
        max-width: 100%;
        margin-bottom: 20px;
        padding: 0 50px !important;
    }

    .home-detail .row.align-items-center .col-9.ps-5.pe-3 p {
        text-align: center;
    }

    .home-detail .row.align-items-center .col-9.ps-5.pe-3 p {
        text-align: center;
    }

    .home-detail .row.align-items-center .col-3.pe-5.ps-3 a {
        float: inherit !important;
        margin: 0 auto;
        display: block;
        text-align: center;
        width: 190px;
    }

    .section3 .col-4.px-4.service-content.h-100 {
        max-width: 50%;
        flex: 50%;
    }

    div#navbarSupportedContent.show {
        padding-bottom: 180px !important;
        margin-top: 35px;
    }

    span.navbar-toggler-icon i {
        font-size: 36px;
        color: white;
    }

    button.navbar-toggler i.bi-list {
        display: none;
    }

    button.navbar-toggler.collapsed i.bi-list {
        display: block;
    }

    button.navbar-toggler.collapsed i.bi-x {
        display: none;
    }

    .navbar-toggler:focus {
        text-decoration: none;
        outline: 0;
        box-shadow: none;
    }

    .container.below-navbar .col-9.backdrop-blur.px-5.py-4 {
        flex: 90%;
        max-width: 90%;
        padding: 46px 20px 120px !important;
    }
    .pos-abso.detail-services {
        position: relative;
        top: 40px;
        padding: 0 27px !important;
    }

    .pos-abso.detail-services .bg-gray {
        width: 100%;
        min-height: auto;
        height: auto;
        padding: 40px;
        border-radius: 45px 45px 5px 5px;
    }

    .detail-submenu
        a.btn-ghost-black.w-100.px-3.py-2.mb-2.d-block.text-start.font-12 {
        width: 48% !important;
    }

    .detail-submenu
        a.btn-ghost-black.w-100.px-3.py-2.mb-2.d-block.text-start.font-12:nth-child(odd) {
        margin-right: 2%;
    }

    .col-9.backdrop-blur.px-5.py-4 .service-content.col-9 {
        max-width: 100%;
        flex: 100%;
        margin-top: 20px;
    }

    .below-navbar {
        padding-top: 138px;
    }

    .col-9.backdrop-blur.px-5.py-4 .service-content.col-9 .col-8 {
        flex: 100%;
        max-width: 100%;
        margin: 20px 0 30px;
    }

    .client-porto .col.p-2 {
        flex: 33.33%;
    }
}

@media (max-width: 767px) {
    .our-client .col-9.backdrop-blur.px-5.py-4 .col-2 {
        max-width: 33.33%;
        flex: 33.33%;
    }
    .below-navbar {
        padding-top: 178px;
    }

    .container.below-navbar .col-9.backdrop-blur.px-5.py-4 {
        flex: 100%;
        max-width: 100%;
        padding: 26px 20px 120px !important;
    }

    .our-client .col-9.backdrop-blur.px-5.py-4 .col-10 h5 {
        text-align: center;
    }

    .client-porto .col.p-2 {
        flex: 80%;
        max-width: 80%;
        margin: 0 auto;
    }

    .home-detail .container {
        width: 100%;
        padding: 0;
    }

    .home-detail .col-10.px-5.bg-orange.clip-path.py-5 {
        max-width: 100%;
        flex: 100%;
    }

    .home-detail .col-10.px-5.bg-orange.clip-path.py-5 {
        max-width: 100%;
        flex: 100%;
    }

    .clip-path {
        clip-path: polygon(96% 20px, 100% 0%, 100% 100%, 15% 100%, 0 100%, 0 0);
        border-radius: 20px;
    }

    .section3 .col-4.px-4.service-content.h-100 {
        flex: 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }

    section.bg-gray.section4.client-list.py-5 .col-2.p-2 {
        flex: 33.33%;
        max-width: 33.33%;
    }

    section.bg-gray.section4.client-list.py-5 {
        padding: 15px 0 140px !important;
        overflow: hidden;
        height: auto;
    }

    section.bg-gray.section4.client-list.py-5 {
        padding: 15px 0 140px !important;
        overflow: hidden;
        height: auto;
    }

    .section4.client-list h2.uppercase {
        padding-left: 30px;
        font-size: 36px;
        padding-top: 30px;
    }

    div#navbarSupportedContent {
        padding: 0 !important;
    }

    nav .container.px-5 {
        padding: 0 15px !important;
    }

    .navbar .navbar-brand img {
        width: 100px;
    }

    nav.navbar .border-bot1.contact {
        width: 97%;
        padding: 0;
        left: 2%;
        top: -5px;
    }

    nav.navbar ul.navbar-nav {
        width: 100%;
        padding: 30px 0 0 !important;
    }

    .navbar.bg-grad-dark {
        background: rgb(0, 0, 0);
        background: linear-gradient(
            0deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.78) 100%
        );
    }

    .our-services .shadowy-bg {
        min-height: initial;
        padding-bottom: 35px !important;
    }

    .our-services .col-6 {
        flex: 100%;
        margin-bottom: 30px;
    }

    .our-services.page-detail .pos-abso.detail-services {
        width: 100%;
        padding: 0 !important;
    }

    .our-services.page-detail .container.below-navbar {
        padding-left: 0;
        padding-right: 0;
        padding-top: 110px !important;
    }

    .container.below-navbar .row.justify-content-center {
        margin: 0 !important;
    }

    .pos-abso.detail-services .bg-gray {
        padding: 40px 20px;
    }

    .content-adsnya {
        padding-left: 0;
    }

    .blog-thumb .blog-img img {
        width: 100%;
        height: auto;
    }

    .blog-thumb .blog-img {
        margin-bottom: 0;
        margin-right: 0;
    }

    .container.below-navbar {
        padding-left: 0;
        padding-right: 0;
    }

    .float-start.judul-desk {
        max-width: inherit;
        width: 100%;
        margin-top: 20px;
    }

    .contact-us .col-5 {
        flex: 100%;
        max-width: 100%;
        padding: 15px !important;
        margin-bottom: 20px;
    }

    .start-page button.float-end.pos-abso-btn {
        position: absolute;
        right: 1rem;
    }

    .start-page .container .col-12.pt-5 {
        padding-right: 2.2rem;
        padding-top: 2rem !important;
    }
    .client-porto.tirai-porto .col-4 {
        flex: 70%;
        max-width: 60%;
        margin: auto;
    }
}

@media not all and (min-resolution: 0.001dpcm) {
    @media (max-width: 764px) {
        .our-services .col-6,
        .media-service .col-4 {
            flex: 100%;
            margin-bottom: 30px;
        }
    }
}
