/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


body.home header[data-elementor-type="header"]{
    padding-bottom:100px;
}

#header_pop {
	position: fixed;
	width: 100%;
	top: 0; left: 0;
	transition: background-color 0.3s ease-in-out, padding 0.3s ease-in-out;
	z-index: 999;
}
 
#header_pop .art-logo img {
    transition: height 0.3s ease, transform 0.3s ease;  
}

#header_pop .tp-menu-wrp {
    transition: padding 0.3s ease, margin 0.3s ease;
}

#header_pop.scrolled .art-logo img{
	height:70px;
}

#header_pop.scrolled {
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
	position: relative;
	background: transparent;
	padding-top: 10px;
	padding-bottom: 10px;
}

#header_pop.scrolled  > .e-con-inner{ 
	padding:0px;
}

#header_pop.scrolled  .tp-menu-wrp{
	padding-top: 0px;
	align-self: center;
}

#header_pop.scrolled::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.5); 
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); 
	z-index: -1; 
}

#header_pop.scrolled .elementor-button{
	padding-top: 12px;
	padding-bottom: 12px;
}



/*  hover effect for image  */
.elementor-post__title a:hover {
	color: #97664B !important;
}

.image-hover img {
	transition: transform 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
	cursor: pointer;
	border-radius: 10px;
}

.image-hover img:hover {
	transform: translateY(-1px) scale(1);
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
}

/* Carousel Container */
.carousel-container {
	perspective: 1000px;
	width: 100%;
	height: 400px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

/* 3D Carousel Items */
.carousel-items {
	position: absolute;
	top: 50px;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform-style: preserve-3d;
}

.carousel-item {
	position: absolute;
	width: 100%;
	text-align: center;
	transition: transform 0.7s ease, opacity 0.7s ease;
	padding: 10px;
	border-radius: 10px;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* Active container (middle) */
.carousel-item.is-active {
	transform: translateY(0%) translateZ(150px) scale(1);
	opacity: 1;
	z-index: 3;
	background: white;
}

/* Top container */
.carousel-item.is-top {
	transform: translateY(-25%) translateZ(0px) scale(0.9) rotateX(-15deg);
	opacity: 0.7;
	z-index: 2;
	background: white;
}

/* Bottom container */
.carousel-item.is-bottom {
	transform: translateY(25%) translateZ(0px) scale(0.9) rotateX(15deg);
	opacity: 0.7;
	z-index: 2;
	background: white;
}


/* animation effect for gallery grid  */
/* animation effect for gallery grid  */
/* Animation keyframes */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Black overlay - hidden by default */
.hover-reveal-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.8);
	/* Black with 0.5 opacity */
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	/* Allows clicking through the overlay */
}

/* Show overlay on hover */
.hover-reveal-container:hover::before {
	opacity: 1;
}

/* Content that will be hidden by default */
.hover-reveal-content {
	opacity: 0;
	position: relative;
	/* Ensures content stays above overlay */
	z-index: 1;
	/* Places content above the overlay */
}


/* Individual animations for each element */
/* .hover-reveal-container:hover .elementor-element:nth-child(1) {
	animation: fadeIn 0.6s ease forwards;
} */

.hover-reveal-container:hover .elementor-element{
	animation: fadeIn 0.6s ease forwards;
}


/*  gallery image effect on hover that caption will appear smoothly  */
/*  gallery image effect on hover that caption will appear smoothly  */
/* Target the gallery image effect specifically */
.gallery-image-effect .wp-caption {
	position: relative;
	display: inline-block;
	overflow: hidden;
}

/* Gradient overlay */
.gallery-image-effect .wp-caption::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(151, 102, 75, 0.5), rgba(65, 115, 66, 0.5));
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 1;
}

/* Caption styling */
.gallery-image-effect .widget-image-caption {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	padding: 15px;
	text-align: center;
	opacity: 0;
	transition: opacity 0.4s ease;
	width: 80%;
	z-index: 2;
}

/* Typewriter text container */
.gallery-image-effect .wp-caption-text {
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	width: 0;
	margin: 0;
	font-size: 1.3em;
	font-weight: bold;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

/* Hover effects */
.gallery-image-effect .wp-caption:hover::before,
.gallery-image-effect .wp-caption:hover .widget-image-caption {
	opacity: 1;
}

/* Typewriter animation */
.gallery-image-effect .wp-caption:hover .wp-caption-text {
	animation: typing 2s steps(30, end) forwards;
}

@keyframes typing {
	from {
		width: 0
	}

	to {
		width: 100%
	}
}

/* Image styling */
.gallery-image-effect img {
	display: block;
	transition: transform 0.4s ease;
	width: 100%;
	height: auto;
}

/* Optional zoom effect on hover */
.gallery-image-effect .wp-caption:hover img {
	transform: scale(1.03);
}

/* card animation apply here  */
.card_animation {
	transition: transform 0.3s ease;
}

/*  social media icon css code here */
/*  social media icon css code here */
.social-links {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}

.social-item {
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
	/* padding-bottom: 10px; */
	border-bottom: 1px solid #ccc;
	width: 220px;
	text-decoration: none;
}

.icon-box {
	background-color: #8b5c3d;
	/* Brown color */
	color: #fff;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	font-size: 20px;
	flex-shrink: 0;
}

.social-item span {
	flex-grow: 1;
	font-size: 16px;
	color: #555;
}

.arrow {
	color: green;
	font-size: 18px;
	margin-left: auto;
}

/* Hover effect */
.social-item:hover .arrow {
	color: #006400;
	/* Dark green on hover */
}

.social-item:hover span {
	color: #222;
	/* Darker text on hover */
}

.art-therapy-methods .elementor-post__text {
	display: block;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transform: translateY(50px);
	/* Start slightly lower */
	background: rgba(0, 0, 0, 0.7);
	/* Semi-transparent black background */
	color: #fff;
	padding: 20px;
	transition: opacity 0.6s ease, transform 0.6s ease;
	z-index: 2;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	pointer-events: none;
	/* So the hover stays on the .elementor-post */
}

.art-therapy-methods .elementor-post {
	position: relative;
	overflow: hidden;
}

.art-therapy-methods .elementor-post:hover .elementor-post__text {
	opacity: 1;
	transform: translateY(0);
	/* Move into place smoothly */
}


/** CUSTOM CSS **/

.animated{ 
    animation-duration: 0s !important;
}

.elementor-popup-modal:has(.contact-form-popup) .dialog-close-button{
	top: 10px;
	right: 10px;
}

.prt-sm{
	height:200px;
}

.prt-xl{
	height:360px;
}

.prt-sm p.elementor-heading-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 
.therapy-grid .hover-reveal-content,
.therapy-grid .hover-reveal-container::before {
	opacity:1;
} */

.cnt-det-list .elementor-icon-list-item a:hover span{
	color:#97664b !important;
}

.img-full-height *{
	height:100%; 
}

.ext-cta-ht{
    color: #785237;
    font-size: 135%;
    padding-top: 5px;
    display: block; 
}

.hm-section-bg {
  position: relative;
  z-index: 1;  
}

.hm-section-bg::before,
.hm-section-bg::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  background-repeat: repeat-y;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}

.hm-section-bg::before {
  left: 0;
  width: 55vw;
  background-image: url('/wp-content/uploads/2025/05/section-bg1.jpg');
  background-position: left top; 
}

.hm-section-bg::after {
  right: 0;
  width: 45vw;
  background-image: url('/wp-content/uploads/2025/05/section-bg2.jpg');
  background-position: right top;
}

.custom-faqs summary,
.custom-faqs .elementor-element:has(.elementor-widget-heading),
.custom-faqs .elementor-widget-heading .elementor-widget-container{ 
	padding-left:0px !important;
	padding-right:0px !important;
}

.custom-faqs .elementor-widget-heading .elementor-widget-container{
	padding-top:10px !important;
	padding-bottom:10px !important;
}

.custom-faqs .e-n-accordion-item-title-icon{
	transform:scale(1.5);
}

.custom-faqs .e-n-accordion-item-title-icon path{
	fill:#417342 !important;
} 

.custom-faqs summary ~ div[data-element_type="container"]{
	border: none;	
}

.custom-faqs summary[aria-expanded="true"] ~ div[data-element_type="container"]{ 
	border-bottom:1px #ddd solid;
}

.custom-faqs .elementor-heading-title, .custom-faqs .elementor-heading-title *{
	text-align:left !important;
}

.gn-contact-form .elementor-field-type-submit{
	margin-top:20px;
}


.testify-slide{ 	
    color: #666666;
    font-family: "Poppins", Sans-serif;	
}

.testify-slide .carousel-vertical-3d { 
  width: 100%;
  overflow: hidden;
  position: relative;
  perspective: 1000px;
  padding:10px;
}

.testify-slide .carousel-vertical-3d {
  height: auto;
  min-height: 450px;
  nsition: height 0.5s ease;
}

.testify-slide .carousel-items {
  position: relative;
  height: 100%; 
}

.testify-slide .carousel-item {
  position: absolute;
  left: 0;
  width: 100%;
  padding: 20px 20px 20px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  text-align: left;
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.5s ease;
  transform: scale(0.9);
  z-index: 0;
}

.testify-slide .carousel-item.is-top {
  top: 0;
  transform: translateY(5%) scale(0.9);
  opacity: 0.5;
  z-index: 1;
}

.testify-slide .carousel-item.is-active {
  top: 50%;
  transform: translateY(-52%) scale(1);
  opacity: 1;
  z-index: 2;
}

.testify-slide .carousel-item.is-bottom {
  top: 100%;
  transform: translateY(-115%) scale(0.9);
  opacity: 0.5;
  z-index: 1;
}

.testify-slide .avatar img {
  border-radius: 50%;
  width: 55px;
  height: 55px; 
  object-fit: cover;	
}
 
.testify-slide .testimonial-quote blockquote {
    font-size: 16px;
    font-weight: 300;
    font-style: normal;
    line-height: 28px;
    text-align:left;
    margin: ;
    margin: 0px !important;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.testify-slide .testimonial-info h5 {
  margin: 0;
  font-size: 16px; 
}

.testify-slide .testimonial-item-info {
  margin-top: 15px;
  display: flex;
  align-items: center;
  gap: 20px; 
  border-top: 1px #DDD solid;
  padding: 20px 0px 0px;
}

.open-popup{
	cursor:pointer;
}

.hover-reveal-container .hover-reveal-content {
  gap: 20px;
  flex-direction: column-reverse;
}

.hover-reveal-container:hover .hover-reveal-content { 
  flex-direction: column;
}

.hover-reveal-container {
  justify-content: end;
  position: relative !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

.hover-reveal-container::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 2;
  pointer-events: none;
  opacity:1 !important;
  background: linear-gradient(to top, #1616169e, transparent), rgba(0, 0, 0, 0); 
  transition: background 0.3s ease;
}

.hover-reveal-container:hover::before {
  background: linear-gradient(to top, #1616169e, transparent), rgba(0, 0, 0, 0.7); 
}

.hover-reveal-content {
  display: flex;
  flex-direction: column; 
  opacity: 1;
  position: relative;
  z-index: 2;
  transition: gap 0.3s ease;
}

.hover-reveal-content .elementor-widget-heading:not(.hv-title),
.hover-reveal-content .elementor-widget-button {
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.hover-reveal-content .elementor-widget-heading:first-child {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.hover-reveal-container:hover .elementor-widget-heading:not(.hv-title),
.hover-reveal-container:hover .elementor-widget-button {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}


@media(min-width:1100px){
	.hit-text-wrap, .spec-stat, .hm-contact-map-wrap{ 
		max-width:550px; 
	}
	.hero-text-wrap, .hm-contact-wrap{ 
		max-width:570px; 
	}	
}

@media(min-width:1024px){
	.team-img-lst{
		position:relative !important;	
	}
}

@media(max-width:1024px){
	.hero-svg-wrap .svg-wrapper{
		width:100%;
		height:auto;
	}

}

@media(max-width:768px){
    .ht-btn{
        display:none !important;
    }
	
} 


