/*
Theme Name: Divi 5 Child
Description: Child theme for Divi 5
Version: 1.0.0
Author: 
Author URI: 
Theme URI: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: Divi
*/

/* ========== Custom CSS from Generator ========== */
/*******************************************
**VARIABLES*******************************
*******************************************/
/*
 * :root {
	--et_global_heading_font: 'Playfair Display';
  	--et_global_body_font: 'Lato';
	--gvid-edcb6nkh2e: 'Viaoda Libre';
	--gcid-primary-color: #000000;
	--gcid-secondary-color: #dea5ac;
	--gcid-heading-color: #666666;
	--gcid-body-color: #666666;
	--gcid-link-color: #a06465;
	--gcid-8k9okl3giy: #ffffff;
}
*/

/***********************************************************************************
**GENERIC CLASSES*******************************************************************
***********************************************************************************/
*:focus-visible:not(.wpcf7-form-control:not(.et_pb_button)){
  outline: 3px solid var(--gcid-link-color); /* Color de alta visibilidad */
  outline-offset: 6px;       /* Espacio entre el elemento y el borde del foco */
  border-radius:10px;           
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

sup{
	position:absulute;bottom:.75em;
	line-height:1em;
	font-size:calc(1em / 1.5);
}

.sobre-imagen :is(p, h1, h2, h3) {
  background-color:rgba(255,255,255,.35);
  display:inline;
  padding-bottom:0;
}
.sobre-imagen :is(h1) {
    background-color:rgba(255,255,255,.75);
    padding:.25em;
}
.sobre-imagen > .et_pb_heading:first-child{
    color:black;
    z-index:100;
}

/***********************************************************************************
**PLUGINS***************************************************************************
***********************************************************************************/
/**COMPLIANZ**/
#cmplz-document{
	max-width: 100%!important;margin-bottom:60px;
}

/**CONTACT 7*/
.et_pb_contact_form_7 input,
.et_pb_contact_form_7 textarea{
    background-color:#f3f3f3!important;
    border-radius:6px!important;
    color:black!important;
}

/* Mejora el foco para navegación por teclado */
.et_pb_contact_form_7 input:focus, 
.et_pb_contact_form_7 textarea:focus {
    border-bottom: 2px solid var(--gcid-primary-color)!important; /* Color corporativo llamativo */
    background-color:#eee2e3!important;
}

/* Espaciado para que no se amontone el texto */
.wpcf7 .form-group{
    margin-bottom: 20px;
}
.wpcf7 .form-group p{
    margin:0;
    padding:0;
    line-height:.75em;
}
.wpcf7 .form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 0px;
}
.wpcf7 fieldset {
    border: none;
    padding: 0;
    margin: 20px 0;
}
.wpcf7 legend {
    font-weight: bold;
    margin-bottom: 10px;
}
/** Error**/
.wpcf7 .obligatorio{
    color:red;
}
.wpcf7 label:hover .obligatorio:after{
    content:'campo obligatorio';
    background-color:red;
    color:white;
    display:inline-block;
    font-size:.7em;
    padding:.3em .5em;
    border-radius:6px;
    position:absolute;margin-left:.5em;margin-top:-5px;
}
.wpcf7-not-valid:not(:focus){
    border-bottom:2px solid red!important;
}
.wpcf7-not-valid-tip{
    font-size:.8rem;
}
.wpcf7-submit.et_pb_button{
    border:2px solid black;
    border-radius:50px;
    background-color:black;
    color:white!important;
    font-size:1em;
} 
.wpcf7-submit.et_pb_button:hover{
    border:2px solid var(--gcid-secondary-color);
    background-color:var(--gcid-secondary-color);
    color:black!important;
}  

/**Response**/
.wpcf7 form .wpcf7-response-output {
    color:black;
	margin: 2em 0 1em;
	padding: 0.5em 1em;
    border-width:0 0 0 4px;
    background-color:rgba(0, 160, 210,.25) /* Blue */
}
.wpcf7 form.sent .wpcf7-response-output {
	background-color:rgba(70, 180, 80,.25); /* Green */    
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	background-color:rgba(220, 50, 50,.25);/* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
    background-color:rgba(245, 110, 40,.25);/* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background-color:rgba(255, 185, 0,.25);/* Yellow */
}

/**Google Captcha**/
.grecaptcha-badge { visibility: hidden;}



/***********************************************************************************
**HEADER****************************************************************************
***********************************************************************************/

/**TOP-BAR***********************************************/

/**MENU-BAR***********************************************/
.et_pb_menu_0_tb_header.et_pb_menu ul.sub-menu li a{text-transform: none!important;}
/***********************************************************************************
**FOOTER****************************************************************************
***********************************************************************************/
/**FOOTER-BAR********************************************/
/**BOTTOM-BAR********************************************/
footer .et_pb_text a:hover{text-decoration:underline;}
footer ul li{color:rgba(0,0,0,.2);}
footer ul li a{color:var(--gcid-secondary-color);}
footer ul li a:hover{color:var(--gcid-link-color);}


/***********************************************************************************
**CONTENT***************************************************************************
***********************************************************************************/
/**Imágenes con enlace**/
.masonry-gallery .et_pb_gallery_image.portrait a .et_overlay{
    display:none;
}
.masonry-gallery .et_pb_gallery_image.portrait a img,
.servicio-card .et_pb_image img{
    transition: all .25s ease-out;
}
.masonry-gallery .et_pb_gallery_image.portrait,
.servicio-card  .et_pb_image{
    overflow:hidden;
}
.masonry-gallery .et_pb_gallery_image.portrait a:hover img,
.servicio-card:hover .et_pb_image img{   
    transform: scale(120%);    
}

/**Galería masonry**/
.masonry-gallery.et_pb_gallery .et_pb_gallery_items {
  display: block;
  column-count: 3;
  column-gap: 5px;
}
.masonry-gallery.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item {
  width: 100%;
  margin: 0px 0px 5px 0 !important;
  float: none !important;
}

/**Servicios Cards**/
.servicio-card  .et_pb_link p{
    background-color:rgba(255,255,255,.35)!important;
    display: inline;
}
.servicio-card:hover  .et_pb_link p{
    background-color:rgba(255,255,255,0)!important;
    display: inline;
}
/**HOME PAGE*********************************************/

/**OUR COMPANY*******************************************/

/**OUR SERVICES/*****************************************/
/*
.cobertura-card{
    box-shadow:0 0 15px -5px #dedede;
    padding:.25em 1em 1em;
    border-radius:10px;
}
.cobertura-card:hover{
    box-shadow:0 10px 55px -15px #dedede;
}*/
.cobertura-card .et_pb_blurb_content.et_flex_module{
    column-gap:0;
    row-gap: 10px;
    text-align: left;    
}
.cobertura-card .et_pb_blurb_content .et_pb_main_blurb_image{overflow:hidden;
}
.cobertura-card .et_pb_blurb_content .et_pb_main_blurb_image .et_pb_image_wrap img{
    opacity: .75;
    position:0;
    transform: translate(0px,40%);
    transition: all 0.5s ease-out;
}
.cobertura-card:hover .et_pb_blurb_content .et_pb_main_blurb_image .et_pb_image_wrap img{
    opacity: 1;
    position:0;
    transform: translate(0px,10%);
}

/**CONTACT***Y*******************************************/

/**SEARCH RESULTS***************************************/





/**Responsive Divi Theme Breakpoints & Media queries********************/
/**Responsive Divi Theme Breakpoints & Media queries********************/
/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {

}
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {

}
/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px){

}

/*** Responsive Styles Tablet And Below ***/
@media all and (min-width: 981px) {
    .servicios-cards{
        padding-left:90px;
    }
    .servicio-card *{
        transition: all .5s ease-out;
    }

    .servicio-card .et_pb_image{
        background-color:#000;    
    }

    .servicio-card:hover .et_pb_image > .et_pb_image_wrap{
        opacity:.5;   
    }
    .servicio-card .et_pb_text{
        position:absolute;
        height:100%;
        display:flex;
        justify-content: center;
    }
    .servicio-card .et_pb_text > .et_pb_text_inner{
        padding:0 40px;
        margin-top:25%;
    }
    .servicio-card .et_pb_text > .et_pb_text_inner p{
        color:white;
        text-align: center;
        margin-top:10px;
    }
    .servicio-card .et_pb_text > .et_pb_text_inner p{
        opacity: 0;
    }
    .servicio-card:hover .et_pb_text > .et_pb_text_inner p{
        margin-top:0px;
        opacity:1;
    }

}
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
    .masonry-gallery.et_pb_gallery .et_pb_gallery_items {
      column-count: 2;
    }

}


/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {

}
/*** Responsive Styles Smartphone Only ***/
@media all and (min-width: 767px) {
    body:not(.et-fb) .servicios-cards .servicio-card:nth-child(2){
         margin-top:50px;
    }
    body:not(.et-fb) .servicios-cards .servicio-card:nth-child(3){
        margin-top:-40px;
    }
    .servicio-card:hover .et_pb_link p{
        color:var(--gcid-secondary-color);
    }

}
/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {

}
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {

}


