@import url('https://fonts.cdnfonts.com/css/poppins');

body {
    font-family: 'Poppins', sans-serif;
}

.navbar {
    padding-top: 20px;
    padding-bottom: 20px;
    transition: background 0.2s ease;
}

.navbar.bg-white {
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.05);
    transition: background 0.2s ease;
}

.navbar.bg-white .navbar-brand small {
    color: #8E8E8F;
}

.navbar .navbar-brand img {
    height: 50px;
}

.navbar .navbar-brand span {
    color: #2A62FE;
    font-size: 20px;
    line-height: 0x;
    font-weight: 600;
}

.navbar .navbar-brand small {
    font-size: 16px;
    color: #fff;
    line-height: 18px;
    font-weight: 300;
}

.navbar .nav-item {
    margin-left: 20px;
}

.navbar .nav-item .nav-link.active {
    color: #000;
    font-weight: 500;
}

.navbar .nav-item .nav-link {
    color: #8E8E8F;
    font-weight: 300;
}

.jumbotron {
    max-height: 100vh;
}

.jumbotron .carousel img {
    height: 100vh;
    object-fit: cover;
    object-position: center;
}

.jumbotron .carousel .carousel-item {
    position: relative;
    height: 100vh;
}

.jumbotron .carousel .carousel-caption {
    position: absolute;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.66) 28.7%, rgba(0, 0, 0, 0.30) 75.88%, rgba(229, 229, 241, 0.00) 97.65%);
    left: 0;
    right: 0;
    bottom: 0;
    height: 50vh;
}

.jumbotron .carousel .carousel-caption .carousel-caption-detail {
    position: relative;
    bottom: -3rem;
    left: 5rem;
    text-align: left;
}

.jumbotron .carousel .carousel-caption .carousel-caption-detail h5 {
    font-size: 40px;
    max-width: 800px;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.jumbotron .carousel .btn,
.sambutan .btn {
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 18px;
}

.jumbotron .carousel .btn i.fa,
.sambutan .btn i.fa {
    margin-left: 3px;
    padding: 3px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    font-size: 10px;
    height: 20px;
    width: 20px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.jumbotron .carousel-indicators {
    justify-content: end;
    bottom: 3rem;
    right: 0rem;
}

.jumbotron .carousel-indicators button {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #8E8E8F;
    border: none;
    margin: 0 5px;
}

.jumbotron .carousel-indicators button.active {
    background: #2A62FE;
    width: 40px;
    border-radius: 20px;
}

.sambutan {
    padding-top: 50px;
    padding-bottom: 100px;
}

.sambutan img {
    border-radius: 25px;
    width: 50%;
}

.sambutan h3 {
    font-size: 38px;
    font-weight: 300;
    margin-bottom: 1.5rem;
}

.sambutan h3 b {
    font-weight: 500;
}

.sambutan p {
    color: #8E8E8F;
    font-weight: 300;
    font-size: 16px;
}

.program {
    padding-bottom: 100px;

}

.program ul {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-left: 30px;
    position: relative;
}

.program ul li::before {
    content: "\f058";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
    color: #2A62FE;
    position: absolute;
    left: -35px;
    font-size: 20px;
}

.program ul li {
    margin-bottom: 30px;
}

.program ul li h3 {
    font-size: 20px;
    font-weight: 600;
}

.program ul li p {
    color: #8E8E8F;
    font-weight: 300;
    font-size: 16px;
}

.program img {
    width: 100%;
    border-radius: 25px;
}

.position-relative {
    position: relative;
}

.program .btn {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    padding: 12px 24px;
    color: #2A62FE;
    font-size: 14px;
    border-radius: 25px;
}

.program .btn i.fa {
    margin-left: 3px;
    padding: 3px;
    border-radius: 50%;
    background: rgba(42, 98, 254, 0.25);
    font-size: 10px;
    height: 20px;
    width: 20px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #2A62FE;
}

.program .btn.btn-white {
    background-color: #fff;
}

.infografis {
    padding-top: 50px;
    padding-bottom: 100px;
}

.infografis .container {
    background-color: #F2F5FE;
    padding: 100px;
    border-radius: 65px;
    overflow: hidden;
}

.infografis .container h3 {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.5;
}

.infografis .card {
    border: none;
    border-radius: 25px;
    margin-bottom: 20px;
}

.infografis .card img {
    width: 50px;
    margin-bottom: 15px;
}

.infografis .card h5 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.infografis .card p {
    color: #8E8E8F;
    font-weight: 300;
    font-size: 14px;
}

.product,
.wisata {
    padding-bottom: 100px;
}

.product h3,
.wisata h3,
.content.legal-product h3,
.content.detail-legal-product h3,
.content.apbdesa h3,
.content.letters h3 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 12px;
}

.product p,
.wisata p,
.content.legal-product p,
.content.detail-legal-product p,
.content.apbdesa p,
.content.letters p {
    font-size: 16px;
    color: #8E8E8F;
    font-weight: 300;
}

.product .nav-link {
    color: #8E8E8F;
    font-weight: 300;
}

.product .nav-tabs,
.product .nav-tabs .nav-link {
    border: none;
}

.product .nav-tabs .nav-item.show .nav-link,
.product .nav-tabs .nav-link.active {
    color: #2A62FE;
    font-weight: 500;
    position: relative;
}

.product .nav-tabs .nav-link.active::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 4px;
    background: #2A62FE;
    border-radius: 3px 3px 0 0;
}

.product-item {
    position: relative;
    padding-right: 1.5rem;
}

.product-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
}

.product-item h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #181818;
}

.product-item p {
    font-size: 16px;
    color: #8E8E8F;
    font-weight: 400;
}

.product-item .btn {
    padding: 10px 20px;
}

.product-item .btn.btn-primary {
    background-color: #2A62FE;
    border-radius: 25px;
}

.product-item .product-category {
    position: absolute;
    top: 1.25rem;
    right: 2.25rem;
    background-color: #fff;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
}

.slick-slide {
    height: unset !important;
}

.product a {
    color: #000;
    font-size: 16px;
    font-weight: 500;
}

.product a i {
    margin-left: 5px;
}

.berita {
    padding-bottom: 100px;
}

.berita h3 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 0;
}

.berita .btn {
    padding: 16px 32px;
    border-radius: 25px;
}

.berita button.btn i {
    display: none;
    margin-left: 5px;
    padding: 10px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .25);
    font-size: 12px;
}

.news-item {
    position: relative;
    overflow: hidden;
    border-radius: 25px;
    margin-bottom: 1rem;
}

.news-item img {
    width: 100%;
    object-fit: cover;
    border-radius: 25px;
    height: 400px;
}

.news-item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 500px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.66) 28.7%, rgba(0, 0, 0, 0.30) 75.88%, rgba(229, 229, 241, 0.00) 97.65%);
    border-radius: 25px;
    z-index: 0;

}

.news-item .news-content {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    z-index: 1;
}

.news-item .news-content h4 {
    color: #fff;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 600;
}

.news-item .news-info,
.content.news .news-item-detail .news-info {
    color: rgba(255, 255, 255, 0.5);
    display: flex;
    font-size: 16px;
    align-items: center;
}

.news-item .news-info p,
.news-item .news-info i {
    margin-bottom: 0;
    margin-right: 10px;
}

.news-item .news-info p {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.news-item .news-info i {
    color: #0049FF;
    font-size: 12px;
}

.content.news .news-item-detail .news-info i {
    color: #2A62FE;
    font-size: 8px;
}

.wisata img {
    width: 100%;
    height: 500px;
    border-radius: 16px;
    object-fit: cover;
    object-position: center;
}

.wisata h5 {
    font-size: 20px;
    font-weight: 600;
}

.wisata span {
    color: #8E8E8F;
    font-weight: 300;
    font-size: 16px;
}

.wisata-item {
    padding-right: 1.5rem;
}

.wisata-item a {
    color: #000;
    text-decoration: none;
}

.aspirasi {
    background-color: #F2F5FE;
    padding-top: 100px;
    padding-bottom: 100px;
}

.aspirasi .alert.alert-info {
    background-color: #2A62FE26;
    border: none;
    color: #2A62FE;
    border-radius: 25px;
    display: inline-block;
    padding: 10px 16px;
}

.aspirasi .alert.alert-info p {
    font-size: 14px;
}

.aspirasi .form-control {
    border-radius: 8px;
    border: none;
    padding: 10px 16px;
}

.aspirasi .input-group-text {
    border: none;
    background-color: #fff;
    color: #8E8E8F;
    padding: 0;
    padding-left: 16px;
}

.aspirasi .btn.btn-primary {
    background-color: #2A62FE;
    padding: 16px;
    border-radius: 25px;
}

.footer {
    border-top: 1.5px solid #E7E7E9;
    padding-top: 75px;
    background-color: #FBFBFB;
    position: relative;
    z-index: 999;
}

.footer img {
    width: 50px;
}

.footer span {
    color: #2A62FE;
    font-size: 20px;
    font-weight: 600;
}

.footer small {
    color: #8E8E8F;
    font-size: 16px;
    font-weight: 300;
}

.footer h4 {
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.footer p {
    color: #8E8E8F;
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 0;
}

.footer ul.sitemap {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 20px;
}

.footer ul.sitemap li {
    margin-bottom: 15px;
}

.footer ul.sitemap li a {
    text-decoration: none;
    color: #8E8E8F;
}

.footer ul.social-media {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 20px;
    display: flex;
}

.footer ul.social-media li {
    margin-right: 15px;
}

.footer ul.social-media li a {
    color: #2A62FE;
    border-radius: 50%;
    border: 1px solid #F0EFF2;
    padding: 15px;
    height: 40px;
    width: 40px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 16px;
}

.footer .footer-bottom {
    background-color: #2A62FE;
    padding-top: 25px;
    padding-bottom: 25px;
    margin-top: 50px;
}

.footer .footer-bottom p {
    color: #fff;
    font-size: 14px;
}

.footer .footer-bottom ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.footer .footer-bottom ul li {
    margin-right: 20px;
}

.footer .footer-bottom ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
}

.text-grey {
    color: #8E8E8F !important;
}

.content {
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
    z-index: 999;
    overflow: hidden;
}

.product-main-carousel img {
    border-radius: 35px;
    height: 600px;
    width: 100%;
    object-fit: cover;
}

.product-sub-carousel img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 25px;
}

.product-detail h1 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 8px;
}

.product-detail p {
    color: #8E8E8F;
    font-size: 16px;
    font-weight: 300;
    white-space: pre-line;
}

.product-detail h3 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 4px;
}

.product-detail h3 sub {
    color: #888693;
    font-size: 16px;
    text-decoration: line-through;
    font-weight: 500;
}

.product-detail .product-contact a {
    text-decoration: none;
    color: #120D26;
}

.product-detail .product-contact a i {
    color: #8E8E8F;
    width: 40px;
    height: 40px;
    background-color: #F6F6F6;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    padding: 10px;
}

.product-detail h3.recent-product-title::before,
.news-detail h3.recent-news-title::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: 0;
    bottom: 0;
    width: 5px;
    background-color: #2A62FE;
    border-radius: 25px;
}

.product-detail h3.recent-product-title,
.news-detail h3.recent-news-title {
    font-size: 28px !important;
    font-weight: 600;
    position: relative;
}

.infografis-education-switcher,
.apbdesa-detail-switcher {
    display: flex;
    justify-content: end;
    margin-top: 1rem;
}

.infografis-detail .infografis-education-switcher a,
.apbdesa-detail-switcher a {
    width: 30px !important;
    height: 30px !important;
}

.product-detail .recent-product-switcher a,
.news-detail .recent-news-switcher a,
.infografis-detail .infografis-education-switcher a,
.apbdesa-detail-switcher a {
    font-size: 16px;
    font-weight: 300;
    text-decoration: none;
    width: 50px;
    height: 50px;
    background-color: #F6F6F6;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #120D26;
    border-radius: 50%;
}

.product-detail .recent-product-switcher a i,
.news-detail .recent-news-switcher a i,
.apbdesa-detail-switcher a i {
    margin: 0;
}

.product-detail .recent-product-switcher a.right,
.news-detail .recent-news-switcher a.right,
.infografis-detail .infografis-education-switcher a.right,
.apbdesa-detail-switcher a.right {
    background-color: #2A62FE;
    color: #FFFFFF;
}

.pagination .page-item {
    margin-right: 15px;
}

.pagination .page-link {
    height: 100%;
    display: flex;
    align-items: center;
    border: none;
    color: #8E8E8F;
}

.pagination .page-item:first-child .page-link {
    background-color: #F2F8FF;
    border-radius: 50%;
    height: 35px;
    width: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagination .page-item:last-child .page-link {
    background-color: #2A62FE;
    border-radius: 50%;
    height: 35px;
    width: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.pagination a i {
    margin: 0;
}

.pagination .page-link.active {
    background: none;
    color: #2A62FE;
}

.bg-blur-left {
    width: 450px;
    height: 450px;
    background-color: #8AEBFF;
    border-radius: 50%;
    filter: blur(78px);
    position: absolute;
    z-index: 0;
    left: -18rem;
}

.bg-blur-right {
    width: 100px;
    height: 100px;
    background-color: #8AEBFF;
    border-radius: 50%;
    filter: blur(18px);
    position: absolute;
    z-index: 0;
    right: -3rem;
    top: 1.5rem;
}

.content.news,
.content.infografis-detail {
    overflow: hidden;
    position: relative;
    z-index: 999;
}

.content.news h3,
.infografis-detail h3,
.content.visimisi h3 {
    font-size: 32px;
    font-weight: 600;
}

.content.news p.subtitle {
    color: rgba(0, 0, 0, 0.5);
    max-width: 800px;
}

.content.news ul.news-category-list {
    list-style: none;
    display: flex;
    align-items: center;
}

.content.news ul.news-category-list li {
    margin-right: 30px;
}

.content.news ul.news-category-list li.active {
    background-color: #2A62FE;
    color: #fff;
    padding: 12px 16px;
    border-radius: 25px;
}

.content.news ul.news-category-list li.active a {
    color: #fff;
}

.content.news ul.news-category-list li a {
    text-decoration: none;
    color: #8E8E8F;
    font-size: 16px;
    font-weight: 400;
}

.content.news .input-search {
    width: 400px;
}

.content.news .input-search .input-group-text,
.content.news .input-search .form-control {
    border: none;
    background-color: #F2F5FE;
}

.content.news .input-search .input-group-text {
    padding-left: 24px;
}

.content.news .input-search .form-control {
    padding: 20px;
}

.content.news .news-item-detail {
    background-color: #F2F5FE;
    display: flex;
    padding: 30px;
    border-radius: 25px;
    align-items: center;
    margin-bottom: 32px;
}

.content.news a {
    color: unset;
    text-decoration: none;
}

.content.news .news-item-detail img {
    width: 250px;
    height: 250px;
    object-fit: cover;
    border-radius: 25px;
}

.content.news .news-item-detail h4 {
    font-size: 24px;
    font-weight: 600;
}

.content.news .news-item-detail p {
    color: rgba(0, 0, 0, 0.5);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.content.news .news-item-detail .btn.btn-primary {
    background-color: #2A62FE;
    padding: 15px 25px;
    border-radius: 25px;
}

.content.news .news-item-detail .btn.btn-primary i {
    background-color: rgba(255, 255, 255, .25);
    padding: 10px;
    border-radius: 50%;
    font-size: 12px;
    margin-left: 5px;
}

.content.news-detail,
.content.legal-product,
.content.apbdesa,
.content.letters,
.content.visimisi {
    overflow: hidden;
}

.content.news-detail p.subtitle {
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 5px;
}

.content.news-detail h3 {
    font-weight: 600;
    font-size: 40px;
}

.content.news-detail img {
    border-radius: 10px;
    height: 500px;
    object-fit: cover;
    object-position: center;
}

.content.news-detail .news-detail-content {
    color: rgba(0, 0, 0, 0.5);
    font-size: 16px;
}

.recent-news-item {
    padding-right: 1.5rem;
}

.recent-news-item img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 30px;
}

.recent-news-item h4 {
    margin-top: 1rem;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.recent-news-item p {
    color: #8E8E8F;
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 0;
}

.recent-news-item a {
    background-color: #FCFDFF;
    padding: 6px 10px;
    border-radius: 50%;
    color: #000;
}

.news-detail-content .news-category {
    background-color: #F2F5FE;
    padding: 24px;
    border-radius: 25px;
}

.news-detail-content .news-category ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.news-detail-content .news-category ul li {
    margin-right: 30px;
}

.news-detail-content .news-category ul li p {
    font-size: 14px;
    margin-bottom: 0;
    color: rgba(0, 0, 0, 0.5);
}

.news-detail-content .news-category ul li h5 {
    margin-bottom: 0;
    color: #000;
    font-weight: 600;
    font-size: 18px;
}

.news-detail-content .news-share .btn.btn-primary {
    padding: 15px 30px;
    border-radius: 35px;
    font-size: 16px;
}

.news-detail-content .news-share .btn.btn-primary i,
.content.letters .btn.btn-primary i,
.content.apbdesa .btn.btn-primary i {
    margin-left: 5px;
    padding: 10px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .25);
    font-size: 12px;
}

.content.letters .btn.btn-primary i,
.content.apbdesa .btn.btn-primary i {
    padding: 7px 10px;
}

.content.tour-detail {
    overflow: hidden;
}

.content.tour-detail .carousel img {
    height: 800px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
}

.content.tour-detail .price-location {
    background-color: #F2F5FE;
    padding: 28px;
    border-radius: 25px;
    margin-top: 3rem;
}

.content.tour-detail .price-location .card {
    border: none;
    border-radius: 25px;
}

.content.tour-detail .price-location .card .card-body {
    padding: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content.tour-detail .price-location h5 {
    font-weight: 700;
    font-size: 22px;
}

.content.tour-detail .price-location h4 {
    font-weight: 700;
    font-size: 32px;
}

.content.tour-detail .price-location h6 {
    text-decoration: line-through;
    color: #8E8E8F;
    font-weight: 400;
    font-size: 14px;
}

.content.tour-detail .price-location small {
    font-size: 14px;
    font-weight: 300;
}

.content.tour-detail .price-location .location {
    border: 1px solid #F0EFF2;
    display: flex;
    padding: 14px 14px;
    border-radius: 10px;
    color: #8E8E8F;
    align-items: center;
    font-size: 14px;
    margin-bottom: 1rem;
}

.content.tour-detail .price-location iframe {
    border-radius: 30px;
}

.content.tour-detail .price-location .map-location {
    position: relative;
}

.content.tour-detail .price-location .map-location a {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.content.tour-detail .price-location .map-location .btn.btn.btn-primary {
    background-color: #384BFF;
    padding: 10px 24px;
}

.content.tour-detail .alert.alert-info {
    border-radius: 25px;
    background: rgba(42, 98, 254, 0.15);
    border: none;
    padding: 8px 16px;
}

.content.tour-detail .alert.alert-info p {
    color: #2A62FE;
    font-size: 14px;
}

.content.tour-detail h3 {
    font-weight: 600;
    font-size: 32px;
}

.content.tour-detail p {
    color: rgba(0, 0, 0, 0.5);
    font-size: 16px;
    font-weight: 300;
}

.content.tour-detail .btn.btn-primary {
    padding: 16px 32px;
    border-radius: 25px;
    background-color: #2A62FE;
}

.content.tour-detail .btn.btn-primary.visit i {
    margin-left: 5px;
    padding: 10px 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .25);
    font-size: 12px;
}

.content.infografis-detail .alert.alert-info,
.content.apbdesa .alert.alert-info {
    border-radius: 25px;
    background: rgba(42, 98, 254, 0.15);
    border: none;
    padding: 8px 16px;
}

.content.infografis-detail .alert.alert-info p,
.content.apbdesa .alert.alert-info p {
    color: #2A62FE;
    font-size: 14px;
}

.content.infografis-detail .card.education {
    border: none;
    background-color: #2A62FE;
    border-radius: 25px;
}

.content.infografis-detail .card.education .card-body {
    padding: 70px;
    color: #fff;
}

.content.infografis-detail .card.education img {
    width: 45px;
}

.content.infografis-detail .card.education .image-circle {
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content.infografis-detail .card.education h4 {
    font-size: 20px;
    margin-bottom: 5px;
}

.content.infografis-detail .card.education p {
    font-weight: 300;
    color: rgba(255, 255, 255, 0.80);
    margin-bottom: 0;
}

.content.infografis-detail .infografis-item {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

.content.infografis-detail .education-slider .slick-dots {
    position: absolute;
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    margin-top: 1rem;
    justify-content: center;
    left: 0;
    right: 0;
}

.content.infografis-detail .education-slider .slick-dots li {
    margin-right: 3px;
    margin-left: 3px;
    position: relative;
    width: 15px;
    height: 15px;
    overflow: hidden;
    border-radius: 50%;
}

.content.infografis-detail .education-slider .slick-dots li.slick-active {
    width: 50px;
    height: 15px;
    border-radius: 10px;
}

.content.infografis-detail .education-slider .slick-dots li.slick-active::before {
    background-color: #2A62FE;
    width: 50px;
    height: 15px;
    border-radius: 10px;
}

.content.infografis-detail .education-slider .slick-dots li::before {
    content: "";
    position: absolute;
    background-color: #F2F5FE;
    opacity: 1;
    transition: all 0.3s ease;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    cursor: pointer;
}

.content.infografis-detail .education-slider .slick-dots li button {
    background-color: #F2F5FE;
    outline: none;
    border: none;
}

.content.infografis-detail p {
    font-size: 16px;
    color: #8E8E8F;
    font-weight: 300;
}

.infografis-penduduk {
    background-color: #2A62FE;
    padding: 100px;
    color: #fff;
    margin-top: 2rem;
    margin-bottom: 100px;
}

.infografis-penduduk img {
    width: 65px;
}

.infografis-penduduk h4 {
    font-size: 28px;
    margin-bottom: 5px !important;
    font-weight: 600;
}

.infografis-penduduk span {
    font-size: 14px;
    font-weight: 300;
}

.infografis-pekerjaan img {
    width: 50px;
}

.infografis-pekerjaan .card {
    border: none;
    background-color: #F2F5FE;
    border-radius: 25px;
    margin-bottom: 1.5rem;
}

.infografis-pekerjaan .card .card-body {
    padding: 30px;
}

.infografis-pekerjaan .card .card-body .image-circle {
    background-color: #fff;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.infografis-pekerjaan .card .card-body h4 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 7px !important;
}

.infografis-pekerjaan .card .card-body span {
    color: #8E8E8F;
    font-size: 14px;
    font-weight: 300;
}

.content.visimisi .container,
.tour-detail .container {
    position: relative;
    z-index: 1;
}

.content.visimisi h3 {
    line-height: 1.25;
    margin-bottom: 1rem;
}

.content.visimisi p.subtitle {
    color: rgba(0, 0, 0, 0.5);
    font-weight: 300;
    max-width: 800px;
    margin: auto;
    margin-bottom: 2rem;
}

.content.visimisi .btn.btn-primary,
.content.legal-product .btn.btn-primary {
    padding: 12px 32px;
    border-radius: 25px;
    background-color: #2A62FE;
}

.content.visimisi .card {
    border-radius: 25px;
}

.content.visimisi .visi-card {
    background-color: #F2F5FE;
    border-radius: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 45px;
}

.content.visimisi .visi-card i {
    margin-bottom: 1rem;
    font-size: 24px;
    background-color: #2A62FE;
    color: #fff;
    padding: 20px;
    border-radius: 50%;
}

.content.visimisi .visi-card h4 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 1rem;
}

.content.visimisi p.visi-content {
    margin-bottom: 0;
    color: rgba(0, 0, 0, 0.5);
    font-weight: 300;
}

.content.visimisi .organisasi {
    margin-top: 2rem;
}

.content.visimisi .organisasi h4 {
    font-size: 20px;
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 3px;
}

.content.visimisi .organisasi p {
    color: rgba(0, 0, 0, 0.5);
    font-weight: 300;
    margin-bottom: 0;
}

.content.visimisi .organisasi .organisasi-item {
    margin-bottom: 2rem;
}

.content.visimisi .organisasi .organisasi-item img {
    height: 300px;
    object-fit: cover;
    object-position: center;
    border-radius: 25px;
}

.content.legal-product .card,
.content.detail-legal-product .card {
    border-radius: 25px;
    border-color: #F2F5FE;
    background-color: #fff;
    padding: 30px;
    margin-bottom: 1.5rem;
}

.content.legal-product .card img {
    width: 50px;
    background-color: #F2F5FE;
    margin-right: 1rem;
    border-radius: 50%;
    padding: 10px;
}

.content.legal-product .card h4 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.content.legal-product .card p {
    font-weight: 300;
    font-size: 16px;
}

.content.legal-product .card .btn.btn.btn-primary {
    background-color: #2A62FE;
    padding: 16px 19px;
    border-radius: 50%;
    font-size: 18px;
}

.content.detail-legal-product .card p {
    font-size: 14px;
    margin-bottom: 10px;
}

.content.detail-legal-product .card .btn.btn-primary {
    background-color: #2A62FE;
    padding: 16px 32px;
    border-radius: 35px;
}

.content.detail-legal-product .card .btn.btn-primary i {
    color: #fff;
    background-color: rgba(255, 255, 255, .25);
    padding: 8px;
    border-radius: 50%;
    font-size: 16px;
    margin-left: 5px;
}

.content.detail-legal-product .card i {
    font-size: 24px;
    color: #8E8E8F;
    margin-right: .75rem;
}

.content.detail-legal-product .card h4 {
    color: #181818;
    margin-bottom: 0;
    font-size: 22px;
}

.content.apbdesa .btn.btn-primary,
.content.letters .btn.btn-primary {
    padding: 15px 30px;
    background-color: #2A62FE;
    border-radius: 35px;
}

.content.apbdesa img {
    width: 250px;
}

.content.apbdesa img.left {
    position: relative;
    left: -1rem;
    bottom: 2rem;
}

.content.apbdesa img.right {
    position: relative;
    bottom: -2rem;
}

.apbdesa-detail {
    margin-top: 5rem;
}

.apbdesa-detail .card {
    border: none;
    background-color: #F2F5FE;
    margin-bottom: 1.5rem;
}

.apbdesa-detail .card p {
    margin-bottom: 0;
    font-size: 14px;
    color: #181818;
    font-weight: 300;
}

.apbdesa-detail .card h5 {
    color: #2A62FE;
    font-weight: 600;
    margin-bottom: 10px;
}

.apbdesa-detail .card .card-body {
    padding: 15px 20px;
}

.apbdesa-detail h4 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 1.75rem;
}

.apbdesa-detail .chart-content {
    position: relative;
}

.apbdesa-detail .chart-content .card {
    position: absolute;
    background-color: #F2F5FE;
    border-radius: 16px;
    z-index: 999;
    min-width: 265px;
}

.apbdesa-detail .chart-content .card p {
    margin-bottom: 8px;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
}

.apbdesa-detail .chart-content .card p b {
    font-weight: 700 !important;
}

.apbdesa-detail .chart-content .card h6 {
    background-color: #fff;
    padding: 14px 16px;
    border-radius: 12px;
    text-align: center;
    font-weight: 600;
    color: #2A62FE;
    font-size: 24px;
}

.apbdesa-detail .chart-content select {
    background-color: #2A62FE;
    color: #fff;
    outline: none;
    border-radius: 10px;
    padding: 4px 8px;
    font-size: 14px;
}

.content.letters .alert.alert-info {
    border-radius: 25px;
    background: rgba(42, 98, 254, 0.15);
    border: none;
    padding: 8px 16px;
}

.content.letters .alert.alert-info p {
    font-size: 14px;
    color: #2A62FE;
}

.letters-jumbotron .card {
    background-color: #F2F5FE;
    border: none;
    border-radius: 25px;
    margin-bottom: 1.5rem;
}

.letters-jumbotron .card .card-body {
    padding: 20px;
    min-height: 175px;
}

.letters-jumbotron .card .card-body h5 {
    background-color: #2A62FE;
    display: inline-flex;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 15px;
}

.letters-jumbotron .card .card-body p {
    color: #000;
    font-size: 16px;
    font-weight: 400;
}

.letters-detail {
    margin-top: 5rem;
}

.letters-detail small {
    color: #2A62FE;
    font-size: 14px;
    margin-bottom: 5px;
    display: inline-block;
}

.content.letters .letters-detail h3 {
    font-size: 30px;
    font-weight: 600;
}

.content.letters .letters-detail .form-control {
    background-color: #F2F5FE;
    border: none;
    border-radius: 25px;
    padding: 12px;
    min-width: 300px;
}

.content.letters .letters-detail .input-group-text {
    background-color: #F2F5FE;
    border: none;
    border-radius: 25px;
    padding: 12px 10px 12px 20px;
}

.content.letters .letters-detail .card {
    border-radius: 25px;
    background-color: #fff;
    border: 2.5px solid #F2F5FE;
    margin-bottom: 1.5rem;
    min-height: 250px;
}

.content.letters .letters-detail .card .card-body {
    padding: 25px;
    position: relative;
}

.content.letters .letters-detail .card .card-body img {
    width: 50px;
    height: 50px;
    background-color: #2A62FE1A;
    border-radius: 50%;
    padding: 10px;
    margin-bottom: 1rem;
}

.content.letters .letters-detail .card .card-body h4 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
}

.content.letters .letters-detail .card .card-body .btn.btn-primary {
    padding: 12px 24px !important;
    font-size: 16px;
    position: absolute;
    bottom: 24px;
}

.content.letters .letters-detail .card .card-body .btn.btn-primary i {
    background: none;
    margin-left: 5px;
    padding: 0;
}

.custom-chat-modal .modal-body {
    padding: 24px;
}

.custom-chat-modal .modal-body h3 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}

.custom-chat-modal .modal-body p,
.custom-strukturorganisasi-modal .modal-body p {
    color: #475467;
    margin-bottom: 20px;
    font-size: 16px;
}

.custom-chat-modal .modal-body b {
    color: #344054;
    margin-bottom: 5px;
    display: block;
}

.custom-chat-modal .modal-body ul li {
    color: #475467;
}

.custom-chat-modal .modal-body .btn,
.custom-strukturorganisasi-modal .modal-body .btn {
    padding: 12px 14px;
    border-radius: 50px;
}

.custom-chat-modal .modal-body .btn i,
.custom-strukturorganisasi-modal .modal-body .btn i {
    padding-right: 2px;
}

.custom-chat-modal .modal-body .btn.btn-default,
.custom-strukturorganisasi-modal .modal-body .btn.btn-default {
    background-color: #FAFBFF;
}

.custom-strukturorganisasi-modal img {
    margin-bottom: 1rem;
    border-radius: 25px;
}

.custom-strukturorganisasi-modal h4 {
    font-size: 24px;
    margin-bottom: 5px;
}

.custom-strukturorganisasi-modal h5 {
    color: #475467;
    font-size: 16px;
}

.organisasi a {
    text-decoration: none;
    color: unset;
}

@media screen and (max-width: 1200px) {
    .content.visimisi .visi-card {
        align-items: center;
        text-align: center;
    }
}

@media screen and (max-width: 992px) {
    .program .btn i.fa {
        display: none;
    }

    .infografis .container .d-flex {
        flex-direction: column;
    }

    .infografis .container .d-flex {
        align-items: start !important;
    }

    .infografis .w-25,
    .infografis .w-75 {
        width: unset !important;
    }

    .infografis .container h3 {
        margin-bottom: 1.5rem;
    }

    .product-item .d-flex {
        display: flex;
        flex-direction: column;
    }

    .footer .container .d-flex {
        flex-direction: column;
        margin-left: unset !important;
        margin-bottom: .75rem;
        margin-top: 1rem;
    }

    .product-item {
        margin-bottom: 1.5rem;
    }

    .product-item img {
        height: 200px;
    }
}

@media screen and (max-width: 768px) {
    .jumbotron .carousel .carousel-caption .carousel-caption-detail {
        left: 2.5rem;
        bottom: -5rem;
    }

    .jumbotron .carousel .carousel-caption .carousel-caption-detail h5 {
        font-size: 34px;
        max-width: unset;
        margin-right: 3.5rem;
    }

    .jumbotron .carousel-indicators {
        justify-content: center;
    }

    .sambutan .container .d-flex,
    .infografis .container .d-flex {
        flex-direction: column;
    }

    .infografis .container .d-flex {
        align-items: start !important;
    }

    .program .container .d-flex {
        flex-direction: column-reverse;
    }

    .sambutan .container .d-flex img,
    .program .container .d-flex img {
        margin-bottom: 2rem;
    }

    .program .btn {
        bottom: 3rem;
        right: 1rem;
    }

    .infografis .w-25,
    .infografis .w-75 {
        width: unset !important;
    }

    .infografis .container h3 {
        margin-bottom: 1.5rem;
    }

    .infografis .container {
        padding: 75px 50px;
    }

    .infografis .card {
        min-height: 175px;
    }

    .infografis .card .card-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .product-item .d-flex {
        display: flex;
        flex-direction: column;
    }

    .news-item img {
        height: 400px !important;
    }

    .aspirasi img {
        margin-bottom: 2rem;
    }

    .footer .container .d-flex {
        flex-direction: column;
        margin-left: unset !important;
        margin-bottom: .75rem;
        margin-top: 1rem;
    }

    .infografis-penduduk .col-4 .d-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .infografis-penduduk .col-4 .d-flex .d-flex {
        margin-left: unset !important;
        margin-top: 1rem;
    }

    .flex-column-sm {
        flex-direction: column !important;
        align-items: start !important;
    }

    .infografis-pekerjaan .card .card-body .d-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .infografis-pekerjaan .card .card-body .d-flex .image-circle {
        margin-bottom: 1rem;
    }

    .product-item {
        margin-bottom: 1.5rem;
    }

    .product-item img {
        height: 200px;
    }

    .product-detail h1 {
        margin-top: 1rem;
    }

    .content.detail-legal-product .card .btn.btn-primary {
        margin-top: 1rem;
    }

    .visimisi .card .card-body .row {
        flex-direction: column;
    }

    .content.visimisi .visi-card {
        margin-bottom: 2rem;
    }

    .content.news .news-item-detail {
        flex-direction: column;
    }

    .content.news .news-item-detail>div {
        width: 100%;
    }

    .content.news .news-item-detail img {
        width: 100%;
        margin-bottom: 1.5rem;
    }
}

@media screen and (max-width: 576px) {
    .jumbotron .carousel .carousel-caption .carousel-caption-detail {
        left: 1.5rem;
        bottom: -9rem;
    }

    .jumbotron .carousel .carousel-caption .carousel-caption-detail h5 {
        font-size: 24px;
        max-width: unset;
        margin-right: 3rem;
    }

    .jumbotron .carousel-indicators {
        justify-content: center;
    }

    .sambutan .container .d-flex,
    .infografis .container .d-flex {
        flex-direction: column;
    }

    .infografis .container .d-flex {
        align-items: start !important;
    }

    .program .container .d-flex {
        flex-direction: column-reverse;
    }

    .sambutan .container .d-flex img,
    .program .container .d-flex img {
        margin-bottom: 2rem;
        width: 100%;
    }

    .sambutan .content-sambutan {
        margin-left: unset !important;
        text-align: center;
    }

    .program .btn {
        bottom: 3rem;
        right: 1rem;
    }

    .infografis .w-25,
    .infografis .w-75 {
        width: unset !important;
    }

    .infografis .container h3 {
        margin-bottom: 1.5rem;
    }

    .infografis .container {
        padding: 75px 50px;
    }

    .infografis .card {
        min-height: 175px;
    }

    .infografis .card .card-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .product-item .d-flex {
        display: flex;
        flex-direction: column;
    }

    .news-item img {
        height: 400px !important;
    }

    .aspirasi img {
        margin-bottom: 2rem;
    }

    .footer .container .d-flex {
        flex-direction: column;
        margin-left: unset !important;
        margin-bottom: .75rem;
        margin-top: 1rem;
    }

    .infografis-penduduk {
        padding: 50px;
    }

    .infografis-penduduk .col-4 .d-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .infografis-penduduk .col-4 .d-flex .d-flex {
        margin-left: unset !important;
        margin-top: 1rem;
    }

    .text-start-sm {
        text-align: start !important;
    }

    .flex-column-sm {
        flex-direction: column !important;
        align-items: start !important;
    }

    .infografis-pekerjaan .card .card-body .d-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .infografis-pekerjaan .card .card-body .d-flex .image-circle {
        margin-bottom: 1rem;
    }

    .product-item {
        margin-bottom: 1.5rem;
    }

    .product .pagination {
        justify-content: center !important;
    }

    .product-detail h1 {
        margin-top: 1rem;
    }

    .legal-product .card .card-body .d-flex.me-5 {
        flex-direction: column;
        align-items: start !important;
    }

    .content.legal-product .card img {
        margin-bottom: 1rem;
    }

    .content.detail-legal-product .card .btn.btn-primary {
        margin-top: 1rem;
    }

    .content.tour-detail .btn.btn-primary {
        margin-bottom: 1rem;
    }

    .program .right-content-program {
        width: 100% !important;
    }

    .program .left-content-program {
        margin-left: 1rem;
        padding-top: 1rem;
    }

    .program {
        padding-bottom: 50px;
    }

    .product .nav.nav-tabs .nav-item {
        margin-bottom: .5rem;
    }

    .product-item img {
        height: 275px;
    }

    .berita .d-flex:has(h3) {
        flex-direction: column;
        align-items: start;
    }

    .berita .d-flex:has(h3) h3 {
        margin-bottom: 1rem;
    }

    .content.infografis-detail .card.education .card-body {
        padding: 50px;
    }

    .infografis-penduduk .row .col-sm-4>.d-flex {
        margin-bottom: 1.5rem;
    }

    .news-item-detail div.d-flex.justify-content-between:has(.news-info) {
        flex-direction: column;
    }

    .news-item-detail .news-info {
        justify-content: center;
        margin-bottom: 1rem;
    }

    .letters-detail div.d-flex:has(h3) {
        flex-direction: column;
        text-align: center;
    }

    .news-item .news-content h4 {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    .infografis-pekerjaan .card .card-body .d-flex,
    .content.news .news-item-detail>div {
        margin-left: 0 !important;
    }

    .content.news-detail h3 {
        font-size: 28px;
    }

    body>div>div.container.position-relative>div.mt-4.news-detail-content>div,
    .news-detail-content .news-category ul {
        flex-direction: column;
    }

    .news-detail-content .news-category {
        width: 100%;
    }

    .news-detail-content .news-category ul li {
        margin-bottom: 1rem;
    }

    .news-share {
        margin-top: 1rem;
    }
}