section {
  align-content: center;
}

header *, section *, .gallery .image-container *, footer * {
  grid-column: 1 / -1;
}

.diagram {
  align-content: start;
  padding-first: 11px;
  padding-second: 11px;
}

.diagram .info {
  display: grid;
  align-content: space-between;
}

.testimonial figure blockquote {
  margin-bottom: 1em;
}

.cta .cta-icon-container {
  order: 2;
}

.cta .cta-text-container {
  order: 1;
}

.gallery .image-container {
  grid-row-gap: 20px;
}

.gallery .cta-container {
  grid-column: 1 / -1;
}

footer nav {
  display: flex;
  align-items: center;
}

footer .details * {
  display: block;
}

@media (min-width: 640px) {
  
  section *, footer * {
    grid-column: 2 / -2;
  }
  
  .banner * {
    grid-column: 1 / -1;
  }
  
  .diagram .info {
    grid-template-columns: repeat(var(--master-column-count), 1fr);
    grid-column-gap: var(--gutter);
    grid-column: 1 / -1;
  }
  
  .gallery .image-container {
    grid-row-gap: 40px;
  }
  
  footer .details {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

}

@media (min-width: 800px) {
  
  .diagram .info-card.right {
    grid-column: 3 / -2;
  }
  
  .diagram .info-card.left {
    grid-column: 2 / -3;
  }
  
  .cta .cta-icon-container {
    order: 1;
    grid-column: 2 / 4;
  }
  
  .cta .cta-text-container {
    order: 2;
    grid-column: 4 / 7;
  }
  
  .cta.show-main .cta-text-container {
    grid-column: 2 / 6;
  }
  
}

@media (min-width: 900px) {
  
  header nav .breadcrumbs {
    grid-column: 1 / -1;
  }
  
  section * {
    grid-column: 5 / -2;
  }
  
  section.banner * {
    grid-column: 2 / -1;
  }
  
  .diagram .info {
    grid-column: 1 / -1;
    grid-template-columns: repeat(var(--master-column-count), 1fr);
    grid-column-gap: var(--gutter);
  }
  
  .diagram .info-card.right {
    grid-column: 7 / -2;
  }
  
  .diagram .info-card.left {
    grid-column: 3 / -6;
  }
  
  .testimonial * {
    grid-column: 3 / -3;
  }
  
  .summary h2 {
    grid-column: 5 / 8;
  }
  
  .summary .credits {
    grid-column: 5 / 12;
  }
  
  .cta .cta-icon-container {
    grid-column: 2 / 5;
  }
  
  .cta .cta-text-container,
  .cta.show-main .cta-text-container {
    grid-column: 5 / 12;
  }
  
  footer nav {
    grid-column: 2 / span 1;
  }
  
  footer .details {
    grid-column: 3 / -2;
  }
  
}

@media (min-width: 1194px) {
  
  section * {
    grid-column: 5 / -3;
  }
  
  .diagram .info-card.right {
    grid-column: 8 / -3;
  }
  
  .diagram .info-card.left {
    grid-column: 5 / -6;
  }
  
  .cta .cta-icon-container {
    grid-column: 2 / 4;
  }
  
}

@media (min-width: 1920px) {
  
  section * {
    grid-column: 7 / -3;
  }
  
  section .large-text {
    grid-column: 7 / -5;    
  }
  
  .diagram .info-card.right {
    grid-column: -2 / -8;
  }
  
  .diagram .info-card.left {
    grid-column: 7 / 13;
  }
  
  .testimonial * {
    grid-column: 3 / -2;
  }
  
  .summary * {
    grid-column: 7 / -5;
  }
  
  .summary h2 {
    grid-column: 7 / 10;
  }
  
  .summary .credits {
    grid-column: 7 / 14;
  }
  
  .cta .cta-icon-container {
    grid-column: 3 / 5;
  }
  
  .cta .cta-text-container {
    grid-column: 7 / 14;
  }
  
  footer nav {
    grid-column: 3 / span 1;
  }
  
  footer .details {
    grid-column: 4 / -2;
  }
  
}

@media (min-width: 2250px) {
  
  section * {
    grid-column: 12 / -6;
  }
  
  .testimonial * {
    grid-column: 5 / -4;
  }
  
  .diagram .info-card.right {
    grid-column: -9 / -16;
  }
  
  .summary h2 {
    grid-column: 10 / span 3;
  }
  
  .cta .cta-icon-container {
    grid-column: 5 / span 2;
  }
  
  .cta .cta-text-container {
    grid-column: 10 / span 7;
  }
  
  section .large-text {
    grid-column: 10 / span 12;
  }
  
  .summary .credits {
    grid-column: 10 / span 8;
  }
  
  footer nav {
    grid-column: 5 / span 1;
  }
  
  footer .details {
    grid-column: 6 / -4;
  }
  
}