/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.27.0.1721341911
Updated: 2024-07-18 22:31:51

*/

:root {
	--ColorPrimario: #006699; /* Azul corporativo */
	--ColorSecundario: #ffcc00; /* Amarillo corporativo */
	--ColorTerciario: #ff3333; /* Rojo corporativo */
	--ColorGris: #f5f5f5; /* Gris claro */
	--ColorTextoEncabezado: #222222; /* Gris oscuro */
	--ColorTextoCuerpo: #444444; /* Gris medio*/
	--ColorEnlace: #2ea3f2; /* Celeste */
  	--BottomOffset: 20px;
  	--LineHeight: 5px;
  	--LineColor: var(--ColorSecundario);
}

a {
	text-decoration-line: none !important;
}

/* Tamaños para columnas adicionales */
.ten-columns .et_pb_module {width: 10%; float: left;}
.nine-columns .et_pb_module {width: 11.11%; float: left;}
.eight-columns .et_pb_module {width: 12.5%; float: left;}
.seven-columns .et_pb_module {width: 14.28%; float: left;}
.six-columns .et_pb_module {width: 16.66%; float: left;}
.five-columns .et_pb_module {width: 20%; float: left;}

/* Estilo subrayado menu superior */
#top-menu-nav ul:not(.sub-menu)>li:not(.cta_menu)>a {
	position: relative;
	z-index: 1;
}
#top-menu-nav ul:not(.sub-menu)>li:not(.cta_menu)>a:before {
    position: absolute;
    content: '';
    display: block;
    z-index: -1;
    background: var(--LineColor);
    width: 0;
    height: var(--LineHeight);
    bottom: var(--BottomOffset);
    left: calc(var(--LineHeight) / -2);
    transition: 0.3s cubic-bezier(.03,.3,.4,.96);
}

#top-menu-nav ul:not(.sub-menu)>li:not(.cta_menu)>a:hover:before,
#top-menu-nav ul>li.current-menu-ancestor>a:before, 
#top-menu-nav ul>li.current-menu-item>a:before, 
#top-menu-nav ul>li.current_page_item>a:before {
    width: calc(100% + var(--LineHeight)) !important;
}

#top-menu-nav ul>li.current-menu-ancestor>a, 
#top-menu-nav ul>li.current-menu-item>a, 
#top-menu-nav ul>li.current_page_item>a {
	transition: all 0.3s !important;
}

#top-menu-nav>ul>li>a:hover {
    opacity: 1;
}

/* Botón en menú superior */
@media only screen and (min-width: 981px) {
	.et_header_style_left .et-fixed-header #et-top-navigation nav ul li.cta_menu a,
	.cta_menu a {
		/*background-color: #e0cd00;*/
		background-image: linear-gradient(135deg, #e0cd00 0%, #d68e00 100%);
		color: #fff !important;
		padding: 10px 25px !important;
		border-radius: 25px;
		/*box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.38);*/
		text-shadow: 0.08em 0.08em 0.08em rgba(0, 0, 0, 0.4);
		transition: all .4s !important;
		text-transform: uppercase;
		letter-spacing: 1px;
		font-size: 16px !important;
	}
	
	.cta_menu a:hover {
    	transform: translateY(-3px);
    	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
		filter: brightness(110%);
	}

	.cta_menu a:active {
    	transform: translateY(-1px);
    	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
	}

	.cta_menu a::after {
    	content: "";
    	display: inline-block;
    	height: calc(100% - 2px);
    	width: calc(100% - 2px);
    	border-radius: 100px;
    	position: absolute;
    	top: 1px;
    	left: 1px;
    	z-index: -1;
    	transition: all .4s;
	}

	.cta_menu a::after {
    	background-image: linear-gradient(135deg, #e0cd00 0%, #d68e00 100%);
	}

	.cta_menu a:hover::after {
    	transform: scaleX(1.8) scaleY(1.8);
    	opacity: 0;
	}
	
	#top-menu.nav {
		margin-top: 8px;
	}
	
	#top-menu li {
		margin-top: -18px;
		font-size: inherit;
	}
	
	#et-top-navigation {
		font-weight: inherit;
	}

}

/* Menú desplegable en menú principal */

.nav li ul {
	border-radius: 0 0 10px 10px;
	box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.3);
}

.nav ul li {
    padding: 0 !important;
    min-width: 100% !important;
}

.nav ul li a {
    min-width: 100% !important;
}

.nav ul .current_page_item a,
.nav ul li a:hover {
    background-color: var(--ColorSecundario);
	opacity: 1;
}

/* Secciones imagen lateral arreglo para móviles */

@media screen and (max-width : 980px) {
	.seccion_dos_reverse .columna_dos_imagen {
		min-height: 400px;
	}
	
	.seccion_dos_reverse .seccion_dos_fila {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-me-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}

@media screen and (max-width : 600px) {
	.seccion_dos_reverse .columna_dos_imagen {
		min-height: 300px;
	}
}

/* Centrado vertical de elementos */

.alinear-vertical {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Ajuste menú principal según ancho pantalla */

@media (min-width: 981px) and (max-width: 1350px) {
	.container {
		width: 95% !important;
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
}

@media (min-width: 981px) and (max-width: 1150px) {
	.cta_menu {
		display: none !important;
	}
}

/* Ajustes barra lateral widgets */

.encabezado_widget {
	color: var(--ColorPrimario);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.et_pb_widget_area_left {
    padding-right: 0;
    border-right: 0;
}

.et_pb_bg_layout_light .et_pb_widget li a {
	color: var(--ColorCuerpoTexto);
}

.menu-item-object-project_category.current-menu-item a,
.cat-item.current-cat a {
	color: var(--ColorPrimario) !important;
}

/* Ajustes proyectos (referencias) */

.et_pb_filterable_portfolio .et_pb_portfolio_filters li {
	line-height: 1.6em;	
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters li a {
	background-color: var(--ColorGris);
	border: 0;
	margin: 5px;
	color: var(--ColorTextoCuerpo);
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters li a:hover {
	color: var(--ColorTextoEncabezado);
	background-color: var(--ColorSecundario);
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active {
	color: #fff !important;
	background-color: var(--ColorPrimario);
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters li:first-child a,
.et_pb_filterable_portfolio .et_pb_portfolio_filters li:last-child a {
	border-radius: 0 !important;
}

.et_pb_filterable_portfolio .et_pb_portofolio_pagination {
	border-top: 0;
}

.et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a {
	color: var(--ColorTextoCuerpo);
}

.et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a:hover {
	color: var(--ColorPrimario);
}

/* Ajustes Noticias */

.et_pb_bg_layout_light .et_pb_post .post-meta, 
.et_pb_bg_layout_light .et_pb_post p {
	color: inherit !important;
}

.et_pb_bg_layout_light .et_pb_post .post-meta a {
	color: var(--ColorEnlace);
}

/* Deshabilitar animaciones en movil y tablet */
@media all and (max-width: 980px) {
	.et_animated {
		opacity: 1 !important
	}
	.et_pb_section, .et_pb_section *:not(.logo-slider *) {
		-o-transition-property: none!important;
		-moz-transition-property: none!important;
		-webkit-transition-property: none!important;
		transition-property: none!important;
		-o-transform: none!important;
		-moz-transform: none!important;
		-ms-transform: none!important;
		-webkit-transform: none!important;
		transform: none!important;
		-webkit-animation: none!important;
		-moz-animation: none!important;
		-o-animation: none!important;
		animation: none !important;
	}
	
	/*.et_parallax_bg {
    	position: relative;
		background-attachment: scroll;
     	background-size: 100%;
  	}*/
}

.et_pb_slider_0.et_pb_slider,
.et_pb_slider_0 .et_pb_slide {
	min-height: calc(100vh - 96px) !important;
}

/* Ajustes elementos para móvil y tablet */
@media screen and (max-width : 980px) {
	
	.et_pb_slider_0.et_pb_slider,
	.et_pb_slider_0 .et_pb_slide {
    	min-height: 25vh !important;
	}

	.et_menu_container {
		width: 100% !important;
	}
	
	.logo_container {
		margin-left: 6vw;
	}
	
	#et-top-navigation {
		margin-right: 6vw;
	}
	
	.et_mobile_menu li a {
		border: 0;
		font-size: 20px;
		letter-spacing: 1px;
		font-weight: 400;
		padding: 15px 5%;
	}
	
	.et_mobile_menu li a:hover,
	.et_mobile_menu .menu-item-has-children>a {
		font-weight: 400;
		opacity: 1;
		background: none;
	}
	
	.et_mobile_menu .current_page_item a {
		color: var(--ColorPrimario);
	}

	.tabla_columna {
		border-width: 0px 1px 1px 1px !important;
	}
	
}

@media screen and (min-width : 480px) and (max-width : 980px) {
	.tabla_columna_1 {
		border-width: 1px 1px 1px 0px !important;
	}
	.tabla_columna_2 {
		border-width: 0px 1px 1px 0px !important;
	}
}


/*
#footer-widgets {
    padding: 3% 0 0;
}

.et_pb_widget ul li {
    margin-bottom: 0.5em;
    border-bottom: 1px dotted #ced8df;
}

.et_pb_slide {
    padding: 0;
}

.et_pb_bg_layout_light .et_pb_more_button {
    margin-left: 33%;
}

.nav li li {
    line-height: 2;
}

.nav li ul {
    width: 260px;
}

#top-menu li li a {
    width: 250px;
}
#et-info {
    float: right;
}

.slider-home  .et_pb_slide_description {
    padding: 11%;
}


@media (min-width: 1241px) {
.et_header_style_left #main-header div#et-top-navigation { 
padding-left: 204px !important;
}
}
@media (min-width: 1080px) and (max-width: 1240px) {
.et_header_style_left #main-header div#et-top-navigation {
padding-left: 300px !important;
}
}
@media (min-width: 980px) and (max-width: 1079px) {
.et_header_style_left #main-header div#et-top-navigation {
padding-left: 300px !important;
}
}



.slider-home .et_pb_slide_title { 
text-shadow: 2px 2px 2px #000!important;
font-size: 18px !important;
}

.et_pb_slider .et_pb_slide_1.et_pb_slide .et_pb_slide_description .et_pb_slide_title { 
	line-height: 1em !important;
}


.et_bloom .et_bloom_form_header .et_bloom_form_text { 
padding: 10px !important; 
} 

.et_bloom .et_bloom_form_header .et_bloom_form_text h2 { 
font-size: 18px !important; 
} 




.flex-item {
    display: flex;
    flex-direction: column;
    flex-basis: 45%;
    margin:auto;
}  */



/* Ajustes para módulo menú en pie de página */

.footer-vl-menu .et_pb_menu_inner_container,
.footer-vl-menu .et_pb_menu__wrap,
.footer-vl-menu.et_pb_menu .et_pb_menu__menu, 
.footer-vl-menu.et_pb_menu .et_pb_menu__menu>nav, 
.footer-vl-menu.et_pb_menu .et_pb_menu__menu>nav>ul {
	display: block;
}

@media screen and (max-width : 980px) {
	
	.footer-hl-menu .et_pb_menu_inner_container,
	.footer-hl-menu .et_pb_menu__wrap,
	.footer-hl-menu.et_pb_menu .et_pb_menu__menu, 
	.footer-hl-menu.et_pb_menu .et_pb_menu__menu>nav, 
	.footer-hl-menu.et_pb_menu .et_pb_menu__menu>nav>ul {
		display: block;
	}
	
	.footer-vl-menu.et_pb_menu .et_pb_menu__menu>nav>ul>li,
	.footer-hl-menu.et_pb_menu .et_pb_menu__menu>nav>ul>li {
		flex-direction: column;
		align-items: center;
	}
	
	.icon-contact .et_pb_blurb_content {
		width: auto !important;
	}
}

.footer-vl-menu .et_mobile_nav_menu,
.footer-hl-menu .et_mobile_nav_menu {
	display: none;
}

/* Botón volver arriba */

.et_pb_scroll_top.et-pb-icon {
	font-size: 40px;
	right: 50px;
	border-radius: 50%;
	padding-right: 7px;
	transition: background 0.3s;
}

.et_pb_scroll_top.et-pb-icon:hover {
	background-color: var(--ColorSecundario);
}

@media screen and (max-width : 980px) {
	.et_pb_scroll_top.et-pb-icon {
		right: 40px;
		bottom: 40px;
	}
}











/* Formulario CF7 a 2 columnas responsive */

#responsive-form {
	max-width:100% /*-- puedes cambiar esto si quieres otro ancho del formulario --*/;
	margin:0 auto;
    width:100%;
}

.form-section {
	border: 1px solid var(--cf7-input-border);
	background-color: var(--ColorGris);
	position: relative;
	border-radius: 6px;
	padding: 20px 30px !important;
	margin-bottom: 40px;
}

.form-title {
	margin-bottom: 20px;
}

.form-title h4,
.form-title p {
	text-align: left;
}

.form-row{
	width: 100%;
}

.column-half, .column-full{
	float: left;
	position: relative;
	padding: 0.65rem;
	width:100%;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

/**---------------- Media query ----------------**/
@media only screen and (min-width: 48em) { 
	.column-half{
		width: 50%;
	}
}

@media screen and (max-width : 980px) {
	.form-section {
		padding: 0.65rem !important;
	}
}


/* Styles configuration */
:root {
    --cf7-font: inherit;
    --cf7-font-size: 16px;
    --cf7-font-weight: 300;
    --cf7-labels: var(--ColorTextoEncabezado);
    --cf7-input-text: var(--ColorTextoCuerpo);
	--cf7-input-background: #ffffff;
	--cf7-input-border: var(--ColorPrimario); /*#D5E0EB;*/
	--cf7-input-border-hover: var(--ColorPrimario); /*#92ACC7;*/
    --cf7-accent: var(--ColorEnlace); /*#2d8cff;*/
    --cf7-accent-hover: var(--ColorSecundario); /*#247de9;*/
    --cf7-accent-outline: var(--ColorSecundario); /*#b9d9ff;*/
    --cf7-accent-text: #ffffff;
    --cf7-warning: #fb584e;
    --cf7-warning-bg: #FFEDEC;
    --cf7-success: #00B474;
    --cf7-success-bg: #E6FFF0;
}
/* General Settings */
.wpcf7 {
    font-family: var(--cf7-font);
    font-weight: var(--cf7-font-weight);
    width: 100% !important;
}
.wpcf7 label {
    color: var(--cf7-labels);
}
.wpcf7-list-item {
    margin-left: 0 !important;
    margin-right: 15px !important;
}
.wpcf7 a {
    color: var(--cf7-accent) !important;
    text-decoration: none;
	transition: all 0.3s;
}
.wpcf7 a:hover {
    color: var(--cf7-accent-hover) !important;
}
/* General Inputs */
.wpcf7 input[type=color],
.wpcf7 input[type=date],
.wpcf7 input[type=datetime-local],
.wpcf7 input[type=datetime],
.wpcf7 input[type=email],
.wpcf7 input[type=month],
.wpcf7 input[type=number],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=time],
.wpcf7 input[type=url],
.wpcf7 input[type=week],
.wpcf7 textarea
{
    border: 1px solid var(--cf7-input-border);
	background-color: var(--cf7-input-background);
	border-radius: 6px;
    line-height: 1.3;
    padding: .75rem .75rem;
    color: var(--cf7-input-text);
    min-height: 35px;
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
    width: 100%;
	transition: all 0.3s;
}
/* Other Inputs */
.wpcf7 input[type=submit] {
	background-image: linear-gradient(135deg, #e0cd00 0%, #d68e00 100%);
	color: #fff !important;
	padding: 10px 25px !important;
	border-radius: 25px;
	text-shadow: 0.08em 0.08em 0.08em rgba(0, 0, 0, 0.4);
	transition: .3s linear;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: var(--cf7-font-size);
	font-family: var(--cf7-font);
	display: block;
    margin: 0 auto;
	border: 0;
	/*
    background-color: var(--cf7-accent);
    color: var(--cf7-accent-text);
    */
}
.wpcf7 input:hover[type=submit] {
	filter: brightness(110%);
    transition: .3s linear;
    cursor: pointer;
}
.wpcf7 input:focus[type=submit] {
	filter: brightness(110%);
    /*background-color: var(--cf7-accent-hover);*/
    outline: none;
    border: 0;
    /*box-shadow: 0 0 0 3px var(--cf7-accent-outline);*/
}
.wpcf7 input[type=file] {
    color: var(--cf7-input-text);
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
}
.wpcf7 input:focus[type=file] {
    outline: none;
    border: 0;
}
.wpcf7 input[type=file]::file-selector-button,
.wpcf7 select
{
    border: 1px solid var(--cf7-input-border);
    background-color: var(--cf7-input-background);
    border-radius: 6px;
    line-height: 1.3;
    padding: 0.7rem 1rem;
    color: var(--cf7-input-text);
    min-height: 35px;
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
}
.wpcf7 input[type=file]::file-selector-button {
    cursor: pointer;
    margin-right: 20px;
}
/* Custom Checkbox */
.wpcf7 input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--cf7-accent);
    border-radius: 6px;
    margin: 0;
    display: grid;
    place-content: center;
    cursor: pointer;
}
.wpcf7 input[type="checkbox"]:before {
    content: "\f147";
    font-family: 'dashicons';
    font-weight: 300;
    font-size: 15px;
    line-height: 17px;
    width: 18px;
    height: 18px;
    color: white;
    text-align: center;
    border-radius: 6px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 20px 20px var(--cf7-accent);
}
.wpcf7 input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.wpcf7-checkbox label,
.wpcf7-acceptance label,
.wpcf7-radio label {
    display: flex;
    align-items: center;
    gap: 10px;
}
/* Custom Radio */
.wpcf7 input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    margin: 0;
    font: inherit;
    color: var(--cf7-accent);
    width: 18px;
    height: 18px;
    border: 2px solid var(--cf7-accent);
    border-radius: 100%;
    display: grid;
    place-content: center;
    cursor: pointer;
}
.wpcf7 input[type="radio"]::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 100%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--cf7-accent);
}
.wpcf7 input[type="radio"]:checked::before {
    transform: scale(1);
}
/* Other States */
.wpcf7 input:hover[type=color],
.wpcf7 input:hover[type=date],
.wpcf7 input:hover[type=datetime-local],
.wpcf7 input:hover[type=datetime],
.wpcf7 input:hover[type=email],
.wpcf7 input:hover[type=month],
.wpcf7 input:hover[type=number],
.wpcf7 input:hover[type=search],
.wpcf7 input:hover[type=tel],
.wpcf7 input:hover[type=text],
.wpcf7 input:hover[type=time],
.wpcf7 input:hover[type=url],
.wpcf7 input:hover[type=week],
.wpcf7 input:hover[type=file]::file-selector-button,
.wpcf7 textarea:hover,
.wpcf7 select:hover
{
    border: 1px solid var(--cf7-input-border-hover);
    outline: none;
    background-color: #ffffff;
    font-size: var(--cf7-font-size);
}
.wpcf7 input:focus[type=color],
.wpcf7 input:focus[type=date],
.wpcf7 input:focus[type=datetime-local],
.wpcf7 input:focus[type=datetime],
.wpcf7 input:focus[type=email],
.wpcf7 input:focus[type=month],
.wpcf7 input:focus[type=number],
.wpcf7 input:focus[type=search],
.wpcf7 input:focus[type=tel],
.wpcf7 input:focus[type=text],
.wpcf7 input:focus[type=time],
.wpcf7 input:focus[type=url],
.wpcf7 input:focus[type=week],
.wpcf7 input:focus[type="checkbox"],
.wpcf7 textarea:focus,
.wpcf7 select:focus,
.wpcf7 a:focus
{
    border: 1px solid var(--cf7-accent-outline); /*#92ACC7;*/
    outline:none;
    box-shadow: 0 0 0 3px var(--cf7-accent-outline);
    background-color: #ffffff;
}
/* Invalid Fields */
.wpcf7-not-valid-tip {
    color: var(--cf7-warning) !important;
    font-size: var(--cf7-font-size) !important;
    font-weight: var(--cf7-font-weight) !important;
}
.wpcf7-not-valid:not(input[type=file]):not(span){
    border-color: #FFBAB6 !important;
    background-color: #FFFAFA !important;
}
.wpcf7 input:disabled[type=submit],
.wpcf7 input:disabled[type=submit]:hover
{
    color: #ffffff;
    background-color: var(--cf7-warning);
	background-image: none;
    border:0;
    cursor: not-allowed;
}
/* Response Messages */
.wpcf7 form.init .wpcf7-response-output {
    display: none;
}
.wpcf7 form .wpcf7-response-output { /* Default */
    margin: 15px 0 !important;
    padding: 10px 20px !important;
    border: 0 !important;
    border-radius: 6px !important;
}
.wpcf7 form.sent .wpcf7-response-output { /* Success */
    background-color: var(--cf7-success-bg) !important;
    color: var(--cf7-success) !important;
    border: 0 !important;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{ /* Failed */
    background-color: var(--cf7-warning-bg) !important;
    color: var(--cf7-warning) !important;
    border: 0 !important;
}

