/* 
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 */
/* Resets */
:root {
	--blue: #0039BD;
}
p:last-child {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

/* Heading with span height fix */
span.elementor-heading-title {
	display: flex;
}

.elementor-slideshow__footer {
    display: none;
}
/* End Resets */

/* Header */
.header-email {
	writing-mode: vertical-lr;
	width: fit-content;
	transform: rotate(180deg);
}
#menu-wrapper {
	pointer-events: none;
	clip-path: inset(0 100% 0 0);
	transition: 2s cubic-bezier(0.6, 0.3, 0.11, 0.86) !important;
}

#menu-wrapper.open {
	opacity: 1;
	pointer-events: all;
	clip-path: inset(0 0 0 0);
}
.menu-open,
.menu-open-mobile,
.menu-close {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 1.375rem;
	height: auto;
	aspect-ratio: 1.22;
	position: relative;
	cursor: pointer;
}
.menu-line {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
.light-header .menu-line,
.light-sidebar .menu-line {
	background-color: #fff;
}
.dark-header .menu-line,
.dark-sidebar .menu-line {
	background-color: var(--blue);
}
.menu-close .menu-line {
	background-color: #000;
}
.menu-close .menu-line-middle {
	display: none;
}
.menu-close .menu-line-top,
.menu-close .menu-line-bottom {
	position: absolute;
	top: 50%;
	left: 50%;
}
.menu-close .menu-line-top {
	transform: translate(-50%, -50%) rotate(45deg);
}

.menu-close .menu-line-bottom {
	transform: translate(-50%, -50%) rotate(-45deg);
}
/* End Header */

/* Home Page */
.home-what-we-do-arrow .elementor-icon,
.home-who-we-are-arrow .elementor-icon {
	width: fit-content;
	border-radius: 100%;
	padding: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0A0D33;
}
.what-we-do-right {
	contain: paint;
}
.home-what-we-do-link:hover .home-what-we-do-arrow .elementor-icon,
.home-who-we-are-link:hover .home-who-we-are-arrow .elementor-icon {
	box-shadow: 0px 0px 0px 0.57em rgba(10, 13, 51, 0.6);
}
.approach-step-num {
	font-size: 0.16em;
	letter-spacing: 0;
	position: absolute;
	top: 0;
	right: 100%;
	line-height: 1em;
}
.what-we-do-img img {
	width: auto;
}
/* .preject-grid-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
} */
/* End Home Page */
/* About Page */
.square-img img {
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
	object-position: center;
}
.tall-img  img {
	aspect-ratio : 258 / 515;
	object-fit: cover;
	object-position: center;
	height: auto;
}
/* End About Page */

/* Contact Page */
.contact-form ::placeholder {
	color: #000 !important;
	opacity: 1 !important;
}
.contact-form :where(input, select, textarea) {
	padding: 0 !important;
}
/* End Contact Page */

/* Design Page */
.design-list ul {
	list-style: none;
	padding-left: 0;
}
.design-list li {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	padding: 0.625em 0;
}
/* End Design Page */

/* Single Project */
body.single-project .elementor-gallery-item:last-child {
    display: none !important;
}
.project-video {
    width: fit-content !important;
    max-width: 100% !important;
}
.project-video .elementor-wrapper {
    --video-aspect-ratio: initial !important;
}
.project-video video.elementor-video {
    object-fit: contain !important;
    max-height: 70svh;
    aspect-ratio: initial !important;
}
/* End Single Project */

/* Project Archive */
.filters-wrapper {
	position: static;
	top: calc((0.255 * 8.33vw) + 2vw ) !important;
}
.project-grid-image img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}
/* End Project Archive */

/* Animations */
.services-section {
/* 	overflow: hidden; */
}
.desktop-services {
	margin-left: 23%;
	height: fit-content;
}
.desktop-services-wrapper {
	position: sticky !important;
	overflow: hidden;
	top: 5.5vw;
}
.desktop-services .e-loop-item {
    min-width: 31vw;
}
.reveal-img {
	transition: 2s cubic-bezier(0.6, 0.3, 0.11, 0.86) !important;
}
.reveal-img.reveal-from-left {
	clip-path: inset(0 100% 0 0);
}
.reveal-img.reveal-from-right {
	clip-path: inset(0 0 0 100%);
}
.reveal-img.reveal-from-top {
	clip-path: inset(0 0 100% 0);
}
.reveal-img.show {
	clip-path: inset(0 0 0 0) !important;
}


.split-lines .line {
	opacity: 0;
	transform: translateY(1.1em);
	transition: all 500ms ease-in-out;
}
.split-lines.started .line {
	opacity: 1;
	transform: translateY(0);
}
.split-lines .line1 {
	transition-delay: 200ms;
}
.split-lines .line2 {
	transition-delay: 300ms;
}
.split-lines .line3 {
	transition-delay: 400ms;
}
.split-lines .line4 {
	transition-delay: 500ms;
}
.split-lines .line5 {
	transition-delay: 6000ms;
}
.split-lines .line6 {
	transition-delay: 700ms;
}
.split-lines .line7 {
	transition-delay: 800ms;
}
.split-lines .line8 {
	transition-delay: 900ms;
}
.split-lines .line9 {
	transition-delay: 1000ms;
}
.split-lines .line10 {
	transition-delay: 1100ms;
}
.split-lines .line11 {
	transition-delay: 1200ms;
}
.split-lines .line12 {
	transition-delay: 1300ms;
}
.split-lines .line13 {
	transition-delay: 1400ms;
}
.split-lines .line14 {
	transition-delay: 1500ms;
}
.split-lines .line15 {
	transition-delay: 1600ms;
}
/* End Animations */
/* Responsive */
@media screen and (min-width: 1025px) {
	.design-list ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 1.875rem;
	}
}
@media screen and (max-width: 1024px) {
	.hidden-md-down {
		display: none;
	}
	.approach-step-num {
		font-size: 0.3em;
		right: auto;
		left: 0;
		bottom: 100%;
		top: auto;
		font-weight: 300;
	}
	.mobile-menu-close {
		left: auto !important;
		right: 4.18%;
	}
}
/* End Responsive */