.projetos-card {
    cursor:pointer;
    width:100%; 
    max-width:250px; 
    margin:10px; 
    display:flex; 
    align-items:center; 
    flex-direction:column; 
    border:2px solid black; 
    border-radius:5px; 
    background:black;
    color:white;
    --shadow-icon: 0 0 15px 2px #777;
    transition: background 1s, border 0.5s, color 0.5s, transform 1s;
}

.projeto-photo-card {
    cursor:pointer;
    display:flex;
    justify-content:center;
    align-items:center;
    width:320px;
    height:320px;
    margin:10px;
    border:2px solid black;
    border-radius:5px; 
    background:black;
    color:white;
    --shadow-icon: 0 0 15px 2px #777;
    transition: background 1s, border 0.5s, color 0.5s, transform 1s;
    background-position:center; 
    background-size:cover;
    background-repeat:no-repeat
}

.projetos-card:hover {
    background:white;
    color:black;
    border:2px solid white;
    transform:scale(1.05,1.05);
    --shadow-icon: 0 0 15px 2px #333;
}

.projeto-photo-card:hover {
    background:white;
    color:black;
    border:2px solid white;
    transform:scale(1.05,1.05);
    --shadow-icon: 0 0 15px 2px #333;
    background-position:center; 
    background-size:cover;
    background-repeat:no-repeat
}

.projetos-card img {
    width:128px; 
    height:128px; 
    margin:20px;
    box-shadow:var(--shadow-icon);
    border-radius:50%;
}

.projetos-card div[title] {
    min-height:75px;
    display:flex;
    justify-content:center;
    align-items: center;
    flex-direction:column;
    margin:0px 5px 20px 5px; 
    font-weight:700; 
    font-size:25px;
}

#projetos-content-viewer {
    width:100%; 
    display:none;
}

#viewer-projeto-title {
    color:var(--sub-title-color);
    border-top:3px solid var(--sub-title-color); 
    border-bottom:3px solid var(--sub-title-color); 
    padding:25px 0px 20px 10px; 
    margin-top:30px;    
}

#viewer-projeto-info {
    background:white; 
    border-radius:10px;
}

#projeto-page-container {
    display:flex; 
    flex-wrap:wrap; 
    padding:20px;
}

#projeto-info-base-container {
    width:100%; 
    display:flex; 
    flex-wrap:nowrap; 
    justify-content:center;
    border-bottom:2px solid #555;
}

#projeto-info-base-container img {
    width:220px; 
    height:220px; 
    border:2px solid #555;
    border-bottom:0px;     
    border-top-left-radius:5px; 
    border-top-right-radius:5px;
    padding:10px;
}

#projeto-info-base {
    text-align:left;
    margin-left:25px;
    padding-top:10px;    
    width:100%;    
}

#projeto-info-descricao,
#projeto-info-contatos {
    padding:25px 20px;
    text-align:justify;
    width:100%;
}

#projeto-info-contatos {
    text-align:center; 
    border-bottom:2px solid #555;
    padding-bottom:45px;
}

#projeto-info-contatos b:first-of-type {
    font-size:25px;
}

#projeto-info-contatos div:first-of-type {
    margin-bottom:45px; 
    border-bottom:1px solid #777; 
    padding-bottom:25px;
}

#projeto-info-contatos b {
    font-size:20px;
}

#projeto-info-contatos a[site] {
    text-decoration:none; 
    color:white; 
    font-size:20px; 
    font-weight:600;
}

#projeto-info-contatos a[site] div {    
    border-radius:10px; 
    padding:20px; 
    width:fit-content;
    min-width:250px; 
    margin:0px auto 30px auto; 
    background:black;
    word-break:break-word;
}

#projeto-info-contatos i {
    font-size:64px;
    color:black;
    margin:5px;
    transition: transform 1s;
}

#projeto-info-contatos i:hover {
    transform:scale(1.15,1.15);
}

#projeto-photo-viewer {
    position:relative; 
    display:flex; 
    justify-content:center; 
    align-items:center; 
    padding:20px; 
    width:100%; 
    height:100%; 
    position:fixed; 
    top:0; 
    left:0; 
    z-index:100; 
    background:black; 
    display:none;
}

#projeto-photo-viewer-close-icon {
    cursor:pointer; 
    position:absolute; 
    width:50px; 
    height:50px; 
    font-size:40px; 
    color:rgba(255,255,255,0.5); 
    top:10px; 
    right:10px;
}

#projeto-photo-viewer-image {
    width:100%; 
    height:100%; 
    background-position:center; 
    background-size:contain; 
    background-repeat:no-repeat;
}

@media screen and (max-width:750px) {
    #projeto-info-base-container {       
        flex-wrap:wrap;         
    }

    #projeto-info-base-container img {        
        border:2px solid #555;
        border-radius:5px;
    }

    #projeto-info-base {
        text-align:center;
        margin-left:0px;
        margin-top:20px;    
        width:100%;  
    }
}