/**** style resets ****/

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    text-decoration: none;
}

/**** element styles ****/

body {
    background-color: #000000;
    background-image: url('../images/wallpaper.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    overflow-x: hidden;
    height: 100vh;
    color: #ffffff;
    font-family: 'Bitter', serif;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: 50px 2fr 1fr;
    grid-template-areas:
        "header         header"
        "ingredients   main"
        "ingredients   footer";
    justify-content: space-between;
    grid-gap: 10px;
}

header {
    width: 100%;
    height: 50px;
    margin: 5px;
    grid-area: header;
    grid-column-start: 3;
    text-align: center;
}

aside {
    padding: 5px;
    width: 250px;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas:
        "title"
        "list"
        "button";
    margin-bottom: 10px;

}

main {
    width: 600px;
    margin-right: 20px;
    padding: 5px;
    grid-area: main;
    grid-column-start: 3;
    justify-self: end;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

section {
    grid-area: footer;
}

h2, h3 {
    margin-bottom: 5px;
}

label {
    margin-right: 5px;
}

/**** Class Styles ****/

.container {
    width: 100%;
    padding: 10px;
}

.ingredients {
    width: 100%;
    padding: 10px;
    grid-area: ingredients;
    background-color: rgba(10, 10, 10, .5);
    margin: 0px 5px 0px 5px;
}

.alcoholcontainer {
    width: 80%;
}

.drinkImage {
    width: 300px;
    height: 300px;
    display: flex;
    justify-content:center;
}

.btn {
    background-color: #000000;
    width: 95%;
    color: #ffffff;
    border: 1px solid #2c2c2c;
    padding: 5px;
}

.btn:hover {
    font-weight: 700;
    font-size: 16px;
    background-color: #2c2c2c;
}

.modalbtn, .modalbtn1, .modalbtn2, .modalbtn3, .modalbtn4 {
    background-color: #000000;
    width: 100%;
    color: #ffffff;
    border: 1px solid #2c2c2c;
    padding: 5px;
}

.modalbtn:hover, .modalbtn1:hover, .modalbtn2:hover, .modalbtn3:hover, .modalbtn4:hover {
    font-weight: 700;
    font-size: 16px;
    background-color: #2c2c2c;
}

.alignmentContainer {
    display: grid;
    justify-content: center;
    text-align: center;
}

.selectiontitle {
 grid-area: title;
}

.submit {
    grid-area: button;
}

/**** Carousel Styles ****/

.carousel {
    overflow: hidden;
    width: 70%;
    max-width: 600px;
    position: relative;
}

.carousel_card {
    width: 100%;
    height: 400px;
    padding: 5px;
    border: 0;
    border-radius: 5px;
    background-color: rgba(10, 10, 10, .5);
}

.carousel .carousel_card, .carousel .carousel_card_hidden {
    display: none;
}

.carousel .carousel_card_visible {
 display: block;
 animation: fadeVisibility 0.5s;
}

.carousel .carousel_actions {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.carousel .carousel_actions button {
    border: 0px;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    border-radius: 50%;
    border: 1px solid #2c2c2c;
    padding: 10px;
    margin: 5px;
    cursor: pointer;
}

.carousel .carousel_actions button:hover {
    background-color: #2c2c2c;
}

/**** Keyframes ****/

@keyframes fadeVisibility {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1; 
        transform: opacity linear;
    }
}

/**** Media Queries ****/


@media only screen and (max-width: 830px) { 

    header {
        width: 100%;
        height: 50px;
        margin: 5px;
        grid-area: header;
        grid-column-start: 1;
        text-align: center;
    }
    main {
        width: 480px;
        margin-right: 0px;
        padding: 5px;
        grid-column-start: 2;
        align-items: center;
    }
}

@media only screen and (max-width: 830px) { 
    main {
        width: 480px;
        margin-right: 0px;
        padding: 5px;
        grid-column-start: 2;
        align-items: start;
    }
}
@media only screen and (max-width: 670px) {
    
    body {
        grid-template-columns: 100%;
        grid-template-rows: auto auto auto auto;
        grid-template-areas:
        "header"
        "ingredients"
        "main"
        "footer";
    }
    
    header {
        width: 100%;
        height: 50px;
        margin: 5px;
        text-align: center;
        grid-area: header;
    }
    
    aside {
        padding: 5px;
        width: 100%;
        background-color: rgba(10, 10, 10, .5);
        grid-area: aside;
    }
    
    main {
        width: 100%;
        padding: 5px;
        margin-right: 0px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        grid-area: main;
    }
    
}