/**
=====================================================
HOME PAGE
=====================================================
*/

/* ==================================================
   HERO
   ================================================== */
#hero {
    overflow: hidden;
    padding: 120px 0 60px;
    margin-top: 70px;
}

#hero h1 {
    font-weight: 800;
    color: var(--color-text);
}

#hero .supporting-title {
    font-weight: 600;
    font-size: var(--fs-md);
    line-height: var(--lh-normal);
    color: var(--color-text);
    margin-bottom: 0.5rem;
}

.hero .hero-background {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero .hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero .hero-background .overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            color-mix(in srgb, #ffffff00, transparent 20%) 0%,
            color-mix(in srgb, #ededed00, transparent 10%) 100%);
}

.hero .container {
    position: relative;
    z-index: 2;
    padding: 40px 15px;
}

#hero .row {
    height: 100%;
    align-items: center;
}

/* Categories */
.hero .categories .card-categories {
    background: var(--color-white);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    border-radius: 100%;
}

.hero .categories .card-text {
    width: 100px;
    font-weight: 800;
    color: var(--color-primary);
    text-decoration: none;
}

/* Highlight */
.hero .highlight {
    margin-top: 10rem;
}

.hero .highlight .highlight-item {
    height: 165px;
    overflow: hidden;
    box-shadow: 0 0 29px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
    width: 100%;
    text-align: center;
}

.hero .highlight .highlight-item .icone {
    margin-left: 2rem;
    margin-right: 1rem;
}

.hero .highlight .highlight-item .phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--color-accent);
    color: var(--color-white);
    font-size: 0.75rem;
}

.hero .highlight .highlight-item .text,
.hero .highlight .highlight-item .text p {
    color: var(--color-white);
    text-align: left;
}

.hero .highlight .highlight-black {
    background: var(--color-primary);
}

.hero .highlight .highlight-light {
    background: var(--color-accent);
}

/* Mobile Hero */
@media (max-width: 767px) {
    .hero {
        height: auto;
        padding: 60px 0 0 !important;
    }

    .hero .hero-background {
        height: 240px;
        margin-top: 70px;
    }

    .hero .hero-background img {
        object-fit: cover;
        object-position: top;
    }

    .hero .container {
        margin-top: 240px;
        padding: 0 15px;
    }
}

/* ==================================================
   ABOUT
   ================================================== */
#about {
    padding: 90px 0;
}

#about .supporting-title {
    font-weight: 700;
    font-size: var(--fs-md);
    line-height: var(--lh-normal);
}

#about h2 {
    margin-bottom: 0.5rem;
}

#about .about-buttons {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

#about figure {
    position: relative;
}

#about .floating-image {
    position: absolute;
    top: 41%;
    right: 8%;
}

/* ==================================================
   SERVICES
   ================================================== */
#services {
    position: relative;
}

#services .services-background {
    position: absolute;
    inset: 0;
    z-index: 1;
}

#services .services-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#services .services-background .overlay {
    position: absolute;
    inset: 0;
    background: #00577bc9;
}

#services .container {
    position: relative;
    z-index: 2;
    padding-bottom: 40px;
}

#services h2,
#services .supporting-title {
    color: var(--color-white);
}

#services .services-list h3 {
    font-weight: 900;
    color: var(--color-primary);
}

#services .services-list .service-link {
    font-weight: 700;
    color: var(--color-text);
}

#services .services-list .service-link .service-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: var(--color-accent);
    color: var(--color-white);
    font-size: 0.75rem;
    margin-left: 5px;
}

#services .services-list article {
    overflow: hidden;
}

#services .services-list .card-decorative {
    position: absolute;
    top: 15%;
    right: -65px;
    z-index: 2;
}

#services .services-list .card-decorative img {
    width: 220px;
    opacity: 0.08;
    filter: grayscale(100%);
    pointer-events: none;
}

/* ==================================================
   POSTS
   ================================================== */
#posts .container {
    position: relative;
    z-index: 2;
    padding: 0px 15px 40px 15px;
}

#posts h2 {
    margin-bottom: 0.5rem;
}

#posts .supporting-title {
    font-weight: 600;
    font-size: var(--fs-md);
}

#posts .posts-list h3 {
    font-weight: 700;
}

#posts .posts-list .post-link {
    font-family: var(--font-primary);
    font-weight: 700;
    color: var(--color-text);
}

#posts .posts-list .post-category {
    background: var(--color-accent);
    color: var(--color-white);
    padding: 8px 25px;
    border-radius: 0 13px 13px 13px;
    position: absolute;
    bottom: -20px;
    left: 25px;
}

#posts .posts-list .post-date {
    color: var(--color-primary);
}

@media (max-width: 767px) {
    .post-card {
        max-width: 400px;
        margin: 0 auto;
    }
}
