body {
    font-family: sans-serif;
    color: #eee;
    background-color: #555;
    background-image: url("images/chalkboard.jpg");
}

.container {
    text-align: center;
    width: 100%;
    margin: auto;
}

p.description {
    color: #777777;
    font-size: 14px;
}
p, li {
    margin-left: 8vw;
    margin-right: 8vw;
}
.showcase-item p {
    margin: auto;
}
ul {
    text-align: left;
    margin-left: 10px;
}
li {
    margin-top: 10px;
}
a {
    color: #444;
    text-decoration: none;
}
a:visited {
    color: #444;
}
h1 {
    font-size: 30px;
}
h2 {
    font-size: 25px;
}
hr {
    width: 80%;
    margin: auto;
    margin-bottom: 30px;
}
a.link {
    color: blue;
    background-color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 22px;
}
a.link:visited {
    color: blue;
}
a.link:hover {
    color: purple;
}
.inline-link {
    color: #f37321;
}
.inline-link:visited {
    color: #f37321;
}
.inline-link:hover {
    color: #b66634;
}

.showcase-item:hover {
    background-color: #aaa;
}

.fade-in {
    -webkit-animation: fadein 1.5s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1.5s; /* Firefox < 16 */
    -ms-animation: fadein 1.5s; /* Internet Explorer*/ 
    -o-animation: fadein 1.5s; /* Opera < 12.1 */
    animation: fadein 1.5s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.card {
    /* Add shadows to create the "card" effect */
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    width: 300px;
    transition: 0.3s;
    border-radius: 10px;
    margin: auto;
    background-color: #eee;
}

.card img {
    filter: brightness(93%);
    border-radius: 10px;
}
.card-btn:hover {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    width: 300px;
    transition: 0.3s;
    border-radius: 10px;
    margin: auto;
}

/* On mouse-over, add a deeper shadow */
.card:hover {
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}

/* Add some padding inside the card container */
.card-text {
    color: #555;
    padding: 2px 16px;
}

.btn {
    text-decoration: none;
    border: none; /* Remove borders */
    border-radius: 2px;
    color: white; /* White text */
    padding: 8px 12px; /* Some padding */
    font-size: 16px; /* Set a font size */
    cursor: pointer; /* Mouse pointer on hover */
}

.btn-blue {
    background-color: dodgerblue; /* Blue background */
}

/* Darker background on mouse-over */
.btn-blue:hover {
    background-color: royalblue;
}

@media only screen and (max-width: 800px) {
    .showcase-item {
        width: 240px;
        padding: 10px;
        margin: 0 0;
        color: #444;
        background-color: #eee;
    }
    .showcase-item img {
        width: 100%;
        height: auto;
    }
}

@media only screen and (max-width: 620px) {
    .showcase-item {
        width: 200px;
        padding: 10px;
        margin: 0 0;
        color: #444;
        background-color: #eee;
    }
    .showcase-item img {
        width: 100%;
        height: auto;
    }
}

@media only screen and (max-width: 550px) {
    .showcase-item {
        width: 160px;
        padding: 10px;
        margin: 0 0;
        color: #444;
        background-color: #eee;
    }
    .showcase-item img {
        width: 100%;
        height: auto;
    }
}

@media only screen and (max-width: 490px) {
    .showcase-item {
        width: 140px;
        padding: 10px;
        margin: 0 0;
        color: #444;
        background-color: #eee;
    }
    .showcase-item img {
        width: 100%;
        height: auto;
    }
}

@media only screen and (min-width: 800px) {
    .showcase-item {
        width: 360px;
        padding: 10px;
        margin: 0 0;
        color: #444;
        background-color: #eee;
    }
}

@media only screen and (min-width: 2800px) {
    .body {
        background-image: none;
    }
}

#card-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    grid-auto-rows: minmax(100px, auto);
    padding-top: 25px;
    padding-bottom: 25px;
}
.showcase {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-content: center;
    margin-top: 30px;
}

.back-btn {
    color: #eee;
    background-color: rgb(21, 126, 224);
    margin: 0;
    padding: 10px 100px;
    font-size: 22px;
    border: 2px solid rgb(47, 97, 163);
}
.back-btn:hover {
    color: #aaa;
    background-color: rgb(47, 97, 163);
}
a.back-btn {
    color: #eee;
}
a.back-btn:visited {
    color: #eee;
}

.card-img {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    filter: brightness(93%);
    border-radius: 10px;
    max-width: 40em;
    height: 180px;
    margin-bottom: 10px;
}

.step img {
    max-width: 95vw;
    max-height: auto;
}