.clearfix::after {
    content: "";
    clear: both;
    display: block;
}

.main_contents {
    font-family: "Roboto", Sans-serif;
}

.estate {
    width:calc(100%/5);
    padding : 10px;
    height:auto;
    display:flex;
    flex-direction:column; 
}


@media screen and (max-width: 1000px) {
    .estate {
         width:calc(100%/3);
    }
}

@media screen and (max-width: 500px) {
    .estate {
         width:100%;
    }
}


.gap {
    width: 100%;
    min-height: 630px;
    padding: 20px;
    box-shadow: 2px 2px 5px;
}


#section {
    padding: 30px 0 0 0;
}

.estate h2 {
    margin: 0;
    padding: 0;
}

.estate img {
    max-height: 300px;
    width: auto;

    margin: 0 auto;
}

.estate a {
    color: #444;
    font-size: 0.6em;
    font-weight: 200;
}

.estate p {
    padding: 0;
    margin: 0;
    color: #444;
}


.estate .address {
    padding: 10px 0;
}

.estate .sale {
    margin: 5px 0;
    padding: 2px 0;
    border-radius: 5px;
    width: 60px;
    font-size: 0.8em;
    text-align: center;
    background: linear-gradient(to bottom, #88dafd 0%, #0098d7 100%);
}

.estate .not_for_sale {
    margin: 5px 0;
    padding: 2px 0;
    border-radius: 5px;
    width: 60px;
    font-size: 0.8em;
    text-align: center;
    background: linear-gradient(to bottom, #ff9797 0%, #f73434 100%);
}


.estate .floor_plan {
    float: left;
    border-radius: 5px;
    width: 80px;

    background-color: #222;
    color: #ddd;

    font-size: 0.8em;
    text-align: center;
    border: #000 1px solid;
}


.estate .price {
    float: right;
    width: 150px;
    font-size: 0.8em;
    text-align: right;
}


.estate .price .number {
    font-size: 1.6em;
    font-weight: 200;
}

.estate .price .unit {
    font-size: 0.6em;
    font-weight: 100;
}

.estate .overview {
    clear: both;
    padding-top: 10px;
}