@font-face {
  font-family: 'Urbanist';
  src: url(../fonts/Urbanist/Urbanist-Regular.ttf);
}
@font-face {
  font-family: 'Urbanist-black';
  src: url(../fonts/Urbanist/Urbanist-Black.ttf);
}
:root{
  --colorPrincipal: #002E17;
  --colorSecundario: #01924B;
  --colorGrisClaro: #ffffff;
  --colorPrincipalTexto: #000;
}
*{
  font-family: 'Urbanist';
}
html{
  overflow-x: hidden;
}
.text-color{
  color: var(--colorPrincipal);
}
.uk-link, a {
  color: inherit;
}
.uk-link:hover, a:hover {
  color: var(--colorPrincipal);
}
.uk-spinner.uk-icon svg circle {
  stroke: var(--colorPrincipal) !important;
}
.tw-heading h2 {
  font-size: 38px;
}
.top-header{
  display: none;
}
/* header */
.header-new{
  width: 100%;
  z-index: 999;
  padding: .5rem 0;
    background: #fff;
    border-bottom: 1px solid #ddd;
}
.grid-header{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.item-header-mobile{
  display: none;
}
.img-logo{
  height: 50px;
  width: auto;
  object-fit: contain;
}
.tw-header.tw-header-bottom{
  border: 0;
}
.tw-topbar.uk-light {
  background: var(--colorGrisClaro);
}
.tw-topbar.uk-light a {
  color: var(--colorPrincipalTexto);
}
.tw-main-menu{
  gap: 1.6rem;
}
.tw-main-menu > li > a {
  font-size: 18px;
  padding-left: 0;
  padding-right: 0;
}
.tw-main-menu > li > a{
  color: #000;
}
.one-page-nav .tw-main-menu .uk-active a, .tw-header.tw-header-sidebar .tw-main-menu .sub-menu > li.uk-active > a{
  color: var(--colorPrincipal);
}
.tw-header.uk-sticky.uk-active.uk-dark {
  box-shadow: 0px 1px 5px #00000012;
}
.uk-navbar-toggle{
  font-size: 1.8rem;
  color: var(--colorPrincipal);
}

/* header */
.uk-card-primary.uk-card-body .uk-link:hover, .uk-card-primary.uk-card-body a:hover, .uk-card-primary>:not([class*=uk-card-media]) .uk-link:hover, .uk-card-primary>:not([class*=uk-card-media]) a:hover, .uk-card-secondary.uk-card-body .uk-link:hover, .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary>:not([class*=uk-card-media]) .uk-link:hover, .uk-card-secondary>:not([class*=uk-card-media]) a:hover, .uk-light .uk-link:hover, .uk-light a:hover, .uk-offcanvas-bar .uk-link:hover, .uk-offcanvas-bar a:hover, .uk-overlay-primary .uk-link:hover, .uk-overlay-primary a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link:hover, .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link:hover, .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-link:hover, .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover, .uk-tile-secondary:not(.uk-preserve-color) a:hover {
	color: #006800;
}
.tw-topbar.uk-light {
  background: #fff;
}
.tw-topbar.uk-light a {
  color: #000;
}
.tw-main-menu > li > a {
  font-size: 18px;
}

.one-page-nav .tw-main-menu .uk-active a, .tw-header.tw-header-sidebar .tw-main-menu .sub-menu > li.uk-active > a{
  color: #a4d5b1;
}
.tw-header > .uk-container, .tw-header .uk-navbar-container {
  background-color: var(--colorPrincipal);
}
.tw-header.uk-sticky.uk-active.uk-dark {
  box-shadow: 0px 1px 5px #00000012;
}
.tw-header, .uk-navbar-toggle {
  height: 90px;
}

.tw-mobile-modal {
  background-image: radial-gradient( circle farthest-corner at -1% 57.5%, rgba(19,170,82,1) 0%, rgba(0,102,43,1) 90% );
}
.tw-mobile-modal .uk-nav > li > a,.tw-mobile-modal .tw-socials a {
  color: #fff;
}
.site-name a img {
	height: 80px;
}
/* index */
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span{
  background-color: var(--colorPrincipal);
}
.tw-heading h1 {
  color: var(--colorPrincipal);
}
.tw-heading {
  color: #333;
}
.heading-title{
  color: var(--colorPrincipal);
  font-size: 38px;
}
.tw-carousel-shop .shop-item img {
  object-fit: cover;
  height: 220px;
}
.tw-onhover .ver-mas{
  background: var(--colorPrincipal);
  color: #fff;
  width: 100%;
  height: 40px;
  line-height: 40px;
  text-align: center;
  display: block;
  font-size: 16px;
  text-transform: none;
  letter-spacing: normal;
}
.uk-dark .tw-meta {
  color: #333;
}
.uk-light .tw-meta {
  color: #fff;
}
.tw-box > i{
  color: var(--colorPrincipal) !important;
}
.tw-portfolio .portfolio-media.tw-image-hover:before {
  background: rgba(19, 139, 57, 0.9);
  background: linear-gradient(176deg, rgba(19, 139, 57, 0.9) 0%, rgba(255, 255, 255, 0) 100%);
}
.tw-portfolio .portfolio-media .portfolio-title {
  font-size: 25px;
  font-weight: bold;
}
.tw-image-hover > img {
  object-fit: cover;
  height: 100%;
  max-height: 400px;
}
input[type="submit"] {
  border-radius: 2px;
}
.owl-theme .owl-nav [class*=owl-].owl-next {
  right: -35px;
}
.owl-theme .owl-nav [class*=owl-] {
  left: -35px;
}
@media (max-width:767px) {
  .tw-portfolio .portfolio-media.tw-image-hover:before{
    opacity: 1;
  }
  .tw-portfolio .portfolio-media .portfolio-content .portfolio-title span, .tw-portfolio .portfolio-media .portfolio-content .tw-meta span {
    transform: translateY(0%);
  }
  .tw-portfolio .uk-grid-collapse .portfolio-item {
    margin-bottom: 40px;
  }
  .tw-onhover .uk-position-bottom {
    opacity: 1;
    visibility: visible;
    transition: 0.3s all ease;
    bottom: 0;
  }
  .shop-item .uk-position-bottom {
    position: relative!important;
  }
}
/* catalogo */
.shop-item {
	border: 0;
	padding: 0;
}

.shop-content .shop-image-container{
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  margin-bottom: 16px;
}
.uk-section-shop .sidebar-area .widget-title {
	font-size: 1.2rem;
  background: transparent;
}
.botones {
	justify-content: flex-end;
}
.sidebar-area .widget-title span {
  background: transparent;
  color: var(--colorPrincipalTexto);
}
.shop-content .shop-title {
  color: var(--colorPrincipal);
  font-size: 20px;
}
.shop-content .shop-title:hover {
  color: #a4d5b1;
}
.shop-content .shop-category {
  font-size: 13px;
  background: #207d20;
  width: fit-content;
  padding: 0 5px;
	color: #fff;
}
.shop-content .shop-category:hover {
  background: #a4d5b1;
}
.uk-sticky-fixed {
  z-index: 1;
}
.tw-contact-form .tw-form-style-2 input[type="submit"], .tw-contact-form .tw-form-style-3 input[type="submit"], .tw-contact-form .tw-form-style-4 input[type="submit"]{
  background-color: var(--colorPrincipal);
  border-color: var(--colorPrincipal);
}

.tw-box > img {
  position: absolute;
  top: 10px;
  left: 0;
  margin-bottom: 0;
  display: inline-block;
  padding: 0 5px;
}
.tw-box img + h4 {
  margin-top: 0;
}
.banner-sec {

}
.banner-fullwidth {
	background-image: url(../img/banner-labco.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	width: 100vw;
	height: 450px;
}
@media (min-width:992px) {
	.btn_filter,
	.btn_apply,
	.btn_close_filter,
	#filtrador_btn {
		display: none;
	}
}
@media (max-width:991px) {
	.sidebar-responsive {
		position: fixed;
		width: 100vw;
		top: 0;
		left: 0;
		z-index: 10001;
		background: #fff;
		bottom: 0;
		padding: 30px 20px;
		transform: translateX(-100vw);
		transition: transform .2s ease-in-out 0s;
		overflow: auto;
    margin-top: 0!important;
	}

	.sidebar-responsive.show {
		transform: translateX(0vw);
		transition: transform .3s ease-in-out 0s;
	}
  button.btn_close_filter {
	position: absolute;
	top: 10px;
	right: 15px;
  }
}
/* producto */
.big-images .owl-item img {
  max-height: 400px;
  object-fit: contain;
}
.shop .shop-price {
	color:  var(--colorPrincipal);
}
.big-images.owl-carousel.owl-theme .owl-item, .thumbs.owl-carousel.owl-theme .owl-item {
  opacity: 1;
}
.btn-product-action{
  border-color: transparent;
  background: var(--colorPrincipal);
  color: #fff;
}
.uk-modal-dialog {
    background-color: #ffffff;
}

/* footer */
footer{
  background-color: var(--colorPrincipal);
}
.subtitle{
  font-size: 1.2rem;
}
.tw-heading.uk-text-center {
  max-width: unset;
  margin-left: auto;
  margin-right: auto;
}
.sidebar-area .widget ul li a{
  font-size: 1rem;
}
.tw-meta{
  font-size: 1rem;
  color: var(--colorPrincipal);
  text-align: center;
  line-height: 1.5;
  height: 96px;
}
/* Nosotros */

.grid-nosotros{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  margin-bottom: 6rem;
  gap: 2rem;
}

.head-text-nosotros{
  width: fit-content;
  font-size: .85rem;
  letter-spacing: 0.02rem;
  color: var(--colorSecundario);
  background: #f8f9fa;
  border-radius: 8px;
  padding: .4rem 1rem;
  margin-bottom: 1rem;
}
.title-nosotros{
  font-size: 2.375rem;
  font-weight: 700;
  letter-spacing: 0.02rem;
  color: var(--colorPrincipal);
  margin-bottom: 2rem;
}
.text-nosotros{
  font-size: 1rem;
  letter-spacing: 0.02rem;
  margin-bottom: 1rem;
  line-height: 1.8;
  color: var(--colorPrincipalTexto);
}
.wrapper-img-nosotros{
  height: 480px;
}
.img-nosotros{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.card-nosotros {
  display: flex;
  align-items: center;
  column-gap: 1rem;
  border-radius: 8px;
  padding: 1rem;
}
.title-card{
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 0;
}
.img-card {
  height: 48px;
  width: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
/* Fin Nosotros */

/* Calibraciones */
.seccion-calibraciones{
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #f8f9fa;
}
.grid-calibraciones{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 4rem;
  margin-bottom: 6rem;
}
.item-calibraciones{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 2rem;
  background: #fff;
  border-radius: 10px;
}
.title-calibraciones{
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--colorSecundario);
  text-align: left;
  margin-bottom: 0;
}
.text-calibraciones{
  font-size: 1rem;
  text-align: left;
  line-height: 1.5;
  initial-letter: 0.02rem;
}
.list-nosotros{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr));
  align-items: center;
  gap: 1rem;
  padding-left: 0;
  list-style: none;
}
.list-nosotros li{
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.02rem;
  min-height: 160px;
  padding: 1rem;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 1rem;
}
.list-nosotros li img {
  border-radius: 5px;
}
.list-nosotros li h2 {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--colorSecundario);
  margin-top: 1.4rem;
  margin-bottom: .5rem;
}
.list-nosotros li p {
  margin-top: 0;
  margin-bottom: 0;
}
.list-nosotros li span {
  display: block;
  font-weight: 600;
  letter-spacing: 1px;
}
.card-calibraciones{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.card-calibraciones .img-calibraciones{
  overflow: hidden;
  border-radius: 8px;
}
.card-calibraciones img{
  border-radius: 8px;
  overflow: hidden;
  transition: all .6s;
}
.card-calibraciones:hover img{
  transform: scale(1.1);
  transition: all .6s;
}
.card-calibraciones p{
  font-size: 1rem;
  letter-spacing: 0.02rem;
  line-height: 1.5;
}
.wrapper-calibraciones {
  margin-top: 6rem;
}
.title-carousel-calibraciones{
  font-size: 2rem;
  line-height: 1.3;
  text-align: center;
  color: var(--colorPrincipal);
  margin-top: 0;
  margin-bottom: 2rem;
}
.grid-img-calibraciones{
  display: grid;
  align-items: center;
  grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr));
  gap: 1rem;
  padding-bottom: 0;
}
.card-img-calibraciones {
  transition: transform .3s, box-shadow .3s;
  border-radius: 10px;
}
.card-img-calibraciones:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 15px #0000001a;
}
.card-img-calibraciones:hover .img-calibraciones {
  opacity: .8;
}

.img-calibraciones {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}
/* Fin Calibraciones */

/* Servicio Tecnico */
.subtitle{
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}
.grid-shop{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(380px, 100%), 1fr));
  gap: 1rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.shop-item{
  padding: 1.6rem;
  background: #f8f9fa;
  border-radius: 8px;
  height: 240px;
  width: 100%;
  aspect-ratio: 2/1;
}
.title-shop{
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.02rem;
  color: var(--colorSecundario);
  margin-bottom: 0rem;
}
.shop-text{
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.02rem;
}
.img-shop{
  height: 40px;
  width: auto;
  aspect-ratio: 1/1;
  object-fit: contain;
  margin-bottom: 1.4rem;
}
.wrapper-banner-servicio{
  margin-top: 3rem;
}
.img-banner-servicio{
  width: 100%;
  height: auto;
  object-fit: cover;
}
/* Fin Servicio Tecnico */

/* Contacto */
.grid-contacto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.item-contacto {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: #fff;
  border-radius: 8px;
  padding: 2rem 1rem;
  font-size: 1.125rem;
  letter-spacing: 0.02rem;
  text-align: center;
}
.item-contacto h3 {
  color: var(--colorPrincipal);
  font-size: 1.5rem;
  letter-spacing: 0.02rem;
  text-align: center;
  margin-bottom: 0;
}
/* Fin Contacto */

.iframe-footer{
  border-radius: 1rem;
  overflow: hidden;
}
#owl-calibraciones .owl-dots{
  bottom: -2.5rem;
}

@media screen and (max-width:990px) {
  .grid-nosotros{
    grid-template-columns: 1fr;
  }
  .grid-nosotros:nth-child(2),
  .grid-nosotros:nth-child(4){
    display: flex;
    flex-direction: column-reverse;
  }
  .wrapper-img-nosotros{
    height: auto;
    width: 100%;
  }
}

@media screen and (max-width:768px) {
  .img-logo{
    height: 30px;
  }
  .item-header:nth-child(2){
    display: none;
  }
  .item-header-mobile{
    display: block;
  }
  .grid-servicios{
    display: flex;
    flex-wrap: wrap;
  }
  .grid-shop{
    grid-template-columns: 1fr;
  }
  .grid-calibraciones{
    grid-template-columns: 1fr;
  }
  .uk-child-width-1-3\@s>*{
    width: 100%;
  }
  *+.uk-grid-margin, .uk-grid+.uk-grid, .uk-grid>.uk-grid-margin{
    margin-top: 1rem;
  }
  .subtitle{
    width: 100%;
    font-size: 1rem;
    text-wrap: balance;
  }
  .shop-item{
    height: auto;
    aspect-ratio: unset;
  }
  .title-carousel-calibraciones,
  .heading-title,
  .item-contacto h3{
    font-size: 1.5rem;
    text-wrap: balance;
  }
}
