* { padding: 0; }

body {
    font-family: Tahoma, sans-serif;
    background-color:  #4C3B4D;
    background-image: linear-gradient(to bottom, #4C3B4D, #C0AEC1);
    background-repeat: no-repeat;
    font-size: 15px;
}

p { line-height: 1.45em; }

h1, h2, h3 {
    font-family: 'Georgia', serif;
    color: #392c3a;
}
h2 { font-size: 28px; }
h3 { font-size: 22px; }

a:link { color: #208AAE; text-decoration: none; }
a:visited { color: #145267; }
a:hover { color: #A690A4; text-decoration: underline; font-weight: 700; }
a:active { color: #EF7A85; }

#wrapper {
    padding: 30px 30px;
    background-color: #A690A4;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#grid_wrapper {
    padding: 30px 30px;
    background-color: #A690A4;
    border-radius: 30px;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 187px auto;
    justify-content: center;
}

#grid_header header {
    grid-row: 1 / 2;
    grid-column: 1 / 1;
    width: 100%;
}

header h2 { text-align: center; }

#logo {
    background-color: #e9e2e9;
    padding: 15px;
    border-radius: 10px;
    display: grid;
    justify-content: center;
}

.logo { max-width: 100%; }

nav {
    border-radius: 10px;
    width: 100%;
}

#grid_wrapper nav {
    grid-row: 2 / 3;
    grid-column: 1 / 1;
}

nav ul {
    list-style-type: none;
    margin: 15px 5px;
}

ul li {
	padding: 10px;
	background-color: white;
	text-align: center;
    border-radius: 10px;
    border: 1px black solid;
    margin: 5px;
}

#grid_wrapper main {
    grid-row: 3 / 4;
    grid-column: 1 / 1;
}

main h3 {
    text-align: center;
}

.image_category {
    background-color: #4C3B4D; 
    padding: 10px;    
    border-radius: 10px;
}

#flex_gallery {
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content: space-around; 
    row-gap: 10px; gap: 15px;
}

#grid_gallery {
    display: grid;
    grid-template-columns: repeat(2, 50%);
    grid-template-rows: auto;
    grid-gap: 15px; gap: 15px;
    justify-content: space-around;
}

#grid_gallery img {
    margin: 0 auto;
}

#grid_wrapper footer {
    grid-row: 4 / 5;
    grid-column: 1 / 1;
}

footer {
    text-align: center;
    margin-top: 15px; 
    width:100%;
}

/*  ------------------ 700px ------------------ */
@media (min-width: 700px) {
    #wrapper {
        display:flex;
        flex-wrap: wrap;
        flex-direction: row;
        column-gap: 30px;
        justify-content: space-between;
        align-items:flex-start;
    }
      
    #grid_wrapper header {
        
        grid-row: 1 / 2;
        grid-column: 1 / 3; 
        align-items: center;
        justify-content: center;
    }
    
    #wrapper header {
        flex-basis: 100%;
        align-items: center;
        justify-content: center;
    }
    header h2 { text-align: left; }
    
    #grid_wrapper {
        display: grid;
        justify-content: center; 
        grid-template-columns: 25% 75%;
        grid-template-rows: 190px auto;
    }
   
    #grid_wrapper nav {
        width: 100%;
        grid-row: 2 / 3;
        grid-column: 1 / 2; 
    }
  
    #wrapper nav { flex: 3; }
    
    #grid_wrapper main {
        grid-row: 2 / 3;
        grid-column: 2 / 3;
        margin-left: 60px;
    }
    
    main h3 { text-align: left; }
      
    #wrapper main {
        flex: 2;
        flex-basis: 60%
    }
     
    #grid_gallery {
        display: grid;
        justify-content: center;
    }
    
    .image_category {
        margin-bottom: 15px;     
    }
    
    #grid_wrapper footer {
        grid-row: 3 / 4;
        grid-column: 1 / 3;    
    }
    
    footer {
        width:100%;
        text-align: left;
    }
}

@media (min-width: 1000px) {
    #wrapper {
        display:flex;
        flex-wrap: wrap;
        flex-direction: row;
        background-color: #A690A4;
        border-radius: 30px;
        column-gap: 30px;
        justify-content: space-between;
        align-items:flex-start;
        max-width: 1100px;
        margin: 0 auto;
    }
    #grid_wrapper {
        padding: 30px 30px;
        background-color: #A690A4;
        border-radius: 30px;
        display: grid;
        column-gap: 10px;
        grid-template-columns: 25% 74%;
        grid-template-rows: 190px auto;
        margin: 0 auto;
        max-width: 1100px;
    }
    
   #wrapper nav {
        flex: 1;
        flex-basis: 20%;
    }

    #wrapper main {
        flex: 2;
        flex-basis: 50%;
    }
        
    #flex_gallery {
        display: flex;
        column-gap: 10px;
    }
    
    #grid_gallery {
        display: grid;
        grid-template-columns: repeat(3, 33%);
        grid-template-rows: 2;
        grid-gap: 15px; gap: 15px;
        justify-content: center;
    }
}
