@font-face {
    font-family: Ubuntu-Sans;
    src: url(./assets/UbuntuSans-VariableFont_wdth\,wght.ttf);
    font-weight: 500;
}

@keyframes btn-transition-in {
    from {
        background-color: white;
        color: rgb(92, 92, 92);
    }
    to {
        background-color: #f1b7bb;
        color: white;
    }
}

@keyframes btn-transition-out {
    from {
        background-color: #f1b7bb;
        color: white;
    }
    to {
        background-color: white;
        color: rgb(92, 92, 92);
    }
}

body, html {
    height: 100vh;
    margin: 0;
    background-image: url("./assets/3060264-1514627222.jpg");
    background-size: auto 100%;
    background-repeat: repeat-x;
    background-color: #cef4ff;
}

.topnav {
    display: grid;
    grid-template-columns: 7vh auto 7vh;
    grid-template-rows: 100%;
    gap: 0 0;
    height: 7%;
    width: 100%;
    background-color: white;
    border-bottom: 2px solid #80b6c5;
    font-size: 0;
}

.topnav-img-container {
    display: inline-block;
    grid-column: 2;
    text-align: center;
    width: 100%;
    height: 100%;
}

.topnav-img {
    display: block;
    margin: auto;
    height: 100%;
}

.topnav-img:hover {
    cursor: pointer;
}

.topnav-btn-container {
    grid-column: 3;
    display: none;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: right;
    vertical-align: top;
}

.topnav-btn-container button {
    width: 180px;
    height: 40px;
    border-radius: 50px;
    border: 1px solid #f1b7bb;
    background-color: white;
    color: rgb(92, 92, 92);
    font-family: Ubuntu-Sans, sans-serif;
    font-size: 17px;
    padding: 0;
    animation: btn-transition-out 0.1s linear forwards;
}

.topnav-btn-container button:hover {
    cursor: pointer;
    animation: btn-transition-in 0.1s linear forwards;
}

.cart-container {
    display: flex;
    grid-column: 3;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-width: fit-content;
}

.cart-container object {
    height: 65%;
    filter: contrast(0%);
    margin: auto;
}

.mid-nav {
    height: calc(93% - 2px);
}

.flex-products-container {
    display: flex;
    width: 100%;
    height: 100%;
    flex-flow: row wrap;
    justify-content: center;
}

@media screen and (min-width: 1025px) {
    .topnav {
        grid-template-columns: 252px auto 182px 70px;
        grid-template-rows: 70px;
        height: 70px;
        border-bottom: 1px solid #80b6c5;
    }

    .topnav-btn-container {
        display: inline-flex;
    }

    .cart-container {
        min-width: 70px;
        grid-column: 4;
    }

    .cart-container object {
        height: 40px;
    }

    .mid-nav {
        height: calc(100vh - 71px);
    }
}