* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}

body{
    font-family: 'Open Sans', sans-serif;
    min-height: 100vh;
}

div#container-main.grid-main-templates .main-sidebar{
    grid-area: side;
    background-color: #343a40;
}

nav.main-nav ul.nav-main-menu, .buttons-main-nav{
    grid-area: nav-main-menu;
    display: flex;
    align-items: center;
    list-style: none;
    height: 60px;
}

.buttons-main-nav{
    grid-area: buttons-main-nav;
    display: flex;
    justify-content: end;
    align-items: center;
    list-style: none;
}

.main-nav {
    grid-area: header;
    background-color: #fff;
    display: grid;
    grid-template-columns: 11fr 1fr;
    grid-template-rows: minmax(35px, 1fr);
    grid-template-areas:
        "nav-main-menu buttons-main-nav";
    border-bottom: 1px solid #dee2e6;
}

.container{
    grid-area: container;
    background-color: #f4f6f9;
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(
           100%, 
            1fr
        )
    );
}

.item-container{
    margin: 16px;
}

.footer{
    grid-area: footer;
    background-color: #fff;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: space-around;
    height: 60px;
    align-items: center;
}

.grid-main-templates{
    display: grid;
    grid-template-columns: minmax(250px, 1fr) 11fr;
    grid-template-rows: 60px 10fr 1fr;
    grid-template-areas:
        "side header"
        "side container"
        "side footer";
        height: 100vh;
}

.logo-img{
    height: 35px;
    width: 35px;
    box-shadow: 0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23) !important;
    border-radius: 50%;
}


.item-nav-main > a, .button-nav-main > a{
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 8px 16px;
    color: rgb(127, 127, 127);
    height: 50px;
}

.item-nav-main > a:hover, .button-nav-main > a:hover{
    color: black;
}

.brand-link {
    display: flex;
    width: 100%;
    height: 60px;
    align-items: center;
    color: rgba(255,255,255,.8);
    padding: 8px 13px;
    text-decoration: none;
    border-bottom: 1px solid #4b545c;
}

.brand-link:hover, .nav-link:hover{
    color: white;
}

.brand-text{
    font-size: 16px;
    margin-left: 10px;
}

.nav-sidebar{
    margin-top: 8px;
    display: flex;
    justify-content: center;
}

.nav-menu-sidebar{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    width: 95%;
}

.nav-item{
    font-size: 16px;
    width: 100%;
    border-radius: 5px;
}

.nav-item:hover{
    background-color: #494e54;
}

.nav-link{
    display: flex;
    width: 100%;
    text-decoration: none;
    color: rgba(255,255,255,.8);
    padding: 8px 16px;
}

.nav-link > p{
    margin-left: 5px;
}

.footer a{
    text-decoration: none;
}