.box {
	margin-bottom: 1.25rem;

	&-center {
		@include center();
		max-width: 720px;
		width: 100%;

    &-narrow {
      max-width: 480px;
      width: 100%;
    }

    &:not(.box-card) {

      .box-content  {
        text-align: center;
      }
    }
	}

	&-card {
		border-radius: 4px;
		background-color: $white;
		border: 1px solid $smoke-blue;
		overflow: hidden;
	}

  &-banner {
    border-radius: 4px;
    background-image: $blue-gradient;
    padding: 3.75rem 3.5rem;
    color: $white;

    h1 {
      font-size: 3.25rem;
    }

    h2 {
      font-size: 1.75em;
      font-weight: 400;

      & + h2 {
        margin-top: 1em;
      }
    }

    .btn {
      color: $soft-blue;
    }
  }

	&-header {
		padding: 20px;
		border-bottom: 1px solid $background;

		&-action {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: center;
		}
	}

	&-title {
		font-weight: 700;
	}

	&-subtitle {
		font-size: 0.875rem;
		color: $text-gray;
	}

	&-image {
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center;
		width: 100%;
		height: 100%;
	}

	&-content {
		padding: 20px;

    & + .box-content {
      border-top: 1px solid $background;
    }
	}

  &-table {
    padding: 0;
    background-color: lighten($background, 2%);
  }

  &-row {
    border-bottom: 1px solid $background;
    padding: 10px 20px;

    &:last-child {
      border-bottom: 0;
    }
  }

  &-cell {

    &-left {
      text-align: left;
    }

    &-center {
      text-align: center;
    }

    &-right {
      text-align: right;
    }

    &-subfields {
      color: $text-gray;
      font-size: 0.75rem;

      &-actions {

        & > * {

          & + * {
            margin-left: 5px;
            padding-left: 5px;
            border-left: 1px solid $background;
          }
        }
      }
    }
  }

	&-footer {
		padding: 20px;
		border-top: 1px solid $background;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}

  &-repeater {
    border: 1px solid $smoke-blue;
    border-radius: 4px;
    margin-bottom: 1rem;
    overflow: hidden;

    &-header {
      border-bottom: 1px solid $smoke-blue;
      background-color: lighten($background, 2%);
      font-size: 0.875rem;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      padding: 10px 20px;
    }
  }
}
