/* 
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 */



/* Floating elements */

.floating {
	position: relative;
	animation: float 5s ease-in-out infinite;
}

@media (max-width: 1024px) {
	@keyframes float {
		0%   { transform: translateY(10px); }
		50%  { transform: translateY(-25px); }
		100% { transform: translateY(10px); }
	}
} 

@media (min-width: 1025px) {
	@keyframes float {
		0%   { transform: translateY(10px); }
		50%  { transform: translateY(-40px); }
		100% { transform: translateY(10px); }
	}
}



/* Draggable elements */

#eye { display: inline; }

#toggle,
#checkbox,
#account,
#eye { position: absolute; }

.draggable-container {
	width: 100%;
	position: relative;
	z-index: 99;
}

@media (max-width: 767px) {
	#toggle,
  	#checkbox,
  	#account { display: none; }
  	#eye { max-height: 140px; }
	#little-eye-1 { max-height: 80px; }
	#little-eye-2 { max-height: 50px; }
	.draggable-container { height: 437px; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  	#toggle,
  	#checkbox,
  	#account { display: none; }
	#eye { max-height: 140px; }
	#little-eye-1 { max-height: 80px; }
	#little-eye-2 { max-height: 50px; }
	.draggable-container { height: 437px; }
}

@media (min-width: 1025px) {
	#toggle,
	#checkbox,
	#account { display: inline; }
	#toggle { max-height: 90px; }
	#checkbox { max-height: 110px; }
	#account { max-height: 110px; }
	#eye { max-height: 300px; }
	#little-eye-1 { max-height: 100px; }
	#little-eye-2 { max-height: 60px; }
	.draggable-container { height: 550px; }
} 

#toggle, #checkbox, #account, #eye {
	position: absolute;
	cursor: grab;
  	user-select: none;
  	-webkit-user-drag: none;
  	transition: top 0.3s ease, left 0.3s ease;
	z-index: 99;
}

.little-eye-container {
	position: relative;
	width: 100%;
	height: 100%;
}



/* Show & hide arrow on hover in project card */

.project-arrow {
    position: absolute;
    bottom: 12px;
    right: 16px;
    opacity: 0;
    transition: .35s;
	height: 16px;
	width: 16px;
}

.project-container:hover + .project-arrow {
	bottom: 20px;
	opacity: 1;
}



/* Zoom in / out of project image */

.project-img {
	width: 100%;
  	height: auto;
  	transition: transform 0.35s ease;
  	transform-origin: center center;
}

.img-stage {
	position: relative;
	overflow: hidden;
}

.project-container:hover .img-stage .project-img {
	transform: scale(1.07);
}



/* Header & Footer animated background */

:root {
  --color-bg: #6236D7;
  --color1: 0, 0, 0;
  --color2: 0, 0, 0;
  --color3: 0, 0, 0;
  --color4: 0, 0, 0;
  --color5: 0, 0, 0;
  --color-interactive: 0, 0, 0;
  --circle-size: 80%;
  --blending: hard-light;
}

@keyframes moveInCircle {
  0%   { transform: rotate(0deg); }
  50%  { transform: rotate(180deg); }
  100% { transform: rotate(360deg); }
}

@keyframes moveVertical {
  0%   { transform: translateY(-50%); }
  50%  { transform: translateY(50%); }
  100% { transform: translateY(-50%);}
}

@keyframes moveHorizontal {
  0%   { transform: translateX(-50%) translateY(-10%); }
  50%  { transform: translateX(50%) translateY(10%); }
  100% { transform: translateX(-50%) translateY(-10%); }
}

.gradient-bg {
    width: 100%;
    position: relative;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
    border-radius: 12px;
    background: var(--color-bg);
}

@media (max-width: 767px) {
    .gradient-bg-header { height: 437px; }
    .gradient-bg-footer { height: 282px; }
    
    /* To avoid horizontal scroll */
    .interactive {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }

    /* To avoid horizontal scroll */
    .g5 {
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
      }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .gradient-bg-header { height: 437px; }
    .gradient-bg-footer { height: 155px; }
}

@media (min-width: 1025px) {
    .gradient-bg-header { height: 550px; }
    .gradient-bg-footer { height: 155px; }
}

.gradient-bg svg {
    position: fixed;
    top:0;
    left:0;
    width: 0;
    height: 0;
}

.gradients-container {
    filter: url(#goo) blur(40px) ;
    width: 100%;
    height: 100%;
}

.g1 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color1), 0.8) 0, rgba(var(--color1), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: center center;
    animation: moveVertical 30s ease infinite;

    opacity: 1;
}

.g2 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color2), 0.8) 0, rgba(var(--color2), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: calc(50% - 400px);
    animation: moveInCircle 20s reverse infinite;

    opacity: 1;
}

.g3 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color3), 0.8) 0, rgba(var(--color3), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2 + 200px);
    left: calc(50% - var(--circle-size) / 2 - 500px);

    transform-origin: calc(50% + 400px);
    animation: moveInCircle 40s linear infinite;

    opacity: 1;
}

.g4 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color4), 0.8) 0, rgba(var(--color4), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: calc(50% - 200px);
    animation: moveHorizontal 40s ease infinite;

    opacity: 0.7;
}

.g5 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: calc(var(--circle-size) * 2);
    height: calc(var(--circle-size) * 2);
    top: calc(50% - var(--circle-size));
    left: calc(50% - var(--circle-size));

    transform-origin: calc(50% - 800px) calc(50% + 200px);
    animation: moveInCircle 20s ease infinite;

    opacity: 1;
}

.interactive {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color-interactive), 0.8) 0, rgba(var(--color-interactive), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: 100%;
    height: 100%;
    top: -50%;
    left: -50%;

    opacity: 0.7;
}



/* Copy to clipboard effect */
 
.btn-copy {
	appearance: none;
	padding: 4px !important;
	margin: 0px;
	border: none!important;
	outline: none!important;
	background: none!important;
	cursor: pointer;
}

.btn-copy:hover {
	border: none;
	outline: none;
	background: none;
}

.icon-copy-container {
	position: relative;
	width: 22px;
	height: 22px;
}

.icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	transition: stroke-dashoffset 350ms ease-in-out;
	stroke-dasharray: 50;
}

.icon-clip {
	stroke-dashoffset: 0;
}

.icon-check {
	stroke-dashoffset: -50;
	color: #2da44e;
}*/



/* Links pointer */

.custom-menu .elementor-nav-menu a.elementor-item {
	position: relative;
	display: inline-block;
}

.custom-menu .elementor-nav-menu a.elementor-item::after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 4px;
	height: 4px;
	border-radius: 100%;
	opacity: 0;
	transform: translateX(-40px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.custom-menu .elementor-nav-menu a.elementor-item:hover::after {
	opacity: 1;
	transform: translateX(0);
}



/* Underline Effect */

.underline-animate {
  position: relative;
  display: inline-block;	
}

.underline-animate::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	height: 1px;
	width: 100%;
	background-color: currentColor;
	transform: scaleX(0);
	opacity: 0;
	transform-origin: bottom left;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.underline-animate:hover::after {
	transform: scaleX(1);
	opacity: 1;
}



/* Manage Mobile Sticky Navbar */

.scrolled{ 
	background-color: rgba(255,255,255,0.8)!important; 
    backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
    min-height: 60px !important;
}

.custom-sticky-header {
	min-height: 100px;
    transition: background-color .4s ease !important;
    transition: min-height .4s ease !important;
}


