/*
  Theme Name: Vlava
  Theme URL: https://bootstrapmade.com/vlava-free-bootstrap-one-page-template/
  Author: BootstrapMade.com
  Author URL: https://bootstrapmade.com
*/

/* === icon component === */
@import url('icon-component.css');
/* === fontawesome === */
@import url('font-awesome.css');
/* ==== overwrite bootstrap standard ==== */
@import url('overwrite.css');
@import url('animate.css');
/*==========================================================================
  General
  ========================================================================== */
body {
  color: #777;
  background: #f7f7f7;
  line-height: 1.6em;
}

.clear {
  clear: both;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Open Sans', 'HelveticaNeue', 'Helvetica Neue', Helvetica, sans-serif, Arial;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #222;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-style: normal;
  margin: 0 0 20px 0;
}
h1 {
  font-size: 40px;
  line-height: 30px;
}
h2 {
  font-size: 32px;
}
h3 {
  font-size: 24px;
}
h5 {
  font-size: 16px;
}
.txt-light {
  font-weight: 300;
}
.txt-regular {
  font-weight: 400;
}
.txt-bold {
  font-weight: 700;
}
.txt-uppercase {
  text-transform: uppercase;
}

blockquote.bigquote {
  border: none;
  font-size: 48px;
  letter-spacing: -1px;
  font-weight: 700;
  line-height: 1em;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

small {
  font-size: 70%;
  font-weight: 100;
}

a:hover {
  text-decoration: none;
}

:focus {
  outline: none;
}

.color-white.txt-shadow {
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
}

.t-uppercase {
  text-transform: uppercase;
}

/*==========================================================================
  Misc & Adjust
 ========================================================================== */
.row {
  z-index: 9999;
}

.big {
  font-size: 20pt;
  font-weight: 300;
}

.blink:hover {
  opacity: 0.9;
}

.half-offset {
  margin-bottom: 75px !important;
}

.no-offset {
  margin: 0 !important;
  padding: 0;
}

.content,
.container {
  animation: 1s ease-out 0s 1 slideInLeft;
  overflow: hidden;
  color: rgb(255, 255, 255);
}
.container p {
  margin-top: -15px;
}
.container2 p {
  margin-top: -15px;
}
.container2 img {
  width: 100px;
  opacity: 0.6;
}
.container2 img:hover {
  background-color: #3e8e41;
  border-radius: 50%;
  opacity: 1;
  transition: 0.6s;
  box-shadow: 2px 0px 34px -8px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 2px 0px 34px -8px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 2px 0px 34px -8px rgba(0, 0, 0, 0.5);
}
.text-bold:hover {
  color: rgb(253, 175, 50);
  transition: 0.6s;
}
.trans {
  border: 0 !important;
  background: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

.nobg {
  background: 0;
  border: 0;
}

.noborder {
  border: 0 !important;
}

.color-white {
  color: #fff;
}

.theme-bg {
  background-color: #ff7701 !important;
}

.normalize-font-top {
  padding-top: 25px;
}

/* --- float --- */
.float-left {
  float: left;
}

.float-right {
  float: right;
}

/* --- align --- */
.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}

/* ---- padding ---- */
/* top */
.pad-top0 {
  padding-top: 0;
}
.pad-top5 {
  padding-top: 5px;
}

.pad-top10 {
  padding-top: 10px;
}

.pad-top15 {
  padding-top: 15px;
}
.pad-top20 {
  padding-top: 20px;
}
.pad-top25 {
  padding-top: 25px;
}
.pad-top30 {
  padding-top: 30px;
}
.pad-top35 {
  padding-top: 35px;
}
.pad-top40 {
  padding-top: 40px;
}
/* bottom */
.pad-bot0 {
  padding-bottom: 0;
}
.pad-bot5 {
  padding-bottom: 5px;
}

.pad-bot10 {
  padding-bottom: 10px;
}

.pad-bot15 {
  padding-bottom: 15px;
}
.pad-bot20 {
  padding-bottom: 20px;
}
.pad-bot25 {
  padding-bottom: 25px;
}
.pad-bot30 {
  padding-bottom: 30px;
}
.pad-bot35 {
  padding-bottom: 35px;
}
.pad-bot40 {
  padding-bottom: 40px;
}

/* ---- margin --- */
.mar-left5 {
  margin-left: 5px;
}
.mar-left10 {
  margin-left: 10px;
}
.mar-left15 {
  margin-left: 15px;
}
.mar-left20 {
  margin-left: 20px;
}
.mar-left25 {
  margin-left: 25px;
}
.mar-left30 {
  margin-left: 30px;
}

.mar-right5 {
  margin-right: 5px;
}
.mar-right10 {
  margin-right: 10px;
}
.mar-right15 {
  margin-right: 15px;
}
.mar-right20 {
  margin-right: 20px;
}
.mar-right25 {
  margin-right: 25px;
}
.mar-right30 {
  margin-right: 30px;
}

/* top */
.mar-top0 {
  margin-top: 0;
}
.mar-top5 {
  margin-top: 5px;
}

.mar-top10 {
  margin-top: 10px;
}

.mar-top15 {
  margin-top: 15px;
}
.mar-top20 {
  margin-top: 20px;
}
.mar-top25 {
  margin-top: 25px;
}
.mar-top30 {
  margin-top: 30px;
}
.mar-top35 {
  margin-top: 35px;
}
.mar-top40 {
  margin-top: 40px;
}

/* bottom */
.mar-bot0 {
  margin-bottom: 0;
}
.mar-bot5 {
  margin-bottom: 5px;
}

.mar-bot10 {
  margin-bottom: 10px;
}

.mar-bot15 {
  margin-bottom: 15px;
}
.mar-bot20 {
  margin-bottom: 20px;
}
.mar-bot25 {
  margin-bottom: 25px;
}
.mar-bot30 {
  margin-bottom: 30px;
}
.mar-bot35 {
  margin-bottom: 35px;
}
.mar-bot40 {
  margin-bottom: 40px;
}

/*===========================
  --- Sections ----
=========================== */

section.section {
  margin: 0;
  padding: 80px 0 60px 0;
}

.bg-white {
  background-color: rgb(0, 103, 121);
}

/* --- section heading --- */
.section-header {
  text-align: center;
}
.section-header h2.section-heading {
  text-transform: uppercase;
  font-weight: 700;
}

/* ==========================
 --- Parallax ---
============================= */

/* #parallax1 {
  background-image: url(../img/parallax/img1.jpg);
} */

/* #testimonials {
  background-image: url(../img/parallax/masjidassalam2.jpg);
  box-shadow: 2px 2px 20px black;
} */
/*===========================
  --- Header & menu ----
=========================== */
.navbar {
  line-height: 100px;
  height: 100px;
  opacity: 90%;
  background-image: linear-gradient(to right, #3bc201, #017453, #015d79, #013d75, #071a52);
  display: block;
  vertical-align: middle;
  text-align: center;
  margin-bottom: 0;
  padding-bottom: 0;
}

.navbar .navbar-collapse {
  margin-bottom: 0;
  padding-bottom: 0;
}

.nav li {
  height: 100%;
  line-height: 100%;
  margin-bottom: 0;
  padding-bottom: 0;
}

.nav > li > a {
  display: table-cell;
  height: 100%;
  line-height: 100%;
  vertical-align: middle;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nav > li > a:hover {
  color: #a7ff83;
  background: none;
}

.navbar-nav {
  float: right;
  margin-bottom: 0;
  padding-bottom: 0;
}

.navbar .navbar-nav > .active > a {
  color: #a7ff83;
  padding-bottom: 22px;
}

.navbar-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.navbar-toggle {
  padding: 0;
  margin: 0;
  margin-top: -20px;
  width: 80px;
}

.navbar-collapse.in {
  margin-top: -5px !important;
}

/*===========================
  --- Intro ----
=========================== */

#intro {
  width: 100%;
  position: relative;
  background-size: cover;
}
.intro-image {
  width: 100%;
}
.intro-image img {
  width: 600px;
  margin-top: 115px;
  border-radius: 0 30px 30px 0;
}
.intro-content {
  padding: 150px 20px 0 20px;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
.intro-content h2 {
  color: rgb(0, 26, 97);
  font-size: 64px;
  font-weight: bolder;
  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
.intro-content h3 {
  color: rgb(0, 70, 15);
  margin-top: -20px;
  font-size: 26px;
  font-weight: 500;
  font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
}
.intro-content h5 {
  padding-top: 50px;
  font-size: 20px;
}
.intro-content h6 {
  color: #017453;
}
.konten {
  display: grid;
  grid-template-columns: 45% auto;
}
.konten2 {
  margin-top: 15px;
  background-color: #cfcfcf;
}
h4 {
  color: chocolate;
  font-weight: 20px;
}
.btn-get-started {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  display: inline-block;
  padding: 10px 32px;
  border-radius: 2px;
  transition: 0.5s;
  margin: 10px;
  color: #fff;
  background: #85b0be;
}

.btn-get-started:hover {
  color: #fff;
  background: #699aaa;
}

/*===========================
  --- Flex Slider ----
=========================== */

section.featured {
  background: #eee;
}

/* inner heading */
section.featured.inner {
  background: #eee;
  padding: 150px 0 50px;
}

/* --- Flexslider --- */
.flexslider {
  margin: 0;
  background: 0;
  border: 0;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.flex-control-paging li a {
  width: 8px;
  height: 8px;
}

.flex-control-paging li a.flex-active {
  background: #fff;
}

.flex-control-nav {
  bottom: -25px;
}

.flexslider .slides img {
  width: auto;
  display: inline;
}

.flex-direction-nav a {
  display: block;
  width: 50px;
  height: 98px;
  margin: -29px -20px 0;
  position: absolute;
  top: 30%;
  z-index: 10;
  overflow: hidden;
  opacity: 0;
  cursor: pointer;
  color: rgba(0, 0, 0, 0.8);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.flex-direction-nav .flex-next {
  right: -70px;
  background: url(../img/arrow_large_right.png) no-repeat top left;
}

.flex-direction-nav .flex-prev {
  left: -70px;
  background: url(../img/arrow_large_left.png) no-repeat top left;
}

.flex-direction-nav a.flex-next:before {
  content: none !important;
}

/* removing default arrows */
.flex-direction-nav a:before {
  content: none !important;
}

/*==========================
About
=========================== */

.member-photo {
  box-sizing: border-box;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin: 0 0 20px 0;
}
.member-photo img {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

.team-detail h4 {
  font-weight: 700;
}

/*===========================
  Portfolio
============================ */
nav#filter a {
  background-color: #eee;
  color: #555;
}
nav#filter a:hover,
nav#filter a.current {
  background-color: #44bcdd;
  color: #fff;
}

/* ------- */

.isotopeWrapper article {
  margin-bottom: 30px;
}

#portfolio img {
  width: 100%;
}

#portfolio article p {
  margin-bottom: 1.45em; /*set next row on the baseline*/
}
nav#filter {
  margin-bottom: 1.5em;
}

nav#filter li {
  display: inline-block;
  margin: 0 0 0 5px;
}
nav#filter a {
  padding: 4px 12px;
  line-height: 20px;
  text-decoration: none;
}

.portfolio-items article img {
  width: 100%;
}

.portfolio-item {
  display: block;
  position: relative;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.portfolio-item img {
  width: 320px;
  height: 250px;
  object-fit: cover;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  transition: all 300ms linear;
}
.portfolio-item .portfolio-desc {
  display: block;
  opacity: 0;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  color: rgba(220, 220, 220);
  z-index: 10;
}

.portfolio-item:hover .portfolio-desc {
  padding-top: 20%;
  height: 100%;
  transition: all 200ms ease-in-out 0s;
  opacity: 1;
}

.portfolio-item .portfolio-desc a {
  color: #fff;
}
.portfolio-item .portfolio-desc a:hover {
  /*text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.7);*/
  text-decoration: none;
}
.portfolio-item .portfolio-desc .folio-info {
  top: -20px;
  padding: 30px;
  height: 0;
  opacity: 0;
  position: relative;
}

.portfolio-item:hover .folio-info {
  height: 100%;
  opacity: 1;
  transition: all 500ms ease-in-out 0s;
  top: 5px;
}

.portfolio-item .portfolio-desc .folio-info h5 {
  text-transform: uppercase;
}
.portfolio-item .portfolio-desc .folio-info p {
  color: #ffffff;
  font-size: 12px;
}

/*===========================
  --- Testimonial ----
=========================== */
#testimonals {
  padding-top: 20px;
  padding-bottom: 40px;
  position: relative;
  margin-top: 50px;
}
.testimonial i {
  color: #fff;
}
.testimonial span.author {
  color: rgb(255, 217, 0);
  font-size: 22px;
  text-shadow: 2px 2px black;
}

.testimonial h5 {
  color: rgb(255, 255, 255);
  font-size: 20px;
  font-family: Georgia, sans-serif;
  line-height: 1.5em;
  text-shadow: 2px 2px black;
}

/*===========================
  --- Contact ----
=========================== */

#contact-form {
  position: relative;
  z-index: 999;
}

#contact-form input[type='text'],
.contactForm textarea {
  width: 100%;
  background: rgba(227, 231, 228, 1);
  font-family: 'Open Sans', sans serif;
  border: 0;
  font-size: 14px;
  text-align: left;
  vertical-align: middle;
  padding: 0 10px;
}
#contact-form input[type='text']:focus,
.contactForm textarea:focus {
  background: rgba(101, 106, 100, 1);
  color: #eff1ef;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  transition: background 0.25 ease-in;
  -moz-transition: background 0.25 ease-in;
  -webkit-transition: background 0.25 ease-in;
}
#contact-form input[type='text'] {
  height: 60px;
  margin-bottom: 30px;
}
#contact-form input[type='submit'] {
  color: #fff;
  width: 185px;
  height: 60px;
  text-shadow: none;
  font-size: 14px;
  padding: 0.5em;
  letter-spacing: 0.05em;
  margin: 0 0 20px 0;
  display: block;
  border: 0;
  text-transform: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}
#contact-form input[type='submit']:hover,
#contact-form input[type='submit']:active {
  background: #43413e !important;
}
#contact-form textarea {
  padding-top: 1em;
}
div.cform-response-output {
  max-width: 60%;
  text-align: center;
  margin-left: 40% !important;
  margin-top: 0.5em !important;
  padding: 0.5em !important;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
}
.cform-not-valid-tip {
  color: #888;
  border: 1px dotted #ad3729 !important;
  width: 100% !important;
  left: 0 !important;
  padding: 0.5em !important;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
}

.send-btn input {
  margin: 0 auto 20px auto !important;
}

.validation {
  color: red;
  display: none;
  margin: 0 0 20px;
  font-weight: 400;
  font-size: 13px;
}

#sendmessage {
  color: green;
  border: 1px solid green;
  display: none;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

#errormessage {
  color: red;
  display: none;
  border: 1px solid red;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

#sendmessage.show,
#errormessage.show,
.show {
  display: block;
}

/* google map */
#google-map {
  height: 315px;
}

/*====================
  Clients
==================== */
#clients img {
  opacity: 0.7;
}

#clients img:hover {
  opacity: 1;
}

/*=========================
  Footer
 ================= */

section#footer {
  background-color: rgba(5, 42, 62, 1);
  margin: 0;
  color: #fff;
}

section#footer .copyright {
  text-align: center;
}

/* footer social icons */
ul.social-network {
  list-style: none;
  display: inline;
  margin-left: 0 !important;
  padding: 0;
}
ul.social-network li {
  display: inline;
  margin: 0 5px;
}

/* footer menu */
ul.footer-menu {
  color: white;
  list-style: none;
  display: inline;
  margin-left: 0 !important;
  padding: 0;
}
ul.footer-menu li {
  display: inline;
  margin: 0 5px;
}

a.scrollup {
  height: 32px;
  width: 32px;
  color: #fff;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  text-decoration: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 9999;
  opacity: 0.5;
}
a.scrollup:hover {
  opacity: 1;
  color: #fff;
}

.credits {
  text-align: center;
}
/*===========================
  --- Template Components ----
=========================== */

/* footer social icons */
.social-network a.icoRss:hover {
  background-color: #f56505;
}
.social-network a.icoFacebook:hover {
  background-color: #3b5998;
}
.social-network a.icoTwitter:hover {
  background-color: #33ccff;
}
.social-network a.icoGoogle:hover {
  background-color: #bd3518;
}
.social-network a.icoVimeo:hover {
  background-color: #0590b8;
}
.social-network a.icoLinkedin:hover {
  background-color: #007bb7;
}
.social-network a.icoRss:hover i,
.social-network a.icoFacebook:hover i,
.social-network a.icoTwitter:hover i,
.social-network a.icoGoogle:hover i,
.social-network a.icoVimeo:hover i,
.social-network a.icoLinkedin:hover i {
  color: #fff;
}
a.socialIcon:hover,
.socialHoverClass {
  color: #44bcdd;
}

.social-circle li a {
  display: inline-block;
  position: relative;
  margin: 0 auto 0 auto;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
  width: 50px;
  height: 50px;
  font-size: 20px;
}
.social-circle li i {
  margin: 0;
  line-height: 50px;
  text-align: center;
}

.social-circle li a:hover i,
.triggeredHover {
  -moz-transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
  -ms--transform: rotate(360deg);
  transform: rotate(360deg);
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}
.social-circle i {
  color: #fff;
  -webkit-transition: all 0.8s;
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  -ms-transition: all 0.8s;
  transition: all 0.8s;
}

/* stats */
.stats .icon {
  margin: 0 0 20px 0;
}

.stats strong.number {
  font-size: 38px;
}

.stats span.text {
  font-weight: 700;
  font-size: 24px;
}

/* buttons */
.btn {
  border: 0;
}

.btn.bold {
  font-weight: 600;
}

.btn-cta {
  color: #ffffff;
  border-bottom: 4px solid;
}
.btn-cta:hover {
  color: #ffffff;
}

.btn-cta {
  border-bottom: 2px solid;
}
.btn-cta.btn-lg {
  border-bottom: 4px solid;
}

/* ========================================
Media queries
========================================= */
@media (min-width: 1024px) {
  #intro {
    background-attachment: fixed;
  }
}

@media (min-width: 959px) and (max-width: 1199px) {
  .navbar-nav {
    margin-top: 20px;
  }
  .navbar-logo img {
    width: 80px;
  }
  .intro-image img {
    width: 500px;
  }
  .intro-content h2 {
    font-size: 45px;
  }
  .intro-content h3 {
    font-size: 18px;
  }
  .intro-content h6 {
    padding: 0 40px;
  }
  .konten2 {
    margin-bottom: 15px;
  }
}

@media only screen and (min-device-width: 979px) and (max-device-width: 1024px) {
  .navbar-nav {
    margin-top: 20px;
  }
  .navbar-logo img {
    width: 80px;
  }
  .intro-image img {
    width: 450px;
  }
  .intro-content h5 {
    padding-top: 15px;
  }
  .portfolio-item {
    width: 290px;
    object-fit: cover;
  }
}


@media (max-width: 767px) {
  .navbar.navbar-fixed-top {
    background-color: rgba(0, 0, 0, 1);
    height: 40px;
  }
  .navbar-logo img {
    display: none;
  }
  .navbar .navbar-collapse ul.nav {
    background-color: #444;
    width: 100%;
    float: none;
    margin: 0;
    padding: 0;
  }
  .navbar .navbar-collapse ul.nav li {
    border-bottom: 1px solid #666;
  }

  section.featured {
    padding-top: 80px;
  }

  .team-member,
  .col-lg-4 {
    margin-bottom: 30px;
  }

  .stats .col-md-3 {
    margin-bottom: 30px;
  }
  .intro-image img {
    width: 300px;
    margin-top: 60px;
  }
  .intro-content h2 {
    margin-top: -80px;
    font-size: 30px;

  }
  .intro-content h3 {
    font-size: 12px;
    padding: 0 20px;

  }
  .intro-content h5 {
    font-size: 10px;
    padding-top: 5px;

  }
  .intro-content h6 {
    font-size: 10px;
    padding: 0 20px;

  }
  .konten2 {
    margin-bottom: 15px;
  }
  .container2 p {
    font-size: 12px;
  }
  .container .profile h2 {
    font-size: 20px;
  }
  .container .profile h3 {
    font-size: 12px;
  }
  .profile .item {
    height: 230px;
  }
  .profile3 h1 {
    font-size: 20px;
  }
  .section-header .profile3 ul li {
    font-size: 12px;
  }
  .section-header h2 {
    font-size: 20px;
  }
  .section-header h3 {
    font-size: 14px;
  }
  .portfolio-item {
    width: 190px;
    object-fit: cover;
  }
  .desc-text p {
    color: #444444; /* Warna abu-abu gelap profesional */
    line-height: 1.8; /* Membuat jarak antar baris lebih enak dibaca */
    text-align: justify; /* Membuat teks rata kanan-kiri */
    margin-bottom: 15px; /* Memberi jarak antar paragraf */
}
}
@media only screen and (min-width: 468px) and (max-width: 766px) {
  .portfolio-item {
    width: 170px;
    justify-content: center;
    object-fit: cover;
  }
    .desc-text p {
    color: #444444; /* Warna abu-abu gelap profesional */
    line-height: 1.8; /* Membuat jarak antar baris lebih enak dibaca */
    text-align: justify; /* Membuat teks rata kanan-kiri */
    margin-bottom: 15px; /* Memberi jarak antar paragraf */
}
}
@media only screen and (min-width: 380px) and (max-width: 467px) {
  .intro-image img {
    width: 190px;
    margin-top: 90px;
  }
  section.section {
    margin: 0;
    padding: 40px 0 20px 0;
  }
  .intro-content h2 {
    margin-top: -80px;
    font-size: 20px;

  }
  .intro-content h3 {
    font-size: 9px;

  }
  .intro-content h5 {
    font-size: 8px;

  }
  .intro-content h6 {
    font-size: 8px;
    margin-top: -10px;

  }
  .hi-icon {
    width: 90px;
    height: 90px;
  }

  .profile .item {
    height: 180px;
  }
  .portfolio-item {
    width: 363px;
    margin: 0 auto;
    object-fit: cover;
  }

  .post-slide10 .post-description {
    display: flex;
  }
  .post-slide10 .post-title {
    margin-top: -20px;
  }

  .container2 img {
    width: 60px;
    margin-top: 10px;
  }
      .desc-text p {
    color: #444444; /* Warna abu-abu gelap profesional */
    line-height: 0.5; /* Membuat jarak antar baris lebih enak dibaca */
    text-align: justify; /* Membuat teks rata kanan-kiri */
    margin-top: 20px; /* Memberi jarak antar paragraf */
}
#myCarousel {
    margin-top: -20px;
    height: 240px;
}
}

.reveal {
  position: relative;
  transform: translateY(150px);
  opacity: 0;
  transition: 1s all ease;
}

.reveal.active {
  transform: translateY(0);
  opacity: 1;
}
.example span {
  background-color: #f1f1f1;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
}
.example .tf-nc {
  color: #000000;
  font-size: 14px;
  font-weight: 900;
  /* css here */
}
.example h1 {
  font-size: 12px;
  line-height: 0.7;
  padding-bottom: 10px;
  color: #007bb7;
}
.example h4 {
  font-weight: 700;
  font-size: 20px;
  color: #ff3c00e3;
  line-height: 1.8;
}
.tf-custom .tf-nc:before,
.tf-custom .tf-nc:after {
  color: #007bb7;
}
.tf-custom li li:before {
  color: #222;
}

.profile {
  justify-content: center;
  font-size: 22px;
  color: rgb(0, 0, 0);
  border-radius: 20px;
  padding: 30px;
}
.profile h3 {
  color: rgb(0, 0, 0);
  text-align: justify;
  font-size: 18px;
  line-height: 1.5;
}
.section-header h1 {
  text-align: center;
  color: #0590b8;
}

.section-header h4 {
  text-align: center;
  font-size: 12px;
}
.profile2 {
  font-size: 18px;
  line-height: 1.7;
  color: rgb(255, 255, 255);
  background-color: #68a0a0;
  border-radius: 20px;
  padding: 30px;
  text-align: justify;
}
.profile3 ul li {
  text-align: left;
  font-size: 18px;
  line-height: 1.7;
}
.gallery {
  display: flex;
  padding: 2px;
  transition: 0.3s;
}
.gallery h2 {
  color: white;
  font-size: 14px;
  text-align: center;
}
.gallery:hover .gallery__image {
  filter: grayscale(1);
}
.gallery__column {
  display: flex;
  flex-direction: column;
  width: 20%;
}
.gallery__link {
  margin: 2px;
  overflow: hidden;
}
.gallery__link:hover .gallery__image {
  filter: grayscale(0);
}
.gallery__link:hover .gallery__caption {
  opacity: 1;
}
.gallery__thumb {
  position: relative;
}
.gallery__image {
  display: block;
  width: 100%;
  transition: 0.3s;
}
.gallery__image:hover {
  transform: scale(1.1);
}
.gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 25px 15px 15px;
  width: 100%;
  font-size: 16px;
  color: white;
  opacity: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
  transition: 0.3s;
}
.item {
  width: 100%;
  height: 400px;
  object-fit: cover;
}

/******************  News Slider Demo-10 *******************/
.news-slider10 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.post-slide10 {
  width: 300px;
  height: 500px;
  margin: 0 20px;
  padding-bottom: 10px;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(43, 59, 93, 0.3);
  margin-bottom: 2em;
}
.post-slide10 img {
  width: 300px;
  height: 200px;
  object-fit: cover;
}
.post-slide10 .post-date {
  position: relative;
  top: -35px;
  width: 90px;
  padding: 1% 1%;
  background: #e74c3c;
}
.post-slide10 .month {
  font-size: 14px;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}
.post-slide10 .month:after {
  content: '';
  display: block;
  border: 1px solid #fff;
}
.post-slide10 .date {
  font-size: 14px;
  color: #fff;
  display: block;
  text-align: center;
  font-weight: 700;
}
.post-slide10 .post-title {
  margin: 5px 0 15px 0;
}
.post-slide10 .post-title a {
  font-size: 15px;
  font-weight: 700;
  color: #333;
  padding: 0 15px;
  display: inline-block;
  text-transform: uppercase;
  transition: all 0.3s ease 0s;
}
.post-slide10 .post-title a:hover {
  text-decoration: none;
  color: #e74c3c;
}
.post-slide10 .post-description {
  font-size: 14px;
  line-height: 24px;
  color: grey;
  padding: 0 15px;
}
.post-slide10 .read-more {
  color: #333;
  padding: 0 15px;
  text-transform: capitalize;
  transition: color 0.2s linear;
}
.post-slide10 .read-more i {
  margin-left: 10px;
  font-size: 10px;
}
.post-slide10 .read-more:hover {
  text-decoration: none;
  color: #e74c3c;
}
.owl-controls .owl-buttons {
  margin-top: 20px;
  position: relative;
}
.owl-controls .owl-prev {
  position: absolute;
  left: -40px;
  bottom: 230px;
  padding: 8px 17px;
  background: #333;
  transition: background 0.5s ease;
}
.owl-controls .owl-next {
  position: absolute;
  right: -40px;
  bottom: 230px;
  padding: 8px 17px;
  background: #333;
  transition: background 0.5s ease;
}
.owl-controls .owl-next:after,
.owl-controls .owl-prev:after {
  content: '\f104';
  font-family: FontAwesome;
  color: #d3d3d3;
  font-size: 16px;
}
.owl-controls .owl-next:after {
  content: '\f105';
}
.owl-controls .owl-next:hover,
.owl-controls .owl-prev:hover {
  background: #e74c3c;
}
@media only screen and (max-width: 990px) {
  .post-slide10 {
    margin: 0 20px;
  }
  .owl-controls .owl-buttons .owl-prev {
    left: -20px;
    padding: 5px 14px;
  }
  .owl-controls .owl-buttons .owl-next {
    right: -20px;
    padding: 5px 14px;
  }
}
@media only screen and (max-width: 767px) {
  .owl-controls .owl-buttons .owl-prev {
    left: 0;
    bottom: 260px;
  }
  .owl-controls .owl-buttons .owl-next {
    right: 0;
    bottom: 260px;
  }
}

.donasi h3 {
  margin-top: -10px;
  font-weight: bolder;
}
.donasi h4 {
  margin-top: -10px;
  font-size: 18px;
  color: #da7f00;
}
/* Styling Section Profil */
#section-profil {
    background: #ffffff !important; /* Latar belakang putih bersih */
    padding: 80px 0;
    color: #333333; /* Warna teks utama gelap */
}

/* Teks Sejarah & Deskripsi */
.desc-text p {
    font-size: 16px;
    line-height: 1.8;
    color: #444444; /* Abu-abu tua agar tidak terlalu tajam di mata */
    margin-bottom: 15px;
    text-align: justify;
}

/* Kotak Arti Nama */
.meaning-box {
    background: #f8f9fa; /* Abu-abu sangat muda */
    padding: 20px;
    border-left: 5px solid #0088cc;
    border-radius: 5px;
    margin-top: 20px;
}

.meaning-box h4 {
    color: #0088cc; /* Judul biru */
    font-weight: 700;
}

.meaning-box p {
    color: #555555;
    font-style: italic;
}

/* Visi Misi Style */
.visi-box {
    background: #0088cc; /* Box Biru */
    color: #ffffff; /* Teks PUTIH (khusus di dalam box biru agar kontras) */
    padding: 30px;
    border-radius: 15px;
    height: 100%;
}

.misi-box {
    background: #f1f1f1; /* Box Abu-abu muda */
    color: #333333; /* Teks GELAP */
    padding: 30px;
    border-radius: 15px;
    border: 1px solid #ddd;
    height: 100%;
}

.title-vimi {
    font-weight: 800;
    margin-bottom: 20px;
    font-size: 24px;
    /* Jika di Visi, warna otomatis putih karena parent-nya. 
       Jika di Misi, kita set gelap */
}

.misi-box .title-vimi {
    color: #0088cc;
}

.misi-list li {
    color: #444444; /* Teks list misi gelap */
    margin-bottom: 10px;
}
/* Container Utama Bagan */
#section-takmir {
    background: #fdfdfd;
    padding: 60px 0;
    overflow-x: auto; /* Agar di HP bisa di-geser ke samping */
}

/* Styling Dasar Kotak (Node) */
.tf-tree .tf-nc {
    border: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 15px 20px;
    text-align: center;
    background-color: #fff;
    transition: all 0.3s ease;
    min-width: 150px;
}

/* Warna Garis Penghubung */
.tf-tree li li:before, 
.tf-tree li:after, 
.tf-tree li:before {
    border-color: #bbb !important;
}

/* Styling Teks di dalam Kotak */
.tf-tree .tf-nc h4 {
    font-size: 14px;
    font-weight: 700;
    margin: 5px 0 0 0;
    color: #333;
}

.tf-tree .tf-nc h1, 
.tf-tree .tf-nc h5 {
    font-size: 11px;
    color: #666;
    text-transform: uppercase;
    margin-bottom: 5px;
    letter-spacing: 1px;
}

/* PEWARNAAN BERTINGKAT */

/* 1. Ketua Umum (Level Paling Atas) */
.tf-tree > ul > li > .tf-nc {
    background: #0088cc; /* Biru Utama */
    color: #fff;
}
.tf-tree > ul > li > .tf-nc h4 { color: #fff; }

/* 2. Sekretaris & Bendahara (Level 2) */
/* Karena Mas menumpuknya di bawah Ketua Umum, kita beri warna aksen */
.tf-tree .tf-nc:nth-child(odd) {
    border-top: 4px solid #0088cc;
}

/* 3. Ketua Bidang (Level 3) */
.tf-tree ul li ul li > .tf-nc {
    background: #eef9ff;
    border: 1px solid #cceeff;
}
.tf-tree ul li ul li > .tf-nc h1 {
    color: #0088cc;
    font-size: 10px;
}

/* 4. Sub-Bidang/Anggota (Level Paling Bawah) */
.tf-tree ul li ul li ul li .tf-nc {
    background: #ffffff;
    border: 1px solid #eee;
    font-size: 12px;
}

/* Efek Hover */
.tf-tree .tf-nc:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
    border-color: #ffd700; /* Highlight emas saat disentuh */
}
/* Layout Verse */
.verse-wrapper {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 15px;
    margin-bottom: 30px;
    border-top: 5px solid #0088cc;
}
.arabic-text { font-size: 26px; line-height: 1.8; margin-bottom: 20px; }
.translation { font-style: italic; color: #555; }

/* Modern Bank Card */
.modern-bank-card {
    background: linear-gradient(135deg, #1d2b64, #2d4a8a);
    color: white;
    padding: 25px;
    border-radius: 20px;
    display: inline-block;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    margin-bottom: 50px;
    text-align: left;
}
.acc-number { font-size: 32px; font-weight: bold; letter-spacing: 3px; margin: 10px 0; }
.copy-btn {
    background: #ffc107; border: none; padding: 5px 15px;
    border-radius: 5px; cursor: pointer; color: #000; font-weight: bold;
}

/* Donation Grid */
.donation-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}
.donate-card {
    background: white; border-radius: 12px; overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: 0.3s;
}
.donate-card:hover { transform: translateY(-5px); }
.card-img { position: relative; height: 180px; }
.card-img img { width: 100%; height: 100%; object-fit: cover; }
.card-content { padding: 20px; text-align: left; }
.price-tag { font-weight: bold; color: #0088cc; font-size: 16px; margin: 10px 0; }
.btn-action {
    display: block; text-align: center; background: #0088cc; color: #fff;
    padding: 10px; border-radius: 5px; text-decoration: none; margin-top: 15px;
}
.badge-done {
    position: absolute; top: 10px; right: 10px;
    background: #28a745; color: white; padding: 5px 10px; border-radius: 50px; font-size: 11px;
}
.btn-action-done {
    display: block; text-align: center; background: #e9ecef; color: #28a745;
    padding: 10px; border-radius: 5px; text-decoration: none; font-weight: bold;
}
#section-berita {
    background: #fdfdfd;
    padding: 60px 0;
}

/* Card Berita */
.post-slide10 {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
  margin-bottom: 20px;
}
.post-img { position: relative; height: 200px; overflow: hidden; }
.post-img img { width: 100%; height: 100%; object-fit: cover; }

/* Tanggal */
.post-date {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    background: #e74c3c !important; /* Merah */
    color: #fff !important;
    
    /* Gunakan display flex agar teks selalu di tengah secara vertikal & horizontal */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    
    /* Ukuran Kotak */
    width: 60px !important;
    height: auto !important; /* Biarkan tinggi mengikuti isi */
    min-height: 60px !important;
    padding: 10px 5px !important;
    
    border-radius: 8px !important;
    z-index: 99 !important;
    overflow: visible !important; /* Pastikan tidak memotong isi */
}

.post-date .date {
    display: block !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1 !important; /* Sangat penting agar tidak ada spasi sisa */
    margin: 0 !important;
    padding: 0 !important;
}

.post-date .month {
    display: block !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin-top: 5px !important;
}

/* Konten */
.post-review { padding: 20px; text-align: left; }
.post-title { font-size: 18px; margin: 0 0 10px; font-weight: bold; }
.post-title a { color: #333; text-decoration: none; }
.post-description { font-size: 14px; color: #666; line-height: 1.6; height: 65px; overflow: hidden; }
.read-more { color: #0088cc; font-weight: bold; text-decoration: none; display: inline-block; margin-top: 15px; }

/* Warna Tombol Navigasi Owl */
.owl-theme .owl-nav [class*='owl-']:hover { background: #0088cc; color: #fff; }
/* Media Query untuk Tampilan HP (Smartphone) */
/* --- Tambahkan di bagian paling bawah file style.css --- */

/* Efek Lingkaran Story ala Instagram */
.stories-container .story-circle {
    min-width: 75px;
    height: 75px;
    border-radius: 50%;
    padding: 3px;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    cursor: pointer;
}

.stories-container .story-circle img {
    border: 3px solid white;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    object-cover: cover;
}

/* Menghilangkan scrollbar tapi tetap bisa scroll */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.text-green-700 {
    color: #15803d !important;
  }
  
.mobile-only {
  display: none !important; /* Desain baru sembunyi di Desktop */
}
/* --- PENGATURAN @MEDIA (UNTUK HAPE) --- */
@media (max-width: 480px) {
  .desktop-only {
    display: none !important; /* Desain lama hilang di HP */
  }

  .mobile-only {
    display: flex !important; /* Desain baru muncul di HP */
    flex-direction: column;
    align-items: center;
    text-align: center;

  }
  section {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        overflow-x: hidden !important; /* Mencegah layar goyang kiri kanan */
    }

    /* 2. Reset Container agar tepat di tengah */
    .container {
        width: 100% !important;
        padding-left: 15px !important;  /* Jarak aman teks ke pinggir layar */
        padding-right: 15px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        float: none !important;
    }

    /* 3. Paksa Row dan Col untuk tidak miring */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: block !important; /* Mematikan flex desktop yang mungkin miring */
    }

    [class*="col-"] {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        float: none !important;
        text-align: center !important; /* Memastikan teks di dalamnya center */
    }

    /* 4. Menengahkan Gambar secara otomatis */
    img {
        margin-left: auto !important;
        margin-right: auto !important;
    }
.intro-content {
    margin-top: -70px;

}
  /* Copy CSS desain baru yang saya buatkan tadi di bawah sini */
  .nama-masjid { 
      font-size:28px !important; 
  font-weight: 800; 
  color: #1a4d2e; 
  }
  .lokasi-masjid{
      font-size: 18px !important;
  }
  .ayat-container { 
    background: white; 
width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important; /* إزالة الحواف المستديرة لتبدو ملتصقة تماماً */
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 30px 15px !important; /* مسافة داخلية فقط للنص لكي لا يلمس الحافة */
        box-sizing: border-box !important;
  }
  .teks-arab {
      font-size: 12px !important; 
      line-height: 2; 
      margin-bottom: 15px; }
  .teks-arti { 
      font-size: 12px !important; 
      font-style: italic; 
      color: #475569; }
  .sumber-ayat { 
      margin-top: -10px;
      font-size: 8px; 
      font-weight: bold; 
      color: #15803d; }

.konten-wrapper.mobile-only {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }/* Agar padding tidak merusak lebar layar */


  /* Memastikan gambar logo juga berada di tengah */
  .intro-image {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
  }

  .intro-image img {
    margin-top: 60px;
    display: block;
    width: 100%;
  }

  /* Memastikan box ayat tetap rapi di tengah */
  .ayat-container {
    width: 100%;
    max-width: 100%; /* Agar tidak meluber keluar layar HP */
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }
  #section-donasi{
          display: grid; /* Tetap gunakan grid untuk isinya */
    margin: 0 auto; /* Cara klasik untuk menengahkan elemen blok */
    max-width: 1200px; /* Atau sesuaikan dengan lebar maksimal yang Anda mau */
    width: 90%; /* Memberi jarak sedikit di kiri kanan pada layar kecil */
    }


/* Jika container ini berada di dalam sebuah wrapper/parent */
.parent-element { 
    display: flex;
    justify-content: center; /* Menengahkan secara horizontal */
    align-items: center;     /* Menengahkan secara vertikal (opsional) */
    width: 100%;
    }
.donation-grid-container {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* Membagi 2 kolom sama rata */
        gap: 10px !important; /* Jarak antar kartu */
        padding: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Penyesuaian ukuran kartu agar pas berjejer */
    .donate-card {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important;
    }

    /* Mengecilkan gambar agar tidak makan tempat */
    .card-img img {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Penyesuaian teks di dalam kartu */
    .card-content {
        padding-top: 5px !important; /* Perkecil jarak atas teks ke gambar */
        margin-top: 0 !important;
    }

    .card-content h3 {
margin-top: 0 !important; /* Menghilangkan jarak di atas tulisan */
        margin-bottom: 2px !important; /* Jarak pendek ke harga */
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    .price-tag {
margin-top: 0 !important;
        margin-bottom: 5px !important;
        font-size: 11px !important;
    }

    /* Progress bar dibuat lebih tipis */
    .progress {
        height: 12px !important;
        font-size: 9px !important;
        margin-bottom: 8px !important;
    }

    /* Tombol diperkecil */
    .btn-action, .btn-action-done {
        font-size: 10px !important;
        padding: 6px 4px !important;
        display: block !important;
        text-align: center !important;
    }

    /* Khusus Badge 'Sudah Terbeli' agar tidak menutupi gambar */
    .badge-done {
        font-size: 9px !important;
        padding: 2px 6px !important;
    }
.portfolio-items.isotopeWrapper {
        display: flex !important;
        flex-wrap: wrap !important; /* Agar foto otomatis turun ke baris baru */
        height: auto !important;
        position: relative !important;
        padding: 10px !important;
        gap: 0 !important; /* Kita pakai padding di elemen anak saja */
    }

    /* 2. Mengatur setiap item galeri agar tidak tabrakan */
    .portfolio-items article.isotopeItem {
        /* Mematikan paksa posisi absolute dari Isotope */
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important; /* Hapus efek animasi yang bikin geser */
        
        /* Seting jejer 3 */
        width: 50% !important; 
        float: none !important;
        display: block !important;
        
        /* Memberikan jarak (padding) agar tidak nempel satu sama lain */
        padding: 4px !important; 
        box-sizing: border-box !important;
    }

    /* 3. Atur box foto dan gambarnya */
    .portfolio-item {
        margin: 0 !important;
        width: 100% !important;
    }

    .portfolio-item img {
        width: 100% !important;
        height: 110px !important; /* Tinggi seragam agar rapi */
        object-fit: cover !important; /* Foto tidak gepeng */
        border-radius: 6px !important;
        display: block !important;
    }

    /* 4. Matikan deskripsi yang bikin berantakan */
    .portfolio-desc {
        display: none !important;
    }
}
  
  
  