/*-------------imports framework-----------------*/

@import "framework/framework";

/* This stylesheet is used to style the public-facing components of the plugin. */


/*-----------------------------------------------
 ---------common css start----------
---------------------------------------------*/

.esf_insta_feed_wraper {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
}

.esf_insta_header {
  padding: 10px 0;
  margin-bottom: 10px;

  .esf_insta_header_inner_wrap {
    @extend .esf-insta-d-flex;

    .esf_insta_header_img {
      min-width: 60px;
      max-width: 60px;
      padding-right: 15px;
      display: inline-table;

      a {
        position: relative;
        display: block;
      }
      .esf-insta-hashtag-overlay {
        position: absolute;
        width: 50px;
        height: 50px;
        top: 0;
        left: 0;
        background: #000;
        border-radius: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;

        .icon {
          display: inline-grid;
        }
      }

      .esf-insta-stories-overlay {
        position: absolute;
        width: 45px;
        height: 45px;
        top: 0;
        left: 0;
        background: #fa9b57;
        background: linear-gradient(45deg, #fa9b57 0%, #f7763f 35%, #e34876 55%, #dc327c 75%, #c73390 100%);
        border-radius: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        opacity: 0;
        -webkit-transition: opacity ease-in-out .3s;
        -moz-transition: opacity ease-in-out .3s;
        -o-transition: opacity ease-in-out .3s;
        transition: opacity ease-in-out .3s;

        img {
          max-width: 26px;
        }
      }

      img {
        width: 100%;
      }
    }

    .esf_insta_header_content {
      .esf_insta_header_meta {
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;
        @extend .esf-insta-flex-wrap !optional;
        margin-bottom: 10px;

        .esf_insta_header_title {
          padding-right: 15px;

          h4 {
            margin: 0;
            font-size: inherit;
          }
        }

        .esf_insta_cat,
        .esf_insta_followers {
          padding-right: 15px;
          font-size: 14px;
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center !optional;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 5px;
          }
        }
      }
    }

    .esf-insta-has-stories{
      .esf_insta_stories_popup{
        padding: 3px;
        background: rgb(250,155,87);
        background: linear-gradient(45deg, rgba(250,155,87,1) 0%, rgba(247,118,63,1) 35%, rgba(227,72,118,1) 55%, rgba(220,50,124,1) 75%, rgba(199,51,144,1) 100%);
        border-radius: 50px;
        transition: opacity ease-in-out .5s;
      }
      &:hover .esf-insta-stories-overlay{
        opacity: 1;
        -webkit-transition: opacity ease-in-out .3s;
        -moz-transition: opacity ease-in-out .3s;
        -o-transition: opacity ease-in-out .3s;
        transition: opacity ease-in-out .3s;
      }
    }
  }



  @media (max-width: 991px) {
    & {
      .esf_insta_header_inner_wrap {
        .esf_insta_header_content {
          .esf_insta_header_meta {
            .esf_insta_header_title {
              width: 100%;
              max-width: 100%;
              min-width: 100%;
              padding-right: 0;
              margin-bottom: 5px;
            }
          }
        }
      }
    }
  }
}

.esf_insta_load_more_holder {
  text-align: center;
}

.esf_insta_load_more_btn {
  text-decoration: none !important;
  border-radius: 5px;
  font-size: 14px;
  margin: 20px auto;

}


/*-----------------------------------------------
---------common css end-------------
----------------------------------------------*/


/*-----------------------------------------------
---------half width layout start----------
---------------------------------------------*/

.esf-insta-halfwidth-skin {
  background: #fff;
  border: $border-color solid 1px;
  padding: 15px;
  margin-bottom: 20px;

  .esf-insta-thumbnail-wrapper {
    .esf-insta-thumbnail-col {
      border-right: $border-color solid 1px;

      a {
        display: block;
        position: relative;
        width: 100%;

        img {
          outline: $border-color solid 1px;
          width: 100%;
        }

        .esf-insta-overlay {
          position: absolute;
          opacity: 0;
          background: rgba(0, 0, 0, 0.459);
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          color: #fff;
          -webkit-transition: all 500ms ease;
          -moz-transition: all 500ms ease;
          -ms-transition: all 500ms ease;
          -o-transition: all 500ms ease;
          transition: all 500ms ease;

          .esf-insta-plus {
            position: absolute;
            left: 50%;
            top: 50%;
            font-size: 20px;
            margin-left: -10px;
            margin-top: -10px;
          }

          .icon-esf-clone {
            position: absolute;
            right: 15px;
            top: 15px;
            font-size: 20px;
          }
        }

        &:hover .esf-insta-overlay {
          opacity: 1;
        }
      }
    }

    .esf-insta-post-footer {
      margin-top: 15px;
      padding-top: 15px;
      border-top: $border-color solid 1px;
      width: 100%;
      @extend .esf-insta-align-items-center !optional;

      .esf-insta-reacted-item {
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;
        color: $gray-800;
        font-size: 14px;
        margin-right: 20px;
        cursor: pointer;

        i {
          @extend .esf-insta-d-flex;
          margin-right: 3px;
        }

        .esf_insta_all_comments_wrap {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center !optional;
          color: $gray-800;
          font-size: 14px;
          cursor: pointer;
          text-decoration: none !important;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 3px;
          }
        }
      }

      .esf-insta-view-on-fb {
        font-size: 12px;

        text-decoration: none;
        background: $gray-300;
        color: $gray-800;
        padding: 8px 15px;
        border-radius: 3px;
        height: auto;
        outline: none !important;
        line-height: 1.25;
        outline: none !important;
        border: none !important;
        margin-bottom: 0 !important;

        &:hover {
          background: $gray-800;
          color: $white;
        }
      }

      .esf-share-wrapper {
        position: relative;
        padding-left: 10px;
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;

        .esf-share {
          font-size: 12px;
          text-decoration: none;
          background: $gray-300;
          color: $gray-800;
          padding: 5px 15px;
          border-radius: 3px;
          height: auto;
          outline: none !important;
          border: none !important;

          &:hover {
            background: $gray-800;
            color: $white;
          }
        }

        .esf-social-share {
          display: none;
          position: absolute;
          right: 0;
          bottom: 46px;
          background: $gray-800;
          color: $gray-300;
          border-radius: 3px;
          white-space: nowrap;
          padding-left: 5px;
          padding-right: 5px;

          button {
            padding: 0;
            outline: none !important;
            border: none;
            background: transparent;
            text-decoration: none !important;

            a {
              text-decoration: none !important;
              font-size: 14px;
              padding: 10px 5px;
              color: #ccc;
              @extend .esf-insta-d-flex;
              @extend .esf-insta-align-items-center !optional;
              line-height: 1.25;

              i {
                @extend .esf-insta-d-flex;
              }

              &:hover {
                color: #fff;
                text-decoration: none !important;
              }
            }
          }
        }
      }
    }
  }

  .esf-insta-feed-content {
    & > .esf-insta-d-flex {
      margin-bottom: 10px;

      .esf-insta-profile-image {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        overflow: hidden;
        box-shadow: 0px 0px 0px 1px $border-color;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;

        a {
          position: relative;
        }

        .esf-insta-hashtag-overlay {
          position: absolute;
          width: 40px;
          height: 40px;
          top: 0;
          left: 0;
          background: #000;
          border-radius: 40px;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff;

          .icon {
            display: inline-grid;
          }
        }

        img {
          width: 100%;
        }
      }

      .esf-insta-profile-title {
        h2 {
          font-size: 20px;
          margin: 0px;
        }

        span {
          font-size: 12px;
          display: block;
          color: $gray-600;
          font-style: italic;

        }
      }
    }

    .description,
    .esf_insta_link_text {
      font-size: 14px;

      color: $gray-800;

      & > * {
        font-size: 14px;
      }
    }
  }
}

.esf-insta-profile-image {
  position: relative;

  .esf-insta-hashtag-overlay {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
    background: #000;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;

    .icon {
      display: inline-grid;
    }
  }
}

@media (max-width: 575px) {
  .esf-insta-halfwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-thumbnail-col {
    border: none;
    margin-bottom: 20px;
  }
  .esf-insta-halfwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer > .esf-insta-d-flex {
    flex-direction: column;
  }
  .esf-insta-halfwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer .esf-insta-reacted {
    margin-bottom: 10px;

  }
  .esf-insta-halfwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer .esf-share-wrapper .esf-social-share {
    bottom: 37px;
  }
}


/*-----------------------------------------------
 ---------half width layout end-------------
-----------------------------------------------*/


/*-----------------------------------------------
---------thumbnail layout start----------
---------------------------------------------*/

.esf-insta-thumbnail-skin {
  background: #fff;
  border: $border-color solid 1px;
  padding: 15px;
  margin-bottom: 20px;

  .esf-insta-thumbnail-wrapper {
    .esf-insta-thumbnail-col {
      border-right: $border-color solid 1px;

      a {
        display: block;
        position: relative;
        width: 100%;

        img {
          outline: $border-color solid 1px;
          width: 100%;
        }

        .esf-insta-overlay {
          position: absolute;
          opacity: 0;
          background: rgba(0, 0, 0, 0.459);
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          color: #fff;
          -webkit-transition: all 500ms ease;
          -moz-transition: all 500ms ease;
          -ms-transition: all 500ms ease;
          -o-transition: all 500ms ease;
          transition: all 500ms ease;

          .esf-insta-plus {
            position: absolute;
            left: 50%;
            top: 50%;
            font-size: 20px;
            margin-left: -10px;
            margin-top: -10px;
          }

          .icon-esf-clone {
            position: absolute;
            right: 15px;
            top: 15px;
            font-size: 20px;
          }
        }

        &:hover .esf-insta-overlay {
          opacity: 1;
        }
      }
    }

    .esf-insta-post-footer {
      margin-top: 15px;
      padding-top: 15px;
      border-top: $border-color solid 1px;
      width: 100%;
      @extend .esf-insta-align-items-center !optional;

      .esf-insta-reacted-item {
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;
        color: $gray-800;
        font-size: 14px;
        margin-right: 20px;
        cursor: pointer;

        i {
          @extend .esf-insta-d-flex;
          margin-right: 3px;
        }

        .esf_insta_all_comments_wrap {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center !optional;
          color: $gray-800;
          font-size: 14px;
          cursor: pointer;
          text-decoration: none !important;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 3px;
          }
        }
      }

      .esf-insta-view-on-fb {
        font-size: 12px;

        text-decoration: none;
        background: $gray-300;
        color: $gray-800;
        padding: 8px 15px;
        border-radius: 3px;
        height: auto;
        outline: none !important;
        line-height: 1.25;

        &:hover {
          background: $gray-800;
          color: $white;
        }
      }

      .esf-share-wrapper {
        position: relative;
        padding-left: 10px;
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;

        .esf-share {
          font-size: 12px;

          text-decoration: none;
          background: $gray-300;
          color: $gray-800;
          padding: 8px 15px;
          border-radius: 3px;
          height: auto;
          outline: none !important;

          &:hover {
            background: $gray-800;
            color: $white;
          }
        }

        .esf-social-share {
          display: none;
          position: absolute;
          right: 0;
          bottom: 46px;
          background: $gray-800;
          color: $gray-300;
          border-radius: 3px;
          white-space: nowrap;
          padding-left: 5px;
          padding-right: 5px;

          button {
            padding: 0;
            outline: none !important;
            border: none;
            background: transparent;
            text-decoration: none !important;
            float: left;

            a {
              text-decoration: none !important;
              font-size: 14px;
              padding: 10px 5px;
              color: #ccc;
              @extend .esf-insta-d-flex;
              @extend .esf-insta-align-items-center !optional;
              line-height: 1.25;

              i {
                @extend .esf-insta-d-flex;
              }

              &:hover {
                color: #fff;
                text-decoration: none !important;
              }
            }
          }
        }
      }
    }
  }

  .esf-insta-feed-content {
    & > .esf-insta-d-flex {
      margin-bottom: 10px;

      .esf-insta-profile-image {
        position: relative;
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        overflow: hidden;
        box-shadow: 0px 0px 0px 1px $border-color;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;

        img {
          width: 100%;
        }
      }

      .esf-insta-profile-title {
        h2 {
          font-size: 20px;
          margin: 0px;
          padding: 0;
        }

        span {
          font-size: 12px;
          display: block;
          color: $gray-600;
          font-style: italic;

        }
      }
    }

    .description,
    .esf_insta_link_text {
      font-size: 14px;

      color: $gray-800;

      & > * {
        font-size: 14px;
      }
    }
  }
}

@media (max-width: 575px) {
  .esf-insta-thumbnail-skin .esf-insta-thumbnail-wrapper .esf-insta-thumbnail-col {
    border: none;
    margin-bottom: 20px;
  }
  .esf-insta-thumbnail-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer > .esf-insta-d-flex {
    flex-direction: column;
  }
  .esf-insta-thumbnail-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer .esf-insta-reacted {
    margin-bottom: 10px;

  }
  .esf-insta-thumbnail-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer .esf-share-wrapper .esf-social-share {
    bottom: 37px;
  }
}


/*-----------------------------------------------
 ---------thumbnail layout end-------------
-----------------------------------------------*/


/*-----------------------------------------------
---------full width layout start----------
---------------------------------------------*/

.esf-insta-fullwidth-skin {
  background: #fff;
  border: $border-color solid 1px;
  padding: 15px;
  margin-bottom: 20px;

  .esf-insta-thumbnail-wrapper {
    .esf-insta-thumbnail-col {
      margin-bottom: 20px;

      a {
        display: block;
        position: relative;
        width: 100%;

        img {
          outline: $border-color solid 1px;
          width: 100%;
        }

        .esf-insta-overlay {
          position: absolute;
          opacity: 0;
          background: rgba(0, 0, 0, 0.459);
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          color: #fff;
          -webkit-transition: all 500ms ease;
          -moz-transition: all 500ms ease;
          -ms-transition: all 500ms ease;
          -o-transition: all 500ms ease;
          transition: all 500ms ease;

          .esf-insta-plus {
            position: absolute;
            left: 50%;
            top: 50%;
            font-size: 20px;
            margin-left: -10px;
            margin-top: -10px;
          }

          .icon-esf-clone {
            position: absolute;
            right: 15px;
            top: 15px;
            font-size: 20px;
          }
        }

        &:hover .esf-insta-overlay {
          opacity: 1;
        }
      }
    }

    .esf-insta-post-footer {
      margin-top: 15px;
      padding-top: 15px;
      border-top: $border-color solid 1px;
      width: 100%;
      @extend .esf-insta-align-items-center !optional;

      .esf-insta-reacted-item {
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;
        color: $gray-800;
        font-size: 14px;
        margin-right: 20px;
        cursor: pointer;

        i {
          @extend .esf-insta-d-flex;
          margin-right: 3px;
        }

        .esf_insta_all_comments_wrap {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center !optional;
          color: $gray-800;
          font-size: 14px;
          cursor: pointer;
          text-decoration: none !important;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 3px;
          }
        }
      }

      .esf-insta-view-on-fb {
        font-size: 12px;

        text-decoration: none;
        background: $gray-300;
        color: $gray-800;
        padding: 8px 15px;
        border-radius: 3px;
        height: auto;
        outline: none !important;
        line-height: 1.25;

        &:hover {
          background: $gray-800;
          color: $white;
        }
      }

      .esf-share-wrapper {
        position: relative;
        padding-left: 10px;
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;

        .esf-share {
          font-size: 12px;

          text-decoration: none;
          background: $gray-300;
          color: $gray-800;
          padding: 5px 15px;
          border-radius: 3px;
          height: auto;
          outline: none !important;

          &:hover {
            background: $gray-800;
            color: $white;
          }
        }

        .esf-social-share {
          display: none;
          position: absolute;
          right: 0;
          bottom: 46px;
          background: $gray-800;
          color: $gray-300;
          border-radius: 3px;
          white-space: nowrap;
          padding-left: 5px;
          padding-right: 5px;

          button {
            padding: 0;
            outline: none !important;
            border: none;
            background: transparent;
            text-decoration: none !important;

            a {
              text-decoration: none !important;
              font-size: 14px;
              padding: 10px 5px;
              color: #ccc;
              @extend .esf-insta-d-flex;
              @extend .esf-insta-align-items-center !optional;
              line-height: 1.25;

              i {
                @extend .esf-insta-d-flex;
              }

              &:hover {
                color: #fff;
                text-decoration: none !important;
              }
            }
          }
        }
      }
    }
  }

  .esf-insta-feed-content {
    & > .esf-insta-d-flex {
      margin-bottom: 10px;

      .esf-insta-profile-image {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        overflow: hidden;
        box-shadow: 0px 0px 0px 1px $border-color;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;

        img {
          width: 100%;
        }
      }

      .esf-insta-profile-title {
        h2 {
          font-size: 20px;
          margin: 0px;
        }

        span {
          font-size: 12px;
          display: block;
          color: $gray-600;
          font-style: italic;

        }
      }
    }

    .description,
    .esf_insta_link_text {
      font-size: 14px;

      color: $gray-800;

      & > * {
        font-size: 14px;
      }
    }
  }
}

@media (max-width: 575px) {
  .esf-insta-fullwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer > .esf-insta-d-flex {
    flex-direction: column;
  }
  .esf-insta-fullwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer .esf-insta-reacted {
    margin-bottom: 10px;

  }
  .esf-insta-fullwidth-skin .esf-insta-thumbnail-wrapper .esf-insta-post-footer .esf-share-wrapper .esf-social-share {
    bottom: 37px;
  }
}


/*-----------------------------------------------
 ---------full width layout end-------------
-----------------------------------------------*/


/*-----------------------------------------------
---------masnory layout start----------
---------------------------------------------*/

.esf-insta-masonry-skin {
  .brick {
    background: #fff;
    border: $border-color solid 1px;
    padding: 15px;
    margin-bottom: 20px;

    .esf_insta_feed_fancy_popup {
      margin-bottom: 15px;
      display: block;
      position: relative;
      width: 100%;

      img {
        outline: $border-color solid 1px;
        width: 100%;
      }

      .esf-insta-overlay {
        position: absolute;
        opacity: 0;
        background: rgba(0, 0, 0, 0.459);
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        color: #fff;
        -webkit-transition: all 500ms ease;
        -moz-transition: all 500ms ease;
        -ms-transition: all 500ms ease;
        -o-transition: all 500ms ease;
        transition: all 500ms ease;

        .esf-insta-plus {
          position: absolute;
          left: 50%;
          top: 50%;
          font-size: 20px;
          margin-left: -10px;
          margin-top: -10px;
        }

        .icon-esf-clone {
          position: absolute;
          right: 15px;
          top: 15px;
          font-size: 20px;
        }
      }

      &:hover .esf-insta-overlay {
        opacity: 1;
      }
    }

    .esf-insta-shared-content-holder {
      & > a {
        margin-bottom: 15px;
        display: block;
      }
    }

    .esf-insta-post-footer {
      margin-top: 15px;
      padding-top: 15px;
      border-top: $border-color solid 1px;
      width: 100%;
      @extend .esf-insta-align-items-center !optional;

      & > .esf-insta-d-flex {
        @extend .esf-insta-flex-column !optional;
      }

      .esf-insta-reacted {

        margin-bottom: 10px;

        .esf-insta-reacted-item {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center !optional;
          color: $gray-800;
          font-size: 14px;
          margin-right: 20px;
          cursor: pointer;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 3px;
          }

          .esf_insta_all_comments_wrap {
            @extend .esf-insta-d-flex;
            @extend .esf-insta-align-items-center !optional;
            color: $gray-800;
            font-size: 14px;
            cursor: pointer;
            text-decoration: none !important;

            i {
              @extend .esf-insta-d-flex;
              margin-right: 3px;
            }
          }
        }
      }

      .esf-insta-view-on-fb {
        font-size: 12px;

        text-decoration: none;
        background: $gray-300;
        color: $gray-800;
        padding: 8px 15px;
        border-radius: 3px;
        height: auto;
        outline: none !important;
        line-height: 1.25;

        &:hover {
          background: $gray-800;
          color: $white;
        }
      }

      .esf-share-wrapper {
        position: relative;
        padding-left: 10px;
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;

        .esf-share {
          font-size: 12px;

          text-decoration: none;
          background: $gray-300;
          color: $gray-800;
          padding: 8px 15px;
          border-radius: 3px;
          height: auto;
          outline: none !important;

          &:hover {
            background: $gray-800;
            color: $white;
          }
        }

        .esf-social-share {
          display: none;
          position: absolute;
          right: 0;
          bottom: 46px;
          background: $gray-800;
          color: $gray-300;
          border-radius: 3px;
          white-space: nowrap;
          padding-left: 5px;
          padding-right: 5px;

          button {
            padding: 0;
            outline: none !important;
            border: none;
            background: transparent;
            text-decoration: none !important;
            float: left;

            a {
              text-decoration: none !important;
              font-size: 14px;
              padding: 10px 5px;
              color: #ccc;
              @extend .esf-insta-d-flex;
              @extend .esf-insta-align-items-center !optional;
              line-height: 1.25;

              i {
                @extend .esf-insta-d-flex;
              }

              &:hover {
                color: #fff;
                text-decoration: none !important;
              }
            }
          }
        }
      }
    }
  }

  .esf-insta-feed-content {
    & > .esf-insta-d-flex {
      margin-bottom: 10px;

      .esf-insta-profile-image {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        overflow: hidden;
        box-shadow: 0px 0px 0px 1px $border-color;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;

        img {
          width: 100%;
        }
      }

      .esf-insta-profile-title {
        h2 {
          font-size: 16px;
          margin: 0px;
        }

        span {
          font-size: 12px;
          display: block;
          color: $gray-600;
          font-style: italic;

        }
      }
    }

    .description,
    .esf_insta_link_text {
      font-size: 14px;

      color: $gray-800;

      & > * {
        font-size: 14px;
      }
    }
  }
}

@media (max-width: 575px) {
  .esf-insta-masonry-skin .brick .esf-insta-post-footer > .esf-insta-d-flex {
    flex-direction: column;
  }
  .esf-insta-masonry-skin .brick .esf-insta-post-footer .esf-share-wrapper .esf-social-share {
    bottom: 37px;
  }
}


/*-----------------------------------------------
 ---------masonry layout end-------------
-----------------------------------------------*/


/*-----------------------------------------------
---------carousel layout start----------
---------------------------------------------*/

.esf_insta_feeds_carousel {
  .esf-insta-grid-wrapper {
    background: #fff;
    border: $border-color solid 1px;
    padding: 15px;
    margin-bottom: 20px;

    .esf_insta_feed_fancy_popup {
      margin-bottom: 15px;
      display: block;
      position: relative;
      width: 100%;

      img {
        outline: $border-color solid 1px;
        width: 100%;
      }

      .esf-insta-overlay {
        position: absolute;
        opacity: 0;
        background: rgba(0, 0, 0, 0.459);
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        color: #fff;
        -webkit-transition: all 500ms ease;
        -moz-transition: all 500ms ease;
        -ms-transition: all 500ms ease;
        -o-transition: all 500ms ease;
        transition: all 500ms ease;

        .esf-insta-plus {
          position: absolute;
          left: 50%;
          top: 50%;
          font-size: 20px;
          margin-left: -10px;
          margin-top: -10px;
        }

        .icon-esf-clone {
          position: absolute;
          right: 15px;
          top: 15px;
          font-size: 20px;
        }
      }

      &:hover .esf-insta-overlay {
        opacity: 1;
      }
    }

    .esf-insta-shared-content-holder {
      & > a {
        margin-bottom: 15px;
        display: block;
      }
    }

    .esf-insta-post-footer {
      margin-top: 15px;
      padding-top: 15px;
      border-top: $border-color solid 1px;
      width: 100%;
      @extend .esf-insta-align-items-center !optional;

      & > .esf-insta-d-flex {
        @extend .esf-insta-flex-column !optional;
      }

      .esf-insta-reacted {

        margin-bottom: 10px;

        .esf-insta-reacted-item {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center !optional;
          color: $gray-800;
          font-size: 14px;
          margin-right: 20px;
          cursor: pointer;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 3px;
          }

          .esf_insta_all_comments_wrap {
            @extend .esf-insta-d-flex;
            @extend .esf-insta-align-items-center !optional;
            color: $gray-800;
            font-size: 14px;
            cursor: pointer;
            text-decoration: none !important;

            i {
              @extend .esf-insta-d-flex;
              margin-right: 3px;
            }
          }
        }
      }

      .esf-insta-view-on-fb {
        font-size: 12px;

        text-decoration: none;
        background: $gray-300;
        color: $gray-800;
        padding: 8px 15px;
        border-radius: 3px;
        height: auto;
        outline: none !important;
        line-height: 1.25;

        &:hover {
          background: $gray-800;
          color: $white;
        }
      }

      .esf-share-wrapper {
        position: relative;
        padding-left: 10px;
        @extend .esf-insta-d-flex;
        @extend .esf-insta-align-items-center !optional;

        .esf-share {
          font-size: 12px;

          text-decoration: none;
          background: $gray-300;
          color: $gray-800;
          padding: 8px 15px;
          border-radius: 3px;
          height: auto;
          outline: none !important;

          &:hover {
            background: $gray-800;
            color: $white;
          }
        }

        .esf-social-share {
          display: none;
          position: absolute;
          right: 0;
          bottom: 46px;
          background: $gray-800;
          color: $gray-300;
          border-radius: 3px;
          white-space: nowrap;
          padding-left: 5px;
          padding-right: 5px;

          button {
            padding: 0;
            outline: none !important;
            border: none;
            background: transparent;
            text-decoration: none !important;
            float: left;

            a {
              text-decoration: none !important;
              font-size: 14px;
              padding: 10px 5px;
              color: #ccc;
              @extend .esf-insta-d-flex;
              @extend .esf-insta-align-items-center !optional;
              line-height: 1.25;

              i {
                @extend .esf-insta-d-flex;
              }

              &:hover {
                color: #fff;
                text-decoration: none !important;
              }
            }
          }
        }
      }
    }
  }

  .esf-insta-feed-header {
    & > .esf-insta-d-flex {
      margin-bottom: 10px;

      .esf-insta-profile-image {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        overflow: hidden;
        box-shadow: 0px 0px 0px 1px $border-color;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;

        img {
          width: 100%;
        }
      }

      .esf-insta-profile-title {
        h2 {
          font-size: 16px;
          margin: 0px;
        }

        span {
          font-size: 12px;
          display: block;
          color: $gray-600;
          font-style: italic;

        }
      }
    }
  }

  .esf-insta-feed-content {
    .description,
    .esf_insta_link_text {
      font-size: 14px;

      color: $gray-800;

      & > * {
        font-size: 14px;
      }
    }
  }

  .owl-nav {
    @extend .esf-insta-d-flex;
    @extend .esf-insta-justify-content-center !optional;

    button {
      @extend .esf-insta-d-flex;
      @extend .esf-insta-align-items-center !optional;
      background: #D6D6D6 !important;
      height: 40px;
      text-align: center;
      justify-content: center;
      width: 40px;
      border-radius: 3px;

      &:hover {
        color: $white;
        background: #222 !important;
      }

      span {
        font-size: 26px;
        padding-bottom: 4px;
      }
    }
  }

  .owl-carousel {
    .owl-stage {
      direction: ltr;
    }
  }
}


/*-----------------------------------------------
 ---------carousel layout end-------------
-----------------------------------------------*/


/*-----------------------------------------------
---------grid layout start----------
---------------------------------------------*/

.esf-insta-grid-skin {
  .esf-insta-grid-wrapper {
    background: #fff;
    border: $border-color solid 1px;
    padding: 3px;
    margin-bottom: 30px;

    .esf_insta_feed_fancy_popup {
      display: block;
      position: relative;
      width: 100%;
      padding-bottom: 100%;
      background-position: center;
      background-size: cover;
      cursor: pointer;
      img {
        outline: $border-color solid 1px;
        width: 100%;
      }

      .esf-insta-overlay {
        position: absolute;
        opacity: 0;
        background: rgba(0, 0, 0, 0.459);
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        color: #fff;
        -webkit-transition: all 500ms ease;
        -moz-transition: all 500ms ease;
        -ms-transition: all 500ms ease;
        -o-transition: all 500ms ease;
        transition: all 500ms ease;

        .esf-insta-plus {
          position: absolute;
          left: 50%;
          top: 50%;
          font-size: 20px;
          margin-left: -10px;
          margin-top: -10px;
        }

        .icon-esf-clone {
          position: absolute;
          right: 15px;
          top: 15px;
          font-size: 20px;
        }
      }

      &:hover .esf-insta-overlay {
        opacity: 1;
      }
    }
  }

  .esf-insta-moderate-wrap.esf-insta-moderate-selected,
  .esf-insta-shoppable-wrap.esf-insta-shoppable-selected {
    .esf-insta-grid-wrapper{
      border: #d84b7a  solid 5px;
      padding: 0;
      .esf-insta-overlay{
        opacity: 1;
      }
    }
  }
  .esf-insta-row.e-outer.esf-insta-moderate,
  .esf-insta-row.e-outer.esf-insta-shoppable {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    margin-right: -5px !important;
    margin-left: -5px !important;
  }
}

@media (max-width: 575px) {
}


/*-----------------------------------------------
 ---------grid layout end-------------
-----------------------------------------------*/


/*-----------------------------------------------
 --------- media crousel start-------------
-----------------------------------------------*/

.esf-insta-media-carousel {
  position: relative;
  padding-bottom: 100px;
  height: 100%;
  display: inline-flex;

}

.esf-insta-media-preview-section {
  display: inline-flex;
  height: 100%;
  width: auto;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.esf-insta-media-item {
  height: 100%;
  width: auto;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  display: inline-flex;

  .esf-insta-carousel-hide {
    display: none;
  }

  img {
    width: 100%;
    height: auto;
    display: inline-block;
  }

  .esf-insta-carousel-video {
    max-height: calc(100vh - 180px);
    outline: none;
  }

}

.previewPortrait .esf-insta-media-item img {
  height: 100% !important;
  width: auto !important;
  display: inline-block;
}

.esf-insta-media-thumbnail-section {
  overflow-y: hidden;
  overflow-x: auto;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 100px;
  width: 100%;

}

.esf-insta-media-thumbnail-section-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  min-width: 100%;

}

.esf-insta-media-thumbnail {
  height: 100%;
  width: 130px;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/*-----------------------------------------------
 ---------media crousel end-------------
-----------------------------------------------*/

/*-----------------------------------------------
 ---------likebox css start----------
---------------------------------------------*/

.fancybox-button svg {
  color: #fff;
}

body {
  .fancybox-container {
    .esf-insta-likes-popup-holder {
      width: 100%;
      max-width: 500px;
      padding: 0 !important;
      border-radius: 5px;

      .esf_insta_likes_holder_icons {
        @extend .esf-insta-d-flex;
        margin: 0;
        padding: 8.5px 10px;
        border-bottom: $border-color solid 1px;
        list-style-type: none;

        #esf_insta_all_likes {
          padding-left: 0px;
          margin-left: 0px;
          border-left: 0px;
        }

        li {
          margin: 0;
          padding: 0;

          a {
            cursor: pointer;
            text-decoration: none;
            font-size: 16px;
          }
        }

        li {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center;
          margin-top: 0px;
          margin-left: 10px;
          padding-left: 10px;
          border-left: $border-color solid 1px;

          img {
            width: 25px;
            height: 25px;
            margin-right: 5px;
          }

          a {
            font-size: 16px;
            margin-top: 0px;
            @extend .esf-insta-d-flex;
            @extend .esf-insta-align-items-center;
            cursor: pointer;
            text-decoration: none;
          }
        }
      }

      .esf_insta_reactions_holder {
        padding: 10px;

        .esf_insta_popup_like {
          width: 100%;
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center;
          position: relative;
          padding-top: 10px;
          padding-bottom: 10px;
          border-bottom: $border-color dashed 1px;

          .esf_insta_popup_liker_img {
            widows: 35px;
            height: 35px;
            border-radius: 50%;
          }

          .esf_insta_liker_name {
            font-size: 16px;
            padding-left: 20px;
          }

          .esf_insta_reaction_bottom {
            position: absolute;
            left: 25px;
            top: 25px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
          }
        }
      }
    }
  }
}


/*-----------------------------------------------
 ---------likebox css end----------
---------------------------------------------*/


/*-----------------------------------------------
 ---------commentbox css start----------
---------------------------------------------*/

.esf-insta-likes-popup-holder {
  & > h4 {
    font-size: 18px;

    margin: 0;
    padding: 13px 10px;
    border-bottom: $border-color solid 1px;
    line-height: 1;
  }

  .esf_insta_all_comments_holder {
    padding: 10px;
  }

  .esf_insta_single_comment_holder {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: $border-color dashed 1px;
    font-size: 14px;

    .esf-insta-d-flex > a {
      text-decoration: none;
      width: 50px;
      max-width: 50px;
      font-size: 20px;
    }

    .esf_insta_comment_meta {
      font-size: 12px;
      color: $gray-600;
      margin-top: 5px;
      padding-left: 33.6px;
    }

    .esf_insta_comment_attach_popup {
      margin-top: 10px;
    }
  }

  .esf-insta-write-comment {
    width: 100%;

    a {
      text-decoration: none;
      font-size: 16px;
    }
  }
}


/*-----------------------------------------------
 ---------commentbox css end----------
---------------------------------------------*/


/*-----------------------------------------------
 ---------post detail css start----------
---------------------------------------------*/
.esf-insta-post-detail * {
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

.esf-insta-post-detail {
  //     max-height: 90%;
  //     max-width: unset !important;
  //     width:auto;
  //     padding: 0px !important;
  //     overflow: hidden !important;

  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;

  &.previewPortrait {
    height: 90%;
  }

  .esf-insta-d-columns-wrapper {
    display: flex;
    height: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: relative;
    padding-right: 400px;

    .esf-insta-post-header {
      margin-bottom: 15px;
      padding-top: 15px;
      padding-right: 40px;
      padding-left: 15px;

      .esf-insta-profile-image {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        overflow: hidden;
        box-shadow: 0px 0px 0px 1px #dee2e6;
        height: 40px;
        border-radius: 50%;
        margin-right: 10px;

        img{
          width: 100%;
        }

        .esf-insta-hashtag-overlay {
          position: absolute;
          width: 40px;
          height: 40px;
          top: 0;
          left: 0;
          background: #000;
          border-radius: 40px;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff;

          .icon {
            display: inline-grid;
          }
        }
      }

      h2 {
        font-size: 20px;
        margin: 0px;
        padding: 0;
      }

      span {
        font-size: 12px;
        display: block;
        color: #6c757d;
        font-style: italic;

      }
    }

    .esf-insta-image {
      background: #000;
      padding-right: 0px;
      padding-left: 0px;
      display: inline-flex;
        img{
          max-width: 100%;
        }
    }

    .esf-insta-caption {
      @extend .esf-insta-d-flex;
      @extend .esf-insta-flex-column;
      height: 100%;
      font-size: 14px;
      width: 100%;
      max-width: 400px;
      position: absolute;
      right: 0;
      top: 0;

      &::after {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 15px;
        content: "";
      }

      .esf-insta-detail-overflow {
        height: 100%;
        overflow-y: auto;
        padding: 15px;

      }
    }

    .esf-insta-reactions-box {
      margin-top: 15px;
      margin-bottom: 15px;
      padding: 10px;
      border-radius: 5px;
      border: $border-color solid 1px;

      .esf-insta-reactions {
        span {
          @extend .esf-insta-d-flex;
          @extend .esf-insta-align-items-center;
          color: $gray-800;
          font-size: 14px;
          cursor: pointer;

          i {
            @extend .esf-insta-d-flex;
            margin-right: 3px;
          }
        }
      }
    }

    .esf-insta-comments-list {
      margin-top: 20px;

      .esf-insta-comment-wrap {
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: $border-color dashed 1px;

        .esf-insta-comment-text {
          display: flex;

          a {
            text-decoration: none !important;
            min-width: 30px;
            display: inline-block;
          }
          .esf-insta-commentator{
            min-width: auto;
            margin-right: 5px;
          }
        }

        .esf_insta_comment_meta {
          margin-top: 15px;
          font-size: 12px;
          padding-left: 30px;

          span {
            margin-right: 10px;
          }
        }

        img {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          margin-right: 15px;
        }

        p {
          margin-bottom: 0px;
        }
      }
    }
  }
}
.esf-insta-popup.esf-insta-stories-popup{
  .esf-insta-caption{
    &::before{
      content: "";
      position: absolute;
      width: 100%;
      height: 5px;
      top: 0;
      left: 0;
      background: rgb(250,155,87);
      background: linear-gradient( 90deg, rgba(250,155,87,1) 0%, rgba(247,118,63,1) 35%, rgba(227,72,118,1) 55%, rgba(220,50,124,1) 75%, rgba(199,51,144,1) 100%);
    }
  }

}
/*-----------------------------------------------
 ---------post detail css end----------
---------------------------------------------*/


/*-----------------------------------------------
 ---------masnory css start----------
---------------------------------------------*/

.esf-insta-masonry {
  transition: all .5s ease-in-out;
  column-gap: 10px;
  column-fill: initial;
  padding: 15px;
  /* Masonry item */
  .brick {
    margin-bottom: 10px;
    display: inline-block;
    vertical-align: top;
    /* Masonry image effects */
    img {
      transition: all .5s ease-in-out;
      backface-visibility: hidden;
    }
  }

  .brick:hover img {
    opacity: .75;
  }
}

.esf-insta-coulmn-count-1 {
  column-count: 1;
}

.esf-insta-coulmn-count-2 {
  column-count: 2;
}

.esf-insta-coulmn-count-3 {
  column-count: 3;
}

.esf-insta-coulmn-count-4 {
  column-count: 4;
}


/*-----------------------------------------------
 ---------masnory css end----------
---------------------------------------------*/
/*------ Layout styles start here ------*/
.esf-insta-ease05 {
  -webkit-transition: all ease 0.5s;
  -moz-transition: all ease 0.5s;
  -ms-transition: all ease 0.5s;
  -o-transition: all ease 0.5s;
  transition: all ease 0.5s;
}

.esf-insta-ease03 {
  -webkit-transition: all ease 0.3s;
  -moz-transition: all ease 0.3s;
  -ms-transition: all ease 0.3s;
  -o-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

.esf-insta-total-album-images-style {
  .esf_insta_albums_count {
    font-size: 17px;
    line-height: 27px;
    vertical-align: top;
    display: inline-block;
  }

  .esf_insta_albums_icon {
    > .icon {
      font-size: 17px;
    }
  }
}

.esf_insta_event_meta-style {
  border-left: 1px solid #ccc;
  padding: 10px;
  padding-bottom: 5px;
}

.esf_insta_layout_title-style {
  margin-top: 0px;
  margin-bottom: 20px;
}

.esf-insta-profile-story-text-style {
  display: inline-block;
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0;
}

.esf-insta-empty-author-name-style {
  height: 10px;
  max-height: 10px;
}

.esf_insta_link_text_box {
  border: 1px solid #ccc;
  background: #f9f9f9;
  padding: 10px;
  padding-bottom: 5px;
  margin-left: 0px;
}

.esf_insta_feed_wraper {
  .icon-esf-video-camera {
    position: absolute;
    font-size: 20px;
    margin-left: -10px;
    margin-top: -10px;
  }
}

.esf-insta-popup.fancybox-content {
    padding: 0;
}

.fancybox-container {
  .fancybox-inner {
    .esf-insta-likes-popup-holder {
      max-height: 90vh;
      max-width: 500px !important;
      overflow-y: auto;
      position: absolute;
      left: 0;
      right: 0;
      margin: 0 auto !important;
      top: 50%;
      transform: translateY(-50%);

      .icon-esf-comment {
        margin-right: 10px;
      }
    }
  }
}

.esf-insta-halfwidth-skin {
  .esf-insta-thumbnail-wrapper {
    .esf-insta-thumbnail-col a {
      .esf-insta-overlay {
        .icon-esf-clone.icon-esf-video-camera {
          text-align: right;
        }
      }
    }
  }

  .esf_insta_event_time {
    > b {
      display: block;
      line-height: 0px;
      font-size: 0;
    }
  }

  .esf_insta_event_meta {
    @extend .esf_insta_event_meta-style;
  }
}

.esf_insta_load_more_btns_wrap {
  .esf_insta_load_more_holder {
    display: inline-block;
  }

  .esf_insta_feed_btns_holder {
    text-align: center;

    .esf_insta_load_more_text,
    .esf_insta_view_all_btn,
    .esf_insta_loading_text,
    .esf_insta_no_load_more_text {
      background: #343a40;
      color: #fff;
      font-size: 15px;
      margin: 0 auto;
      text-decoration: none;
      display: inline-block;
      line-height: 40px;
      padding: 0 20px;
      border-radius: 3px;

      &:hover {
        background: #464a4e;
      }
    }

    .esf-insta-follow-btn {
      background: #3f729b;
      color: #fff;
      font-size: 15px;
      margin: 0 auto;
      text-decoration: none;
      display: inline-block;
      line-height: 40px;
      padding: 0 20px;
      border-radius: 3px;
      &:focus {
        background: #3f729b !important;
        outline: none !important;
        text-decoration: none !important;
      }
      &:hover {
        background: #336b98;
      }
    }

    .esf-insta-follow-btn-wrap {
      display: inline-block;
      margin-left: 10px;
    }

    .esf-insta-follow-btn {
      margin-top: 20px;

      .icon-esf-instagram {
        &::before {
          position: relative;
          top: 2px;
        }
      }
    }
  }

  .esf_insta_load_more_btn.no-more {
    .esf_insta_no_load_more_text {
      display: inline-block;
    }

    .esf_insta_load_more_text {
      display: none;
    }

    .esf_insta_loading_text {
      display: none;
    }
  }

  .esf_insta_load_more_btn.loading {
    .esf_insta_no_load_more_text {
      display: none;
    }

    .esf_insta_load_more_text {
      display: none;
    }

    .esf_insta_loading_text {
      display: inline-block;
    }
  }

  .esf_insta_load_more_btn:not(.loading):not(.no-more) {
    .esf_insta_no_load_more_text {
      display: none;
    }

    .esf_insta_load_more_text {
      display: inline-block;
    }

    .esf_insta_loading_text {
      display: none;
    }
  }
}

.esf-insta-fullwidth-skin {
  .esf-insta-feed-content {
    width: 100%;
    padding: 0 20px;
  }
}

html body {
  .esf-insta-masonry-skin {
    .brick {
      padding: 0;
      width: 100%;
      box-sizing: border-box;

      .esf-insta-post-footer {
        .esf-insta-reacted {
          justify-content: space-between;

          .esf-insta-reacted-item {
            margin-right: 0;
          }
        }
      }

      .esf-insta-feed-content {
        .esf-insta-d-flex {
          .esf-insta-profile-title {
            h2 {
              line-height: 1;
              margin-bottom: 5px;
            }

            span {
              line-height: 1;
            }
          }
        }
      }

      .esf_insta_feed_fancy_popup {
        margin-bottom: 0;
        text-align: center;
        box-shadow: none;
        -webkit-box-shadow: none;

        > img {
          width: auto;
          margin: 0 auto;
          max-width: 100%;
        }
      }
    }

    .esf-insta-coulmn-count-4 {
      .esf-insta-grid-wrapper {
        .esf-insta-feed-content {
          > .esf-insta-d-flex {
            flex-direction: column;
          }
        }
      }
    }

    .esf-insta-masonry {
      padding: 15px 0;
    }
  }
}

html {
  body {
    .esf-insta-popup {
      a {
        // color: #ddd;
      }

      > .fancybox-close-small {
        display: none;
      }

      .fb-video {

        iframe {
        }
      }

      .esf_insta_link_text {
        @extend .esf_insta_link_text_box;
      }

      .esf-insta-caption {

        .esf_insta_event_title,
        .esf_insta_albums_title,
        .esf_insta_videos_title {
          @extend .esf_insta_layout_title-style;
        }

        .esf-insta-profile-title {
          .esf-insta-profile-title-wrap {
            h2 {
              .esf-insta-profile-story-text {
                margin-left: 5px;
                @extend .esf-insta-profile-story-text-style;
              }
            }
          }

          .esf-insta-empty-author-name {
            @extend .esf-insta-empty-author-name-style;
          }
        }

        .esf-insta-reactions-box {
          .esf-insta-d-flex {
            .esf_insta_popup_likes_main {
              margin-right: 3px;
            }

            .esf-insta-total-reactions-count {
              margin-right: 15px;
            }
          }
        }

        .esf-insta-detail-overflow {
          .esf_insta_event_meta {
            @extend .esf_insta_event_meta-style;
          }
        }
      }

      .esf_insta_albums_data_holder {
        .esf-insta-total-album-images {
          @extend .esf-insta-total-album-images-style;

          .esf_insta_albums_icon {
            .icon {
              line-height: 1.5;
              position: relative;
              top: 4px;
            }
          }

          .esf_insta_albums_count {
            font-size: 15px;
          }
        }
      }

      .esf-insta-image {
        > video {
          height: auto !important;
        }
        width: 100%;
        .esf-insta-media-item {
          img {
            max-height: calc(100vh - 180px);
            width: auto;
          }

          @media screen and (max-width: 991px) {
            padding-right: 0;
            width: 100%;
            text-align: center;
          }

        }

        > img {
          max-height: calc(100vh - 80px);
          width: auto;
        }

        .fb-video {
          iframe {
          }
        }

        .esf-insta-media-carousel {
          padding-bottom: 80px;
          width: 100%;
          @media screen and (max-width: 991px) {
            padding-bottom: 54px;
          }

          .esf-insta-media-preview-section {
            @media screen and (max-width: 991px) {
              width: 100%;
            }
          }

          .esf-insta-media-thumbnail-section {
            overflow-x: hidden;
            height: 80px;
            @media screen and (max-width: 991px) {
              height: 60px;
            }

            .esf-insta-media-thumbnail-section-inner {
              height: 80px;
              left: 0;
              position: relative;
              @media screen and (max-width: 991px) {
                height: 60px;
              }

              .esf-insta-media-thumbnail:first-child {
                border-left: 3px solid #000;
              }

              .esf-insta-media-thumbnail {
                cursor: pointer;
                border-top: 3px solid #000;
                border-right: 3px solid #000;
                border-bottom: 3px solid #000;
                width: 100px;
                @media screen and (max-width: 991px) {
                  width: 60px;
                  height: 100%;
                }
              }
            }
          }
        }
      }

      .esf-insta-d-columns-wrapper {
        .esf-insta-caption {
          @media screen and (max-width: 991px) {
            position: relative;
            max-width: auto;
            width: 100%;
          }
        }

        @media screen and (max-width: 991px) {
          flex-direction: column;
          padding-right: 0;
        }
      }

      .esf-insta-scrollbtn {
        position: absolute;
        bottom: 27px;
        cursor: pointer;
        display: inline-block;
        background: #343a40;
        padding: 2px 2px 1px 4px;
        z-index: 10;
        @extend .esf-insta-ease03;

        &::after {
          content: '';
          display: inline-block;
          border-top: 7px solid transparent;
          border-bottom: 7px solid transparent;
          @extend .esf-insta-ease03;
        }

        &:hover::after {
          -webkit-transform: scale(1.4);
          -moz-transform: scale(1.4);
          -ms-transform: scale(1.4);
          -o-transform: scale(1.4);
          transform: scale(1.4);
        }

        @media screen and (max-width: 991px) {
          bottom: 18px;
        }
      }

      .esf-insta-lsbtn {
        left: 0;
        padding-right: 5px;

        &::after {
          border-right: 13px solid #fff;
        }
      }

      .esf-insta-rsbtn {
        right: 0;

        &::after {
          border-left: 13px solid #fff;
        }
      }
    }
  }
}

@media screen and (max-width: 991px){
  html body .esf-insta-popup .esf-insta-image>img {
    width: 100%;
    height: auto;
    max-height: initial; }

  html body .esf-insta-popup .esf-insta-image .esf-insta-media-item, html body .esf-insta-post-detail .esf-insta-d-columns-wrapper .esf-insta-image {
    display: block;
  }
  html body .esf-insta-popup .esf-insta-d-columns-wrapper {
    flex-wrap: nowrap;
  }
}

.esf-insta-likes-popup-holder {
  .esf_insta_single_comment_holder {
    .esf-insta-d-flex {
      .esf_insta_comment_icon {
        max-width: 30px;
      }
    }
  }
}

.esf_insta_popup_all_comments {
  max-width: 700px;
  padding: 10px;

  h4 {
    margin-top: 10px;
    font-size: 23px;
  }

  .esf_insta_reply_msg {
    .esf_insta_comment_icon {
      margin-right: 10px;
      display: inline-block;
    }

    .esf_insta_comment_msg {
      display: inline-block;
      width: calc(100% - 35px);
      vertical-align: top;
      font-size: 15px;
    }

    .esf_insta_comment_meta {
      padding-left: 31px;
      font-size: 12px;
      color: #6c757d;
      margin-top: 10px;
    }
  }
}

html {
  body {
    .esf_insta_feed_wraper {
      .esf_insta_header {
        width: 100%;
        background: #fff;
        padding: 15px 10px;
        background: #fff;

        .esf_insta_header_inner_wrap {
          .esf_insta_header_content {
            display: flex;
            flex-wrap: wrap;

            .esf_insta_header_meta {
              margin-bottom: 0;

              .esf_insta_cat,
              .esf_insta_followers {
                font-family: initial;
              }
            }

            .esf_insta_bio {
              font-size: 17px;
            }
          }
        }

        .esf_insta_header_img {
          a {
            img {
              border-radius: 50%;
            }
          }
        }
      }

      .shared_story {
        .esf_insta_link_text {
          @extend .esf_insta_link_text_box;
        }
      }

      .esf_insta_feeds_holder {
        .esf-insta-profile-title {
          .esf-insta-profile-title-wrap {
            h2 {
              .esf-insta-profile-story-text {
                @extend .esf-insta-profile-story-text-style;
              }
            }
          }

          .esf-insta-empty-author-name {
            @extend .esf-insta-empty-author-name-style;
          }
        }

        .owl-stage {
          .owl-item {
            line-height: 0;

            .esf-insta-thumbnail-col {
              .esf_insta_feed_fancy_popup {
                height: 200px;
                width: 100%;
                background-size: cover;
                background-position: center center;
                background-repeat: no-repeat;
                display: inline-block;

                > img {
                  display: none;
                }
              }
            }
          }
        }
      }

      .esf-insta-story-wrapper {
        .esf-insta-thumbnail-wrapper {
          a {
            img {
              background: #000000;
            }
          }
        }
      }

      .esf_insta_custom_likebox {
        margin-top: 40px;

        .esf-insta-like-box {
          text-align: center;

          .fb_iframe_widget {
            margin: 0 auto;
          }
        }
      }

      .esf-insta-feed-content {
        .esf_insta_event_title,
        .esf_insta_albums_title,
        .esf_insta_videos_title {
          @extend .esf_insta_layout_title-style;
        }
      }

      .esf-insta-grid-skin {
        .esf-insta-row {
          margin-right: -5px;
          margin-left: -5px;

          > div {
            padding: 0 5px;
            width: 100%;
            max-width: 100%;

            .esf-insta-grid-wrapper {
              margin-bottom: 10px;
            }
          }
        }

        .esf-insta-row.e-outer {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(33.33%, 1fr));
          grid-auto-rows: 1fr;
          margin-right: -7px;
          margin-left: -7px;

          &::before {
            content: '';
            width: 0;
            padding-bottom: 100%;
            grid-row: 1 / 1;
            grid-column: 1 / 1;
          }

          > *:first-child {
            grid-row: 1 / 1;
            grid-column: 1 / 1;
          }
        }
      }

      .esf_insta_error_msg {
        color: #721c24;
        background-color: #f8d7da;
        border-color: #f5c6cb;
        padding: 10px;
        border: 1px solid transparent;
        border-radius: 5px;
      }

      .esf_insta_albums_data_holder {
        .esf-insta-total-album-images {
          @extend .esf-insta-total-album-images-style;
        }
      }
    }

    .esf_insta_feed_popup_container {
      .fancybox-button--arrow_left,
      .fancybox-button--arrow_right,
      .fancybox-button {
        background-color: #343a40;
        box-shadow: none !important;
      }

      .fancybox-navigation {
        .fancybox-button--arrow_left,
        .fancybox-button--arrow_right,
        .fancybox-button {
          > div {
            padding: 4px;
          }

          @media screen and (max-width: 991px) {
            height: 90px;
            width: 60px;
          }
        }

        .fancybox-button--arrow_left,
        .fancybox-button--arrow_right {
          @media screen and (max-width: 991px) {
            position: fixed;
            top: auto;
            bottom: 0;
          }
        }
      }

      .fancybox-toolbar {
        .fancybox-button {
          @media screen and (max-width: 991px) {
            padding: 4px;
            height: 30px;
          }
        }
      }
    }
  }
}

html {
  body {
    .esf_insta_replies_modal {
      border-radius: 5px;
      max-width: 500px;
      padding: 0;

      .esf_insta_popup_all_comments {
        padding: 0;

        h4 {
          font-size: 18px;

          margin: 0;
          padding: 13px 10px;
          border-bottom: #dee2e6 solid 1px;
          line-height: 1;
        }

        .esf_insta_popup_comment_holder {
          padding: 10px;
          display: flex;
          flex-wrap: wrap;
          margin-bottom: 10px;
          border-bottom: #dee2e6 dashed 1px;
          font-size: 14px;

          .esf_insta_comment_icon {
            text-decoration: none;
            max-width: 30px;
            width: 100%;
            margin-right: 0;
          }

          .esf_insta_comment_msg {
            font-size: 14px;
            width: calc(100% - 35px);
          }

          .esf_insta_comment_meta {
            font-size: 12px;
            color: #6c757d;
            margin-top: 5px;
            padding-left: 33.6px;
          }
        }
      }
    }
  }
}

.esf_insta_feeds_carousel, .esf-insta-masonry-skin {
  .esf-insta-grid-wrapper {
    .esf-insta-post-footer {
      .esf-share-wrapper {
        padding-left: 0;
      }
    }
  }
}

html {
  body {
    .esf_insta_feed_wraper {
      .esf_insta_feeds_carousel {
        padding: 10px 0;

        .owl-nav {
          display: flex !important;
          justify-content: space-between !important;

          button {
            margin: 0;
            position: absolute;
            top: 38%;
            box-shadow: none !important;
            border-radius: 20px;
            opacity: .8;
            text-decoration: none;
            outline: none;
            -webkit-transition: all 500ms ease;
            -moz-transition: all 500ms ease;
            -ms-transition: all 500ms ease;
            -o-transition: all 500ms ease;
            transition: all 500ms ease;

            &:hover {
              opacity: 1;
              -webkit-transition: all 500ms ease;
              -moz-transition: all 500ms ease;
              -ms-transition: all 500ms ease;
              -o-transition: all 500ms ease;
              transition: all 500ms ease;
            }

            i {
              line-height: 15px;
              font-size: 24px;
            }
          }

          .owl-prev {
            left: 5px;

            i {
              margin-left: -2px;
            }
          }

          .owl-next {
            right: 5px;

            i {
              margin-right: -2px;
            }

          }
        }
        .owl-dots{
          button{
            background-color:transparent;
          }
        }

        .esf-insta-thumbnail-col {
          .esf-insta-overlay {
            position: absolute;
            opacity: 0;
            background: rgba(0, 0, 0, 0.459);
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            color: #fff;
            -webkit-transition: all 500ms ease;
            -moz-transition: all 500ms ease;
            -ms-transition: all 500ms ease;
            -o-transition: all 500ms ease;
            transition: all 500ms ease;

            .esf-insta-plus {
              position: absolute;
              left: 50%;
              top: 50%;
              font-size: 20px;
              margin-left: -10px;
              margin-top: -10px;
            }

            .icon-esf-video-camera {
              position: absolute;
              font-size: 20px;
              margin-left: -10px;
              margin-top: -10px;
            }

            .icon-esf-clone {
              position: absolute;
              right: 15px;
              top: 15px;
              font-size: 20px;
            }
          }

          .esf_insta_feed_fancy_popup {
            &:hover {
              .esf-insta-overlay {
                opacity: 1;
              }
            }
          }
        }
      }

      .esf-insta-feed-content {
        .esf-insta-see-more-btn {
          font-style: italic;
          font-size: 14px;
          font-weight: 700;
          text-transform: capitalize;
          color: #343a40;
          text-decoration: underline;
        }
      }
    }
  }
}

.esf-insta-post-footer {
  .esf-insta-view-share {
    flex-wrap: wrap;
    align-items: flex-start !important;

    .esf-insta-view-on-fb {
      margin-bottom: 5px;
      margin-right: 10px;
    }

    .esf-share-wrapper {
      padding-left: 0;
    }
  }
}

.esf_insta_event_time,
.esf_insta_place,
.esf_insta_place_city,
.esf_insta_event_meta > a {
  margin-bottom: 10px;
  font-size: 15px;
}

.esf_insta_event_title,
.esf_insta_event_time,
.esf_insta_place,
.esf_insta_place_city,
.esf_insta_event_meta,
.esf-insta-feed-content,
.esf-insta-feed-content,
.esf_insta_view_all_btn {
  //
}

.esf-insta-bounceX {
  animation: bounce 2s infinite;
}

@keyframes esf-insta-bounceX {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}

/*------ Layout styles end here ------*/

.esf_insta_feeds_holder .esf-insta-load-opacity {
  display: none;
}
.esf_insta_feed_popup_container.fancybox-container{
  z-index: 99999999;
}
.widget.widget_esf_instagram_feed{
  overflow: hidden;
}

.esf_insta_feeds_holder.esf_insta_feeds_row {
  display: flex;
  justify-content: flex-start;

  .efbl-row-content {
    width: 100%;
    position: relative;
    margin: 1px;
    height: 100%;


    .esf-insta-row-wrapper.esf-insta-story-wrapper {
      height: 100%;
      background: #fff;
      border: #dee2e6 solid 1px;
      padding: 2px;

      .esf_insta_feed_fancy_popup.esf_insta_row_box {
        display: block;
        position: relative;
        width: 100%;
        padding-bottom: 100%;
        background-position: center;
        background-size: cover;
        cursor: pointer;


        .esf-insta-overlay {
          position: absolute;
          opacity: 0;
          background: rgba(0, 0, 0, 0.459);
          inset: 3px;
          color: #fff;
          transition: all 500ms ease;
          cursor: pointer;
          margin: -3px;

          &:hover {
            opacity: 1;
          }
          .icon.icon-esf-clone.icon-esf-video-camera {
            position: absolute;
            font-size: 15px;
            top: 10px;
            right: 7px;
          }

          .esf-insta-plus::before {
            content: "\62";
            position: absolute;
            top: 50%;
            right: 50%;
            font-size: 11px;
            transform: translate(50%, -50%);
          }

        }
      }


      .esf_insta_feed_fancy_popup.esf_insta_popup.esf_insta_row_box {
        display: block;
        position: relative;
        width: 100%;
        padding-bottom: 100%;
        background-position: center;
        background-size: cover;
        cursor: pointer;


        .esf-insta-overlay {
          position: absolute;
          opacity: 0;
          background: rgba(0, 0, 0, 0.459);
          inset: 3px;
          color: #fff;
          transition: all 500ms ease;
          cursor: pointer;
          margin: -3px;

          &:hover {
            opacity: 1;
          }
          .icon.icon-esf-clone.icon-esf-video-camera {
            position: absolute;
            font-size: 15px;
            top: 10px;
            right: 7px;
          }

          .esf-insta-plus::before {
            content: "\62";
            position: absolute;
            top: 50%;
            right: 50%;
            font-size: 11px;
            transform: translate(50%, -50%);
          }

        }
      }
    }
  }
}

@media screen and (max-width: 600px) {
  .esf_insta_feeds_holder.esf_insta_feeds_row{
    flex-wrap: wrap;

    .efbl-row-content {
      max-width: 24%;
    }
  }
}