*{
    margin:0;
    padding:0;
    font-family: 'Roboto Mono', monospace;
}

html{
    scroll-behavior: smooth;
}


:root {
    --clr-gray-light: #d7dfe2;
    --clr-gray-med: #616b74;
    --clr-gray-dark: #414b56;
    --clr-link: #4d97b2;
    --clr-cc: #ef257a;
    --clr-la-photographie: #651fff;
    --clr-sensors: #e85808;
  }

.flex{
    display: flex;
    gap: var(--gap, 0.5rem);
}

body{
    margin-left: 20px;
    margin-right: 20px;
}
main{
    display: flex;
    position: sticky;
    top: 0;
    z-index: 9999;
    margin-left: 20px;
    margin-right: 20px;
    flex-direction: column;
}

main div{
    display: flex;
    /* background-image: url(images//Image_1115561000.png); */
    /* background-color: black; */
    /* background-size: cover; */
    flex-direction: column;
}
main div h2{
    color: black;
    /* font-size: 40px; */
    margin-top: 100px;
}

section{
    float: inherit;
    font-size: larger;
    text-align: center;
    justify-content: center;
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 100px;
}

#wip div{
    justify-content: space-evenly;
}
#wip div div{
    margin-top: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    border-radius: 10px;
    /* border: 0.1px solid black; */
    padding: 5px 5px;
}

#wip div div img{
    margin: 10px;
}

body{
    animation: transitionIn 2s;
    overflow-x: hidden;
    z-index: 1000;
}
#short-bio-description{
    text-align:center;
    font-size:70%;
    margin-left: 20%;
    margin-right: 20%;
}


/* Cards */
.card-container{
    display: flex;
    justify-content:space-evenly;
    flex-wrap: wrap;
}


.card{
    background-color: white;
    width : 100%;
    height: 100vh;
    margin: 100px;
    border-radius: 50px 50px 10px 10px;
    /* border: 1px solid black; */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.card-image{
    background-color: #1e2227;
    height: 70%;
    margin-bottom: 15px;
    background-size: cover;
    background-position: center;
    border-radius: 49px 49px 0 0;
    /* border-radius: 50px; */

}

.card p{
    padding: 10px;
}

.card a{
    display: block;
    padding: 10px 10px;
    background-color: black;
    color: white;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-right: 40%;
    margin-left: 40%;
    border-radius: 15px;
    text-decoration: none;
}

.card h2{
    padding: 10px;
}

.card:hover{
    cursor: pointer;
    transform: scale(1.05);
    transition: 1s all ease;
}


.category-tag {
    font-size: 0.8rem;
    color: white;
    background: red;
    margin-left: 0px;
    margin-right: 80%;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
    top:  -50%;
    border-radius: 0 2rem 2rem 0;
  }


  .cc{
    background: var(--clr-cc);
  }
  
  .la-photographie {
    background: var(--clr-la-photographie);
  }
  
  .technology {
    background: var(--clr-sensors);
  }



  .container{
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 20px;
    margin-right: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* grid-template-rows: repeat(4, 1fr); */
    grid-auto-rows: auto auto;
    grid-gap:10px;
    grid-auto-flow: dense;
    /* justify-content: center;
    align-items: center;
    text-align: center; */
    
}

.gallery-item{
    width: 100%;
    height: 100%;
    position: relative;

}

.gallery-item .image{
    width: 100%;
    height: 100%;
    overflow:hidden;
    border-radius: 2%;
}

.gallery-item .image img{
    width: 100%;
    height: 100%;
    opacity: 1;
    object-fit: cover;
    object-position: 50% 50%;
    cursor: pointer;
    transition: 0.5s ease-in-out;
    text-align: center;
    align-items: center;
    justify-content: center;
    border-radius: 2%;
    
}

.gallery-item:hover .image img{
    transform: scale(1.5);
    opacity: 0.8;
}

.gallery-item .image-title{
    opacity: 0;
    position:absolute;
    top: 50%;
    left:50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 2em;
    pointer-events: none;
    z-index: 4;
    transition: 0.3s ease-in-out;
    -webkit-backdrop-filter: blur(5px) saturate(1.8);
    backdrop-filter: blur(5px) saturate(1.8);
}

.gallery-item:hover .image-title{
    opacity: 1;
    animation: move-down 0.3s linear;
    padding: 1em;
    width: 90%;
    height: 50%;
    text-align: left;
    align-items: left;
    justify-content: left;
    /* outline: 2px solid red; */
}

.w-1{
    grid-column: span 1;
}
.w-2{
    grid-column: span 2;
}
.w-3{
    grid-column: span 3;
}
.w-4{
    grid-column: span 4;
}
.w-5{
    grid-column: span 5;
}
.w-6{
    grid-column: span 6;
}
.h-1{
    grid-row: span 1;
}
.h-2{
    grid-row: span 2;
}
.h-3{
    grid-row: span 3;
}

@media screen and (max-width:500px){
    .container{
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(1, 1fr);
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .w-1,.w-2,.w-3,.w-4,.w-5,.w-6{
        grid-column: span 1;
    }
    .h-1,.h-2,.h-3{
        grid-row: span 0;
    }
}

@keyframes move-down {
    0%{
        top:10%;
    }
    50%{
        top:35%
    }
    1000%{
        top:50%;
    }
    
}


@keyframes transitionIn{
    from{
        opacity: 0;
        transform: translateY(-10px);

    }

    to{
        opacity: 1;
        transform: translateY(0px);
    }
}

/* Media Query */
@keyframes transitionIn{
    from{
        opacity: 0;
        transform: translateY(-10px);

    }

    to{
        opacity: 1;
        transform: translateY(0);
    }
}


@media screen and (max-width:600px){
    div{
        display: flex;
        flex-direction: column;
    }   
    .card{
        margin-right: 10px;
        margin-left: 10px;
        margin-top: 50px;
        margin-top: 50px;

    }
    .card a{
        padding: 10%;
        margin:5%;
    }
    .category-tag{

        margin-right: 50%;
    }
    video{
        height:100%
    }
    #short-bio-description{
        text-align:left;
        margin-left: 5%;
        margin-right: 5%;
    }
    #short-bio-description-title{
            text-align:left;
            margin-left: 1%;
            margin-right: 1%;

    }
}
