/* Media Items - Common Side and Top Image Items */
//making media


//image overlap borders for border items - remove if not needed
.bordered .item-media,
.bordered .entry-thumbnail {
  margin: -1px -1px -1px -1px;
  z-index: 1;
}

.bordered .item-media.cover-image {
  //border * 2
  height: calc(100% + 2px);
}

.bordered.full-padding .item-media {
  margin: 0;
}

/* side and vertical items paddings */
.full-padding {
  padding: 40px;
}

.content-padding .item-content {
  padding: 40px;
}

//make padding smaller on small screens
@media (max-width: 992px) {
  .full-padding {
    padding: 30px;
  }
  .content-padding .item-content {
    padding: 30px;
  }
}

/*side item*/
.side-item {
  h2, h3, h4 {
    line-height: 1;
  }
  .row {
    margin: 0;
    [class*="col-"] {
      padding: 0;
      margin: 0;
    }
  }
  //color item title
  .item-title + .item-content {
    padding-top: 30px;
  }
  [class*="col-"] > .item-title {
    padding: 15px 30px;
    h2, h3, h4 {
      margin: 0;
    }
  }
  //color item title not inside .item-content - border width 1px
  &.bordered [class*="col-"] > .item-title {
    margin: -1px;
  }
}

/*-xs- -sm- side-item paddings and margins*/
@media (max-width: 767px) {
  .no-content-padding,
  .full-padding {
    [class*='col-sm-'],
    [class*='col-xs-'] {
      .item-content {
        padding-left: 30px;
      }
      //bootstrap 3
      &[class*='sm-pull-'],
      &[class*='xs-pull-'],
        //bootstrap 4
      &[class*='order-sm-1'],
      &[class*='order-xs-1'] {
        .item-content {
          padding-left: 0;
          padding-right: 30px;
        }
      }
    }
    .col-sm-12 .item-content,
    .col-xs-12 .item-content {
      padding-top: 30px;
      padding-left: 0;
      padding-right: 0;
    }
  }
}

/*-md- side-item paddings and margins*/
@media (min-width: 768px) {
  .no-content-padding,
  .full-padding {
    [class*='col-md-'] {
      .item-content {
        padding-left: 30px;
      }
      //bootstrap 3
      &[class*='md-pull-'],
      //bootstrap 4
      &[class*='order-md-1'] {
        .item-content {
          padding-left: 0;
          padding-right: 30px;
        }
      }
    }
    .col-sm-12 .item-content {
      padding-top: 30px;
      padding-left: 0;
      padding-right: 0;
    }
  }
}

/*-lg- side-item paddings and margins*/
@media (min-width: 992px) {
  .no-content-padding,
  .full-padding {
    [class*='col-lg-'] {
      .item-content {
        padding-left: 30px;
      }
      //bootstrap 3
      &[class*='lg-pull-'],
      //bootstrap 4
      &[class*='order-lg-1'] {
        .item-content {
          padding-left: 0;
          padding-right: 30px;
        }
      }
    }
    .col-md-12 .item-content {
      padding-top: 30px;
      padding-left: 0;
      padding-right: 0;
    }
  }
}

/*-xl- side-item paddings and margins*/
@media (min-width: 1200px) {
  .no-content-padding,
  .full-padding {
    [class*='col-xl-'] {
      .item-content {
        padding-left: 30px;
      }
      &[class*='order-xl-1'] {
        .item-content {
          padding-left: 0;
          padding-right: 30px;
        }
      }
    }
    .col-lg-12 .item-content {
      padding-top: 30px;
      padding-left: 0;
      padding-right: 0;
    }
  }
}

/* vertical media item */
.vertical-item {
  .item-media + .item-content {
    padding-top: 40px;
  }

  &.content-padding {
    .item-content {
      padding: 50px;
      @media(max-width: 1199px) {
        padding: 30px;
      }
    }
    &.padding-small .item-content {
      padding: 40px 40px 40px;
    }
  }


  //title at the bottom of item
  & + .item-title {
    padding: 10px 30px;
    h2, h3, h4 {
      margin: 0;
    }
  }
}

/* item meta */
.item-meta {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1.6;
  i {
    width: 1em;
    text-align: center;
    position: relative;
    font-size: 1.2em;
  }
  span {

    padding: 0 0 0 1.7em;
  }
}

/* item media & item links */
.item-media {
  position: relative;
  overflow: hidden;
  //fixing cut images on extra large screens
  img {
    width: 100%;
  }
  &.cover-image {
    height: 100%;
  }
}

.media-links {
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  //.links-wrap
  div {
    position: absolute;
    top: 50%;
    width: 100%;

    // media-link a height 60/2
    margin-top: -30px;
    z-index: 4;
    //making links to top right corner when absolute content is used
    //to avoid overlap the content
    .content-absolute & {
      display: flex;
      width: 100%;
      height: 100%;
      top: 50%;
      transform: translateY(-50%);
      margin-top: 0;
      justify-content: center;
      a {
        transition: all 0.35s ease 0.1s;

        &:first-child {
          transition-delay: 0s;
        }
      }
    }
  }

}

//overlay
.media-links:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba($lightColor, 0.5);
  opacity: 0;
  transition: all 0.2s linear;
}

[class*="-item"]:hover .media-links:before {
  opacity: 0.5;
}

.media-links a.abs-link {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  [class*="-item"]:hover & {
    opacity: 1;
  }

}

[class*="-item"] {
  .links-wrap {
    a {
      position: relative;
      width: 60px;
      height: 60px;
      line-height: 3;
      top: -100px;
      border: 2px solid transparent;
      display: inline-block;
      z-index: 5;
      font-size: 20px;
      text-align: center;
      opacity: 0;
      transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
    }
    a.link-zoom {
      color: $lightColor;
      background-color: $darkgreyColor;

      &:hover {
        opacity: 1;

        background: $lightColor;
        color: $colorMain2;
      }
    }
    a.link-anchor {
      color: $darkgreyColor;
      background-color: $lightColor;
      border-color: $lightColor;
      &:hover {
        opacity: 1;
        color: $lightColor;
        background-color: $colorMain;
        border-color: $colorMain;
      }

      //delay for second link
      transition-delay: 0.1s;

    }
    a:before {
       font-family: 'Font Awesome 5 Free', sans-serif;
      content: "\f002";
      font-weight: 900;
    }
    a.link-anchor:before {
      content: "\f041";
    }
  }
}

[class*="-item"]:hover {
  .links-wrap a {
    top: 50%;
    transform: translateY(-50%);
    filter: alpha(opacity=100);
    opacity: 1;
  }
  .media-links div {
    filter: alpha(opacity=100);
    opacity: 1;
  }
}

/* item icons */
.item-icons {
  margin-top: 35px;
  font-size: 12px;
  .content-padding & {
    margin-top: 0;
  }
  i {
    padding: 0 4px;
  }
  .col {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 20px;
  }
}
