* {
  box-sizing: border-box;
}
.element-invisible {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
}
html {
  font-size: 1.1rem;
  background: url('images/Wynton-Marsalis.jpg') no-repeat;
  background-position: right top;
  background-size: cover;
  font-family: Avenir, Helvetica, georgia, serif;  
}
body {
  width: 90vw;
  margin: 3vh 5vw;
}
h1, h2 {
  font-size: 1.4rem;
  margin: 0;
  text-transform: uppercase;
  line-height: 1.1em;
  text-align: right;
}
ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
li {
  padding: 10px;
  border-radius: 4px;
  background: #D4759F;
  line-height: 1.2;
}
h3 {
  margin: 0;
  font-size: 0.7em;
  color: #FFD274;
}
h4 {
  margin: 0;
  font-size: 0.7em;
  color: #fff;
  background: #D4759F;
  padding: 2px;
  text-transform: uppercase;
}
h5 {
  margin: 0;
  font-size: 0.6em;
  color: #FFD274;
}
p {
  margin: 0;
  font-size: 0.6em;
  color: white;  
}
.logo {
  width: 250px;
  margin-bottom: 20px
}
.ticketinfo h4 {
  padding: 0.3em 1em 0.2em;
}
.ticketinfo p {
  margin-top: 0;
  padding: 1em;
  background: rgba(0,0,0,0.2);
  border-radius: 0 0 5px 5px;
}

/* Basic layout for non-Grid supporting browsers */

li {
  width: 150px;
  float: left;
  margin: 10px;
}
.ticketinfo {
  width: 320px;
  float: left;
  margin: 10px;
  margin-bottom: 100px;
}


@supports (display: grid) {
  
/* Undo the basic layout for non-Grid-supporting browsers */

  li {
    width: auto;
    margin: 0;
  }
  
/* Ok, lets go Grid! */
  
  @media (min-width: 680px) {   /* autoprefixer: off */
    /* Outer Grid */
    main { /* autoprefixer: off */
      display: grid;
      grid-template-columns: repeat(5, 16vw);
      grid-template-rows: repeat(12, 16vw);
      grid-gap: 2vw;
    }
    .logo {
      grid-row: -1 / -2;    
      align-self: end;
    }
    .logo img {
        width: 16vw;
    }
    header {
      grid-column: 1 / 4;
      grid-row: 3 / 4;
      align-self: center;
    }
    .ticketinfo {
      width: auto;
      margin: 0;
      grid-column: 4 / 6;    
      grid-row: 6 / 8;
    }  
    ul {
      grid-row: 2 / 9;  
      grid-columns: 1 / 8; 
    }    
    /* Inner Grid */
    ul { /* autoprefixer: off */
      display: grid;
      grid-template-columns: repeat(3, 16vw);
      grid-auto-rows: minmax(16vw 1fr);
      grid-gap: 2vw;
    }
    li {
      min-height: 16vw;
    }
    li:nth-child(1) {
      grid-row-start: 1;
      grid-column-start: 2;
    }
    li:nth-child(2) {
      grid-row-start: 2;
      grid-column-start: 3;
    }  
    li:nth-child(3) {
      grid-row-start: 3;
      grid-column-start: 1;
    }
    li:nth-child(4) {
      grid-row-start: 4;
      grid-column-start: 2;
    }
    li:nth-child(5) {
      grid-row-start: 5;
      grid-column-start: 3;
    }
    li:nth-child(6) {
      grid-row-start: 6;
      grid-column-start: 1;
    }
    li:nth-child(7) {
      grid-row-start: 8;
      grid-column-start: 3;
    }
    li:nth-child(8) {
      grid-row-start: 9;
      grid-column-start: 2;
    }
    li:nth-child(9) {
      grid-row-start: 10;
      grid-column-start: 1;
    }
    li:nth-child(10) {
      grid-row-start: 10;
      grid-column-start: 3;
    }
    li:nth-child(11) {
      grid-row-start: 11;
      grid-column-start: 2;
    }
  }

  
  @media (min-width: 980px) {   /* autoprefixer: off */
    /* Outer Grid */
    main { /* autoprefixer: off */
      display: grid; 
      grid-template-columns: repeat(6, 14vw);
      grid-template-rows: repeat(10, 14vw) 1fr;
      grid-gap: 1vw;
    }
    .logo {
      grid-row: -1 / -2;    
      align-self: end;
    }
    .logo img {
      width: 14vw;
    }
    header {
      grid-column: 1 / 4;
      grid-row: 2 / 3;
      align-self: center;
    }
    .ticketinfo {
      width: auto;
      margin: 0;
      grid-column: 5 / 7;    
      grid-row: 6 / 8;
    }  
    ul {
      grid-row: 2 / 9;  
      grid-columns: 1 / 8; 
    }    
    /* Inner Grid */
    ul { /* autoprefixer: off */
      display: grid;
      grid-template-columns: repeat(4, 14vw);
      grid-gap: 1vw;
    }
    li {
      min-height: 14vw;
    }
    li:nth-child(1) {
      grid-row: 1 / 2;
      grid-column: 3 / 4;
    }
    li:nth-child(2) {
      grid-row: 2 / 3;
      grid-column: 4 / 5;
    }  
    li:nth-child(3) {
      grid-row: 3 / 4;
      grid-column: 1 / 2;
    }
    li:nth-child(4) {
      grid-row: 4 / 5;
      grid-column: 2 / 3;
    }
    li:nth-child(5) {
      grid-row: 4 / 5;
      grid-column: 4 / 5;
    }
    li:nth-child(6) {
      grid-row: 5 / 6;
      grid-column: 1 / 2;
    }
    li:nth-child(7) {
      grid-row: 5 / 6;
      grid-column: 3 / 4;
    }
    li:nth-child(8) {
      grid-row: 6 / 7;
      grid-column: 2 / 3;
    }
    li:nth-child(9) {
      grid-row: 7 / 8;
      grid-column: 4 / 5;
    }
    li:nth-child(10) {
      grid-row: 8 / 9;
      grid-column: 1 / 2;
    }
    li:nth-child(11) {
      grid-row: 9 / 10;
      grid-column: 3 / 4;
    }
  }
}
