/**
 * Theme Name:     Hello Elementor Child
 * Author:         Elementor Team
 * Template:       hello-elementor
 * Text Domain:	   hello-elementor-child
 * Description:    Hello Theme
 */


/* Start Footer */

.f-bold{
	font-weight:600;
}

.f-social-icon span.elementor-grid-item a {
    box-shadow: 0px 4.12px 5.32px 0px rgba(0, 0, 0, 0.09) !important;
    border-radius: 50px !important;
}


/* End Footer */

/* Start Home Page */

.home-dog-image img {
  max-width: max-content !important;
  display: block !important;
  transform: translateX(-50px);
}

.home-banner {
  background-size: 100% 1139px !important;
}

.home-form svg path:first-child {
  fill: #26B376 !important;
}

.home-form svg path {
  fill: #fff !important;
}

.home-form svg {
  font-size: 27px;
  line-height: 30px;
  width: 35px;
}

.home-form .elementor-button:hover svg path:first-child {
  fill: #25AAE7 !important;
}

.home-form .elementor-button:hover svg path {
  fill: #fff !important;
}

.home-form input::placeholder {
  color: #000000 !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.abt-section,
.abt-col {
  overflow: visible;
}

.abt-img img {
  max-width: max-content;
  position: absolute;
  left: auto;
  right: 0;
  padding: 0;
}

/* start Left full width image section */

/* Desktop bleed (1291px–2000px) */
@media (min-width: 1291px) and (max-width: 2000px) {
  .left-bleed {
    margin-left: calc((100vw - 1290px) / -2);
    width: calc(50% + (100vw - 1290px) / 2);
    height: 100%;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
  }

  .right-contained {
    width: 50%;
    margin-left: auto;
    /*     padding-left: 40px; */
  }

  .left-bleed .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

/* Ultra-wide screens (2001px and bigger) */
@media (min-width: 2001px) {
  .left-bleed {
    margin-left: 0;
    width: 60%;
    max-width: 1200px;
    height: 100%;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
  }

  .right-contained {
    width: 40%;
    margin-left: auto;
    padding-left: 60px;
  }
}

/* Medium screens (up to 1290px) */
@media (max-width: 1290px) and (min-width: 1025px) {
  .left-bleed {
    margin-left: 0;
    width: 50%;
  }

  .right-contained {
    width: 50%;
    padding-left: 30px;
  }
}

/* Mobile stack */
@media (max-width: 1024px) {

  .left-bleed,
  .right-contained {
    width: 100%;
    margin-left: 0;

  }
}

/* end Left full width image section  */

/* End Home Page */


/* Start About Us */

.abt-tab-section button#film-tab {
  background: #15C77A;
}

.abt-tab-section button#comm-tab {
  background: #1EA068;
}

.abt-tab-section .e-n-tab-title {
  min-width: 226px;
}

.abt-tab-section button#tv-tab svg,
.abt-tab-section button#film-tab svg {
  fill: transparent;
}

/* End About Us */


/* Start services page  */

.wyce-col ul {
  padding: 0 0 0 20px;
}

/* start Left full width image section (container width 1400px) */

/* Desktop bleed (1401px–2000px) */
@media (min-width: 1401px) and (max-width: 2000px) {
  .left-bleed-1400 {
    margin-left: calc((100vw - 1400px) / -2);
    width: calc(50% + (100vw - 1400px) / 2);
    height: 100%;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
  }

  .right-contained-1400 {
    width: 50%;
    margin-left: auto;
  }

  .left-bleed-1400 .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

/* Ultra-wide screens (2001px and bigger) */
@media (min-width: 2001px) {
  .left-bleed-1400 {
    margin-left: 0;
    width: 60%;
    max-width: 1200px;
    height: 100%;
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
  }

  .right-contained-1400 {
    width: 40%;
    margin-left: auto;
    /*     padding-left: 60px; */
  }
}

/* Medium screens (1025px–1400px) */
@media (max-width: 1400px) and (min-width: 1025px) {
  .left-bleed-1400 {
    margin-left: 0;
    width: 50%;
  }

  .right-contained-1400 {
    width: 50%;
    /*     padding-left: 30px; */
  }
}

/* Mobile stack */
@media (max-width: 1024px) {

  .left-bleed-1400,
  .right-contained-1400 {
    width: 100%;
    margin-left: 0;
  }
}

/* end Left full width image section (container width 1400px) */

/* start  Right full width image section — for 1400px container */

/* Desktop bleed (1401px–2000px) */
@media (min-width: 1401px) and (max-width: 2000px) {
  .right-bleed {
    margin-right: calc((100vw - 1400px) / -2);
    width: calc(50% + (100vw - 1400px) / 2);
    height: 100%;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
  }

  .left-contained {
    width: 50%;
    margin-right: auto;
    /*     padding-right: 40px; */
  }

  .right-bleed .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

/* Ultra-wide screens (2001px and bigger) */
@media (min-width: 2001px) {
  .right-bleed {
    margin-right: 0;
    width: 60%;
    max-width: 1200px;
    height: 100%;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
  }

  .left-contained {
    width: 40%;
    margin-right: auto;
    padding-right: 60px;
  }
}

/* Medium screens (1025px–1400px) */
@media (max-width: 1400px) and (min-width: 1025px) {
  .right-bleed {
    margin-right: 0;
    width: 50%;
  }

  .left-contained {
    width: 50%;
    /*     padding-right: 30px; */
  }
}

/* Mobile stack */
@media (max-width: 1024px) {

  .right-bleed,
  .left-contained {
    width: 100%;
    margin-right: 0;
    /*     padding-right: 0;  */
  }
}

/* end  Right full width image section — for 1400px container */

/* End services page  */

/* start resoureces page */

/* start banner section */
.cc-hero {
  position: relative;
  overflow: visible;
  aspect-ratio: 1920 / 1079;
  /* keeps banner ratio */
  width: 100%;
  min-height: 890px;
}

.cc-hero .elementor-shape,
.cc-hero .elementor-shape-bottom {
  z-index: 1 !important;
  pointer-events: none;
}

.cc-hero .cc-inner {
  max-width: 1290px;
  margin-inline: auto;
  position: relative;
  z-index: 2;
  padding: clamp(24px, 3vw, 60px) clamp(16px, 3vw, 24px);
  /* Safe zone so text doesn’t overlap dog */
  padding-inline-end: clamp(200px, 25vw, 420px);
}

.cc-hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: -2%;
  /* overlap slightly onto the wave */
  height: 83%;
  /* scale with hero height */
  aspect-ratio: 1391 / 909;
  background: url("/wp-content/uploads/2025/09/Online-dog-2.webp") no-repeat bottom right / contain;
  pointer-events: none;
}

.cc-hero .cc-inner .r-head h1 {
  font-size: clamp(50px, 5.2vw, 100px) !important;
  /* min 50px, max 90px */
  line-height: 1 !important;
  /* equals font size */
  font-weight: 700;
  color: #fff;
}


@media (min-width: 2000px) {

  .cc-hero .elementor-shape,
  .cc-hero .elementor-shape-bottom {
    width: 100%;
    height: auto;
    background-size: 100% 100% !important;
    /* force to cover full area */
    background-repeat: no-repeat;
    background-position: bottom center;
  }
}


@media (max-width:1600px) {

  .cc-hero {

    min-height: 950px;
  }

}


@media (max-width:1200px) {

  .cc-hero {

    min-height: 820px;
  }

}

@media (max-width:1024px) {

  .cc-hero {

    min-height: 750px;
  }

}

@media (max-width:880px) {

  .cc-hero {

    min-height: 650px;
  }

}

@media (max-width:850px) {

  .cc-hero {

    min-height: 650px;

  }

  .cc-hero::after {
    height: 75%;
  }

}

/* Mobile (≤767px) */
@media (max-width: 767px) {
  .cc-hero {
    aspect-ratio: auto;
    padding-bottom: 0px;
    min-height: auto;
  }

  .cc-hero .cc-inner {
    padding-inline-end: 20px;
  }

  .cc-hero::after {
    position: static;
    display: block;
    margin: 20px auto 0;
    width: min(100vw, 480px);
    height: auto;
    aspect-ratio: 1391 / 909;
    background-position: bottom center;
  }


}

/* end banner section */

/* end resources page */


/*************************
       Responsive 
*************************/

@media(max-width:1750px) {

  .home-banner {
    background-size: 100% 1150px !important;
  }

  .home-form-section {
    margin-top: 17% !important;

  }

  .home-banner-left {
    margin-top: 40px;
  }


  .abt-img img {
    max-width: 150%;
  }

  .home-banner.book-now-banner {
    background-size: 100% 1090px !important;
  }

}

@media(max-width:1650px) {

  .home-form-section {
    margin-top: 14% !important;

  }

}


@media(max-width:1600px) {

  .abt-img img {
    max-width: 130%;
  }


  .home-form-section {
    margin-top: 90px !important;

  }

}


@media(max-width:1450px) {

  .home-banner {
    background-size: 100% 1170px !important;
  }

  .home-banner.services-banner {
    background-size: 100% 1139px !important;
  }


  .home-dog-image.s-dog-img img {
    max-width: max-content !important;
    display: block !important;
    transform: translateX(-110px);
  }

  .abt-img img {
    max-width: 120%;
  }


}


@media(max-width:1400px) {

  .home-banner {
    background-size: 100% 1150px !important;
  }

  .home-dog-image img {
    transform: translateX(-40px);
  }

}


@media(max-width:1399px) {

  .home-banner {
    background-size: 100% 1100px !important;
  }

  .home-banner h1 {
    font-size: 80px !important;
    line-height: 80px !important;
  }

  .home-banner.services-banner h1 {
    font-size: 90px !important;
    line-height: 90px !important;
  }

  .home-banner h3 {
    font-size: 32.2px !important;
    line-height: 32.2px !important;
  }

  .abt-img img {
    max-width: 110%;
  }


}


@media(max-width:1366px) {

  .home-dog-image img {
    max-width: 100% !important;
    display: block !important;
  }

  .home-dog-image.s-dog-img img {
    max-width: 100% !important;
    display: block !important;
    transform: translateX(10px);

  }

  .home-banner.services-banner {
    background-size: 100% 900px !important;
  }


  .home-banner {
    background-size: 100% 950px !important;
  }

  .home-dog-image img {
    transform: translateX(0px);
  }


  .home-banner-left {
    margin-top: 20px;
  }

  .home-banner h3 {
    font-size: 28.2px !important;
    line-height: 28.2px !important;
  }

  .home-banner h1 {
    font-size: 70px !important;
    line-height: 70px !important;
  }


  .home-banner.book-now-banner {
    background-size: 100% 990px !important;
  }


}


@media(max-width:1299px) {

  .home-banner h1 {
    font-size: 65px !important;
    line-height: 65px !important;
  }

  .home-banner {
    background-size: 100% 920px !important;
  }



}

@media(max-width:1250px) {

  .home-form-section {
    margin-top: 70px !important;
  }

  .home-banner {
    background-size: 100% 890px !important;
  }

  .abt-img img {
    max-width: 100%;
  }

  .home-banner.services-banner {
    background-size: 100% 850px !important;
  }

}

@media(max-width:1200px) {

  .home-banner.book-now-banner {
    background-size: 100% 750px !important;
  }

}



@media(max-width:1199px) {
  .home-banner {
    background-size: 100% 850px !important;
  }

  .home-banner.services-banner {
    background-size: 100% 800px !important;
  }
}


@media(max-width:1099px) {
  .home-banner {
    background-size: 100% 780px !important;
  }



}

@media(max-width:1050px) {
  .home-banner {
    background-size: 100% 750px !important;
  }

  .home-banner.services-banner {
    background-size: 100% 760px !important;
  }

}


@media(max-width:1024px) {


  .abt-img img {
    position: relative;
  }

  .bn-banner-dog {
    position: relative;
  }


}


@media(max-width:1000px) {
  .home-banner {
    background-size: 100% 730px !important;
  }

  .home-banner.services-banner {
    background-size: 100% 720px !important;
  }


}

@media(max-width:960px) {
  .home-banner {
    background-size: 100% 690px !important;
  }

  .home-banner h1 {
    font-size: 50px !important;
    line-height: 50px !important;
  }

  .home-banner h3 {
    font-size: 25.2px !important;
    line-height: 25.2px !important;
  }

  .home-banner.book-now-banner {
    background-size: 100% 650px !important;
  }
}


@media(max-width:991px) {


  .home-banner.services-banner {
    background-size: 100% 680px !important;
  }
}

@media(max-width:880px) {

  .home-banner.book-now-banner {
    background-size: 100% 570px !important;
  }


}


@media(max-width:850px) {
  .home-banner {
    background-size: 100% 610px !important;
  }

  .home-banner h1 {
    font-size: 45px !important;
    line-height: 45px !important;
  }

  .home-banner h3 {
    font-size: 22.2px !important;
    line-height: 22.2px !important;
  }

  .home-form-section {
    margin-top: 50px !important;
  }

  .home-banner-left {
    margin-top: 0;
  }

  .home-banner.services-banner {
    background-size: 100% 640px !important;
  }

  .home-banner.book-now-banner {
    background-size: 100% 540px !important;
  }

}


@media(max-width:767px) {
  .home-banner {
    background-size: 100% auto !important;
  }

  .home-banner.services-banner {
    background-size: 100% auto !important;
  }

  .home-dog-image img {
    margin: 0 auto !important;
  }

  .home-banner-left {
    margin-top: 20px;
  }


  .abt-tab-section .e-n-tab-title[aria-selected="false"] {
    border-radius: 30px !important;
  }

  .home-banner.services-banner h1 {
    font-size: 50px !important;
    line-height: 50px !important;
  }

  .home-banner.book-now-banner {
    background-size: 100% auto !important;
  }

}

@media only screen and (orientation: portrait) and (device-width: 600px) and (device-height: 1024px),
only screen and (orientation: portrait) and (device-width: 744px) and (device-height: 1059px) {

  .fall-up-img {
    top: -127px !important;
  }

  .fall-up-img img {
    width: 90% !important;
  }

  .pricing-banner .pricing-bimage {
    margin-bottom: -150px;
  }

  .pricing-banner {
    margin-bottom: 150px;
  }

}

@media only screen and (orientation: portrait) and (device-width: 744px) and (device-height: 1059px) {

  .s-cta-section {
    flex-wrap: nowrap;
  }

  .s-cta-text h2,
  .s-cta-btn {
    text-align: left;
  }

}
