/*
Theme Name: Grupo Coen
Theme URI: #
Description: Grupo Coen Theme
Author: Tactic Digital
Author URI: #
Version: 1.0
Text Domain: grupocoen
Template: solvent
*/

:root {
	--primary-color: #104196;
   	--secondary-color: #37393C;
	--primary-dark: color-mix(in srgb, var(--primary-color), black 50%);
	--spinner-duration: 1s;
	--progress: 0;
}

.wp-singular.single-post .qodef-e-left {
    & .qodef-info-tags {
		display: none !important;
    }
}

.qodef-h6, h6, .qodef-h2, h2, .qodef-h3, h3, .qodef-h4, h4, .qodef-h5, h5    {
	color: var(--primary-dark);
}

.responsive__heading :where(.qodef-m-title, .qodef-e-static-title) {
	font-size: clamp(1.5rem, 1.1719rem + 1.75vw, 2.8125rem) !important;
	line-height: clamp(1.5rem, 1.1719rem + 1.75vw, 2.8125rem) !important;
}

.responsive__heading .qodef-m.qodef-services {
	& .qodef-e-content {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	& .qodef-e-title {
		width: fit-content;
		text-align: center;
		font-size: 1rem;
		margin: 0;
	}
}

.poweredby-img img{
    height: 40px;
    margin-left: 0.5rem;
    filter: brightness(0) invert(1);
    vertical-align: middle;
}

#bg-video .elementor-background-video-container {
	video.elementor-background-video-hosted {
		min-height: 1200px;
	}
}

#qodef-side-area.ps {
	overflow: hidden !important;
	max-height: 100dvh;
	& .ps__rail-y {
		display: none !important;
	}
}

#qodef-page-footer-top-area-inner .qodef-blog-item .qodef-e-title.entry-title {
	font-size: 16px;
}

.qodef-page-title .qodef-m-inner {
	z-index: 1;
}

.qodef-page-title.qodef-title--standard::before{
	content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    /*mask-image: linear-gradient(black 50%, transparent);*/
	background-image: linear-gradient(140deg, #104196 0%, rgba(55, 57, 60, 0.3) 100%);
    background-color: rgba(0, 0, 0, 0);
}

.parallax-overlay img.qodef-parallax-img {
	/*mask-image: linear-gradient(black 40%, transparent);*/
	background-image: linear-gradient(140deg, #104196 0%, rgba(55, 57, 60, 0.3) 100%);
    background-color: rgba(0, 0, 0, 0);
}

.page.page-id-4224 #qodef-page-inner {
	padding: 0px 0px 80px 0px;
}

.qodef-counter {
    & .qodef-m-subtitle {
        font-size: 1.5rem;
    }
}

.qodef-header-navigation ul li.qodef-menu-item--narrow ul{
    width: 310px;
}

.qodef-scroll-indicator a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


.anchort {
    margin-top: -6rem !important;
}

#qodef-back-to-top .qodef-back-to-top-icon, 
.qodef-theme-button, 
button[type=submit], 
input[type=submit], 
.swiper-pagination-bullets .swiper-pagination-bullet, 
.qodef-scroll-indicator .qodef-m-indicator:before, 
.qodef-m.qodef-button.qodef-layout--filled.qodef-html--link{
    background: var(--primary-color) !important;
}

.qodef-social-share.qodef-layout--list li a::after, 
.qodef-m.qodef-button.qodef-layout--filled.qodef-html--link, 
.qodef-button.qodef-layout--textual:after{
	background: linear-gradient(135deg, var(--primary-color) 0, var(--primary-color) 55%, #312837 100%);
}

.qodef-header-sticky .qodef-widget-holder.qodef--one {
	margin-left: 0px !important;
}


.qodef-header-navigation #menu-menu-principal-1.menu .sub-menu .menu-item a::before, 
.qodef-header-navigation>ul>li.qodef-menu-item--narrow ul:not(.qodef-drop-down--right) li>a:before,
.qodef-mobile-header-navigation ul li ul li>a:before,
#qodef-side-area-mobile-header .qodef-m-navigation ul li ul li>a:before{
	background: linear-gradient(270deg, #fff 0px, #fff 49.4%, rgb(13, 24, 52) 120%);
}

.qodef-header-navigation ul li .qodef-drop-down-second {
	opacity: inherit;
}

.qodef-header-navigation #menu-menu-principal-1.menu .sub-menu, .qodef-header-navigation ul li.qodef-menu-item--narrow ul {
	background-color: rgba(8, 19, 46, 0.48) !important;
    backdrop-filter: blur(5px) !important;
    border: none;
}

.slider__custom-height,  .slider__custom-height .qodef-e.swiper-slide * {
	height: 100% !important;
}

.square_slider .swiper-wrapper{
	max-height: 400px;
}

.page:where(.page-id-2327) #qodef-top-area {
	& .wp-block-social-links {
		 & .wp-social-link {
			border: 1px solid var(--secondary-color) !important;
			
			 & svg {
				 color: var(--secondary-color);
			 }
			&:hover {
				& svg {
					color: #fff;
				}
			}
		}
	}
}

div[data-area="qodef-main-sidebar"] {
	& .wp-social-link {
		background-color: transparent;
		color: #000;
		border: 1px solid #000;
		border-radius: 7px;
		transition: .3s cubic-bezier(.22, .61, .36, 1);
		
		&:hover {
			border-color: transparent;
			background-color: var(--primary-color);
			& svg {
				color: #fff !important;
			}
		}
	}
}

:where(#qodef-top-area, #qodef-page-footer-bottom-area) .wp-block-social-links {
	& .wp-social-link {
		background-color: transparent;
		border: 1px solid #fff;
		border-radius: 7px;
		transition: .3s cubic-bezier(.22, .61, .36, 1);
		
		&:hover {
			background-color: var(--primary-color);
			border-color: transparent;
		}
	}
	& .wp-block-social-link-anchor {
		position: relative;
		width: 27px;
		height: 27px;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}
}

ul.wp-block-social-links.is-layout-flex.wp-block-social-links-is-layout-flex li {
    margin: 0 !important;
}

/* #gc-timeline {
    & .qodef-e-image img{
        width: 300px;
        object-fit: cover;
    }
} */

/** HOME **/

.mision__section :where(.qodef-m.qodef-icon-with-text.qodef-layout--top, .elementor-widget-solvent_core_icon_with_text) {
	height: 100%;
}

.mision__section .qodef-icon-with-text.qodef-layout--before-content{
	& .qodef-m-title {
		margin-top: 0 !important;
	}
}

@media (width < 768px) {
    :where(.mision__section, .about-coen) .qodef-icon-with-text.qodef-layout--before-content {
        flex-direction: column;
        gap: 3rem;
    }
	
	.custom-timeline.qodef-qi-timeline.qodef-timeline--horizontal {
		overflow: inherit;
	}
	
	.custom-timeline.qodef-timeline--horizontal .qodef-e-item {
		padding: 0 !important;
	}
}

/** QUIENES SOMOS **/
.valores__section {
	& .qodef-m-icon-inner {
		width: auto !important;
		
		& img {
			width: 64px;
			height: 64px;
			min-width: 64px;
			min-height: 64px;
		}
	}
	
	& .qodef-icon-with-text.qodef-box--outline .qodef-m-icon-box {
		background-color: var(--primary-color);
	}
	
	& .qodef-icon-with-text.qodef-layout--top .qodef-m-content {
		margin-top: 2rem;
	}
}

:where(.page-id-1454) .qodef-page-title.qodef-title--standard-with-breadcrumbs::before{
    z-index: 2;
}

:where(.page-id-1454) .qodef-page-title .qodef-m-inner {
	z-index: inherit;
}

/*** BLOG COMPONENT ***/
.qodef-grid-item.qodef-page-content-section.qodef-col--content {
	& .qodef-e-title.entry-title {
		font-size: clamp(1.2rem, 1.15rem + 0.2667vw, 1.4rem);
		line-height: clamp(1.2rem, 1.55rem + 0.2667vw, 1.6rem)
	}
}

aside .qodef-grid-item.qodef-page-sidebar-section.qodef-col--sidebar{
	& .qodef-e-title.entry-title {
		font-size: clamp(1.2rem, 1.15rem + 0.2667vw, 1.4rem);
		line-height: clamp(1.2rem, 1.55rem + 0.2667vw, 1.6rem);
	}
}

.qodef-blog.qodef-item-layout--simple.qodef-grid {
	& .qodef-e-media-image {
		& img {
			aspect-ratio: 64 / 45;
    		object-fit: cover;
		}
	}
}

#qodef-page-outer .qodef-page-title {
	& .qodef-m-title.entry-title  {
		font-size: clamp(2.125rem, 1.875rem + 1.3333vw, 3.125rem);
	}
}

/*** SINGLE BLOG */

.wp-singular.single-post #qodef-page-outer {
	/* margin-top: -138px !important; */

	& .qodef-e-title {
		color: var(--primary-dark);
		font-size: clamp(1.2rem, 0.95rem + 1.3333vw, 2.2rem);
		line-height: clamp(1.2rem, 0.95rem + 1.3333vw, 2.2rem);
	}

	& :where(h2, h3, h4).wp-block-heading {
		margin-top: 3rem;
		font-size: clamp(1.2rem, 1.05rem + 0.8vw, 1.8rem);
		line-height: clamp(1.2rem, 1.05rem + 0.8vw, 1.8rem);
	}

	& .qodef-e-info, .qodef-info-tags {
		& a {
			color: var(--primary-color);
		}
	}

	& #qodef-related-posts, & .widget.widget_solvent_core_blog_list {
		& .qodef-e-title  {
			font-size: clamp(1rem, 0.9rem + 0.5333vw, 1.4rem);
			line-height: clamp(1rem, 0.9rem + 0.5333vw, 1.4rem);
		}

		& .qodef-e-media-image img {
			height: 250px;
    		object-fit: cover;
			aspect-ratio: 16/9;
		}
	}
	
	& .widget .wp-social-link  {
		border-color: var(--primary-color);

		& svg {
			fill: var(--primary-color);
		}
	}

	& .wp-block-quote.wp-block-quote-is-layout-flow {
		padding-right: 2rem;
		& p {
			font-size: clamp(1.1rem, 1.075rem + 0.1333vw, 1.2rem);
			line-height: clamp(1.4rem, 1.25rem + 0.2667vw, 1.5rem);;
		}
	}
}

@media (width < 768px) {
	.wp-singular.single-post #qodef-page-inner {
		padding-top: 80px;
		width: 100%;
	}
}

.widget.widget_block.widget_tag_cloud 
{	
	& .wp-block-tag-cloud a{
		color: var(--primary-color);
	}
}

/** FOOTER **/
#qodef-page-footer-top-area, #qodef-page-footer-bottom-area {
	background-color: var(--primary-dark);
}

#qodef-page-footer-top-area {
	& .qodef-blog.qodef-item-layout--side-by-side {
		& .qodef-e-media {
			border-radius: 0.4rem;
			
			& img {
				aspect-ratio: 64 / 45;
    			object-fit: cover;
			}
		}
	}	
	& .qodef-grid.qodef-layout--columns.qodef-col-num--3 {
		& > .qodef-grid-inner{
			grid-template-columns: 300px 1fr 300px;
		}
	}
}

@media (width <= 998px) {
	#qodef-page-footer-top-area {	
		& .qodef-grid.qodef-layout--columns.qodef-col-num--3 {
			& > .qodef-grid-inner{
				grid-template-columns: repeat(2, 1fr);
				row-gap: 5rem;
				
				& .qodef-grid-item:nth-child(2) {
					order: 3;
    				grid-column: 1 / -1;
				}
			}
		}
	}
}

@media (width <= 768px) {
	#qodef-page-footer-top-area {	
		& .qodef-grid.qodef-layout--columns.qodef-col-num--3 {
			& > .qodef-grid-inner{
				grid-template-columns: 1fr;
				row-gap: 4rem;
			}
		}
		
		& #qodef-page-footer-top-area-inner {
			padding-bottom: 90px;
		}
	}
	
	#qodef-page-footer-bottom-area-inner {
		& .qodef-m.qodef-single-image {
			& img {
				width: 90px;
			}
		}
	}
}


/** SPINNER **/
#qodef-page-spinner .qodef-m-inner {
	background-color: rgba(8, 19, 46, 0.18) !important;
    backdrop-filter: blur(14px);
}

#qodef-page-spinner.qodef-layout--solvent .qodef-m-spinner-bar {
	width: 90%;
	background: linear-gradient(270deg, var(--primary-color) 0, var(--qode-gradient-two-color) 100%);
}

#qodef-page-spinner .qodef-m-inner .qodef-m-textual {
	display: none !important;
}

/** SIDE AREA **/
.qodef-contact-form-7 .qodef-form-wrapper.qodef--newsletter .qodef-button {
	margin-top: 15px;
}

/** CONTACTO **/

.wpcf7-form-control-wrap textarea {
	font-family: Prompt, sans-serif;
    font-size: 13px;
    line-height: 1.4615384615em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .1em;
}

#Capa_2 .cls-1{
	fill: #fff
}


/***************************************************
 * Optimized SVG fill animation (Smooth + Fast)
 **************************************************/

#page-loader {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.8s ease, visibility 0.8s ease;
	overflow: hidden;
}

.loader-bg {
  position: absolute;
  display: block;
  inset: 0;
  background: #00000048; /* color base del blur */
  backdrop-filter: blur(8px); /* o filter: blur(8px); si quieres difuminar contenido detrás */
  z-index: 1;
}

.loader-logo {
  position: relative;
  z-index: 2; 
}

#page-loader.hidden {
  opacity: 0;
  visibility: hidden;
}

#Capa_2 path {
  fill: white;
  fill-opacity: 0;
  transition: fill-opacity 0.3s ease;
}



/**** MOBILE FIX ***/

#qodef-side-area-mobile-header {
	background-color: rgba(8, 19, 46, 0.48) !important;
    backdrop-filter: blur(5px) !important;

	& .qodef-m-navigation {
		& .sub-menu {
			margin-left: 2rem;
		}

		& li.menu-item a{
			color: #fff;
		}
	}
}


.qodef-mobile-header-navigation {
	background-color: var(--primary-dark);
	overflow: hidden;
	& .sub-menu {
		margin-left: 2rem;
	}
}

#qodef-page-mobile-header  {
	background-color: transparent;

	& .qodef-opener-icon {
		color: #fff;
	}
}

.qodef-header--sticky-display #qodef-page-mobile-header {
   	background-color: var(--primary-dark) !important;
    min-height: 90px;
}

@media (width <= 768px) {
	.valores__section > .elementor-element.e-con-full.qodef-elementor-content-grid.e-flex {
		margin-inline: 0 !important;
		min-width: 100% !important;

		& .elementor-widget__width-initial.elementor-widget {
			width: 100% !important;
		}
	}

	.slider__responsive .attachment-qi_addons_for_elementor_image_size_portrait {
		max-height: 500px;
	}

	.qodef-services.qodef-swiper-container .qodef-e-image img {
		width: 100%;
	}

	#qodef-side-area-mobile-header {
		padding: 4rem 2rem;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		& .qodef-widget-holder.qodef--one {
			display: flex;
			position: relative !important;
			width: 100%;
			margin-top: 4rem;
			left: 0 !important;
			gap: 1rem;
		}

		& .qodef-m-navigation {
			width: 100%;
		}
	}

	.qodef-blog.qodef--single .qodef-blog-item .qodef-e-bottom-holder {
		margin-top: 10px;
	}

	#qodef-side-area-mobile-header .qodef-m-navigation>ul>li.current-menu-ancestor>a, 
	#qodef-side-area-mobile-header .qodef-m-navigation>ul>li.current-menu-item>a {
		color: #fff;
		text-decoration: underline;
	}

	.widget.widget_block.qodef-mobile-header-widget-area-one {
		& .wp-social-link {
			background-color: transparent;
			border: 1px solid #fff;
			border-radius: 7px;
			transition: .3s cubic-bezier(.22, .61, .36, 1);
		}
	}

	/*** SLIDER CLIENT ***/ 
	.qodef-m.qodef-clients-list .qodef-e-logo img, .qodef-m.qodef-clients-list .qodef-e-hover-logo img{
		width: 300px;
	}
}

.parallax__overlay::before {
	content: '' !important;
    width: 100% ;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-image: linear-gradient(0deg, #0000006e 10%, rgba(55, 57, 60, 0.1) 50%);
    background-color: rgba(0, 0, 0, 0);	
}

.parallax__overlay > .elementor-element.e-con-full.qodef-elementor-content-grid.e-child {
	z-index: 1;
}

.custom-timeline {
	& .qodef-e-title {
		font-size: 18px !important;
	}
	
	& .qodef-e-image img {
		min-width: 177px !important;
		height: 118px !important;
		max-width: 177px;
	}
}

small.miles {
	font-size: 18px;
	font-weight: 600;
}
