/* CSS Document */
@charset "utf-8";
* { margin: 0px;
	padding: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html{
  font-size: 62.5%;
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
}

body{ font-size: 16px;}

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

/*Colores Generales*/
:root {
  --rojo: #ff0000;
	--azul: #0c459c;
	--azul-oscuro: #002a66;
  --verde-tea: #25D366;
	--negro: #171717;
	--gris: #c3c3c5;
	--gris-medio: #a5a5a5;
	--blanco: #f7f7f7;
	--blanco-transparente: rgba(255, 255, 255, 0.5);
}

h1{ font-size: 4rem;}
h2{ font-size: 3rem;}
h3{ font-size: 2rem;}

h1, h2, h3 { margin-bottom: 1rem; font-family: 'Sofia Sans', sans-serif;}
p{ margin-bottom: 1rem;}

a{ text-decoration: none; }
p{ font-size: 1.8rem; line-height: 2rem;}
.enlace{ font-size: 2rem;}

/* Contenedor general 1200px = 120rem */
.contenedor{
  max-width: 120rem;
  margin: 0 auto;
}
.bg-blue{
  background-color: var(--azul);
}
.bg-grey{
  background-color: var(--gris);
}
.bg-white{
  background-color: var(--blanco);
}

/* Botón WhatsApp */
	#btnwhatsapp{
    width: 4rem;
		z-index: 95;
		top: 80%;
		right: 5%;
		transform: translateY(-50%);
		position: fixed;
	}
  .cwhatsapp{
    display: flex;
    flex-direction: column;
		align-items: center;
  }
	.contwhatsapp{
		opacity: 0.9;
		width: 100%;
		transition: all 0.5s ease;
	}
	.contwhatsapp:hover{
		opacity: 1;
		transform: scale(1.2);
		box-shadow: 12px 21px 40px -24px rgba(0,0,0,0.2);
	}
	.cotiza{
		font-size: 1.6rem;
		color: var(--verde-tea);
    text-align: center;
	}
/* Barra superior de información teléfono & email */
  .contactsup {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
  }
  @media (min-width: 400px) { 
    .contactsup a{
      color: var(--blanco);
    }
  }
  @media (min-width: 768px) { 
    .contactsup {
      justify-content: flex-end;
    }
  }
  .contactsup a{
    color: var(--blanco);
    font-size: 1.2rem;
  }
  @media(min-width: 768px) { 
    .contactsup a{
    font-size: 1.4rem;
    }
  }
  .contactsup a:nth-child(2){
    border-left: solid 1px var(--blanco);
    margin-left: 1rem;
    padding-left: 1rem;
  }
/* Menú de navegación logotipo & menu */
  .menuPrincipal {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }
  @media(min-width:768px) { 
  .menuPrincipal {
      flex-direction: row;
      justify-content: space-between;
    }
  }
/* Logotipo */
  .logotipo{
    width: 60%;
    margin: 1rem 0;
  }
  @media(min-width: 768px) { 
    .logotipo{
      width: 30%;
      margin-right: 5%;
    }
  }
  .logotipo img {
    width: 100%;
  }
/* Menú hamburguesa */
.menuMovil{
  width: 38px;
  height: 38px;
  display: block;
  font-size: 1rem;
}
@media(min-width: 768px) { 
  .menuMovil{
    display: none;
  }
}
/* Menú de navegación */
  .enlacesNav {
    display: flex;
  }
  .enlacesNav li, .enlacesNavMobile li{
    list-style: none;
  }
  @media screen and (max-width: 768px ) { 
    .enlacesNav{
      display: none;
    }
    .enlacesNavMobile {
      width: 100%;
      height: 100vh;
      flex-direction: column;
      position: fixed;
      z-index: 99;
      background-color: var(--azul);
      top:0;
      left: -100%;
      display: flex;
      justify-content: center;
    }
    .enlacesNavMobile a {
      color: var(--blanco);
      font-size: 2rem;
      padding: 1rem;
      display: block;
      text-align: center;
    }
    .show {
      left: 0;
      transition: all .3s;
    }
  }
  @media(min-width: 768px) { 
    .enlacesNavMobile {
      display: none;
    }
  }
  @media(min-width: 768px) { 
    .enlacesNav {
      width: 60%;
      flex-direction: row;
      justify-content: space-between;
    }
    .enlacesNav a {
      color: var(--azul);
      font-size: 2rem;
      padding: 1rem;
      display: block;
      text-align: center;
    }
  }
  .enlacesNav a:hover {
    color: var(--blanco);
    background-color: var(--azul);
  }
  .verMarcas{
    position: relative;
    display: flex;
    justify-content: center;
  }
  .navMarcas{
    z-index: 5;
    margin-top: 4rem;
    position: absolute;
    display: none;
  }
  .navMarcas li{
    background-color: #fff;
  }
  .verMarcas:hover .navMarcas{
    display: block;
  }
/* Banner slider home */
  .slide-contenedor {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    position: relative;
    overflow: hidden;
    margin: auto;
  }
  .miSlider {
    width: 100%;
    margin: auto;
  }
  .miSlider img {
    width: 100%;
    object-fit: cover;
    transition: 3s ease;
  }
  .continf {
    width: 45%;
    position: absolute;
    top:30%;
    left: 10%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 80;
    /* background-color: rgba(0,0,0, .8); */
  }
  h1.titSlider {
    color: var(--azul-oscuro);
    font-size: 1.6rem;
    margin: 0px;
  }
  @media(min-width: 768px) { 
    h1.titSlider {
      font-size: 4rem;
    }
  }
  a.ctared {
    color: var(--azul);
    font-size: 1rem;
    cursor: pointer;
  }
  @media(min-width: 768px) { 
    a.ctared {
      font-size: 2rem;
    }
  }
  a.ctared:hover {
    color: var(--azul-oscuro);
  }
  .direcciones {
    width: 100%;
    position: absolute;
    z-index: 5;
    top: 50%;
    transform: translateY(-50%);

    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
  }
  .direcciones a {
    font-size: 3rem;
    padding: 1rem;
    color: var(--azul);
    transition: 0.5s ease;
  }
  @media(min-width: 768px) { 
    .direcciones a {
      font-size: 5rem;
    }
  }
  .direcciones a:hover {
    background-color:var(--azul-oscuro);
    color: var(--blanco);
  }
  .barras {
    position: absolute;
    width: 100%;
    display: flex;
    z-index: 4;
    justify-content: center;
    margin-bottom: 15px;
    top: 90%;
    transform: translateY(-90%);
  }
  .barra {
    cursor: pointer;
    height: 6px;
    width: 30px;
    margin: 0 2px;
    background: var(--gris);
    display: inline-block;
    margin-left: 3px;
  }
  .activo {
    background: var(--azul);
  }
  .fade {
    animation-name: fade;
    animation-duration: 1.8s ease;
  }
  @keyframes fade {
    from {
      opacity: 0.4;
    }
    to {
      opacity: 1;
    }
  }

/* Sección Nosotros - Home */
	.seccNosotros{
		display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 2rem;
	}
  @media(min-width: 768px) { 
    .seccNosotros{
      flex-direction: row;
      justify-content: space-between;
    }
  }
  .imagenNosotros{
    width: 50%;
  }
	.informacionNosotros{
    width: 100%;
		display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5%;
	}
  @media(min-width: 768px) { 
      .informacionNosotros{
        width: 50%;
      }
  }
	.informacionNosotros h2{
		color: var(--blanco);
	}
	.informacionNosotros p{
		color: var(--blanco);
	}
	.informacionNosotros a{
		color: var(--blanco);
	}
/* Somos distribuidor Omron */
.seccDistribuidor{
  display: flex;
  flex-direction: column;
  padding: 0 2rem;
}
@media(min-width: 768px) { 
  .seccDistribuidor{
    flex-direction: row;
    justify-content: space-between;
  }
}
.imgDist{
  width: 100%;
}
@media(min-width: 768px) { 
  .imgDist{
    width: 50%;
  }
}
.informacionDistribuidor{
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5%;
}
@media(min-width: 768px) { 
  .informacionDistribuidor{
    width: 50%;
  }
}
.seccDistribuidor h2{
  color: var(--azul);
}
.seccDistribuidor p{
  color: var(--negro);
}
.seccDistribuidor a{
  color: var(--azul);
}
/* Marcas Home */
.seccMarcas{
  padding: 2rem;
}
.seccMarcas h2{
  text-align: center;
  color: var(--azul);
}
.informacionMarcas{
  display: flex;
  flex-direction: column;
  text-align: center;
}
@media(min-width: 768px) { 
  .informacionMarcas{
    flex-direction: row;
    justify-content: space-between;
  }
}
.imagenMarca a img{
  width: 50%;
}
@media(min-width: 768px) { 
  .imagenMarca a{
    width: 20%;
  }
  .imagenMarca a img{
    width: 50%;
  }
}
/* Overlay Empresa */
.bloqEmpresa{
  padding:2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.overlay{
  width:33%;
  height: 25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}
.overlay h3{
  text-align: center;
  color: var(--blanco);
}
.overlay.uno{
  background-image: url(../imagen/carvisal-atencion.jpg);
}
.overlay.dos{
  background-image: url(../imagen/carvisal-personal.jpg);
}
.overlay.tres{
  background-image: url(../imagen/carvisal-inventario.jpg);
}
/* Contenido general de paginas de secciones */
/* Banner superior sección */
.bannerSuperior{
  height: 10rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media(min-width: 768px) { 
  .bannerSuperior{
    height: 28rem;
    background-size:cover;
  } 
}
.bannerSuperior h2{
  color: var(--blanco);
}
.bannerSuperior.uno{
  background-image: url(../imagen/carvisal-img-secc-1.jpg);
}
.bannerSuperior.dos{
  background-image: url(../imagen/carvisal-img-secc-5.jpg);
}
.bannerSuperior.tres{
  background-image: url(../imagen/carvisal-img-secc-6.jpg);
}
.bannerSuperior.cuatro{
  background-image: url(../imagen/carvisal-img-secc-3.jpg);
}
/*Pagina nosotros*/
.pagSeccion{
  padding: 2rem;
}
.pagSeccion p{
  color: var(--negro);
}
.pagSeccion > h2{
  color: var(--azul);
  text-align: center;
  margin: 3rem 0;
}
/* Column Gral */
.columnGral{
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
}
.colum {
  background-color: var(--blanco);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 1rem;
  margin-bottom: 3rem;
  box-shadow: 6px 6px 16px rgb(0, 0, 0, 0.2);
}
@media(min-width: 768px) { 
  .colum {
    flex-direction: row;
    align-items: center;
  }
}
.grafColum{
  width: auto;
  height: 10rem;
  background-color: var(--azul);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media(min-width: 768px) { 
  .grafColum{
    width: 30%;
  }
}
.grafColum p {
  color: var(--blanco);
}
.fa-paper-plane, .fa-heart, .fa-eye{
  font-size: 2rem;
  color: var(--blanco);
}
.textColum{
  width: auto;
}
@media(min-width: 768px) { 
  .textColum{
    width: 70%;
  }
}
.textColum p {
  color: var(--negro);
}
/* Servicios */
  .contServ{
    display: flex;
    flex-direction: column;
    align-items: center;
    border: solid 1px var(--gris);
    margin: 2rem 0;
    padding: 0 5%;
  }
  .contServ:nth-of-type(2n + 2){
    flex-direction: column-reverse;
  }
  @media(min-width: 769px) { 
    .contServ, .contServ:nth-of-type(2n + 2){
      flex-direction: row;
      justify-content: space-between;
    }
  }
  .imgServ{
    width: 50%;
  }
  @media(min-width: 768px) { 
    .imgServ{
      width: 20%;
    }
  }
  .infoServ{
    width: auto;
    padding: 5%;
  }
  @media(min-width: 768px) { 
    .infoServ{
      width: 70%;
      padding: 5%;
      text-align: left;
    }
  }
  .infoServ h2{
    color: var(--azul);
  }
  .infoServ p{
    color: var(--negro);
  }
  .btnWhats{
    font-size: 2rem;
    color: #61bb69;
    padding-left: 3rem;
    background-image: url(../imagen/icon-whatsapp.svg);
    background-repeat: no-repeat;
    background-position: center left;
  }
  /* Sección de contacto */
  .seccContacto {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }
  @media(min-width: 768px) { 
    .seccContacto {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .contentform {
    display: flex;
    flex-direction: column;
    width: 90%;
  }
  @media(min-width: 768px) { 
    .contentform {
      width: 45%;
    }  
  }
  .contentform p {
    color: var(--negro);
  }
  #formcontact {
    display: flex;
    flex-direction: column;
  }
  label{
    display: block;
    color: var(--negro);
    font-size: 2rem;
  }
  .formune{
    padding: 1rem;
    border: solid 1px var(--gris);
    color: var(--gris-medio);
    margin-bottom: 3rem;
    font-size: 2rem;
  }
  .btnConsulta {
    padding: 1.2rem;
    border: solid 1px var(--azul);
    background-color: var(--azul);
    color: var(--blanco);
    font-size: 2rem;
    cursor: pointer;
  }
  .btnConsulta:hover {
    border: solid 1px var(--azul);
    background-color: var(--blanco);
    color: var(--azul);
  }
  .branches{
    width: 90%;
  }
  .infcont {
    width: 100%;
    margin-bottom: 2rem;
  }
  .textContact{
    width: 100%;
    margin-bottom: 2rem;
  }
  .textContact p{
    color: var(--negro);
  }
  .textContact p:nth-of-type(1){
    color: var(--azul);
    font-size: 2rem;
    padding-left: 3rem;
    background-image: url(../icon/icon-branch.svg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 5%;
  }
  .textContact a{
    color: var(--azul);
    font-size: 2rem;
  }
  .mapaindex {
    width: 100%;
    height: 200px;
  }
/* Sección de marcas*/
.seccMarcas{
  width: auto;
}
.imgCategoriaMarca{
  width: 15rem;
}
.bloqMarca{
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}
.bloqMarca p{
  color: var(--azul-oscuro);
  margin: 2rem 0;
}
.bloqProductos{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap:1rem;
}
@media(min-width: 768px) { 
  .bloqProductos{
    grid-template-columns: repeat(4, 1fr);
  }
}
.famProducto{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding:2rem 1rem;
  background-color: #fff;
  border: solid 1px var(--gris);
}
.famProducto img{
  width: 10rem;
}
.famProducto p{
  text-align: center;
  color: var(--azul-oscuro);
  margin: 0px;
}
.famProducto a{
  color: var(--azul);
}
/* Sección footer */
.seccFooter{
  padding: 4rem 3rem;
  background-color: var(--azul);
  border-top: solid 1rem var(--azul-oscuro);
}
@media(min-width: 768px) { 
  .seccFooter{
    padding: 4rem 0;
    background-color: var(--azul);
  }
}
.contFooterUno{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: solid 1px var(--blanco);
}
@media(min-width: 768px){ 
  .contFooterUno{
    grid-template-columns: repeat(4, 1fr);
  }
}
.listFooterBranch p, .listFooterBranch a{
  font-size: 1.4rem;
  color: var(--blanco);
}
.contFooterDos{
  display: grid;
  grid-template-columns: 20% 20% 60%;
  gap: 2rem;
}
@media(min-width: 768px) { 
  .contFooterDos{
    grid-template-columns: repeat(4, 1fr);
  }
}
.logoFooter{
  width: 50%;
}
@media(min-width: 768px) { 
  .logoFooter{
    width: 80%;
  }
}
.columfooter p, a{
  font-size: 1.4rem;
  color: var(--blanco);
}
.nosotros, .redes{
  display: flex;
  flex-direction: column;
}
.redes a img{
  display: inline;
  width: 30px;
}
.redes{
  flex-direction: row;
  align-items: self-start;
}


/* Sección Success */
#contpag{
	width: 100%;
	height: 100%;
	z-index: 1000;
	background-color: var(--color-amarillo);
	position: fixed;
	top: 0;
	left: 0;

	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
}

h2.titgrac{
	width: 90%;
	margin: 0 auto;
	margin-bottom: 30px;
	text-align: center;
	font-size: 6vw;
	color: #fff;
}

p.textgrac{
	width: 90%;
	margin: 0 auto;
	font-size: 3vw;
	line-height: 120%;
	text-align: center;
	color: #fff;
}

a.lynkgrac{
	font-size: 2vw;
	line-height: 120%;
	text-align: center;
	color: var(--color-blanco);
}

/*Sección Errores*/
.alert{
	width: 90%;
	padding: 1% 1%;
	margin-top: 5%;
	margin-left: 5%;
	margin-bottom: 2%;
	border-radius: 4px;
	font-family: 'Roboto';
	position: relative;
}

.alert-success{
	background-color: green;
	font-size: 1.3em;
	color: #fff;
}

.alert-danger{
	background-color: red;
	font-size: 1.3em;
	color: #fff;
}

.dnone{
	display: none !important;
}



