@charset "UTF-8";

/*=========================================================
DOE DESIGNS PORTFOLIO

File: branding-project.css

Purpose:
Individual branding project pages
=========================================================*/


/*=========================================================
PROJECT PAGE BACKGROUND
=========================================================*/

body.project-page{
    background:#061C2B;
    overflow-x:hidden;
}

/*=========================================================
DUST BACKGROUND
=========================================================*/

#dust{
    position:fixed;
    inset:0;
    width:100vw;
    height:100vh;
    pointer-events:none;
    z-index:0;
}

/*=========================================================
PROJECT CONTAINER
=========================================================*/

.project-container{
    position:relative;
    z-index:2;
    width:min(1200px,92vw);
    margin:0 auto;
    padding-top:120px;
    padding-bottom:60px;
}

.hero-gif {
    display:block;
    width:420px;
    height:auto;
    margin:0 auto;
}

/*=========================================================
PROJECT HEADER TITLE + ARROWS
=========================================================*/

.project-navigation{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:55px;
    margin-bottom:60px;
    z-index:5;
}

.project-title{
    text-align:center;
}

.project-title h1{
    margin:0;
    color:white;
    font-family:"Barlow Condensed",sans-serif;
    font-size:clamp(34px,5vw,58px);
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/*=========================================================
PROJECT TITLE INSIDE NAVBAR
=========================================================*/

.project-title-nav{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50px);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:35px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
    opacity .6s ease,
    visibility .6s ease,
    transform .8s cubic-bezier(.22,1,.36,1);
}

.project-title-nav h1{
    margin:0;
    color:#00E5FF;
    font-family:"Barlow Condensed",sans-serif;
    font-size:22px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
    transition:.35s ease;
}

.project-title-nav h1:hover{
    color:#00E5FF;
	position:relative;
}

.project-title-nav h1::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:white;
    transition:.35s ease;
}

.project-title-nav h1:hover::after{
    width:100%;
}

/* Active scroll state */

.project-scrolled .project-title-nav{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%);
    pointer-events:auto;
}

.project-scrolled .nav-links{
    opacity:0;
    transform:translateY(-80px);
    pointer-events:none;
}

/*=========================================================
PROJECT ARROWS
=========================================================*/

.project-arrow{

    width:55px;

    height:55px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

}


.arrow-circle{

    position:relative;

    width:42px;

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    transform:translateY(-2px);

    transition:.35s ease;

}


.arrow-triangle{

    width:0;

    height:0;

}


.project-arrow.prev .arrow-triangle{

    border-top:9px solid transparent;

    border-bottom:9px solid transparent;

    border-right:14px solid white;

}


.project-arrow.next .arrow-triangle{

    border-top:9px solid transparent;

    border-bottom:9px solid transparent;

    border-left:14px solid white;

}


.arrow-circle::before{

    content:"";

    position:absolute;

    inset:-12px;

    border-radius:50%;

    border:2px solid transparent;

    border-top-color:#00E5FF;

    opacity:0;

}


.project-arrow:hover .arrow-triangle{

    border-left-color:#00E5FF;

    border-right-color:#00E5FF;

}


.project-arrow:hover .arrow-circle::before{

    opacity:1;

}


.project-arrow.next:hover .arrow-circle::before{

    animation:arrowSpinRight 5s linear infinite;

}


.project-arrow.prev:hover .arrow-circle::before{

    animation:arrowSpinLeft 5s linear infinite;

}


@keyframes arrowSpinRight{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}


@keyframes arrowSpinLeft{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(-360deg);
    }

}

/*=========================================================
HERO IMAGE
=========================================================*/

.project-hero{

    width:100%;

    margin-bottom:60px;

}


.project-hero img{

    width:100%;

    height:auto;

    display:block;

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

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

}


/*=========================================================
PROJECT DETAILS
=========================================================*/

.project-details{

    display:grid;

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

    gap:30px;

    margin:0 auto 70px;

}


.detail-box{

    text-align:center;

}


.detail-box h3{

    margin-bottom:12px;

    color:#00E5FF;

    font-family:"Jost",sans-serif;

    font-size:12px;

    letter-spacing:.3em;

}


.detail-box p{

    margin:0;

    color:white;

    font-family:"Jost",sans-serif;

    font-size:15px;

    line-height:1.7;

}


/*=========================================================
PROJECT DESCRIPTION
=========================================================*/

.project-description{
    max-width:850px;
    margin:0 auto 70px;
    color:white;
}

.project-description h2{
    position:relative;
    display:inline-block;
    margin-bottom:20px;
    color:white;
    font-family:"Barlow Condensed",sans-serif;
    font-size:36px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    transition:.35s ease;
}

.project-description h2:hover{
    color:#00E5FF;
}

.project-description h2::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:30%;
    height:2px;
    background:#00E5FF;
    transition:.35s ease;
}

.project-description h2:hover::after{
    width:100%;
}

.project-description p{
    margin-bottom:25px;
    color:rgba(255,255,255,.82);
    font-family:"Jost",sans-serif;
    font-size:17px;
    line-height:1.8;
}

/*=========================================================
PROJECT IMAGES
=========================================================*/

.project-image-block{
    width:100%;
    margin-bottom:80px;
}

.project-image-block img{
    width:100%;
    height:auto;
    display:block;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.project-image-block p{
    max-width:850px;
    margin:25px auto 0;
    color:rgba(255,255,255,.75);
    font-family:"Jost",sans-serif;
    font-size:16px;
    line-height:1.8;
    letter-spacing:.04em;
}

.project-image-block video{

    width:100%;
    height:auto;
    display:block;
}

/*=========================================================
SMALL FEATURE IMAGE
=========================================================*/

.project-image-block img.small-project-image{
    width:50%;
	height:auto;
    margin:0 auto;
	display:block;
}

/*=========================================================
TWO IMAGE ROW
=========================================================*/

.project-gallery-row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;
    margin-bottom:80px;
}

.project-gallery-row .project-image-block{
    margin-bottom:0;
}

/*=========================================================
PROJECT FOOTER LINK
=========================================================*/

.project-footer-link{
    text-align:center;
    margin-top:40px;
    padding-bottom:20px;
}

.project-footer-link p{
    margin-bottom:25px;
    color:white;
    font-family:"Jost",sans-serif;
    font-size:18px;
    letter-spacing:.04em;
}

.project-footer-link a{
    position:relative;
    display:inline-block;
    color:#00E5FF;
    font-family:"Barlow Condensed",sans-serif;
    font-size:18px;
    font-weight:700;
    letter-spacing:.2em;
    text-decoration:none;
    transition:.35s ease;
}

.project-footer-link a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:white;
    transition:.35s ease;
}

.project-footer-link a:hover{
    color:white;
}

.project-footer-link a:hover::after{
    width:100%;
}
/* =========================================
   PROJECT VIDEO SIZE FIX
========================================= */

.project-image-block img,
.project-image-block video{

    width:70%;
    max-width:900px;
    height:auto;
    display:block;
    margin:0 auto;
}

.video-player{
    width:70%;
    max-width:700px;
    margin:0 auto 45px;
}

.video-player video {
    width: 100%;
    height: auto;
    display: block;
}

.video-player iframe{

    width:100%;
    aspect-ratio:16 / 9;
    display:block;
 	border-radius:8px;
}

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

@media(max-width:900px){
    .project-container{
        width:90vw;
        padding-top:100px;
    }

    .project-title h1{
        font-size:42px;
    }
	
    .project-navigation{
        gap:25px;
    }

    .project-details{
        grid-template-columns:repeat(2,1fr);
        gap:35px;
    }

    .project-gallery-row{
        grid-template-columns:1fr;
    }

    .small-project-image{
        width:75%;
    }

    .project-description h2{
        font-size:30px;
    }
}

@media(max-width:600px){
    .project-details{
        grid-template-columns:1fr;
    }

    .project-title h1{
        font-size:34px;
    }

    .project-title-nav h1{
        font-size:16px;
    }

    .project-arrow{
        width:40px;
        height:40px;
    }
}