.site {
    display: inline-block;
    position: relative;
    width: calc(33% - 2%);
    padding: 10px 10px 15px;
    margin: 0px 1% 40px 0%;
    vertical-align: top;
    cursor: pointer;
    border-radius: 0.25rem;
    box-shadow: 1px 1px 10px rgb(0 0 0 / 10%);
    background-color: #FFFFFF;
    text-decoration: none;
}

.site>a:hover{
    text-decoration: none;
}

.site .Image {
    position: relative;
    width: 100%;
    height: 192px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.title{
    margin: 5px 0px 3px;
    width: 100%;
    font-size: 22px;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #333333;
    text-decoration: none;
}

.site .flag {
    display: flex;
    justify-content: center;
}

.site:hover{
    outline: dashed #0bb4f7;
}

.flag>.calendar,.flag>span{
    text-align: center;
    padding: 6px 10px;
    font-size: 12px;
    color: #fff;
    border-radius: 0.25rem;
}
.flag>.calendar:hover,.flag>span:hover{
    box-shadow: inset 0px 0px 10px -2px #212529;
    outline: dashed #0bb4f7;
}
.flag>.calendar{
    width: 5rem;
    margin-right:8px;
    background-color: #219ade;
    text-decoration: none;
}
.flag>span{
    width: 7rem;
    background-color: #375499;
}

@media screen and (max-width: 1140px){
    .site {
        width: calc(33.33333% - 2%);
        padding: 10px 10px 15px;
        margin: 0px 1% 40px 0%;
    }
}

@media screen and (max-width: 960px){
    .site {
        width: calc(50% - 2%);
        padding: 10px 10px 15px;
        margin: 0px 1% 40px 0%;
    }
}

@media screen and (max-width: 720px){
    .site {
        width: calc(50% - 2%);
        padding: 10px 10px 15px;
        margin: 0px 1% 40px 0%;
    }
}

@media (max-width: 540px) {
    #status {
        display: none;
    }
    .site {
        width: calc(100% - 4%);
    }
}