*{box-sizing: border-box;}


body{
  margin:0;
}


header{

  background-color:green;
    padding:50px;
    display: flex;
    justify-content: flex-end;
}

.header-item{

  height: 20px;
  width:100px;
  background-color:lime;
  display: flex;
  margin-right:20px;
}

.header-item:last-child{
  margin-right: 0;
}

main{
  background-color: pink;
  padding:50px;
}

.container{
  background-color: lightblue;
  padding:25px;
  display:flex;
  flex-wrap: wrap;
}

.container-item-outer{

  background-color:orangered;
  flex-basis:33.333%;
  flex-grow: 0;
  flex-shrink:0;
  padding:25px;

}

.container-item-inner{
  padding-bottom: 100%;
  background-color:red;
}

.circle {
  border-radius:50%;
}

.double{
  flex-basis: 66.666%;
}

.double .container-item-inner{
  padding-bottom:calc(50% - 25px);
}

.triple{
  flex-basis:100%;
}

.triple .container-item-inner{
  padding-bottom:calc(33.333% - 25px);
}

.stacked:first-child{
  background-color: navy;
  padding-bottom: 50%;
}

.stacked{
    padding-bottom: 50%;
}

@media (max-width: 700px) {
  header{
    justify-content: space-between;
  }
  .container-item-outer{
    flex-basis: 100%;
  }
  .container-item-inner{
    padding-bottom:50%;
  }

}

@media (max-width: 400px) {
  .container{
    background-color: blue;
  }
  .container-item-outer{
    background-color: blue;
  }
  .container-item-inner{
    background-color: navy;
  }
}
