/* Text Elements */

h3.small-heading {
  display: block;
  padding-top: 15px;
  padding-right: 5px;
  padding-left: 5px;
  font-weight: 500;
  font-size: 20px;
  font-family: 'Roboto', cursive;

  grid-area: rm;
}

p.paragraph.small-parag {
  margin-right: 10px;
  padding-right: 5px;
  padding-left: 5px;
  font-family: 'Roboto', cursive;

  grid-area: rb;
}

div.responsive-picture.promo-pic {
  float: left;
  margin: 8px;
  width: 96px;
  height: 96px;

  grid-area: lm;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
          align-self: center;
}

div.responsive-picture.promo-pic > picture {
  height: 96px;
}

.container-grid.promo-container {
  position: relative;
  display: grid;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  clear: both;
  -ms-flex-align: start;
  margin: 10px;
  min-height: 144px;
  border-width: 1px;
  border-style: solid;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, .5) 5px 5px 10px 0;

  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
          align-items: flex-start;
  grid-area: auto / auto / auto / auto;
  justify-self: center;
  grid-column-gap: 1vw;
  grid-template-areas: 'lm rt' 'lm rm' 'lm rb' 'lm .';
  grid-template-columns: 1fr 2fr;
  grid-template-rows: .2fr repeat(2 , 1fr) .2fr;
}

div.responsive-picture#picture-1 {
  background-image: none;
  background-attachment: scroll;
  background-position: left top;
  background-clip: border-box;
  background-origin: padding-box;
  background-size: 0 0;
  background-repeat: no-repeat;

  background-blend-mode: normal;
}

.container-grid.promo-parent {
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 0;
  width: 100vw;
  position: relative;
 margin-left: -50vw;
 left: 50%;
 margin-bottom: 25px;

  animation: colorchange 40s infinite;
  -webkit-animation: colorchange 40s infinite;
}
@keyframes colorchange {
  0% {
    background-color: #ef5350;
  }

  25% {
    background: #B3E5FC;
  }

  50% {
    background: #1B5E20;
  }

  75% {
    background: #FF6F00;
  }

  100% {
    background-color: #ef5350;
  }
}

@-webkit-keyframes colorchange {
  0% {
    background-color: #ef5350;
  }

  25% {
    background: #B3E5FC;
  }

  50% {
    background: #1B5E20;
  }

  75% {
    background: #FF6F00;
  }

  100% {
    background-color: #ef5350;
  }
}


}

@media screen and (min-width: 360px) {
  /* Text Elements */

  h3.small-heading {
    font-size: 21px;
  }

  p.paragraph.small-parag {
    font-size: 14px;
  }

  .container-grid.promo-container {
    clear: both;

    grid-template-columns: 1fr 2.27fr;
  }

  div.responsive-picture.promo-pic {
    margin-left: 4.655385vw;
  }
}

@media screen and (min-width: 540px) {
  /* Text Elements */

  p.paragraph.small-parag {
    clear: none;
  }

  .container-grid.promo-container {
    margin-right: auto;
    margin-left: auto;
    max-width: 500px;
  }

  .container-grid.container-promo-tot {
    clear: both;
  }
}

@media screen and (min-width: 768px) {
  /* Text Elements */

  h3.small-heading {
    text-align: center;
    font-size: 21px;
  }

  h3#heading-1 {
    font-size: 18px;
  }

  p.paragraph.small-parag {
    padding-right: 3px;
    padding-left: 3px;
    min-width: 150px;
    text-align: center;
  }

  .container-grid.promo-container {
    display: block;
    float: none;
    margin-right: 6px;
    margin-left: 8px;
    padding-right: 10px;
    padding-left: 10px;
    min-width: 200auto;
    width: 23.1%;
  }

  div.responsive-picture.promo-pic {
    float: none;
    margin-right: auto;
    margin-left: auto;
  }

  .container-grid.container-promo-tot {
    display: -webkit-box;
    display: -webkit-flex;
    display:    -moz-box;
    display: -ms-flexbox;
    display:         flex;
    clear: none;
    margin-right: auto;
    margin-left: auto;
    padding: 4px 4px;
  }
}

@media screen and (min-width: 992px) {
  /* Text Elements */

  h3#heading-1 {
    font-size: 20px;
  }

  .container-grid.promo-container {
    margin-right: auto;
    margin-left: auto;
    max-width: 244px;
  }

  .container-grid.container-promo-tot {
    max-width: 1200px;
  }
}
