.c-gallery {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
  grid-gap: .5rem; }
  .c-gallery .c-gallery__item {
    -ms-flex: 1 1 200px;
        flex: 1 1 200px;
    -ms-flex-preferred-size: calc( 33.333% - .5rem);
        flex-basis: calc( 33.333% - .5rem); }
  .c-gallery .c-gallery__link {
    margin-bottom: .5rem; }
  @supports ((display: -ms-grid) or (display: grid)) {
    .c-gallery .c-gallery__item {
      float: none;
      width: 100%; }
    .c-gallery .c-gallery__link {
      margin-bottom: 0; } }
  @media (min-width: 46.25em) {
    .c-gallery {
      -ms-grid-columns: (1fr)[3];
          grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 61.25em) {
    .c-gallery {
      -ms-grid-columns: (1fr)[4];
          grid-template-columns: repeat(4, 1fr); } }
  .c-gallery__link {
    overflow: hidden;
    position: relative;
    height: 100%;
    display: block; }
  .c-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: 100% !important; }
  .c-gallery--grayscale .c-gallery__link img {
    filter: grayscale(1);
    transition: .1s ease-out; }
  .c-gallery--grayscale .c-gallery__link:hover img, .c-gallery--grayscale .c-gallery__link:hover img {
    filter: grayscale(0);
    transition: .1s ease-in; }
  .c-gallery--v1 .c-gallery__item:first-child {
    -ms-grid-row: span 2;
        grid-row: span 2;
    grid-column: 1/-1; }
  .c-gallery--v2 .c-gallery__item:first-child {
    -ms-grid-row: span 4;
        grid-row: span 4;
    grid-column: 1/4; }
  .c-gallery--v3 .c-gallery__item:first-child {
    -ms-grid-row: span 2;
        grid-row: span 2;
    -ms-grid-column: span 2;
        grid-column: span 2; }
  .c-gallery--auto-fill {
    -ms-grid-columns: (minmax(175px, 1fr))[auto-fill];
        grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); }
  .c-gallery--gutter-md {
    grid-gap: 1rem; }
  .c-gallery--gutter-lg {
    grid-gap: 2rem; }
  .c-gallery--2cols {
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr); }
  .c-gallery--3cols {
    -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr); }
  .c-gallery--4cols {
    -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr); }
  @media (min-width: 61.25em) {
    .c-gallery--5cols {
      -ms-grid-columns: (1fr)[5];
          grid-template-columns: repeat(5, 1fr); } }
