/* ===================================
    Crafto - Scattered portfolio
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* variable */
:root {     
    --base-color: #ffea00;
    --medium-gray:#838383;
    --light-gray: #cbcbcb;
    --alt-font: 'Playfair Display', serif;
    --primary-font: 'Manrope', sans-serif;
}
/* custom cursor */
@media (hover: hover) and (pointer: fine) {
    .custom-cursor .circle-cursor-outer {
        border: 1px solid transparent !important;
        background-color: #000000 !important;
    }
    .custom-cursor .circle-cursor-inner {
        background-color: #ffffff !important;
    }
    .custom-cursor .circle-cursor-inner.cursor-link-hover {
        background-color: #ffffff !important;
        width: 10px;
        height: 10px;
        margin-left: -5px;
        margin-top: -5px;
    }
    .custom-cursor .circle-cursor-outer.cursor-link-hover {
        background-color: #000000 !important;
        border-color: #000000 !important;
    }
}

/* Global Slider Navigation (Hitam Pekat #000000 dengan Icon Putih #ffffff) */
.slider-navigation-style-04,
.slider-navigation-style-04.swiper-button-prev,
.slider-navigation-style-04.swiper-button-next,
div[class*="slider-one-slide-prev"],
div[class*="slider-one-slide-next"] {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.slider-navigation-style-04 i,
div[class*="slider-one-slide-prev"] i,
div[class*="slider-one-slide-next"] i {
    color: #ffffff !important;
}

@media (hover: hover) and (pointer: fine) {
    .slider-navigation-style-04:hover,
    div[class*="slider-one-slide-prev"]:hover,
    div[class*="slider-one-slide-next"]:hover {
        background-color: #232323 !important;
    }
    .slider-navigation-style-04:hover i,
    div[class*="slider-one-slide-prev"]:hover i,
    div[class*="slider-one-slide-next"]:hover i {
        color: #ffffff !important;
        opacity: 0.85 !important;
    }
}

/* ==========================================================================
   Model Button Pill Bulat Hitam Pekat (#000000) dengan Teks Putih (#ffffff)
   ========================================================================== */
.btn.btn-pill-black,
.btn-pill-black {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #000000 !important;
    border-radius: 50px !important;
    padding: 14px 36px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.btn.btn-pill-black:hover,
.btn-pill-black:hover,
.btn.btn-pill-black:focus,
.btn-pill-black:focus {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #1a1a1a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22) !important;
}

.btn.btn-pill-black:active,
.btn-pill-black:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.btn.btn-pill-black:disabled,
.btn-pill-black:disabled {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Modifier proporsional untuk header / navbar */
.btn.btn-pill-black.header-btn-masuk,
.header-btn-masuk.btn-pill-black,
.btn.btn-pill-black.btn-small {
    padding: 10px 28px !important;
    font-size: 14px !important;
    line-height: 20px !important;
}

/* ==========================================================================
   Filter Image: Monokrom (B&W) Default -> Berwarna Dinamis saat Hover
   ========================================================================== */
img:not(.navbar-brand img):not([src*="demo-scattered-portfolio-logo"]) {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    transition: filter 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                -webkit-filter 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: filter;
}

/* Berwarna kembali saat krusor diarahkan / hover langsung atau hover card/link */
img:not(.navbar-brand img):not([src*="demo-scattered-portfolio-logo"]):hover,
a:hover > img:not(.navbar-brand img):not([src*="demo-scattered-portfolio-logo"]),
a:hover img:not(.navbar-brand img):not([src*="demo-scattered-portfolio-logo"]),
.portfolio-box:hover img,
.portfolio-image:hover img,
.interactive-banner:hover img,
.swiper-slide:hover img,
.gallery-box:hover img,
.card:hover img,
figure:hover img,
.blog-box:hover img,
.grid-item:hover img {
    filter: grayscale(0%) !important;
    -webkit-filter: grayscale(0%) !important;
}

/* ==========================================================================
   Hapus Warna Kuning & Tint pada Image Hover
   ========================================================================== */
.portfolio-image,
.portfolio-box .portfolio-image,
.portfolio-image.bg-base-color {
    background: transparent !important;
    background-color: transparent !important;
}

/* Hapus efek penurunan opacity template yang sebelumnya memunculkan background kuning */
.portfolio-simple .portfolio-box:hover .portfolio-image img,
.portfolio-box:hover .portfolio-image img,
.portfolio-box:hover img,
.portfolio-image:hover img,
.portfolio-image a:hover img {
    opacity: 1 !important;
}

body {
    font-size: 18px;
    line-height: 34px;
}
/* header */
header .navbar-brand img {
    max-height: 74px;
}
.navbar .navbar-nav .nav-link {
    font-weight: 600;
    padding: 10px 25px;
    font-size: 18px;
}
.navbar .navbar-nav .nav-item:last-child .nav-link{
    padding-right: 0;
}
header .navbar-brand {
    padding: 42px 0;
}
header .container-fluid {
    padding-left: 80px;
    padding-right: 80px;
}
/* font size */
.fs-220 {
    font-size: 13.75rem;
    line-height: 11.7rem;
}
.fs-280 {
    font-size: 17.5rem;
    line-height: 17.5rem;
}
/* margin */
.mb-50 {
    margin-bottom: 50%;
}
.small-icon li {
    margin: 0 8px;
}
/* btn */
.btn {
    font-family: var(--primary-font);
    font-weight: 800;
}
/* contact form-style 03 */
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: var(--black) !important; text-overflow: ellipsis; opacity:1; }
input::-moz-placeholder, textarea::-moz-placeholder { color: var(--black) !important; text-overflow: ellipsis; opacity:1; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: var(--black) !important; text-overflow: ellipsis; opacity:1; }
input, select, textarea, .form-control, .form-select {
    color: var(--black) !important;
}
/* media query responsive */
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1440px; 
    }
}
@media (max-width: 1199px) {
    .fs-220 {
        font-size: 12.5rem;
        line-height: 12.5rem;
    }
    .fs-280 {
        font-size: 15rem;
        line-height: 15rem;
    }
}
@media (max-width: 991px) {
    .navbar.bg-transparent {
        background-color: transparent !important;
    }
    .fs-220 {
        font-size: 10rem;
        line-height: 10rem;
    } 
    header .navbar-brand {
        padding: 30px 0;
    }
    .fs-280 {
        font-size: 12rem;
        line-height: 12rem;
    }
    .navbar-collapse-show[data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner {
        background-image: url(../images/vertical-line-bg-small.svg) !important;
    }
    [data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner .navbar-nav {
        text-align: center;
    }
    [data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner .navbar-nav > .nav-item {
        border-bottom: 0;
        padding: 0;
    }
    [data-mobile-nav-style=full-screen-menu] .navbar-full-screen-menu-inner .navbar-nav .nav-item .nav-link {
        font-size: 42px;
        line-height: 46px;
    }
}
@media (max-width: 575px) {
    header .navbar-brand {
        padding: 15px 0;
    }
    header .navbar-brand img {
        max-height: 55px;
    }
    .fs-220 {
        font-size: 5.625rem;
        line-height: 5.625rem;
    } 
    .fs-280 {
        font-size: 8rem;
        line-height: 8rem;
    }
}