/*

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

*/

/** Globals **/
.btn {
	display: block;
	font-family: "Montserrat", Sans-serif;
	font-size: 16px;
	font-weight: 600 !important;
	text-align: center;
	text-transform: capitalize;
	padding: 15px 30px 15px 30px;
	cursor: pointer;
	transition: background-color .3s ease;
}

@media (width > 768px) {
    .btn {
        display: inline-block;
    }
}

.btn-primary {
	color: var( --e-global-color-edd61e6 );
  background-color: #A1192D;
}
.btn-primary:hover {
	color: var( --e-global-color-edd61e6 ) !important;
	background-color: #931729;
}

.button {
    display: block;
    flex: 1;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    text-transform: capitalize;
    padding: 1.3rem 1.6rem;
    cursor: pointer;
    transition: background-color .3s ease;
}


ul,
li {
  list-style: none;
}

/** Header **/
.header {
	border-bottom: solid 3px #83838B;
}
.header[style*="position: fixed;"] {
	margin-top: 0px !important;
	border: none;
	box-shadow: -1px 1px 10px 0 rgba(38, 59, 98, .1);
}

/** Hero **/
.hero .swiper-slide-inner {
	max-width: 1440px;
	width: 95%;
	padding: 0 !important;
}
@media(width > 768px) {
	.hero .elementor-slide-heading {
    max-width: 600px;
    /*text-wrap: balance;*/
}	
}

.hero .elementor-slide-description {
    max-width: 500px;
    /*text-wrap: pretty;*/
}
body.home .swiper .elementor-background-overlay {
	background: linear-gradient(90deg, rgba(28,31,40,1) 0%, rgba(9,9,19,.2) 100%);
}
@media(width > 768px) {
body.home .swiper .elementor-background-overlay {
	background: linear-gradient(80deg, rgba(28,31,40,1) 30%, rgba(9,9,19,.2) 100%);
	}
}
body.home .swiper .swiper-pagination {
	padding-bottom: 10px;
}

/** Projects areas **/
.projects-areas .elementor-heading-title a {
	font-family: "Goldman", Sans-serif;
}

/** Section brands **/
.section-brands., 
.section-brands-2 {
	position: relative;
}

.section-brands::before, .section-brands::after, .section-brands-2::before, .section-brands-2::after {
    content: '';
    width: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
}

.section-brands::before {
    left: 0;
    background-image: linear-gradient(to right, rgb(28 31 40 / 1), transparent);
}

.section-brands::after {
    right: 0;
    background-image: linear-gradient(to left, rgb(28 31 40 / 1), transparent);
}


.section-brands-2::before {
    left: 0;
    background-image: linear-gradient(to right, rgb(255 255 255 / 1), transparent);
}

.section-brands-2::after {
    right: 0;
    background-image: linear-gradient(to left, rgb(255 255 255 / 1), transparent);
}

@media (width > 768px) {
    .section-brands::before, .section-brands::after, .section-brands-2::before, .section-brands-2::after {
        width: 30%;
    }
}

.elementor-swiper-button {
    z-index: 3 !important;
}

/** CPT: services / General card styles **/

.list-cards {
    padding: 0;
}
@media (width > 768px) { 
.list-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    }   
}
.services .list-cards .card {
    padding: 40px 15px;
    border-bottom: 4px solid #A1192D;
    background: #ffffff;
	 color: #000000;
}
.list-cards .card:hover {
    border: none;
    transition: .3s ease;
}
@media (width > 768px) {
	.services .list-cards .card:hover {
		background: #A1192D;
    color: #ffffff;
	}
	.services .list-cards .card:hover h4,
	.services .list-cards .card:hover p,
	.services .list-cards .card:hover .card-categories a {
    color: #ffffff;
	}
}
.card-content h4 {
	margin: 0;
}

/* Elementor: layout services */
.services-images img {
	aspect-ratio: 1/1;
	object-fit: cover;
}

/** CPT: Team **/
.team .list-cards {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	gap: 30px;
}
.team .card {
    padding: 0;
    border: none;
}
.team .card {
    position: relative;
}
@media (width > 768px) {
	.team .list-cards .card:after {
	content: '';
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(28,31,40,1) 0%, rgba(9,9,19,1) 100%);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity .4s ease;
	z-index: 1;
}
.team .list-cards .card:hover:after {
	opacity: 1;
}
}
.team .card img {
	aspect-ratio: 3/4;
	object-fit: cover;
}
.team .social-icon {
    width: 48px;
    height: 48px;
    background-color: #A1192D;
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: all .3s ease;
    z-index: 10;
}
@media (width > 768px) {
	.team .social-icon {
		opacity: 0
	}
}
.team .social-icon img {
    width: 28px;
    height: 28px;
    margin-top: 10px;
}
.team .card-content {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 25px 0;
		opacity: 1;
    transition: .3s ease all;
	  z-index: 2;
}
.team .card-content h4 {
	margin-top: 8px;
}
@media (width > 768px) {
	.team .card-content {
			color: #ffffff;
    position: absolute;
		left: 0;
		bottom: 0;
    margin-left: 20px;
    opacity: 0;
	}
	.team .card-content,
	.team .card-content h4 {
    color: #ffffff;
	}
	
	.team .card:hover .card-content,
.team .card:hover .social-icon {
    opacity: 1;
	}
}
.team .card-taxonomies {
	font-size: 14px;
}
.team .card-taxonomies.specialization {
	background: var(--e-global-color-primary);
	padding: 8px;
	
}

/** CPT: Solutions **/
.solutions .list-cards {
    grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.solutions .list-cards .card {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
@media (width > 768px) {
	.solutions .list-cards .card:nth-child(even) {
	flex-direction: column-reverse;
}
}
.solutions .card {
	padding: 0;
}
.solutions .photo {
	overflow: hidden
}
.solutions .card .photo img, .projects .card img {
	display: block;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transform: scale(1);
	transition: transform .45s, scale .45s;
}
.solutions .card:hover .photo img, .projects .card:hover .photo img {
	transform: scale(1.1) rotate(1.1deg);
}
.solutions .card-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 0 30px;
	text-align: center;
	border-bottom: 4px solid #A1192D;
}
.solutions .card-content .icon {
	margin-bottom: 20px;
}
.solutions .card h4 {
	font-size: 30px;
	transition: color .3s ease;
}
.solutions .card:hover h4 {
	color: #A1192D;
}

/** Animation Button **/
.solutions .card .card-content .btn {
	margin-top: 20px;
	opacity: 1;
	transition: opacity 0.3s ease;
}

@media (width > 768px) {
	.solutions .card .card-content .btn {
		margin-top: 0;
	opacity: 0;
}
	.solutions .card:hover .card-content .btn {
	opacity: 1;
	animation: show-button 700ms forwards;
}
.solutions .card:not(:hover) .card-content .btn {
	animation: remove-button 2s forwards;
}
	
}

@keyframes show-button {
  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes remove-button {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(100px);
  }
}

/** Solutions: layout 4 **/
.solutions .layout-4 {
		display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
	gap: 0;
}
@media (width > 768px) {
	.solutions .layout-4  {
		grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
		gap: 20px;
	}
}
.solutions .layout-4 .card{
	flex-direction: column !important;
	gap: 0;
	border: 2.5px solid #1C1F28;
	border-radius: 0;
	overflow: hidden;
}
@media (width > 768px) {
	.solutions .layout-4 .card {
		border-radius: 18px;
	}
}

.solutions .layout-4 .card,
.solutions .layout-4 .card img {
	position: relative;
	min-height: 62.5rem;
	border: none;
}
.solutions .layout-4 .card-content {
	padding: 30px;
	border: none;
}

@media (width > 768px) {
	.solutions .layout-4 .card,
	.solutions .layout-4 .card img {
		aspect-ratio: 3 / 4;
		min-height: auto;
	}
}
/*
@media (width > 768px) {
	.solutions .layout-4 .card-content {
	justify-content: flex-end;
	align-items: flex-start;
	background: linear-gradient(360deg, rgba(28,31,40,1) 20%, rgba(9,9,19,0) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 1;
	transition: opacity 0.3s ease;
}
	
	.solutions .layout-4 .card-content,
	.solutions .layout-4 .card-content h4 {
		color: #ffffff;
	}
	.solutions .layout-4 .card:hover .card-content {
	opacity: 1
}
}
*/

.solutions .layout-4 .card-content, .projects .card .card-content  {
	justify-content: center;
	align-items: center;
	background: linear-gradient(360deg, rgba(28,31,40,1) 20%, rgba(9,9,19,0) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 1;
	transition: opacity 0.3s ease;
}
	
	.solutions .layout-4 .card-content,
	.solutions .layout-4 .card-content h4, .projects .card-content, .projects .card-content h4 {
		color: #ffffff;
	}
	.solutions .layout-4 .card:hover .card-content {
	opacity: 1
}
@media (width > 768px) {
	.solutions .layout-4 .card-content {
		justify-content: flex-end;
		align-items: flex-start;
	}
}

/** List projects **/
.projects .list-cards {
  display: flex !important;
	flex-direction: column;
	gap: 20px;
	transition: all 0.3s ease-in-out;
}
@media (width > 768px) {
	.projects .list-cards {
		flex-direction: row;
		max-height: 480px;
	}
}
.projects .card {
  border-radius: 18px;
  position: relative;
  overflow: hidden;
	 transition: all .35s ease-in-out;
}
@media (width > 768px) {
	.projects .card:hover {
	flex: 1 0 50%;
	/* transition-delay: 0.3s; */
	/* min-height: 520px; */
}
}
.projects .card img {
	transition: all .45s ease-in-out;
}
@media (width > 768px) {
	.projects .card:hover img {
	transform: scale(1.1) rotate(1.1deg);
	height: 100%;
	object-fit: cover;
}
}

.projects .card img,
.projects .card video {
	width: 100%;
	height: 480px;
	display: block;
	/*aspect-ratio: 1 / 1;*/
	object-fit: cover;
}
.projects .card .card-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	object-fit: cover;
	z-index: 1;
}
.projects .card .photo {
	opacity: 1;
	transition: opacity .35s ease-in-out;
}
@media (width > 768px) {
	.projects .card:hover .photo {
	/*display: none;*/
	opacity: 0;
}
.projects .card:hover img {
	aspect-ratio: 16 / 9;
	}
	
	.projects .card:hover .card-video {
	display: block;
}
}
.projects .card .card-content {
	display: flex;
	justify-content: space-between;
	align-items:  flex-end;
	width: 100%;
	height: 100%;
	padding: 24px;
	background: linear-gradient(360deg, rgba(28,31,40,.70) 0%, rgba(9,9,19,0) 70%);
	z-index: 3;
}
@media (width > 768px) {
	.projects .card-content .card-taxonomies {
	opacity: 0;
	transition: opacity .45s ease-in-out;
}

.projects .card-content:hover .card-taxonomies {
	opacity: 1;
}
	.projects .card-content .icon-link svg {
		opacity: 0;
	}
	
	.projects .card:hover .icon-link svg {
	opacity: 1;
}
}

.projects .card-content h4 {
	font-size: 25px;
	text-wrap: balance;
}

.projects .card-content .card-taxonomies {
	color: #ffffff;
	background: #931729;
	display: inline-block;
	padding: 5px;
	margin-bottom: 10px;
	border-radius: 8px;
}

.projects .card-content .icon-link svg {
	width: 40px;
	height: 40px;
	color: #ffffff;
	transition: opacity .45s ease;
}

/** Success stories  **/
.case .list-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
	gap: 20px;
}
.case .card img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 18px;
}
/* Effect Holographic */
.case .card .photo {
	margin-bottom: 18px;
	position: relative;
	overflow: hidden;
	transition: all .5s ease;
}
.case .card .photo::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(
    0deg,
    transparent,
    transparent 30%,
    rgba(255, 255, 255, 0.3)
  );
  transform: rotate(-45deg);
  transition: all 0.5s ease;
  opacity: 0;
}
.case .card .photo:hover::before {
	opacity: 1;
	transform: rotate(-45deg) translateY(100%);
}
.case .card .card-taxonomies {
	font-size: 14px;
	font-weight: 500;
	color: #ffffff;
	background: var(--e-global-color-primary);
	padding: 8px;
	position: absolute;
	bottom: 32px;
	left: 18px;
	transition: transform 0.35s cubic-bezier(.4,2,.3,1);
}

.card .photo:hover .card-taxonomies {
	animation: elevate-taxonomies .7s ease-in-out;
}

@keyframes elevate-taxonomies {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-6px);
	}
	100% {
		transform: translateY(0);
	}
}

.card .type-service {
	color: var(--e-global-color-primary);
	font-weight: 500;
}
.card .card-content p {
	font-size: 14px;
}

/** Accordion list **/
.eael-advanced-accordion-icon-closed, .eael-advanced-accordion-icon-opened {
    background: #A1192D;
    padding: 15px 5px;
    margin: 0
}
.eael-advanced-accordion-icon-closed {
    background: transparent;
}
.eael-adv-accordion .eael-accordion-list .eael-accordion-header span {
    margin: 0;
}

.eael-accordion-list p {
    max-width: 450px;
}


/** Archive CPT **/
.eael-entry-wrapper {
    display: grid;
}
.eael-meta-posted-on {
	display: block;
	width: 100%;
	text-transform: uppercase;
}
body.post-type-archive-services .eael-meta-posted-on {
	display: none;
}
.eael-entry-header-after {
    grid-row: 2 / 1
}
.post-meta-categories {
	margin: 2.5px 0 10px 0 !important;
}
.post-meta-categories li a {
    font-size: 14px;
	font-weight: 600;
    color: #A1192D !important;
    pointer-events: none;
}
/*
body.home .post-meta-categories li a {
	color: #83838B !important;
}
*/
.post-meta-categories li.meta-cat-icon {
    display: none;
}
.eael-entry-header h4 {
	margin: 0 !important;
}
/* Testimonial slider */
.testimonial-slider .swiper-slide {
	padding: 45px 50px 45px 50px;
}
.testimonial-slider .swiper-slide:not(.swiper-slide-next) {
	color: #ffffff;
	background: #1C1F28;
	border-bottom-color: #1C1F28 !important;
	box-shadow: 0 15px 30px 0 rgba(30, 54, 92, .1);
}
.testimonial-slider .swiper-slide-next:hover {
	color: #ffffff;
	background: #1C1F28;
	border-bottom-color: #1C1F28 !important;
	box-shadow: 0 15px 30px 0 rgba(30, 54, 92, .1);
}
.testimonial-slider .swiper-pagination {
	bottom: -15px !important;
}

/** Single projects **/
.project-category a {
	font-weight: 600;
}

/** Contact **/

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background-color: var( --e-global-color-primary ) !important;
    border-radius: 0 !important;
}