/* 
Theme Name: Kumo Theme
Theme URI: https://juice-studio.com
Author: Juice Studio
Author URI: https://juice-studio.com
Template: hello-elementor
Version: 1.0.1
Text Domain: kumo-theme
*/

/*
    Add your custom styles here
*/

.elementor-text-editor p:last-child{
	margin-bottom:0px;
}

strong{
	font-weight: 600;
}

.top-gradient {
    border: 8px solid;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-image-slice: 1;
    border-width: 4px;
    border-color: #073034;
}

/*Menu*/
#menu-principal {
	margin-bottom: -106px;	
}
#menu-principal .elementor-nav-menu--main .elementor-nav-menu a, #menu-principal .elementor-nav-menu--main .elementor-nav-menu a.highlighted, #menu-principal .elementor-nav-menu--main .elementor-nav-menu a:focus, #menu-principal .elementor-nav-menu--main .elementor-nav-menu a:hover {
    padding: 13px 6px;
}

/*Menú servicios*/
#menu-servicios-content {
	transition: all 0.3s ease 0s;
}
#menu-servicios-content .elementor-element{
    width: 100%;
}
#menu-servicios-content .elementor-widget-container::-webkit-scrollbar{
	display: none;
}
@media (max-width: 500px) {
	#menu-servicios .elementor-nav-menu--main .elementor-nav-menu a{

	}
	#menu-servicios .elementor-widget-container{
	    overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch!important;		
	}	
	#menu-servicios .elementor-nav-menu--main {
		width: 500px;	
	}
}

/*Iconos hexagonales*/
.hex-icon .elementor-icon-box-icon{
	background-color: #F2F2F2;
  	width: 80px;
 	height: calc( 80px * 1.1547 );
 	display: inline-block;
  	clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
}
.hex-icon-h .elementor-icon-box-icon{
	background-color: #FFFFFF;
  	width: 80px;
 	height: calc( 80px * 1.1547 );
 	display: inline-block;
	justify-content: center;
  	clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
}
@media (min-width: 768px) {
	.hex-icon-h .elementor-icon-box-content{
		padding-right: 20px;
	}
}
.hex-icon .elementor-icon-box-icon .elementor-icon, .hex-icon-h .elementor-icon-box-icon .elementor-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;	
}

/*Bloque cajas de producto*/
.product-box{
	box-shadow: 2px 2px 10px 0px rgba(0,0,0,0.1) !important;    
}
.product-box.elementor-element {
    border: 8px solid;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-image-slice: 1;
    border-width: 4px;
    border-color: #645dff;
}

/*Centro de datos*/
/*#map {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 780px !important;	
}
.mapboxgl-canvas{
	width: auto !important;
	height: 780px !important;	
}
#left-group {
    position: absolute;
    top: 40px;
    left: 40px;
    z-index: 1;
    width: 250px;
    color: #fff;
}
	.description{
		background: #000;
		padding: 15px;
		border-radius: 4px;
		font-size: 14px;	
		margin-bottom: 50px;
	}
	.description hr{
		width: 50px;
		border-top: 1px solid var(--e-global-color-accent ) !important;
		color: var(--e-global-color-accent ) !important;
		background: var(--e-global-color-accent );
		height: 2px;	
	}
	.description .title{
		font-size: 19px;
    	color: #fff;	
	}

#subtitles {
	background-color: white;
    border: 1px solid black;
    position: absolute;
    top: 120px;
    right: 10px;
    z-index: 1;
    border-radius: 3px;
	padding: 10px;
    min-width: 170px;
    font-size: 15px;
}
	#subtitles img{
		width: 14px;
		height: 14px;
	}
	#subtitles div{
		text-transform: uppercase;
		font-weight: 700;
	}
*/
/*Blog*/

.blog-grid article {
    border: 8px solid;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-image-slice: 1;
    border-width: 4px;
    border-color: #645dff;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}


/*Slider servicios*/
body:not(.elementor-editor-active) .slider-container {
	position: relative;
	overflow: hidden;
	padding: 0;
	margin:0;
}


.slider-container .product-box {
	padding: 20px;
    border-image-slice: 0;
    border-width: 0;
	border: 0;
	box-shadow: none !important;
}
.slider-container .product-box > .elementor-element{
	height: 100%;
	box-shadow: 2px 2px 10px 0px rgba(0,0,0,0.1) !important;   
    border: 8px solid;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-image-slice: 1;
    border-width: 4px;
    border-color: #645dff;
}

body:not(.elementor-editor-active) .slider-container .slider-wrapper {
	display: flex;
	transition: transform 0.3s ease;
	touch-action: pan-y;
}

body:not(.elementor-editor-active) .slider-container .slider-wrapper .e-con-inner {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
}

body:not(.elementor-editor-active) .slider-container .product-box {
	  flex: 0 0 calc(100% / 3);
	  box-sizing: border-box;
	  padding: 10px;
	  text-align: center;
}

@media (max-width: 1023px) {
  body:not(.elementor-editor-active) .slider-container .product-box {
	  flex: 0 0 calc(100% / 2) !important;
  }
}

@media (max-width: 767px) {
  body:not(.elementor-editor-active) .slider-container .product-box {
	  flex: 0 0 100% !important;
  }
}

.navigation-content{
	top: 58%;
    position: absolute;
    z-index: 99;
    left: 0;	
}

.navigation-content .prev-arrow {
	position: absolute;
    left: -20px;
	cursor: pointer;
	font-size: 24px;
}
.navigation-content .next-arrow {
	position: absolute;
    right: -20px;
	cursor: pointer;
	font-size: 24px;
}

@media (max-width: 1023px) {
	.navigation-content .prev-arrow {
		left: 5px;
	}
	.navigation-content .next-arrow {
		right: 5px;
	}
}

@media (max-width: 767px) {
	body:not(.elementor-editor-active) .slider-container .product-box {
		flex: 0 0 100% !important;
	}
	.navigation-content{
		top: 50%;
	}
}

.navigation-content .slider-container .slider-controls {
	/*position: absolute;
	top: 150px;*/
	/*transform: translateY(-50%);*/
	padding: 10px;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	gap: 30px;
	align-items: center;
}

/*Formularios*/
.gform_wrapper.gravity-theme .gfield_label{
	font-weight: 600;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 1px solid #BCBEC0;
	border-radius: 0;
}

.gform_wrapper.gravity-theme .gfield-choice-input {
display: inline-block;
    margin-top: 0;
    top: 0;
    vertical-align: middle;
    height: 20px;
    width: 20px;
    margin-right: 14px;
    -moz-appearance: none;
    -webkit-appearance: none;
    -o-appearance: none;
    outline: none;
    content: none;
}
	.gfield-choice-input:before {
		font-family: "Font Awesome 5 Free";
		content: "\f00c";
		font-size: 13px;
		line-height: 20px;
		color: transparent;
		border: 1px solid #BCBEC0;
		background: #ffffff;
		display: flex;
		width: 20px;
		height: 20px;
		align-items: center;
		justify-content: center;
	}
		.gfield-choice-input:checked:before {
			color: var(--e-global-color-5664b9b) !important;
		}

.gform_wrapper.gravity-theme .gform_footer, .gform_wrapper.gravity-theme .gform_page_footer {
    margin: 6px 0 0;
    padding: 24px 0 10px;
}

.gform_required_legend{
	display: none;
}

.gform_wrapper.gravity-theme .gfield_required {
    color: var(--e-global-color-390bf2f);
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    background: var(--e-global-color-390bf2f);
    border: 1.5px solid var(--e-global-color-390bf2f);
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 8px;
    margin-top: 8px;
    padding: 16px 16px 16px 16px;
    position: relative;
    width: 100%;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
}

.gform_wrapper.gravity-theme .description, .gform_wrapper.gravity-theme .gfield_description, .gform_wrapper.gravity-theme .gsection_description, .gform_wrapper.gravity-theme .instruction {
    clear: both;
    font-family: inherit;
    font-size: 16px;
    letter-spacing: normal;
    line-height: inherit;
    padding-top: 0px;
    width: 100%;
}

.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
    border: 0;
    margin-top: 8px;
    padding: 0;
    color: #FF3300 !important;
    background: transparent;
}
	.gform_wrapper.gravity-theme .gfield_validation_message:before, .gform_wrapper.gravity-theme .validation_message:before {
		font-family: "Font Awesome 5 Free";
		content: "\f00d";
		font-size: 16px;
		line-height: 16px;
		color: #FF3300;
		background: #ffffff;
		margin-right: 12px;
	}
.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: 1px solid #FF3300;
}

.gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, .gform_wrapper.gravity-theme .gfield_error label, .gform_wrapper.gravity-theme .gfield_error legend, .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message, .gform_wrapper.gravity-theme [aria-invalid=true]+label, .gform_wrapper.gravity-theme label+[aria-invalid=true] {
    color: inherit;
}

/* Desactivar imagen destacada en listado de ofertas de empleo */
.awsm-job-listings .awsm-job-featured-image {
	display: none;
}

/* Imagen destacada por defecto en detalle de oferta de empleo */
.job-cover-image {
    background-size: cover;
	background-position: center;
    background-image: url(/wp-content/uploads/2023/08/Hero-Página-de-producto-Ciberseguridad-01.png);
}

.blog-cover-image {
    background-size: cover;
    background-position: center;
}

/* Evitar el movimiento de la posición del menú hasta cargar el icono del submenú */
li.menu-item-has-children > :not(.has-submenu):after {
    content: '';
    width: 20px;
    position: relative;
}

html {
	background-color: transparent;
    background-image: linear-gradient(270deg, var(--e-global-color-5d6f810) 0%, #370046 100%);
}

.ancr-group.ancr-pos-top {
	background-color: transparent;
    background-image: linear-gradient(270deg, var(--e-global-color-5d6f810) 0%, #370046 100%);
}

.elementor-sub-item:hover:has(.link-sostenibilidad) {
	color: #04a238 !important;
}

.elementor-icon-list-item:hover:has(.link-sostenibilidad) .elementor-icon-list-text {
	color: #04a238 !important;
}


/*Para que los marcos en las imagenes esten "fixed*/
.image-frame {
  position: relative; /* necesario para que :before se posicione respecto al contenedor */
  overflow: visible;  /* o hidden según tu intención */
}

.image-frame::before {
  content: "";
  position: absolute;
  inset: 0;                    /* top:0; right:0; bottom:0; left:0; */
  background-image: url("frame.svg");
  background-repeat: no-repeat !important;
  background-position: center center;
  background-size: 100% 100% !important; /* fuerza ancho y alto */
  pointer-events: none; /* no interfiere con clicks */
  display: block;
  z-index: 2; /* ajusta según tu stack */
}

.post-box .elementor-post__thumbnail{
	border-top: 4px solid #645dff;
}
