.row--gutter {
  margin-left: -15px;
  margin-right: -15px;
  overflow: hidden;
}

a {
  color: #727272;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: color 0.5s ease;
}
.ux-info-banner[type=info] a:hover {
  color: #fff;
}
.ux-info-banner[type=error] a:hover {
  color: #ff0201;
}
a:hover {
  color: #131313;
}

/**
@prop --card-background-color: Background color of the card (default `#fff`)
@prop --card-padding: Inner padding of the card content area (default `30px`)
@prop --card-shadow: Drop shadow of the card (default `0 5px 25px 0 rgba(0, 0, 0, 0.09)`)
 */
:host {
  display: block;
  background-color: var(--card-background-color, #fff);
  box-shadow: var(--card-shadow, 0 5px 25px 0 rgba(0, 0, 0, 0.09));
  width: 100%;
  height: 100%;
}

.grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "image" "content" "cta";
  position: relative;
  width: 100%;
  height: 100%;
}

:host([layout=horizontal]) .grid {
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr auto;
  grid-template-areas: "image content" "image cta";
}

.image,
.content,
.cta {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.image {
  grid-area: image;
}

.content {
  grid-area: content;
}

.cta {
  grid-area: cta;
  padding-left: var(--card-padding, 30px);
  padding-right: var(--card-padding, 30px);
  padding-bottom: var(--card-padding, 30px);
}

.is-hidden {
  display: none;
}