@import url('https://fonts.googleapis.com/css2?family=Sora:wght@200;700&display=swap');
* {
    font-family: 'Sora', sans-serif;
    color: black;
}

body {
    background: -webkit-linear-gradient(to right, #ACB6E5, #74ebd5);
    /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #ACB6E5, #74ebd5);
    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    display: flex;
    height: 100vh;
    flex-direction: column;
    margin: 0;
}

footer {
    margin-top: auto;
    bottom: 0;
    width: 100%;
    height: fit-content;
    margin-bottom: 0;
}

h1,
h2,
h3 {
    text-align: center;
    padding: 0 30px;
}

h1 {
    margin-top: 30px;
}

div {
    margin: 5px;
    padding: 5px;
}

hr {
    border: 0;
    height: 1px;
    width: 80%;
    margin: 0 0 0 10%;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

.filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.filter .item {
    flex: 1;
    min-width: fit-content;
    font-size: larger;
    transition: background-color 0.5s ease;
    padding: 0 15%;
}

#all+label {
    font-weight: bolder;
}

.filter .item:hover {
    background-color: azure;
}

.invisible {
    display: none;
}

.container {
    display: flex;
    flex-wrap: wrap;
}

.container .item {
    min-width: 20%;
    flex: 1;
    border: none;
    background-color: azure;
    border-radius: 5px;
    padding: 10px;
    transition: background-color 0.5s ease;
    /* transition: max-height 1.0s ease-in-out; */
    overflow: hidden;
}

.container .item p.categories {
    margin-top: 0;
    padding: 0;
    margin-bottom: 8px;
    font-size: smaller;
    text-align: center;
}

.container .item[onclick] {
    cursor: pointer;
}

@media only screen and (max-width: 1000px) {
    .container .item {
        min-width: 40%;
    }
}

@media only screen and (max-width: 600px) {
    .container .item {
        min-width: 80%;
    }
    .filter {
        flex-direction: column;
    }
}

.container .item[onclick]:hover {
    background-color: gainsboro;
}

.container .item a {
    text-decoration: none;
    font-weight: bold;
}

footer .socialmedia {
    display: flex;
    justify-content: center;
}


/* 
Social media icon design from 
https://www.w3schools.com/howto/howto_css_social_media_buttons.asp 
*/

footer .fa {
    border-radius: 50%;
    padding: 10px;
    font-size: 30px;
    width: 30px;
    text-align: center;
    text-decoration: none;
    margin: 5px 10px;
    transition: opacity 0.5s;
}

.fa:hover {
    opacity: 0.7;
}

.fa-facebook {
    background: #3B5998;
    color: white;
}

.fa-twitter {
    background: #55ACEE;
    color: white;
}

.fa-google {
    background: #dd4b39;
    color: white;
}

.fa-linkedin {
    background: #007bb5;
    color: white;
}