body{

    margin:0;
    font-family:Arial;
    
    background-image:url("background.jpg");
    background-size:cover;
    background-position:center;

}

.container{
    padding:40px;
}

.title{
    font-size:60px;
    margin-bottom:20px;
}

.main{

    display:grid;
    grid-template-columns: 1fr 0;
    gap:40px;

    transition: grid-template-columns 0.5s ease cubic-bezier(.65,.05,.36,1);

}

.main.active{

    grid-template-columns: 1fr 400px;

}

.gallery{

    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px,1fr));;
    gap:20px;
    
    transition: grid-template-columns 0.9s cubic-bezier(.65,.05,.36,1);

}

.item{

    aspect-ratio:1/1;
    background:black;
    cursor:pointer;
    overflow:hidden;
    
    transition: transform 0.3s;

}

.item img{

    width:100%;
    height:100%;
    object-fit:cover;

}

.info{

    min-width:350px;
    position:relative;
    opacity:0;
    transform:translateX(40px);
    
    transition:0.4s;

}

.close-info{

    position:absolute;
    top:10px;
    right:10px;

    border:none;
    background:none;
    font-size:22px;
    cursor:pointer;

}

.main.active.info{

    opacity:1;
    transform:translateX(0);

}

.info-header{

    display:flex;
    gap:20px;
    margin-bottom:20px;

}

.info-image{

    width:120px;
    height:120px;
    border-radius:50%;
    background:black;
}

.info-title{

    border:2px solid black;
    padding:10px;
    flex:1;

}

.info-text{

    border:2px solid black;
    padding:20px;
    min-height:300px;

}