@font-face {
    font-family: AmaticSC-Regular;
    src: url("fonts/AmaticSC-Regular.ttf");
}

@font-face {
    font-family: AmaticSC-Bold;
    src: url("fonts/AmaticSC-Bold.ttf");
}

* {
    margin: 0;
    padding: 0;
}

/*---- Header -----*/

.title-logo-container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 35px;
    gap: 5px;
}

.title-logo-container img {
    width: 100px;
    height: auto;
    align-self: center;
}

.title-logo-container h1 {
    font-family: AmaticSC-Bold, serif;
    font-size: 70px;
    align-self: flex-end;
}

.search-container form {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    width: auto;
    max-width: 600px;
    border: 3px solid black;
    border-radius: 10px;
    height: 40px;
    overflow: hidden;
    margin: 10px;
}

.search-input {
    width: 100%;
    padding: 5px;
    border: 0 solid black;
    font-size: 15px;
    /*border-right: 2px solid grey;*/
}

.search-submit {
    background-color: white;
    border: 0 solid black;
    width: 45px;
    height: auto;
    padding: 1px;
    color: black;

    /*This is the vertical line*/
    background-image: linear-gradient(to bottom, #ccc, #ccc);
    background-size: 2px calc(100% - 5px); /* 1px wide, shrinks height by 12px total */
    background-position: left center; /* Places it exactly where the left border was */
    background-repeat: no-repeat;
}

.search-submit:hover {
    background-color: lightgray;
    stroke: black;
}

.search-submit:active {
    background-color: white;
    stroke: black;
}

header hr {
    margin: 15px 4px 10px;
}

/*---- Main ----*/
.recipes-container {
    display: flex;
    flex-flow: column wrap;
}

.recipe-container {
    display: flex;
    flex-flow: column wrap;
    border: 3px solid black;
    border-radius: 10px;
    padding: 20px;
    margin: 5px 10px;
    width: auto;
    max-width: 600px;
}

.recipe-container img {
    height: auto;
    max-height: 275px;
    width: 100%;
    max-width: max-content;
}

.tag-submit-container {
    display: flex;
    flex-flow: row wrap;
    margin: 2px 0 0 -4px;
    padding: 3px;
}

.tag-submit {
    font-weight: bold;
    font-size: 20px;
    width: max-content;
    border: 2px solid lightgray;
    border-radius: 2px;
    margin: 0 1px;
}

.tag-submit:hover {
    background-color: lightgray;
}

.tag-submit:active {
    background-color: ButtonFace;
    color: ButtonText;
}

.recipe-container h4 {
    font-family: AmaticSC-Regular, serif;
    font-size: 35px;
    color: dodgerblue;
}

.rating {
    display: flex;
    flex-flow: row nowrap;
    padding-left: 0;
}

.icon-star {
    font-size: 27px;
    align-content: center;
    padding: 0;
}

.icon-star-empty {
    font-size: 27px;
    margin-left: 2px;
}

.recipe-container p {
    display: none;
}

/*---- Footer ----*/
.social {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 20px;
    gap: 2px;
}

.social img {
    height: 35px;
    width: auto;
}

.source-container {
    display: block;
    align-content: center;
    text-align: center;
    margin: 10px;
}

@media screen and (min-width: 500px){
    /*--- Header ---*/
    .search-container form {
        max-width: 1500px;
    }

    .search-input {
        font-size: 17px;
    }

    /*--- Main ---*/
    .recipe-container {
        display: grid;
        grid-template-columns: max-content auto;
        grid-template-rows: max-content max-content max-content 1fr;
        max-width: 1500px;
        height: max-content;
    }

    .recipe-container img {
        grid-row: 1/5;
        width: max-content;
        height: 300px;
        justify-self: left;
    }

    .tag-submit-container {
        margin-left: 25px;
    }

    .tag-submit {
        grid-row: 1/2;
        /*margin-left: 30px;*/
        height: 35px;
        margin-bottom: 1px;
    }

    .recipe-container h4 {
        grid-row: 2/3;
        margin: 40px 30px 1px;
    }

    .rating {
        grid-row: 3/4;
        margin-left: 25.5px;
    }

    .recipe-container p {
        grid-row: 4/5;
        display: block;
        margin: 15px 30px;
    }

    /*--- Footer ---*/
    footer {
        display: flex;
        flex-flow: row-reverse nowrap;
        justify-content: space-between;
        margin-left: 2px;
        margin-right: -7px;
    }

    footer a {
        align-self: start;
    }
}