/* PROPERTIES */

html,body {
    font-family: sans-serif;
    margin: 0 auto;
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}

/* HEADER */

.banner {
    padding: 6vh;
    box-shadow: 0 15vh 30vh black inset;
    background-position: 50%;
    background-size: cover;
    margin-bottom: 2vh;
}

div.desc {
    vertical-align: middle;
    text-align: center;
    padding: 10px;
    padding-bottom: 0;
}

div.banner h1 {
    color: white;
    margin-bottom: 0.1em;
}

div.banner p {
    color: white;
}

div.profilepicture img {
    display: flex;
    margin: 0 auto;
    margin-top: 2em;
    width: 50%;
    max-width: 250px;
    border-radius: 50%;
}

/* SEARCH */

div.search {
    text-align: center;
    margin-top: 4vh;
    margin-bottom: 4vh;
}

input {
    background-color: #dcdcdc;
    border-radius: 50px;
    border-style: solid;
    border-color: white;
    border-width: 1px;
    text-align: left;
    max-width: 500px;
    width: 90%;
    padding: 1.1rem;
    font-size: 1em;
}

/* CARDS */

div.cardscontainer {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    display: grid;
    line-height: 0.2em;
    margin: 0 auto;
    width: 90%;
}

div.cardscontainer p {
    line-height: 1.2em;
}

div.cardscontainer h1,h2,h3 {
    line-height: 1.2em;
    margin-bottom: -0.4em;
}

div.card {
    color: black;
    border-radius: 10px;
    padding: 1px 15px;
    margin-bottom: 2vh;
}

div.card h2,a {
    text-decoration: none;
}

div.card:hover {
    transition: all 0.3s ease 0s;
    background-color: #dcdcdc;
}

/* CONTENT */

.content {
    flex: 1 0 auto;
    margin: 0 auto;
    max-width: 800px;
    width: 90%;
    margin-bottom: 4vh;
}

.content h1 {
    margin-top: 1em;
}

.content p,li {
    line-height: 1.4em;
}

.content p {
    text-align: justify;
}

.content img {
    margin: 0 auto;
    width: 100%;
    margin: 1em 0;
}

/* FOOTER */

footer {
    background-color: #dcdcdc;
    color: #757575;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    margin-top: 2vh;
    padding-top: 2vh;
    padding-bottom: 2vh;
}
