html {
    min-height: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

details summary {
    list-style: none;
    -webkit-appearance: none;
    appearance: none;
}

details summary::-webkit-details-marker,
details summary::marker {
    display: none !important;
}

details[open] summary i.fi-rr-angle-small-right {
    display: none;
}

details[open] summary i.fi-rr-angle-small-down {
    display: inline;
}

header .group:hover i.fi-rr-angle-small-right {
    display: none;
}

header .group:hover i.fi-rr-angle-small-down {
    display: inline;
}

.banner-slider {
    height: 100%;
}

.banner-slider .slick-list,
.banner-slider .slick-track,
.banner-slider .slick-slide {
    height: 100% !important;
}

.banner-slider .slick-slide>div {
    height: 100% !important;
}

.banner-slider .slick-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.banner-slider .slick-arrow {
    width: 44px;
    height: 44px;
    background: #1e40af;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
    z-index: 20;
    top: 55%!important;
}

.banner-slider .slick-arrow i {
    font-size: 18px;
    line-height: 1;
}

.banner-slider .slide-content {
    padding: 0 55px;
}

@media (min-width: 768px) {
    .banner-slider .slide-content {
        padding: 0;
    }
}

.banner-slider .slick-arrow:hover {
    opacity: 0.9;
    background: #1e40af;
}

.banner-slider .slick-arrow:before {
    display: none;
}

.banner-slider .slick-prev {
    left: 12px;
}

.banner-slider .slick-next {
    right: 12px;
}

.fade-in-section {
    opacity: 0;
    transform: translateY(24px);
}

.fade-in-section.appear {
    animation: fadeInUp 0.8s ease forwards;
    animation-delay: var(--fade-delay, 0s);
}

.service-card__media {
    overflow: hidden;
}

.service-card__media img {
    transition: transform 0.45s ease;
    display: block;
}

.service-card:hover .service-card__media img {
    transform: scale(1.05);
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-main.is-stuck {
    top: 0 !important;
    box-shadow: 0 1px 12px rgba(15, 23, 42, 0.15);
}

#mobileMenu {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.breadcrumbs {
    display: inline-flex;
    gap: 0.4rem;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
}
