.gfpci-infoboxes::after {
  clear: both;
  content: "";
  display: table;
}

.gfpci-infobox {
  background: #f8f9fa;
  border: 1px solid #a2a9b1;
  box-sizing: border-box;
  color: inherit;
  font-size: .92em;
  line-height: 1.38;
  margin: 0 0 1em 1em;
  max-width: 100%;
  padding: 3px;
  width: 320px;
}

.gfpci-placement-right {
  float: right;
  clear: right;
  margin-left: 1em;
  margin-right: 0;
}

.gfpci-placement-left {
  float: left;
  clear: left;
  margin-left: 0;
  margin-right: 1em;
}

.gfpci-placement-center {
  float: none;
  clear: both;
  display: block;
  margin: 1em auto;
}

.gfpci-infobox table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  width: 100%;
}

.gfpci-infobox caption {
  background: #eaecf0;
  border: 1px solid #a2a9b1;
  caption-side: top;
  color: inherit;
  font-size: 1.15em;
  font-weight: 700;
  padding: .45em .5em;
  text-align: center;
}

.gfpci-infobox th,
.gfpci-infobox td {
  border: 0;
  padding: .35em .45em;
  vertical-align: top;
}

.gfpci-infobox th {
  font-weight: 700;
  text-align: left;
  width: 38%;
}

.gfpci-infobox td p {
  margin: 0 0 .35em;
}

.gfpci-infobox td p:last-child {
  margin-bottom: 0;
}

.gfpci-image-row td {
  text-align: center;
}

.gfpci-image-row img {
  display: block;
  height: auto;
  margin: .35em auto;
  max-width: 100%;
}

.gfpci-image-caption {
  font-size: .9em;
  margin: .2em .4em .45em;
}

@media (max-width: 720px) {
  .gfpci-infobox,
  .gfpci-placement-right,
  .gfpci-placement-left,
  .gfpci-placement-center {
    clear: both;
    float: none;
    margin: 1em auto;
    width: 100%;
  }
}
