.projects
{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 5px;
  width: 100%;
  float:left;
}
.project
{
    background-color: #fff;
    margin-top: 20px;
    float: left;
    border-radius: 5px;
    box-shadow: 5px 0px 25px #a4c1f3;
    margin-left: 10px;
    margin-right: 10px;
    transition: margin-left 0.6s, margin-top 1.8s, margin-right 0.6s;
}
.project:hover
{
    margin-left: 1px;
    margin-right: 1px;
    margin-top: 5px;
    box-shadow: 5px 0px 25px #ff0000;
    transition: margin-left 0.3s, margin-top 1.5s, margin-right 0.3s;
}

.project > img
{
    float: left;
    width: 100%;
    height: 160px;
    border-radius: 5px 5px 0px 0px;
}
.project > .title
{
    float: left;
    width: CALC(100% - 30px);
    padding: 15px;
    border-top: 1px solid #ccc;
    font-size: 13pt;
    background-color: #f2f2f2;
}
.project > .title .text
{
    float: left;
    padding-top: 5px;
    margin-right: 10px;
}
.project p
{
    float: left;
    width: CALC(100% - 40px);
    height: 200px;
    padding: 20px;
    border-top: 1px solid #ccc;
    margin: 0;
    word-wrap: break-word;
    font-size: 11pt;
    text-align: justify;
}
.project .repo
{
    width: 100%;
    float: left;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
}
.project .repo button
{
    width: 95%;
    margin-top: 10px;
    margin-left: 2.5%;
}
.project .repo button img
{
    width: 25px;
    height: 25px;
}
.project .repo button .img-side-text
{
    font-size: 11pt;
    margin-top: 4px;
}