/*
Theme Name: Creatify
Theme URI: https://templatesjungle.com/
Author: TemplatesJungle
Author URI: https://templatesjungle.com/
Description: Creatify is specially designed product packaged for agencies by TemplatesJungle.
Version: 1.1
*/

/*--------------------------------------------------------------
/** 1. Base Styles
--------------------------------------------------------------*/
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden; /* Mencegah scroll horizontal */
  max-width: 100%;    /* Mencegah elemen melampaui lebar layar */
}

html {
  box-sizing: border-box;
}
body {
  font-family: "Poppins", Verdana, sans-serif;
  font-weight: 300;
  font-size: 16px;
  color: #555;
}
body.no-scroll {
    overflow: hidden;
}
a {
  font-weight: 400;
  color: #777;
  text-decoration: none;
}
a:hover {
  color: #EBB017;
}
ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  margin-left: 0;
  padding: 0;
  list-style: none;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-top: 5px;
  margin-bottom: 0;
}
ul li, ol li {
  margin-bottom: 5px;
  outline: 0;
}
ul li a:hover{
  color: #000;
}
ul li:last-child,
ol li:last-child {
  margin-bottom: 0;
}
dl {
  margin-top: 0;
  margin-bottom: 2rem;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
button, input, select, textarea {
  font-family: "Poppins", Verdana, sans-serif;
  font-size: inherit;
  line-height: inherit;
  outline: 0;  
}
figure {
  margin: 0;
}
img {
  display: inline-block;
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.main-logo img {
  display: block; /* Agar logo tidak inline dengan elemen lain */
  max-width: 90px; /* Sesuaikan ukuran logo */
  height: auto;
  margin: 0 auto; /* Jika ingin logo berada di tengah */
}


::selection {
  background: rgba(0,0,0,0.8);
  color: #fff;
  text-shadow: none;
}
::-moz-selection {
  background: rgba(0,0,0,0.8);
  color: #fff;
  text-shadow: none;
}
::-webkit-input-placeholder {
  color: #EDEBE4; /* WebKit browsers */
  -webkit-transition: color .2s;
  transition: color .2s;
}
::-moz-placeholder {
  color: #053634; /* Mozilla Firefox 19+ */
  -webkit-transition: color .2s;
  transition: color .2s;
}
:-ms-input-placeholder {
  color: #053634;/* Internet Explorer 10+ */
  -webkit-transition: color .2s;
  transition: color .2s;
}
::placeholder {
  color: #053634;
  -webkit-transition: color .2s;
  transition: color .2s;
}

/* - Floating & Alignment
------------------------------------------------------------- */
.align-left {
  float: left;
  text-align: left;
}
.align-right {
  float: right;
  text-align: right;
}
.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  justify-content: center;
}

/*--------------------------------------------------------------
/** 3. Typography
--------------------------------------------------------------*/

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  line-height: 1.2;
  color: #111;
}
h1.light, .h1, h2.light, .h2, h3.light, .h3, h4.light, .h4, h5.light, .h5, h6.light, .h6 {
  color: #fff;
}
h1, h2, h3 {
  margin: 0 0 25px;
}
h5, h6 {
  letter-spacing: 1px;
}
h1, .h1 {
  font-size: 2.5em;
  line-height: 1.4;
}
h2, .h2 {
  font-size: 1.5em;
  line-height: 1.4;
}
h3, .h3 {
  font-size: 1.4em;
  line-height: 1.4;
}
h4, .h4 {
  font-size: 1.1em;
  line-height: 1.4;
}
h5, .h5 {
  font-size: .83em;
  line-height: 1.25;
}
h6, .h6 {
  font-size: .67em;
  line-height: 1.1;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
  color: inherit;
  text-decoration: none;
}
p {
   margin: 0 0 20px 0;
   text-align: justify;
   line-height: 2;
}
p:empty {
  display: none;
}
small {
  font-size: 85%;
}
mark {
  background-color: #fcf8e3;
  padding: 0.28rem;
}
dfn, cite, em, i {
  font-style: italic;
}
code, kbd, var {
  font-size: 14px;
}
code {
  background-color: #f9f2f4;
}
abbr {
  border-bottom: 0.1px dotted #666;
  cursor: help;
}


/*--------------------------------------------------------------
This is main CSS file that contains custom style rules used in this template
--------------------------------------------------------------*/

/* - Button
------------------------------------------------------------- */

button {
    font-size: 1em;
    font-weight: 600;
    border-radius: 10px;
    height: 65px;
    cursor: pointer;
    background: transparent;
}
.btn-wrap {
    margin-top: 70px;
}
.btn-wrap a {
    font-weight: 500;
    text-transform: uppercase;
}
.btn-normal {
    color: #fff;
}
.btn-accent {
    background-color: #111;
    color: #fff;
    padding: 20px 30px;
}
.btn-pill {
    border-radius: 50px;
}
.btn-outline-accent {
    border: 1px solid #A4B7B1;
    color: #053634;
    padding: 20px 35px;
    border-radius: 8px;
}
.btn-outline-accent:hover {
    background-color: #000;
}
.btn-outline-light {
    border: 1px solid #fff;
    color: #fff;
    padding: 30px 50px;
}
.btn-outline-light:hover {
    background-color: #fff;
    color: #000;
}
.btn-accent-arrow {
    color: #053634;
}
.btn-light-arrow {
    color: #fff;
}
.btn-wrap i.icon {
    transition: 0.5s ease-out;
    font-size: 9px;
    padding-left: 10px;
}
.btn-wrap:hover i.icon {
    padding-left: 20px;
}
.btn-subscribe {
    width: 126px;
    height: 43px;
    font-weight: 500;
    color: #fff;
    background: #000;
    text-transform: uppercase;
}
.button-box {
    margin: 0 40px;
    width: 20%;
    display: flex;
    align-items: center;
}
.btn-subscribe:hover {
    color: #EBB017;
}
.btn-subscribe i.icon {
    font-size: 15px;
    padding-left: 5px;
}
i.icon.icon-ns-arrow-right {
    font-size: 11px;
    padding-left: 10px;
}


/*--- Button Hover Effect
-----------------------------------------------*/

.btn-hvr-effect {
  position: relative;
  margin: auto;
  padding: 0 22px;
  transition: all .2s ease;
  margin: 0;
  }
.btn-hvr-effect:before {
    content: "";
    position: absolute;
    top: -10px;
    right: 5px;
    display: block;
    border-radius: 28px;
    background: rgb(243 197 34);
    width: 35px;
    height: 35px;
    transition: all .3s ease;
  }
.btn-hvr-effect:hover:before {
    width: 100%;
  }
.btn-hvr-effect span {
    position: relative;
    font-size: 18px;
  }
.btn-hvr-effect:hover span,
.btn-hvr-effect:hover i.icon {
      color: #000;
   }
.btn-hvr-effect i.icon {
    position: relative;
    top: 0;
    margin-left: 10px;
    fill: none;
    transform: translateX(-5px);
    transition: all .3s ease;
    }
.btn-hvr-effect i.icon:active {
    transform: scale(.96);
  }


/*--- Image Dimension
-----------------------------------------------*/
img.single-image {
    width: 100%;
    height: 700px;
    object-fit: cover;
    border-radius: 15px;
}
img.review-image {
    width: 96px;
    border-radius: 50%;
    border: 5px solid #fff;
    box-shadow: -2px 1px 29px -9px rgb(0 0 0 / 20%);
    -webkit-box-shadow: -2px 1px 29px -9px rgb(0 0 0 / 20%);
    -moz-box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
}
img.post-image {
    width: 100%;
    height: 297px;
    object-fit: cover;
}
img.project-image {
    width: 100%;
    height: 300px;
    object-fit: cover;
}
img.association-image {
    height: 31px;
}


/*--- Image hover Effect
-----------------------------------------------*/
.image-hvr-effect {
    display: flex;
    overflow: hidden;
    cursor: pointer;
}
.image-hvr-effect img {
    transform: scale(1);
    will-change: transform;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
}
.image-hvr-effect:hover img {
    transform: scale(1.2);
}

/*--- Image Hover Effect Grayscale
-----------------------------------------------*/
.hvr-grayscale:hover img {
  filter: grayscale(100%);
  cursor: pointer;
}

/*--- Pattern Overlay
-----------------------------------------------*/
.pattern-overlay {
    position: relative;
}
.pattern-overlay:before {
    content: "";
    position: absolute;
    left: -110px;
    top: 0;
    width: 424px;
    height: 500px;
    background: url(images/map-pattern.png) no-repeat;
}

/*--- Section Title
-----------------------------------------------*/
h2.section-subtitle {
    font-family: "Cormorant SC", Georgia, serif;
    font-size: 1.6em;
    font-weight: 400;
    line-height: 1;
}
h2.section-subtitle.liner {
    position: relative;
    padding-left: 30px;
}
h2.section-subtitle.liner:before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 22px;
    border-bottom: 3px solid #F3C522;
}
h3.section-title {
    font-family: "Jost", Georgia, serif;
    font-size: 2.6em;
    font-weight: 600;
    line-height: 1.5;
    text-transform: capitalize;
}

/*----- Grid Layout
--------------------------------------------------------------*/
.container {
    max-width: 1421px;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.row {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.inner-content {
    width: 100%;
    padding: 0 20px;
}
.grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;   
}
 
/* - Scroll Button
------------------------------------------------------------- */
#scrollToTopBtn {
  position: fixed;
  right: 30px;
  bottom: 100px;
  z-index: 9;
  font-size: 16px;
  outline: none;
  background-color: #000;
  color: #fff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
}
#scrollToTopBtn:hover {
  background-color: #f3c522;
  color: #fff;
}

/* - Main Navigation
------------------------------------------------------------- */
header#header {
  padding: 30px 0;
  background-color: transparent; /* Mengubah background menjadi transparan */
  position: absolute; /* Membuat header berada di atas konten */
  width: 100%; /* Memastikan header mencakup seluruh lebar layar */
  z-index: 10; /* Memastikan header berada di atas elemen lainnya */
}
header#header ul.menu-list {
  display: flex;
}
nav#navbar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 15px;
}

#navbar .main-menu {
    margin-right: 65px;
}
.main-menu ul.menu-list a {
    font-size: 16px;
    font-weight: 400;
    color: #ffffff;
    padding: 0 25px;
}
.main-menu ul.menu-list a:hover {
    color: #111;
}
.main-menu .hamburger {
    display: none;
}
.main-menu .hamburger .bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: #053634;
}

@media only screen and (max-width: 1180px) {
    .main-logo {
      margin: 0 auto;
    }
    
    .main-menu ul.menu-list {
        position: fixed;
        top: -500px;
        left: 0;
        width: 100%;
        flex-direction: column;
        text-align: center;
        transition: 0.8s;
        z-index: 9;
    }
    .main-menu .menu-list.responsive {
        top: 0;
        background-color: rgba(0,0,0,0.8);
        padding: 200px 0;
        height: 100%;
    }
    .main-menu .menu-list li.menu-item {
       margin-bottom: 50px;
    }
    #navbar .menu-list.responsive a {
      font-size: 1rem;
      color: #fff;
      border-bottom: none;
    }
    #navbar .menu-list.responsive a:hover {
      color: #ebb017;
    }
    .main-menu .hamburger {
        display: block;
        position: fixed;
        top: 40px;
        left: 40px;
        z-index: 9;
        background: #f8f6f1;
        padding: 10px;
        cursor: pointer;
    }
    .hamburger.active .bar:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
 }

@media only screen and (max-width: 300px) {
   #navbar .btn-hvr-effect {
      display: none;
  }
  .main-logo {
      width: 100%;
      text-align: right;
  }
}

/*----- Billboard
--------------------------------------------------------------*/
#billboard {
    background-color: #F7F9FD;
    overflow: hidden;
}
#billboard .main-banner {
    display: flex;
    flex-wrap: wrap;
    width: 1430px;
    margin: 0 auto;
    padding: 110px;
}
#billboard .banner-content {
    width: 52%;
    padding-top: 55px;
    margin-right: 65px;
}
.banner-content h3.banner-title {
    font-size: 3.4em;
    line-height: 1.2;
    font-weight: 600;
    color: #111;
}
.banner-content p {
    margin-bottom: 90px;
}
#billboard figure {
    width: 41%;
    z-index: 2;
}

@media only screen and (max-width: 1370px) {
  #billboard .main-banner {
      display: flex;
      flex-wrap: wrap;
      width: 1290px;
      margin: 0 auto;
  }
}
@media only screen and (max-width: 1200px) {
  #billboard .main-banner {
      width: 1160px;
      padding: 70px;
  }
  #billboard .banner-content {
      width: 50%;
  }
}
@media only screen and (max-width: 1080px) {
  #billboard .main-banner {
      width: 1060px;
      padding: 70px;
  }
  #billboard .banner-content {
      width: 80%;
      order: 2;
  }
  #billboard figure {
      width: 80%;
  }
}
@media only screen and (max-width: 820px) {
  #billboard .main-banner {
      width: 800px;
      padding: 70px;
  }
}
@media only screen and (max-width: 630px) {
  #billboard .main-banner {
      width: 610px;
      padding: 30px 30px 100px;
  }
  .banner-content h3.banner-title {
      font-size: 2.4em;
  }
}
@media only screen and (max-width: 500px) {
  #billboard .main-banner {
      width: 480px;
  }
}



/*----- About Section
--------------------------------------------------------------*/
#about {
    padding: 130px 65px;
    background: #f9f9f9;
}
#about figure {
    width: 45%;
    margin-right: 85px;
}
#about .detail-entry {
    width: 45%;
    margin-top: 100px;
}
#about .detail-entry .detail-wrap {
    width: 85%;
}

@media only screen and (max-width: 1040px) {
  #about figure {
      width: 90%;
      margin-right: 0;
  }
  #about img.single-image {
      height: 500px;
  }
  #about .detail-entry {
      width: 90%;
  }
}

@media only screen and (max-width: 767px) {
}

@media only screen and (max-width: 620px) {
  #about {
      padding: 130px 0;
  }
}

/*----- Services Section
--------------------------------------------------------------*/
#services {
    padding: 150px 0;
    position: relative;
}
#services .detail-entry {
    width: 36%;
    padding-top: 125px;
}
#services .service-grid {
    width: 55%;
}
#services .column {
    width: 30%;
}
#services .column.odd-column {
    padding-top: 93px;
}
#services .icon-box {
    background: #fff;
    width: 100%;
    padding: 35px 40px;
    margin-bottom: 30px;
    text-align: center;
    box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
    -webkit-box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
    -moz-box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
}
#services .icon-box:hover {
    box-shadow: none;
    cursor: pointer;
}
#services .icon-box .title {
    font-family: "Jost", Verdana, sans-serif;
    font-size: 1.3em;
    font-weight: 600;
    padding-top: 15px;
}

@media only screen and (max-width: 1140px) {
  #services .icon-box {
      padding: 35px 20px;
  }
}

@media only screen and (max-width: 1040px) {
  #services {
      padding: 20px 0 100px;
  }
  #services .detail-entry {
      width: 95%;
  }
  #services .service-grid {
      width: 95%;
  }
}

@media only screen and (max-width: 620px) {
  #services .service-grid {
      width: 95%;
      padding-top: 100px;
  }
  #services .column {
      width: 45%;
  }
  #services .column.odd-column {
      padding-top: 0;
  }
}

/*----- Services Section
--------------------------------------------------------------*/
#projects {
    background-color: #F7F9FD;
    padding: 130px 0;
    position: relative;
    overflow: hidden;
}
#projects .grid {
    justify-content: start;
    align-items: end;
}
#projects .project-style {
    width: 32%;
    margin-right: 25px;
}
#projects .project-style:last-child {
    margin-right: 0;
}
#projects .project-style figcaption {
    display: flex;
    background: #fff;
    padding: 30px 20px;
    justify-content: space-between;
    align-items: center;
}
#projects .project-style:hover figcaption {
    cursor: pointer;
    background: #F7F9FD;
}
#projects .project-style h3 {
    font-size: 1.2em;
    text-transform: capitalize;
    margin: 0;
}
#projects .category-title {
    font-size: 15px;
}

#projects .slick-dots li button:before {
    font-size: 40px;
}
.tab-content .grid {
    padding-bottom: 60px;
}
#projects .tabs {
    justify-content: center;
    margin-bottom: 40px;
    margin-left: 250px;
}
#projects .tabs .tab {
    padding-right: 30px;
    color: #acacac;
}
#projects .tabs .tab.active, 
#projects .tabs .tab:hover {
    color: #000;
}

#projects .slick-arrow {
    font-family: "icomoon";
    position: absolute;
    bottom: 212px;
}
#projects .prev.slick-arrow {
    content: "\e900";
    left: -72px;
}
#projects .next.slick-arrow {
    content: "\e901";
    right: -42px;
}
#projects .slick-arrow:hover,
#projects .slick-arrow:focus{
   color: #c59d5f;
}
#projects .slick-arrow i.icon {
    font-size: 25px;
    font-weight: bold;
    line-height: 1;
}
.slick-dots li.slick-active button:before {
    outline: 2px solid #D7D7D7;
    border-radius: 50%;
}

@media only screen and (max-width: 1400px) {
  #projects .project-style h3 {
      font-size: 1em;
  }
}

@media only screen and (max-width: 1300px) {
  #projects .tabs {
      margin-left: 50px;
  }
}

@media only screen and (max-width: 1200px) {
  .project-grid .slick-slide img {
      width: 100%;
  }
}

@media only screen and (max-width: 900px) {
  .project-grid img.project-image {
      height: auto;
  }
}

@media only screen and (max-width: 780px) {
  #projects .tabs {
      margin-left: 0;
  }
  #projects .tabs .tab {
      font-size: 15px;
      color: #fff;
      background: #f3c522;
      padding: 10px;
      margin-right: 10px;
      border-radius: 10px;
  }
}

/*----- Testimonial Section
--------------------------------------------------------------*/
#testimonial {
    padding: 180px 0;
    overflow: hidden;
}
#testimonial .grid {
    justify-content: center;
    position: relative;
}
#testimonial .section-header {
    width: 35%;
    margin-right: 130px;
}
#testimonial .testimonial-content {
    width: 45%;
}
#testimonial .slick-list {
    overflow: unset;
}
#testimonial .testimonial-item {
    display: flex;
}
#testimonial .author-detail {
    background: #fff;
    padding: 60px 70px;
    margin: 0 8px;
    width: 100%;
    box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
    -webkit-box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
    -moz-box-shadow: -2px 1px 29px -9px rgba(0,0,0,0.2);
}
#testimonial .author-detail q {
    font-size: 18px;
    line-height: 2;
}
#testimonial .author-name {
    font-size: 1.3em;
    font-weight: 700;
    padding: 35px 0 15px 0;
}
#testimonial .author-thumb {
    display: flex;
    align-items: center;
    margin-right: -31px;
    z-index: 2;
}
#testimonial .button-container {
    display: flex;
    position: absolute;
    bottom: 0;
    right: 140px;
}
#testimonial button.prev.slick-arrow {
    border-right: 1px solid #E2E2E2;
    margin-right: 30px;
    padding-right: 30px;
}
.button-container button.slick-arrow {
    font-size: 1.6em;
    line-height: 0;
    font-weight: 900;
    color: #111;
}
.button-container button.slick-arrow:hover,
.button-container button.slick-arrow:focus {
    color: #ccc;
}

@media only screen and (max-width: 1200px) {
  #testimonial .section-header {
      margin-right: 50px;
  }
}

@media only screen and (max-width: 1040px) {
  #testimonial .section-header {
      width: 70%;
  }
  #testimonial .testimonial-content {
      width: 70%;
  }
  #testimonial .button-container {
      right: 160px;
  }
}

@media only screen and (max-width: 900px) {
  #testimonial .section-header {
      margin-bottom: 30px;
  }
}

@media only screen and (max-width: 700px) {
  #testimonial .grid {
      justify-content: space-between;
  }
  #testimonial .section-header {
      width: 90%;
  }
  #testimonial .testimonial-content {
      width: 90%;
  }
  #testimonial .author-detail {
      padding: 50px 30px;
  }
  #testimonial .author-thumb {
      display: none;
  }
  #testimonial .button-container {
      right: 210px;
  }
  #testimonial button.slick-arrow {
      font-size: 1em;
  }
  #testimonial button.prev.slick-arrow {
      border-right: none;
      margin-right: 0;
  }
}




/*----- Blog Section
--------------------------------------------------------------*/

#latest-blog {
    margin: 100px 0;
}
#latest-blog article.column {
    width: 31%;
}
#latest-blog .meta-tag {
    display: flex;
    padding-bottom: 20px;
}
#latest-blog .meta-date {
    padding-right: 15px;
    margin-right: 30px;
    position: relative;
}
#latest-blog .meta-date:before {
    content: ".";
    font-size: 81px;
    color: #ccc;
    position: absolute;
    right: -18px;
    bottom: -14px;
}
#latest-blog .post-item {
    padding: 36px 32px;
}

@media only screen and (max-width: 999px) {
  #latest-blog article.column {
      width: 48%;
  }
}

@media only screen and (max-width: 699px) {
  #latest-blog article.column {
      width: 100%;
  }
}

/*----- Subscribe Section
--------------------------------------------------------------*/
#subscribe {
    background-color: #f9f9f9;
    padding: 145px 0;
}
#subscribe .container {
    max-width: 1200px;
}
#subscribe .section-header {
    width: 30%;
    margin-right: 300px;
}
#subscribe .subscribe-content {
    width: 44%;
}
#subscribe form#form {
    margin-top: 25px;
}
#subscribe input[type="text"] {
    width: 323px;
    padding: 10px;
    border: none;
    background: none;
    border-bottom: 1px solid #C4C4C4;
    font-style: italic;
}

@media only screen and (max-width: 1220px) {
  #subscribe .section-header {
      width: 35%;
      margin-right: 150px;
  }
}

@media only screen and (max-width: 1100px) {
  #subscribe .section-header {
    width: 45%;
    margin-right: 30px;
  }
  #subscribe .subscribe-content {
      width: 50%;
  }
}

@media only screen and (max-width: 960px) {
    #subscribe input[type="text"] {
      margin-bottom: 10px;
  }
}

@media only screen and (max-width: 767px) {
  #subscribe .section-header {
      width: 90%;
  }
  #subscribe .subscribe-content {
      width: 90%;
  }
}

/*----- Association Section
--------------------------------------------------------------*/
#association-with {
    padding: 100px 0;
}
#association-with img {
    opacity: 20%;
    cursor: pointer;
    margin: 30px; 
}
#association-with img:hover {
    opacity: 100%;
}


/*----- Association Section
--------------------------------------------------------------*/
#footer {
    background-color: #F7F9FD;
    padding: 130px 0;
}
#footer .container {
    max-width: 1200px;
}
#footer ul.menu-list li {
    margin-bottom: 20px;
    outline: 0;
}
#footer .footer-menu {
    width: 16%;
}
#footer strong {
    font-weight: 800;
    display: block;
    padding-bottom: 5px;
}
#footer .footer-item {
    width: 40%;
    margin-left: 300px;
}
#footer .footer-item h2 {
    font-size: 3.4em;
}

#footer-bottom {
    border-top: 1px solid #E7EBF1;
    background: #f7f9fd;
    padding-top: 60px;
}
#footer-bottom ul {
    display: flex;
}
#footer-bottom li {
    padding-left: 10px;
}

@media only screen and (max-width: 1140px) {
  #footer .footer-item {
      margin-left: 100px;
  }
}

@media only screen and (max-width: 800px) {
  #footer .footer-menu {
      width: 50%;
      margin-bottom: 30px;
  }
  #footer .footer-item {
      width: 80%;
      margin-left: 10px;
  }
  #footer .footer-item h2 {
      font-size: 2.4em;
  }
}


@media only screen and (max-width: 500px) {
  #footer-bottom .grid {
      justify-content: center;
  }
  #footer-bottom p {
      text-align: center;
  }
}



  .shop-section {
    padding: 2rem;
    background-color: #f9f9f9;
    text-align: center;
  }
  
  .shop-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #333;
  }
  
  .product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    padding: 1rem;
  }
  
  .product-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    text-align: center;
    padding: 1rem;
  }
  
  .product-image {
    width: 100%;
    height: auto;
    border-bottom: 1px solid #ddd;
    margin-bottom: 1rem;
  }
  
  .product-name {
    font-size: 1.2rem;
    color: #333;
    margin: 0.5rem 0;
  }
  
  .product-price {
    font-size: 1rem;
    color: #555;
    margin-bottom: 1rem;
  }
  
  .add-to-cart-btn {
    padding: 0.7rem 1.2rem;
    font-size: 1rem;
    color: #fff;
    background-color: #0060c7;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
          /* Gaya untuk Pop-up */
          .popup {
            display: none;
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
            z-index: 1000;
        }

        .popup.active {
            display: block;
        }

        .popup-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 999;
        }

        .popup-overlay.active {
            display: block;
        }

        .popup button {
            background-color: #007bff;
            color: white;
            border: none;
            padding: 10px;
            border-radius: 5px;
            cursor: pointer;
        }

        .popup button:hover {
            background-color: #0056b3;
        }
  
  .add-to-cart-btn:hover {
    background-color: #0056b3;
  }
  
       .events-section {
            max-width: 1300px;
            margin: 50px auto;
            padding: 20px;
            background: white;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            border-radius: 8px;
        }
        .event {
            display: flex;
            align-items: center;
            padding: 15px;
            border-bottom: 1px solid #ddd;
        }
        .event:last-child {
            border-bottom: none;
        }
        .event img {
            width: 120px;
            height: auto;
            margin-right: 20px;
            border-radius: 8px;
        }
        .event-details {
            flex: 1;
        }
        .event h3 {
            margin: 0;
            color: #333;
        }
        .event p {
            margin: 5px 0;
            color: #666;
        }

       /* ----- About Section
--------------------------------------------------------------*/
#about1 {
    padding: 130px 65px;
    background: #f9f9f9;
}
#about1 figure {
    width: 45%;
    margin-right: 85px;
}
#about1 .detail-entry {
    width: 45%;
    margin-top: 100px;
}
#about1 .detail-entry .detail-wrap {
    width: 85%;
}

@media only screen and (max-width: 1040px) {
  #about1 figure {
      width: 90%;
      margin-right: 0;
  }
  #about1 img.single-image {
      height: 500px;
  }
  #about1 .detail-entry {
      width: 90%;
  }
}

@media only screen and (max-width: 767px) {
}

@media only screen and (max-width: 620px) {
  #about1 {
      padding: 130px 0;
  }
}



.title-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.section-header {
  margin-bottom: 20px;
}

.section-header.align-center {
  text-align: center;
}

.section-subtitle {
  font-size: 1.2em;
  color: #7f8c8d;
}

.section-title {
  font-size: 2em;
  color: #34495e;
  margin-top: 10px;
}

/* ----- GRID ACARA ----- */
.events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  padding: 50px;
  justify-content: center;
}

/* ----- KARTU ACARA ----- */
.event-card {
  background: #ffffff;
  border-radius: 15px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.event-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.card-header img {
  width: 100%;
  height: auto;
  display: block;
}

.card-body {
  padding: 20px;
  text-align: center;
}

.card-body h3 {
  font-size: 1.5em;
  color: #34495e;
  margin-bottom: 10px;
}

.card-body p {
  font-size: 1em;
  color: #7f8c8d;
  margin-bottom: 20px;
}

.card-button {
  font-size: 1em;
  color: #ffffff;
  background-color: #3498db;
  padding: 10px 20px;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.card-button:hover {
  background-color: #2980b9;
  transform: translateY(-2px);
}

/* ----- MODAL (POP-UP) ----- */
.modal {
  display: none; /* hidden secara default */
  position: fixed; 
  z-index: 999; 
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; 
  background-color: rgba(0, 0, 0, 0.5); /* overlay */
}

.modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  border-radius: 8px;
  width: 80%;
  max-width: 600px;
  position: relative;
  text-align: center;
}

.close-modal {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  cursor: pointer;
}

.modal h3 {
  margin-top: 0;
  color: #34495e;
}

.modal p {
  color: #7f8c8d;
}

/* ----- TOMBOL LIHAT SEMUA EVENT ----- */
.view-all {
  text-align: center;
  margin-top: 30px;
}

.view-all a {
  text-decoration: none;
  font-size: 1.2em;
  color: white;
  background-color: #3498db;
  padding: 12px 30px;
  border-radius: 30px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.view-all a:hover {
  background-color: #2980b9;
  transform: translateY(-5px);
}

  /* Tombol pada Setiap Kartu */
.card-button {
    font-size: 1em;
    color: white;
    background-color: #000000;
    padding: 10px 20px;
    border: none;
    border-radius: 15px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
  }
  
  .card-button:hover {
    background-color: #5a5f63;
    transform: translateY(-3px);
  }

  .hero {
    background-image: url('images/Cover\ Website.png'); /* Ganti dengan path file Anda */
    background-size: cover;
    background-position: center;
    height: 100vh;
  } 

  .hero-section {
    background: linear-gradient(to bottom, rgba(144, 144, 144, 0.8), #ffffff);
    height: 100vh; /* Pastikan sesuai ukuran layar */
    background-size: cover;
    background-position: center;
}

.showcase {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

@import url('https://fonts.googleapis.com/css2?family=Sacramento&display=swap');



.showcase video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Efek gelap pada latar */
}

.content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  z-index: 2;
  width: 90%; /* Membuat teks lebih lebar */
}




/* 🔹 Untuk Tablet (Lebar layar max 1024px) */
@media (max-width: 1024px) {
  .welcome-text {
    font-size: 5rem;
  }
  .subtext {
    font-size: 2.5rem;
  }
}

/* 🔹 Untuk HP (Lebar layar max 768px) */
@media (max-width: 768px) {
  .welcome-text {
    font-size: 4rem;
  }
  .subtext {
    font-size: 2rem;
  }
  .content {
    width: 100%;
  }
}

/* 🔹 Untuk HP Kecil (Lebar layar max 480px) */
@media (max-width: 480px) {
  .welcome-text {
    font-size: 3rem;
  }
  .subtext {
    font-size: 1.8rem;
  }
}

.content a {
  text-decoration: none;
  display: inline-block;
  color: #fff;
  font-size: 24px;
  border: 2px solid #fff;
  padding: 14px 70px;
  border-radius: 50px;
  margin-top: 500px;
  background: rgba(255, 255, 255, 0.2);
  transition: 0.3s;
  text-align: center;
}

/* Hover Effect */
.content a:hover {
  background: #fff;
  color: #000;
}

/* RESPONSIF untuk layar Tablet (Lebar Maksimum 768px) */
@media (max-width: 768px) {
  .content a {
    font-size: 20px; /* Perkecil font */
    padding: 12px 50px; /* Sesuaikan padding */
    margin-top: 300px; /* Kurangi jarak agar lebih proporsional */
  }
}

/* RESPONSIF untuk layar Mobile (Lebar Maksimum 480px) */
@media (max-width: 480px) {
  .content a {
    font-size: 18px; /* Perkecil font agar tidak terlalu besar */
    padding: 10px 40px; /* Sesuaikan padding */
    margin-top: 200px; /* Sesuaikan jarak agar tidak terlalu jauh */
  }
}
