
  .invoiceContainer {
    max-width: 50em;
    margin: 2em auto;
    
    display: grid;
    border: 0.05em solid #e0e0e0;
  }
  
  .invoiceContainer > section:first-child {
    padding-top: 0em;
  }
  
  .invoiceContainer > section:last-child {
    padding-bottom: 0em;
  }
  
  .invoiceHeader img {
    width: 8em;
  }
  
  .invoiceHeader > div:first-of-type {
    margin-bottom: 1em;
  }
  
  .invoiceHeader > div:first-of-type ul {
    padding-top: 1em;
  }
  
  .invoiceHeader > div:nth-of-type(2) > * {
    margin-bottom: 1rem;
  }
  
  .invoiceHeader > div:nth-of-type(2) > p {
    margin-top: 0em;
    margin-bottom: 0.5em;
  }
  
  .invoiceHeader > div:nth-of-type(2) > p:last-of-type {
    margin-bottom: 1em;
  }
  
  .invoiceHeader > div:nth-of-type(2) p span {
    font-family: "OPEN-SANS-SEMIBOLD", sans-serif;
  }
  
  .invoicePayment > div {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
  }
  
  .invoicePayment h2 {
    color: #333333;
  }
  
  .invoicePayment > div > span {
    margin-left: 0.5rem;
    color: #bb5a5a;
  }

  #paypal-button-container {
    max-width: 25em;
    width: 100%;
    align-self: center;
    padding: 2em 0em;
  }

  .invoiceItemList li {
    padding: 0.8em 1em;
    
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
    
    border-bottom: 0.01em solid #e0e0e0;
  }
  
  .invoiceItemList li:first-of-type {
    font-family: "OPEN-SANS-SEMIBOLD", sans-serif;
    background: #f3f5f8;
  }
  
  .invoiceItemList li span.nr {
    flex: 0 0 1.5em;
  }
  
  .invoiceItemList li span.description {
    flex: 1;
    padding: 0em 0.5em;
    box-sizing: border-box;
  }
  
  .invoiceItemList li span.price {
    flex: 0 0 6em;
  }
  
  .invoiceItemList li span.percentageOff {
    font-size: 0.9em;
    color: #bb1c27;
  }
  
  #totalPrice {
    padding-top: 1em;
  }
  
  #totalPrice div {
    flex: 0 0 100%;
    
    padding: 0.4em 1em;
    
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    justify-content: flex-start;
  }
  
  #totalPrice div > span:first-of-type {
    font-weight: 700;
    
    padding-right: 0.5em;
    
    flex: 1;
    text-align: right;
    box-sizing: border-box;
  }
  
  #totalPrice div > span:last-of-type {
    flex: 0 0 6em;
  }
  
  #invoiceItems {
    padding: 0em;
  }
  
  #invoiceItems > span {
    display: block;
    height: 1.5em;
    background: #bb5a5a;
    margin-top: 1em;
  }

  @media screen and (min-width: 768px) {
    
    .invoiceContainer {
      padding: 2em;
    }
    
    .invoiceHeader {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
      align-items: flex-start;
    }
    
    .invoiceHeader > div:first-of-type {
      margin-bottom: 0em;
    }
  }
  
  @media screen and (min-width: 900px) {
    .invoiceItemList li span.nr {
      flex: 0 0 3em;
    }
    
    .invoiceItemList li span.price ,
    #totalPrice div > span:last-of-type {
      flex: 0 0 10em;
    }
  }
