/*
	Theme Name: SAE
	Theme URI: https://saesolucionesintegrales.com/
	Description: Theme realizado para SAE
	Author: Kilómetro88
	Author URI: http://kilometro88.com
	Version: 1.0.0
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html	
	Tags: HTML5, CSS3, Flex Box, Landing Page, Scrolling, FX Smooth
	Text Domain: km88
*/

html {
	box-sizing: border-box;
	font-size: 62.5%;
	/* 10px = 1 rem */
}

@font-face {
    font-family: "GothamLight";
    src: url('fonts/Gotham-Light.otf') format('truetype');
}

@font-face {
    font-family: "GothamBook";
    src: url('fonts/Gotham-Book.otf') format('truetype');
}

@font-face {
    font-family: "GothamBold";
    src: url('fonts/Gotham-Bold.otf') format('truetype');
}

body {
	font-family: "GothamLight";
	font-size: 16px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

/* placeholder */

::-webkit-input-placeholder {
	color: #007bc2;
}

:-moz-placeholder {
	/* Firefox 18- */
	color: #007bc2;
}

::-moz-placeholder {
	/* Firefox 19+ */
	color: #007bc2;
}

:-ms-input-placeholder {
	color: #007bc2;
}

:focus::-webkit-input-placeholder {
	color: transparent;
}

a {
	text-decoration: none;
}

ul {
	padding: 0;
}

li {
	list-style: none;
}

h1,
h2,
h3,
h4,
h5 {
	font-family: "GothamBold";
	margin: 0;
	padding: 0;
}

p {
	font-family: "GothamLight";
	margin: 0 0 10px;
}

b,
strong {
	font-family: "GothamBold";
}

.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4 {
    font-family: "GothamBold" !important;
	margin: 0;
	padding: 0;
}

.elementor h5 {
	font-family: "GothamBook";
	margin: 0;
	padding: 0;
}

.elementor p {
    font-family: "GothamLight" !important;
}

/* MARK */
span.elementor-icon-list-text {
	font-family: "GothamBold" !important;
}

.textoSubrayado h1,
.textoSubrayado li {
	background-color: #ffff61;;
	color: black;
	padding: 2px 4px !important;
	width: fit-content;
}

.elementor-widget-image a {
    display: block !important;
}

.columnas {
	display: flex;
	justify-content: space-between;
}

.columna90 {
	width: calc(90% - 20px);
}

.columna80 {
	width: calc(80% - 20px);
}

.columna70 {
	width: calc(70% - 20px);
}

.columna60 {
	width: calc(60% - 20px);
}

.columna50 {
	width: calc(50% - 20px);
}

.columna40 {
	width: calc(40% - 20px);
}

.columna30 {
	width: calc(30% - 20px);
}

.columna20 {
	width: calc(20% - 20px);
}

.columna10 {
	width: calc(10% - 20px);
}

@media (max-width: 768px) {
	.columnas {
		flex-flow: column;
	}

	.columna70,
	.columna60,
	.columna50,
	.columna40,
	.columna30,
	.columna20 {
		width: 100%;
	}
}

.desk {
	display: block;
}

.mobile {
	display: none;
}

@media (max-width: 768px) {
	.mobile {
		display: block;
	}

	.desk {
		display: none !important;
	}
}

.header {
	background-color: #edece9;
}

/* Menú Fijo */
header.header {
    position: relative;
    width: 100%;
	padding: 20px 0;
}

.colHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo {
	width: 190px;
	height: auto;
}

.logo img{
	width: 100%;
	height: auto;
}

.contMenus {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: flex-end;
}

@media (max-width: 768px) {
	header.header {
		padding: 30px 0;
		height: 60px;
	}

	.colHeader {
		position: relative;
		flex-flow: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		position: relative;
		width: 50%;
	}

	.contMenus {
		position: absolute;
		align-items: center;
		width: 55px;
		right: 10px
	}

	.redes-sociales {
		width: auto;
	}

	.sociales .menu {
		display: flex;
		justify-content: center;
	}
}

/* Estilos generales */

.btnMenuWa {
	width: 30px;
}

.btnMenuWa img {
	width: 100%;
	height: auto;
}

ul#menu-menu-principal {
    display: flex;
    justify-content: center;
	align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.sub-menu {
    position: absolute;
    display: none;
	flex-wrap: wrap;
    left: 0;
    width: 100%;
    background-color: #f5f5f5;
    padding: 20px 30px 20px;
    z-index: 1;
	margin-top: 20px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

/* Cuando el ítem principal tiene hover, muestra el submenú */
li.menu-item:hover > .sub-menu {
    display: flex; /* Muestra SubMenú */
}

li.menu-item-type-taxonomy,
.sub-menu li.menu-item-type-custom {
	width: calc((100% - 10px) / 5);
}

ul.sub-menu.primer-nivel li {
	width: 100%;
	margin-bottom: 5px;
	letter-spacing: .2px;
}

ul.sub-menu.primer-nivel li a:hover {
	color: #454545;
}

.main-menu li a {
	position: relative;
	font-family: "GothamBold";
	color: #4c4c4c;
	margin: 0 25px;
}

.main-menu li a:hover {
    color: #007cc3;
}

/* Estilos para los enlaces del menú principal */
.sub-menu li a {
	font-family: "GothamBold";
	font-size: 17px !important;
    color: #454545;
}

/* Estilos para los submenús de primer nivel */
ul.sub-menu.primer-nivel {
    position: relative;
    display: flex;
    flex-flow: column;
    height: auto;
    padding: 10px 0;
    margin: 0 auto 20px;
	box-shadow: none;
}

/* Estilo para los enlaces dentro del submenú */
ul.primer-nivel li a {
	font-family: "GothamBold";
    color: #454545;
}

/* MOBILE */
/* Menú Mobile */
.slicknav_menu {
	display:none;
}

nav#menu {
	display: none;
}

@media (max-width: 768px) {
	nav#menu,
	.menuPrincipal {
		display: none;
	}

	.slicknav_menu {
		position: absolute;
		display:block;
		top: 0;
		z-index: 9999;
	}

	.slicknav_menu .slicknav_menutxt {
		display: none;
	}

	.slicknav_btn {
		position: absolute;
		padding: 0;
		margin: 17px 10px 10px;
		background-color: transparent;
	}

	.slicknav_menu .slicknav_icon {
		margin: 0;
	}

	.slicknav_menu .slicknav_icon-bar {
		background-color: #000;
	}

	.slicknav_menu {
		font-size: 22px;
		background-color: transparent;
		width: 100%;
	}

	ul.sub-menu {
		position: relative;
	}

	li.menu-item:hover > .sub-menu {
		display: block;
		padding: 10px 10px 10px 0;
		margin: 10px 0 10px 5px;
	}

	li.menu-item-type-taxonomy, .sub-menu li.menu-item-type-custom {
		width: 100%;
	}

	.slicknav_nav {
		position: absolute;
		background-color: #f5f5f5;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
		width: 100%;
		padding: 20px 0;
		top: 60px;
		left: 0;
		z-index: 9999;
	}

	.slicknav_nav ul {
		margin: 0;
		padding-right: 10px;
	}

	.sub-menu li a {
		font-family: "GothamBold";
		font-size: 17px !important;
		color: #454545;
	}

	.slicknav_nav a,
	.sub-menu li a {
		font-size: 14px !important;
		color: #454545;
	}

	li.menu-item-object-category a {
		color: #454545;
	}

	li.menu-item-type-taxonomy a {
        font-family: "GothamLight";
		font-size: 15px !important;
		color: #222222;
    }

	.slicknav_nav .slicknav_item a, .slicknav_nav .slicknav_parent-link a {
        color: #454545;
    }

	li.subtituloPpal a {
		font-family: "GothamBold";
		font-size: 14px !important;
		color: #454545;
	}

	.slicknav_nav li.btnMenuWa {
		display: none;
	}
}

@media (max-width: 768px) {
	.ir-arriba {
		bottom: 20px;
		z-index: 9999;
	}
}

/* Redes Solciales */

.redes-sociales {
	width: 100px;
}

ul#menu-menu-social {
	margin: 0;
}

.sociales .menu {
	display: flex;
	justify-content: flex-end;
}

.sr-text {
	display: none;
}

.redes-sociales ul li a {
	margin: 0;
}

.redes-sociales ul li a:before {
	font-family: 'FontAwesome';
	content: '\f08e';
	font-size: 20px;
	color: #fff;
	display: inline-block;
	vertical-align: top;
	-webkit-font-smoothing: antialiased;
}

.redes-sociales ul li {
	margin-right: 20px;
}

.redes-sociales ul li:last-child {
    margin-right: 0;
}

.redes-sociales ul li a[href*="facebook.com"]::before {
	content: '\f09a';
}

.redes-sociales ul li a[href*="twitter.com"]::before {
	content: '\f099';
}

.redes-sociales ul li a[href*="instagram.com"]::before {
	content: '\f16d';
}

.redes-sociales ul li a[href*="youtube.com"]::before {
	content: '\f431';
}

.redes-sociales ul li a[href*="linkedin.com"]::before {
	content: '\f0e1';
}

.redes-sociales ul li a[href*="mailto:"]::before {
	content: '\f0e0';
	font-weight: 900;
}

@media (max-width: 768px) {
	.redes-sociales {
		width: auto;
	}

	.sociales .menu {
		display: flex;
		justify-content: center;
	}
}

/* Slider */

.bx-wrapper{
	border: none;
	margin-bottom: 0px;
}

.bx-wrapper .imagenDestacada {
	width: 100% !important;
}

.bx-viewport {
    height: auto !important;
}

.bx-wrapper img {
	width: 100% !important;
	height: auto;
}

.contItemSlider {
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.contItemSlider .contenedor {
	position: absolute;
}

.tituloSlider {
	display: flex;
	flex-flow: column;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.info-slider h1 {
	font-size: 40px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background-color: rgba(0, 0, 0, .4);
	padding: 20px;
}

/* Coulta los dots del slide */
.bx-wrapper .bx-pager {
	display: none;
}

/* Estilos Generales */
.contenedor {
	max-width: 1180px;
	width: 100%;
	margin: 0 auto;
}

.contenedorEntradas {
	max-width: 1145px;
	width: 100%;
	margin: 0 auto;
}

.contenido-entrada {
    background-color: #fff;
    padding: 10px;
	border-radius: 10px;
}

.contenedorChico {
	position: relative;
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
}

@media (max-width: 768px) {
	.contenidoPaginas {
		margin-top: 60px;
	}
}

.paginacion {
	text-align: center;
	margin: 4px 0;
	font-size: 14px;
}

.paginacion a {
	color: #fff;
	background-color: #454545;
	padding: 8px 7px;
	border-radius: 4px;
	margin: 0 4px;
}

.paginacion .current {
	color: #fff;
	background-color: #454545;
	padding: 8px 7px;
	border-radius: 4px;
}

.paginacion a.prev,
.paginacion a.next {
	padding: 8px 7px;
	border-radius: 4px;
}

/* Boton Subir */
.ir-arriba {
	display: none;
	padding: 20px;
	background-color: #454545;
	font-size: 20px;
	color: #fff;
	cursor: pointer;
	position: fixed;
	bottom: 120px;
	right: 20px;
	z-index: 1;
}

/* Titulo Grande */
.headerTitulo {
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: 100%;
	height: 100px;
	background-color: #717075;
	margin-bottom: 50px;
}

.tituloPaginas h1 {
	font-family: "GothamLight";
	color: #F3F3F3;
	font-size: 35px;
	font-weight: 600;
	text-transform: uppercase;
}

.headerTitulo img {
	width: 100%;
	height: auto;
}

.nv-overlay {
	position: absolute;
	background: #454545;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	opacity: .7;
}

@media (max-width: 768px) {
	.headerTitulo {
		height: 50px;
		padding: 0 20px;
	}
	
	.tituloPaginas h1 {
		font-size: 20px;
	}
}

/* Testimoniales */
.eael-testimonial-text {
	height: 220px !important;
	border-bottom: 1px solid !important;
}

/* WIDGETS */
.widget-lateral {
	background-color: #fff;
	padding: 1px;
	width: 100%;
}

.widget-lateral li {
	margin-bottom: 1px;
}

.widget-lateral li a {
	color: var(--colorGris);
}

.widget-lateral li a:hover {
	color: var(--colorPrincipal);
}

.widget-lateral h2 {
	font-size: 2px;
	text-align: center;
	background-color: #007bc2;
	color: #fff;
	text-transform: uppercase;
}

.bucadorProductos {
	position: relative;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: -20px 0 80px;
}

.bucadorProductos h3 {
	margin-bottom: 5px;
}

form#searchform {
	position: relative;
}

input#s {
	font-family: "GothamLight";
	position: relative;
	border: 1px solid #FF151F;
	border-radius: 5px;
	background-color: transparent;
	padding: 10px 20px;
	width: 400px;
	cursor: pointer;
}

input#searchsubmit {
	position: relative;
	width: 20px;
	height: 20px;
	outline: none;
	border: none;
	text-indent: -9999px;
	background-image: url(../theme-policemento/imagenes/lupa-azul.png);
    background-size: 14px;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: transparent;
	cursor: pointer;
	margin-left: -25px;
}

@media (max-width: 768px) {
	.bucadorProductos {
		margin-bottom: 5px;
		padding: 0 20px;
	}

	.bucadorProductos form#searchform {
		width: 100%;
	}

	.bucadorProductos input#s {
		width: 100%;
	}

	input#searchsubmit {
		background-image: none;
	}
}

/* PORTFOLIO */
.entradas-grilla {
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
}

.entradas-grilla .entradas {
    width: calc(100% / 3);
    padding: 0 20px;
    margin-bottom: 40px;
}

.entradas-grilla .entradas .imagen-destacada img{
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.entradas-grilla .entradas a {
	color: #000;
}

.titulo-entrada {
	margin: 10px 0 0;
}

.titulo-entrada h1 {
	font-size: 20px;
	color: #454545;
}

.extracto-entrada p {
	font-size: 14px;
	margin: 5px 0 0;
}

.btnVerMas {
	border: 1px solid #454545;
	width: fit-content;
	border-radius: 5px;
	margin-top: 10px;
}

.btnVerMas p {
	font-family: "GothamBold";
	color: #454545;
	padding: 7px 20px;
	margin: 0;
	transition: all .2s;
}

.btnVerMas p:hover {
	background-color: #454545;
	color: #fff;
}

@media (max-width: 768px) {
	.entradas-grilla {
		justify-content: space-between;
		padding: 0 20px;
	}

	.entradas-grilla .entradas {
		width: calc(50% - 10px);
		padding: 0;
		margin-bottom: 20px;
	}

	.contenido-entrada {
		position: relative;
		height: 270px;
	}

	.titulo-entrada h1 {
		font-size: 15px;
	}

	.extracto-entrada p {
		font-size: 13px;
	}

	.btnVerMas {
		position: absolute;
		bottom: 10px;
	}

	.btnVerMas p {
		font-size: 14px;
		padding: 5px 10px;
	}
}

.categoria ul.post-categories {
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
}

.categoria ul.post-categories{
	margin-top: 15px;
}

.categoria ul.post-categories li{
	list-style: none;
	margin: 0 0 14px;
}

.categoria ul.post-categories li a {
	color: #fff;
	font-size: 14px;
	background-color: #000;
	padding: 4px 7px;
	margin-right: 5px;
	border-radius: 4px
}

/* GALERIA nombre fotos */
.elementor-slideshow__title {
    display: none;
}

/* CONTACTO */

/* Form Single */
.fomularioEntrada {
	/* width: 800px; */
	max-width: 100%;
	margin: 0 auto 50px;
	background-color: #72717652;
	padding: 20px 20px 10px;
	border-radius: 20px;
}

.tituloForm h1 {
	text-align: center;
	color: #454545;
	margin-bottom: 40px;
}

.colFormx2 {
	display: flex;
	justify-content: space-between;
}

.formLabelInput {
	display: flex;
	flex-flow: column;
	margin-bottom: 20px;
}

.form50 {
	width: calc(50% - 10px);
}

.formProducto input#your-prod[readonly] {
    background-color: #f0f0f0;  /* Color de fondo gris claro */
    border: 1px solid #ccc;     /* Borde gris */
    color: #666666;                /* Color del texto gris */
    cursor: not-allowed;        /* Cambia el cursor a uno de "no permitido" */
    padding: 8px;               /* Añadir algo de relleno */
}

.supObli {
	color: #454545 !important;
}

.formLabelInput input,
.formLabelInput textarea {
	font-family: "GothamLight";
    padding: 5px;
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-radius: 3px;
	margin-top: 5px;
}

.formLabelInput textarea#mensaje {
    height: 150px;
    resize: vertical;  /* Deja que el usuario redimensione solo verticalmente */
}

.formLabelInput .btnEnviar {
	width: 100%;
}

.fomularioEntrada input[type="submit"] {
	font-family: "GothamBold";
    font-size: 18px;
    background-color: #454545;
    border: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
	width: fit-content;
}

.error-message {
    font-size: 14px;
    color: red;
    margin-top: 5px;
    display: block;
}

/* CONTACT FORM */
.wpcf7-form p {
	font-family: var(--fuentePrincipal) !important;
	margin: 0;
}

.wpcf7-form input,
.wpcf7-form textarea {
	width: 100%;
}

.wpcf7-form textarea {
	height: 150px;
    resize: vertical;
}

.wpcf7-form input[type="submit"] {
    font-family: "GothamBold";
    font-size: 18px;
    background-color: #454545;
    border: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    width: fit-content;
}

/* FOOTER */
footer {
	position: relative;
	padding: 50px 0;
	background-color: #454545;
}

footer .columnas {
	align-items: center;
}

img.logoFooter {
	width: 200px;
	margin: 0 0 50px;
}

footer .columnasFooter {
	display: flex;
	justify-content: space-between;
	width: 470px;
}

footer p,
footer a {
	font-family: "GothamLight";
	font-size: 18px;
	color: #fff;
	line-height: 1;
}

footer a {
	line-height: 1.7;
}

footer a:hover {
	color: #ffff61;
}

footer .btnMenuWa {
	position: fixed;
	right: 20px;
	bottom: 10px;
	width: 60px;
	z-index: 999;
}

.copyright {
	position: absolute;
	font-size: 12px;
	text-align: center;
	width: 100%;
	background-color: #454545;
	padding: 10px 0;
	margin: 0;
	left: 0;
	bottom: 0;
}

.copyright a {
	font-size: 12px;
}

.copyright a:hover {
	color: #454545;
}

@media (max-width: 768px) {
	footer {
		padding: 50px 0;
	}

	footer .columnasFooter {
		flex-flow: column;
		text-align: center;
		width: 100%;
	}
	
	footer .columnasx3 {
		width: 100%;
	}

	img.logoFooter {
		display: block;
		width: 50%;
		margin: 0 auto 30px
	}
}

/* CONTACT FORM */
/* Fondo general del formulario */
.wpcf7-form {
  background: #aaa;
  padding: 30px;
  border-radius: 40px;
  max-width: 700px;
  margin: 40px auto;
}

/* Estilos generales para inputs y textarea */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  width: 100%;
  padding: 14px 20px;
  font-size: 16px;
  border: none;
  border-radius: 25px;
  margin-bottom: 20px;
  box-sizing: border-box;
  font-family: inherit;
}

/* Área de comentarios más grande */
.wpcf7-form textarea {
  height: 150px;
  resize: none;
  border-radius: 25px;
  color: #aaa;
}

/* Botón de enviar */
.wpcf7-form input[type="submit"] {
  background: #fff947;
  color: #1a1a1a;
  font-weight: bold;
  padding: 10px 30px;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: block;
  margin: 0 auto;
}

.wpcf7-form input[type="submit"]:hover {
  background: #ffef36;
}

	