/* ============================================
   Widget Banner Real Estate - Estilos Scoped
   Todos los estilos están scoped bajo .banner-real-estate-widget
   ============================================ */

.banner-real-estate-widget {
  /* ============================================
     Estilos base de tipografía
     ============================================ */
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--primary_font);
  font-weight: 400;
  color: var(--primary_color_font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  a {
    text-decoration: none;
    transition: 0.3s;
    color: var(--primary_color_font);
  }

  img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }

  p {
    margin-bottom: 20px;
    color: var(--secondary_color_font);
    font-size: 16px;
    line-height: 1.7;

    &:last-child {
      margin-bottom: 0;
    }
  }

  /* ============================================
     Section Gap
     ============================================ */
  .tmp-section-gap {
    padding-top: 120px;
    padding-bottom: 120px;

    @media only screen and (min-width: 768px) and (max-width: 991px) {
      padding-top: 80px;
      padding-bottom: 80px;
    }

    @media only screen and (max-width: 767px) {
      padding-top: 60px;
      padding-bottom: 60px;
    }
  }

  /* ============================================
     Tmp Banner Area Realstate One
     ============================================ */
  .tmp-banner-area-realstate-one {
    height: 950px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;

    @media only screen and (min-width: 768px) and (max-width: 991px) {
      height: 700px;
    }

    @media only screen and (max-width: 767px) {
      height: 700px;
    }
  }

  /* ============================================
     Large Video Playing
     ============================================ */
  .large-video-playing {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    clip-path: polygon(0% 0%, 0% 0%, 11.499% 0%, 22.022% 0%, 31.809% 0%, 41.102% 0%, 50.142% 0%, 59.171% 0%, 68.43% 0%, 78.16% 0%, 88.603% 0%, 100% 0%, 100% 100%, 100% 100%, 86.685% 95.4%, 75.613% 91.823%, 66.218% 89.267%, 57.938% 87.734%, 50.205% 87.223%, 42.456% 87.734%, 34.126% 89.267%, 24.65% 91.823%, 13.463% 95.4%, 0% 100%, 0% 0%);
    top: 0;
    left: 0;
    overflow: hidden;

    video {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 1;
      clip-path: none;
      top: 0;
      left: 0;
    }
  }

  /* ============================================
     Realstate Banner Style One
     ============================================ */
  .realstate-banner-style-one {
    text-align: center;
    max-width: 75%;
    margin: auto;
    margin-top: -120px;
    position: relative;
    z-index: 2;

    @media only screen and (max-width: 767px) {
      max-width: 100%;
      margin-top: 0;
    }

    .title {
      font-size: 100px;
      margin-bottom: 30px;
      font-weight: 700;
      line-height: 1.2;
      color: #fff;

      @media only screen and (min-width: 992px) and (max-width: 1199px) {
        font-size: 80px;
      }

      @media only screen and (min-width: 768px) and (max-width: 991px) {
        font-size: 64px;
      }

      @media only screen and (max-width: 767px) {
        font-size: 44px;
        margin-bottom: 20px;
      }

      span {
        color: var(--primary_color);
        font-weight: 700;

        @media only screen and (min-width: 992px) and (max-width: 1199px) {
          font-size: 80px;
        }

        @media only screen and (min-width: 768px) and (max-width: 991px) {
          font-size: 64px;
        }

        @media only screen and (max-width: 767px) {
          font-size: 44px;
        }
      }
    }

    p {
      color: #fff;
      font-size: 18px;
      line-height: 1.7;
      max-width: 85%;
      margin: 0 auto;

      @media only screen and (max-width: 767px) {
        font-size: 16px;
        max-width: 100%;
      }
    }
  }

  /* ============================================
     Theme Gradient
     ============================================ */
  .theme-gradient {
    color: var(--primary_color);
  }

  /* ============================================
     CD Headline Clip Animation
     ============================================ */
  .cd-headline.clip span {
    display: inline-block;
  }

  .cd-headline.clip .cd-words-wrapper {
    overflow: hidden;
    vertical-align: top;
    position: relative;
    display: inline-block;
  }

  .cd-headline.clip .cd-words-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 100%;
    background-color: #aebcb9;
  }

  .cd-headline.clip b {
    opacity: 0;
    display: inline-block;
    position: absolute;
    white-space: nowrap;
    left: 0;
    top: 0;
  }

  .cd-headline.clip b.is-visible {
    opacity: 1;
    position: relative;
  }

  .cd-headline.clip b.is-hidden {
    opacity: 0;
  }

  .cd-headline.is-full-width .cd-words-wrapper {
    width: 100%;
  }

  .header-caption {
    display: inline-block;
  }
}

