body {
    font-family: Arial;
    font-size: 17px;
    padding: 8px;
    background: #3b4465 url(https://free4kwallpapers.com/uploads/wallpaper/wide-minimalistic-landscape-wallpaper-1440x900-wallpaper.jpg) no-repeat center center fixed;
    background-size: cover;
    backdrop-filter: blur(3px);
  }
  h1{
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    color: white;
  }
  h3{
    font-family: Tahoma;
  }
  * {
    box-sizing: border-box;
  }
  
  .row {
    display: -ms-flexbox; /* IE10 */
    display: flex;
    -ms-flex-wrap: wrap; /* IE10 */
    flex-wrap: wrap;
    margin: 0 -16px;
  }
  
  .col-25 {
    -ms-flex: 25%; /* IE10 */
    flex: 25%;
  }
  
  .col-50 {
    -ms-flex: 50%; /* IE10 */
    flex: 50%;
  }
  
  .col-75 {
    -ms-flex: 75%; /* IE10 */
    flex: 75%;
  }
  div.col-50.address.billing{
    background-color: lightblue;
  }
  div.col-50.address.delivery{
    background-color: lightyellow;
  }
  
  .col-25,
  .col-50,
  .col-75 {
    padding: 0 16px;
  }
  
  .container {
    background-color: lightcyan;
    padding: 5px 20px 15px 20px;
    border-radius: 3px;
  }
  
  input[type=text] {
    width: 100%;
    margin-bottom: 20px;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
  }
  select#billing-state,#delivery-state{
    color: gray;
    height: 42px;
    width: 100%;
    margin-bottom: 20px;
    padding: 0 16px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background-color: #fff;
    font-family: inherit;
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  select#billing-state.invalid-input{
    background-color: pink;
  }
  select#delivery-state.invalid-input{
    background-color: pink;
  }
  select::-ms-expand {
    display: none;
  }
  
  
  label {
    margin-bottom: 10px;
    display: block;
  }
  
  a {
    color: #2196F3;
  }
  
  hr {
    border: 1px solid lightgrey;
  }
  
  span.price {
    float: right;
    color: grey;
  }
  
  /* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other (also change the direction - make the "cart" column go on top) */
  @media (max-width: 800px) {
    .row {
      flex-direction: column;
    }
    .col-25 {
      margin-bottom: 20px;
    }
  }
  .invalid-input {
    background-color: pink;
  }
  .valid-input {
    background-color: rgb(184, 245, 184);
    }
  button {
    background-color: royalblue;
    color: white;
    padding: 12px;
    margin: 10px 0;
    border: none;
    width: 100%;
    border-radius: 3px;
    cursor: pointer;
    font-size: 17px;
  }
  
  button:hover {
    background-color: cornflowerblue;
  }
  label#checkbox-row{

    text-align: center;
  }
  footer {
    padding-top: 30px;
    font-size: medium;
    text-align: center;
    color: white;
    margin: 10px;
}