*{
    font-family:"Roboto", sans-serif;
    font-size: 20px;
    font-weight: 300;
    margin:0;
    box-sizing: border-box;
    padding:0;
}
/*Number Input remove the arrows*/
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

h1{
    font-size: 2.25rem;
    padding: 0.6rem;
    font-weight: 500;
}
h2{
    font-size: 1.75rem;
    font-weight: 500;
}
h3{
    font-size: 1.2rem;
    font-weight: 500;
}
h4{
    font-weight: 500;
}
.right{
    text-align: right;
}
.left{
    text-align: left;
}
.center{
    text-align: center;
}
.strong, strong{
    font-weight: 500;
}
.em{
    font-style: italic;
}
.justify-around{
    justify-content: space-around;
}
.justify-between{
    justify-content: space-between;
}
.grid3{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}
.grid2{
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.sticky-container{
    position: absolute;
    width: 100%;
}
.navigation{
    overflow: hidden;
    background-color: #333;
}
.navigation a{
  font-weight: 300;    
  border:3px solid #333;
  border-radius: 0.3rem;
  float: left;
  font-size: 1.25rem;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 0.5rem;
  text-decoration: none;
}
.navigation a:hover:not(#navigationicon, #filtericon_top){
    background-color: white;
    color: #141E30;
	transition-duration: 500ms;
}
.navigation a.active {
  font-weight: 900;
  color: white;
  text-align: left;
  
}
.middle{
    padding-top: 140px;
    padding:0.2rem;
    justify-content: space-evenly;
}
#footer{
    width:100%;
    position: fixed;
    bottom: 0;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
.column{
    flex-direction: column;
}
.row{
    flex-direction: row;
}
/*AUTOCOMPLETE*/
.autocomplete-items{
    position: absolute;
    border: 1px solid black;
    z-index: 99;
    max-height: 10rem;
    background-color: lightgrey;
    overflow-y: scroll;
}
.autocomplete-items div{
    padding:0.75rem 0.5rem;
    cursor:pointer;
}
.autocomplete-items div:hover{
    background-color: grey;
    color:white;
}
.autocomplete-active {
    /*when navigating through the items using the arrow keys:*/
    background-color: DodgerBlue !important;
    color: #ffffff;
  }



/*FILTER BUTTONS*/
.filter.container{
    display:flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    background: lightgray;
}
.filter.container.hidden{
    justify-content: center;
}
button.filter.hidden{
    display:none;
}
img.filter.icon{
    width:1.5rem;
    height:1.5rem;
}
.filter.select:not(.active){
    font-weight: bold;
    padding:0.4rem
}
button.filter{
    border:1px solid #141E30;
    border-radius:2px;
    padding:0.4rem;
    background-color:lightblue;
    margin: 0.2rem;
}
button.filter:hover{
    cursor:pointer;
}
button.filter.icon{
    border: none;
    background-color: lightgrey;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding:0.2rem;
    margin:0.2rem;
}
.button.filter.icon.hidden{
    width: 80vw;
}

/*gen Page Layout Overview*/
.flex-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: space-around;
}
/*ADAPTIVE NAVBAR*/
.navigation a:not(.active) {
    display: none;
}
#navigationicon, #filtericon_top {
    float: right;
    display:block;
    position: absolute;
    margin:0;
    top:0;
    right:0;
    z-index: 10;
    background-color: brown;
}
/* The sticky class is added to the top sticky container with JS when it reaches its scroll position */
.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}
/* Add some top padding to the page content to prevent sudden quick movement (as the navigation bar gets a new position at the top of the page (position:fixed and top:0) */

.content{
    overflow:scroll;
}
.footer p{
    display: block;
    font-size: 0.75rem;
    padding:0.5rem;
    background-color: #333;
    color: #f2f2f2;
    text-align: center;
}




/*RESPONSIVE DESIGN PART:*/

/* For the responsive navbar!!! */
@media screen and (max-width: 900px) {
  /*.navigation.responsive {position: relative;}*/
  .navigation.responsive.sticky a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .navigation.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}


/*  Adapting all back to COMPUTERS */
@media only screen and (min-width: 900px) {
  /* For computers: */
    *{
        font-size: 18px; 
    }
    #navigationicon {
        display: none;
    }
    .navigation a:not(.active) {
        display: block;
        
    }
    .middle{
        flex-flow: row wrap;
    }
}
