/* ==========================================
   DANOMOTION PORTFOLIO V1
========================================== */

:root{

    --bg:#0f0f0f;
    --bg-light:#171717;

    --text:#f5f5f5;
    --grey:#b8b8b8;

    --accent:#b7cf00;

    --content-width:1400px;

}

/* ==========================================
   RESET
========================================== */

*{

    margin:0;
    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);

    color:var(--text);

    font-family:'Manrope',sans-serif;

    overflow-x:hidden;

}

img{

    display:block;

    width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

section{

    position:relative;

}

/* ==========================================
   NAVIGATION
========================================== */

.portfolio-nav{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    display:flex;

    justify-content:space-between;
    align-items:center;

    padding:28px 70px;

    z-index:1000;

    transition:.4s;

}

.portfolio-nav.scrolled{

    background:rgba(15,15,15,.88);

    backdrop-filter:blur(20px);

}

.portfolio-logo{

    width:220px;

    transition:.4s;

}

.portfolio-menu{

    display:flex;

    align-items:center;

    gap:45px;

}

.portfolio-menu a{

    position:relative;

    font-size:.9rem;

    letter-spacing:.5px;

}

.portfolio-menu a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;
    height:1px;

    background:var(--accent);

    transition:.35s;

}

.portfolio-menu a:hover::after{

    width:100%;

}

/* ==========================================
   MOBILE BUTTON
========================================== */

.menu-toggle{

    display:none;

    width:40px;
    height:40px;

    background:none;
    border:none;

    cursor:pointer;

    z-index:1002;

}

.menu-toggle span{

    display:block;

    width:26px;
    height:2px;

    margin:6px auto;

    background:#fff;

    transition:.3s;

}
/* ==========================================
   HERO
========================================== */

.portfolio-hero{

    position:relative;

    height:70vh;
    min-height:650px;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:hidden;

}

.portfolio-hero-image{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            rgba(0,0,0,.55),
            rgba(0,0,0,.80)
        ),
        url("../img/autohaus-thiel.JPG");

    background-size:cover;
    background-position:center;

    transform:scale(1.05);

}

.portfolio-hero-content{

    position:relative;

    z-index:2;

    text-align:center;

    width:min(90%,900px);

}

.hero-category{

    display:inline-block;

    color:var(--accent);

    letter-spacing:4px;

    text-transform:uppercase;

    font-size:.85rem;

    margin-bottom:25px;

}

.portfolio-hero-content h1{

    font-size:5rem;

    line-height:1;

    font-weight:700;

    margin-bottom:30px;

}

.portfolio-hero-content p{

    color:var(--grey);

    max-width:700px;

    margin:0 auto;

    line-height:1.8;

    font-size:1.05rem;

}

/* ==========================================
   FILTER
========================================== */

.portfolio-filter-section{

    padding:70px 0;

    border-top:
        1px solid rgba(255,255,255,.04);

    border-bottom:
        1px solid rgba(255,255,255,.04);

}

.portfolio-filter{

    width:min(92%,var(--content-width));

    margin:0 auto;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

}

.filter-btn{

    padding:14px 28px;

    border:1px solid rgba(255,255,255,.08);

    background:transparent;

    color:var(--text);

    cursor:pointer;

    font-family:inherit;

    transition:.3s;

}

.filter-btn:hover{

    border-color:var(--accent);

    color:var(--accent);

}

.filter-btn.active{

    background:var(--accent);

    color:#111;

    border-color:var(--accent);

}
/* ==========================================
   PORTFOLIO GRID
========================================== */

.portfolio-section{

    width:min(92%,var(--content-width));

    margin:0 auto;

    padding:100px 0;

}

.portfolio-grid{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:30px;

}

/* ==========================================
   CARD
========================================== */

.portfolio-card{

    position:relative;

    overflow:hidden;

    background:var(--bg-light);

    transition:
        transform .4s ease,
        box-shadow .4s ease;

}

.portfolio-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 30px 80px rgba(0,0,0,.35);

}

.portfolio-card img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:1s;

}

.portfolio-card:hover img{

    transform:scale(1.05);

}

/* ==========================================
   CONTENT
========================================== */

.portfolio-card-content{

    position:relative;

    padding:30px 30px 55px 30px;

}

.portfolio-card-content span{

    display:inline-block;

    color:var(--accent);

    font-size:.75rem;

    text-transform:uppercase;

    letter-spacing:3px;

    margin-bottom:15px;

}

.portfolio-card-content h3{

    font-size:1.8rem;

    line-height:1.15;

    margin-bottom:15px;

    font-weight:700;

}

.portfolio-card-content p{

    color:var(--grey);

    line-height:1.8;

    font-size:.95rem;

}

/* ==========================================
   HOVER LINK
========================================== */

.portfolio-card::after{

    content:"Mehr erfahren →";

    position:absolute;

    left:30px;
    bottom:25px;

    color:var(--accent);

    font-size:.9rem;

    opacity:0;

    transform:translateY(10px);

    transition:.35s;

    pointer-events:none;

}

.portfolio-card:hover::after{

    opacity:1;

    transform:translateY(0);

}
/* ==========================================
   PORTFOLIO CTA
========================================== */

.portfolio-cta{

    text-align:center;

    padding:140px 20px;

    background:var(--bg-light);

}

.portfolio-cta span{

    display:inline-block;

    color:var(--accent);

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:.85rem;

    margin-bottom:20px;

}

.portfolio-cta h2{

    font-size:3.5rem;

    line-height:1.1;

    margin-bottom:25px;

}

.portfolio-cta p{

    max-width:700px;

    margin:0 auto 50px;

    color:var(--grey);

    line-height:1.9;

}

.cta-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 40px;

    border:1px solid rgba(255,255,255,.12);

    transition:.35s;

}

.cta-button:hover{

    border-color:var(--accent);

    color:var(--accent);

    transform:translateY(-3px);

}

/* ==========================================
   FOOTER
========================================== */

footer{

    padding:60px 10%;

    border-top:1px solid rgba(255,255,255,.05);

}

.footer-bar{

    display:grid;

    grid-template-columns:1fr auto 1fr;

    align-items:center;

    color:#777;

}

.footer-left{

    justify-self:start;

}

.footer-center{

    justify-self:center;

}

.footer-right{

    justify-self:end;

    display:flex;

    gap:22px;

    align-items:center;

}

.footer-claim{

    margin-top:18px;

    text-align:center;

    color:#777;

}


/* ==========================================
   FADE
========================================== */

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.fade-up.visible{

    opacity:1;

    transform:none;

}

/* ==========================================
   TABLET
========================================== */

@media (max-width:1100px){

    .portfolio-grid{

        grid-template-columns:
            repeat(2,1fr);

    }

    .portfolio-hero-content h1{

        font-size:4rem;

    }

}

/* =====================
   HAMBURGER
===================== */

.menu-toggle{

    display:none;

    width:35px;
    height:25px;

    background:none;

    border:none;

    cursor:pointer;

    z-index:1001;

}

.menu-toggle span{

    display:block;

    width:100%;
    height:2px;

    background:#ffffff;

    margin:7px 0;

    transition:.4s ease;

}

.menu-toggle.active span:nth-child(1){

    transform:
        rotate(45deg)
        translate(6px,7px);

}

.menu-toggle.active span:nth-child(2){

    opacity:0;

}

.menu-toggle.active span:nth-child(3){

    transform:
        rotate(-45deg)
        translate(6px,-7px);

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px){

    .portfolio-nav{

        padding:22px 25px;

    }

    .portfolio-logo{

        width:170px;

    }

    .menu-toggle{

        display:block;

    }

    .portfolio-menu{

        position:fixed;

        top:0;
        right:0;

        width:100vw;
        height:100vh;

        background:#0f0f0f;

        display:flex;

        flex-direction:column;

        justify-content:center;

        align-items:center;

        gap:45px;

        transform:translateX(100%);

        opacity:0;

        visibility:hidden;

        pointer-events:none;

        transition:
            transform .55s cubic-bezier(.22,.61,.36,1),
            opacity .35s ease;

    }

    .portfolio-menu.active{

        transform:translateX(0);

        opacity:1;

        visibility:visible;

        pointer-events:auto;

    }

    .portfolio-menu a{

        font-size:1.0rem;

    }

    .portfolio-hero{

        min-height:550px;

    }

    .portfolio-hero-content h1{

        font-size:2.8rem;

    }

    .portfolio-hero-content p{

        font-size:.95rem;

    }

    .portfolio-grid{

        grid-template-columns:1fr;

    }

    .portfolio-card img{

        height:260px;

    }

    .portfolio-card-content h3{

        font-size:1.5rem;

    }

    .portfolio-cta{

        padding:100px 25px;

    }

    .portfolio-cta h2{

        font-size:2.4rem;

    }

    .footer-content{

        flex-direction:column;

        gap:12px;

        text-align:center;

    }

}

/* ==========================================
   Portfolio Dropdown
========================================== */

.nav-dropdown{

    position:relative;

}

.nav-dropdown-toggle{

    display:flex;
    align-items:center;
    gap:8px;

}

.nav-dropdown-toggle::after{

    content:"▾";

    font-size:.7rem;

    transition:.25s;

}

.nav-dropdown:hover .nav-dropdown-toggle::after{

    transform:rotate(180deg);

}

.nav-dropdown-menu{

    position:absolute;

    top:calc(100% + 18px);
    left:0;

    min-width:240px;

    background:#111;

    border:1px solid rgba(255,255,255,.08);

    opacity:0;
    visibility:hidden;

    transform:translateY(12px);

    transition:.25s ease;

    z-index:999;

}

.nav-dropdown:hover .nav-dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.nav-dropdown-menu a{

    display:block;

    padding:16px 22px;

    border-left:3px solid transparent;

    transition:.25s;

}

.nav-dropdown-menu a:hover{

    border-left-color:var(--accent-color);

    background:rgba(255,255,255,.03);

    padding-left:28px;

}

/* ==========================================
   FOOTER MOBILE
========================================== */

@media (max-width:768px){

    .footer-bar{

        display:flex;
        flex-direction:column;
        align-items:center;
        gap:18px;

    }

    .footer-left,
    .footer-center,
    .footer-right{

        width:100%;
        text-align:center;
        justify-self:center;

    }

    .footer-right{

        display:flex;
        flex-wrap:wrap;
        justify-content:center;
        align-items:center;
        gap:10px 18px;

    }

    .footer-right span{

        display:none;

    }

    .footer-claim{

        margin-top:28px;

        text-align:center;

        letter-spacing:2px;

        line-height:1.7;

        padding:0 20px;

    }

}