.artboard {
  background: white;
  color: var(--light-grey);
  box-shadow: 0 1px 2px 1px hsla(0,0%,0%,5%);
  position: relative;
  z-index: 1;
  margin-top: 1.5rem;

  &[flex] {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  &[padded], & > [padded] {
    padding: 0.5rem;
  }

  &.dark {
    background: var(--dark-grey);
    border: 1px solid var(--darker-grey);
    box-shadow: none;
    color: var(--lighter-grey);
  }

  &.message {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 1.5rem;

    & > h2 {
      font-weight: bold;
    }

    & > p {
      line-height: 1.5;
      margin-bottom: 0;
    }
  }

  & > label {
    content: attr(artboard);
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    height: 20px;
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    font-weight: lighter;
    color: var(--lightest-grey);
    white-space: nowrap;

    & > summary {
      display: inline-flex;
      align-items: center;
    }

    & > summary > svg {
      height: 20px;
      margin-right: 0.5rem;
    }

    & > b {
      color: var(--theme-color);
    }

    & > :matches(b, .material-icons) {
      margin: 0 0.25em;
    }

    &:hover {
      color: var(--lightest-grey);
    }

    &[with-info] {
      justify-content: space-between;

      & i {
        cursor: pointer;
        font-style: normal;
        border: 1px solid var(--dark-grey);
        border-radius: 50%;
        width: 1.4em;
        height: 1.4em;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1.1;

        &:hover {
          color: var(--theme-color);
          border-color: var(--theme-color);
        }
      }
    }
  }

  & .tips {
    display: grid;
    grid-gap: 0.5rem;
    border: 1px solid var(--darkest-grey);
    border-radius: 1rem;
    padding: 0.5rem;

    & > p {
      margin-top: 0;
      margin-bottom: 0;
      font-size: 0.8rem;

      @media (max-width: 480px) {
        font-size: 1rem;
      }
    }
  }

  & > [grid][vertically-aligned] {
    padding: 0.5rem;
    box-sizing: border-box;
    width: 100%;
    height: auto;

    & > h2 {
      margin: 0;
    }
  }

  & [fit-height] {
    flex: 1;
  }

  &.pictures img{
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
