body {
  /* 80px = 60 del boton flotante + 20 de aire, para que al llegar al final
     del scroll el boton no quede encima del ultimo contenido. */
  padding-bottom: 80px;
  background-color: #F7EEE5;
}
header {
	font-family: 'Comfortaa', sans-serif;
	top: 0.313rem;
    background: none; 
    /*float:right;*/
    width: 100%;
    z-index: 2;
	/*color: #00983A;*/ 
/*	background-color: transparent;*/
/*	position: absolute;*/
	background-size:cover;
	background-color: #F7EEE5;
	position: static;
}

nav {
  position: relative;
  z-index: 199;
}

.navbar{
	top: 0;
	background-color: #F7EEE5;
}
.navbar-light .navbar-toggler-icon{ 
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28168, 204, 78, 1%29' stroke-linecap='round' stroke-miterlimit='60' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	border-radius: 20px;
}
.navbar-toggler:focus{
	box-shadow:none;
  top: -0.5rem;

}
.navbar-toggler{
  top: -0.5rem;
}

.navbar-light .navbar-nav .nav-link {
  padding: 1rem 1.5rem;
  color: #FFFFFF;
  background-color: #A8CC4E;
  border-bottom: 2px solid #FFFFFF ;
  list-style:circle;
  margin-right: 0;
}

.navbar-light .navbar-nav .nav-link:last-child {
  margin-right: 0rem;
	text-align: left;
	padding-left: 0.75rem;
	top:0;
}


nav .navbar-light .navbar-nav .navbar .nav-link.active {
  background-color: #BBD776; 
  color: #265900; 
	
}
.navbar-light .navbar-nav .nav-link:hover {
    color: #265900; 
	background-color: #CFE39D;
}

.navbar {
  background-color: transparent !important;
}

.navbar-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.logo {
  height: 80%;
}


/* inicio menu servicios */

.menu-servicios ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  height: 120px;
}

.menu-servicios li {
  margin: 0 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.9rem;
  color: #ffffff;
}

.menu-servicios li.active a {
  background-color: #A8CC4E;
}

.div-menu{
  align-content: space-between;
  text-align: center;
}
.menu-servicios {
  font-family: 'Comfortaa', sans-serif;
  width: 100%;
  overflow: hidden;
  text-align: center;
  margin: 0px;
  padding: 0px;
  display: flex;
  justify-content: center;
  align-content: center;
  /* stretch: todos los botones de una fila miden lo mismo aunque uno (DISPOSICION COLECTIVA)
     necesite dos lineas; antes quedaban centrados y ese se veia mas alto. */
  align-items: stretch;
}

.menu-servicios a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  line-height: 1.25;
  text-align: center;
  width: auto;
  padding: 0.75rem 0.75rem;
  text-decoration: none;
  font-size: 13px;
  margin: 1px;
  color: white;
  border-radius: 10px;
  background-color: #916036; 
  flex-grow: 1;
  flex-basis: 0;
  justify-content: center;
  align-content: center;
  align-items: center;	
}
/* El estado normal (blanco sobre cafe #916036) da 5.34:1 y cumple.
   El activo/hover cambiaba el fondo a lima pero dejaba el texto blanco:
   1.84:1, o sea que el servicio SELECCIONADO era el menos legible.
   Con el verde oscuro sobre lima queda en 6.14:1. */
.menu-servicios a:focus,
.menu-servicios a:hover,
.menu-servicios a:active {
  background-color: #A8CC4E;
  color: #1E4300;
}
.menu-servicios .active {
  background-color: #A8CC4E;
  color: #1E4300;
  font-weight: 600;
}
.menu-principal-fondo{
	background-color: #E6D3BC;
}
.menu-principal{
  font-family: 'Poppins' ;
  /*font-weight : bold;*/
  font-size : 12px;
  letter-spacing : 1.2px;
/*  border-radius : 10px;
  -moz-border-radius : 10px;
  -webkit-border-radius : 10px;
*/  padding: 1rem 2rem;
	text-decoration: none;
	width: 100%;
  overflow: hidden;
  text-align: center;
  margin: 0px;
  display: flex;
  justify-content: center;	
  align-content: center;
	align-items: center;
}
.menu-principal a {
  font-family: 'Poppins';
  letter-spacing : 1px;
  /*font-weight : bold;*/
  font-size : 12px;
  text-align: center;
  width: auto;
  padding: 0.75rem 0.75rem;
  text-decoration: none;
  margin: 1px;
  color : #265900;
	width: 100%;
}
.menu-principal a:focus,
.menu-principal a:hover,
.menu-principal a:active {
  color: #BBD776;  
}
.menu-principal .active {
  color: #BBD776;
}


.social-icons {
  position: absolute;
  top: 0.5rem;
  left: 0.5;
}
.carrito-icons {
  position: fixed;
  top: 0.5rem;
  left: 0;
}
.social-icon {
  display: inline-block;
  margin-right: 0.5rem;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

.social-icon:hover {
  background-color: #A8CC4E;
}

.social-icon img {
  margin: 0;	
  display: block;
  width: 100%;
  height: 100%;
}

.social-icon:hover img {
  filter: brightness(0) invert(1);
}


.carrito-icons {
  position: fixed;
  top: 0.5rem;
  right: 0;
}

.carrito-icon {
  display: inline-block;
  margin-right: 0rem;
  width: 40px;
  height: 40px;
  padding: 0.275rem;
  border-radius: 50%;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

.carrito-icon:hover {
  background-color: #A8CC4E;
}

.carrito-icon img {
  margin: 0;	
  display: block;
  width: 100%;
  height: 100%;
}

.carrito-icon:hover img {
  filter: brightness(0) invert(1);
}

/* Telefono y linea 24/7 de la cabecera. En lima sobre crema daba 1.62:1:
   el dato de contacto principal del negocio era el texto menos legible de
   todo el sitio. En verde de marca da 7.29:1. */
.texto-titulo {
 font-family : Comfortaa;
  font-weight : bold;
  font-size : 1.2rem;
  line-height : 29px;
  letter-spacing : 0.85px;
  color : #265900;
  text-align: center;
	  text-decoration: none;
}
.texto-titulo a:hover {
   color : #BBD775;
  color : rgb(187, 215, 117);
 }

@media only screen and (max-width: 1024px) {

/* 0.6rem = 9,6px en el menu de navegacion principal. Subido a 0.8rem
   (12,8px) y con mas alto de toque. */
.menu-principal a {
  padding: 0.6rem 0.15rem;
  font-size: 0.8rem;
  line-height: 1.25;
  min-height: 44px;
display: flex;
  justify-content: center;
  align-content: center;
	align-items: center;
}
/* Con la fuente mas grande los 6 enlaces dejan de caber en una linea. El
   contenedor es flex con overflow:hidden, asi que en vez de bajar a la
   siguiente fila los recortaba por los lados ("VICIOS", "FA..."). */
.menu-principal {
  flex-wrap: wrap;
  padding: 0.5rem 0.25rem;
  overflow: visible;
}
.menu-principal a {
  flex: 0 1 auto;
  width: auto;
}
/* 0.5rem = 8px: era el texto mas pequeno del sitio y encima el que elige
   el servicio. Subido a 0.7rem (11px) manteniendo las 3 columnas. */
.menu-servicios a {
  width: 100%;
  font-size: 0.75rem;
  padding: 0.6rem 0.15rem;
  margin: 2px;
  min-height: 52px;
  }
	
/* Area tactil de los iconos sociales en movil. Solo hay ~121px libres antes
   del logo, asi que 4 iconos no pueden pasar de 28px sin montarse encima:
   4 x 28 + 3 x 3 = 121. Se sube de 25 a 28 (cumple el minimo de 24px de
   WCAG 2.2 AA, 2.5.8). Llevarlos a los 44px recomendados exige reordenar la
   cabecera -> queda para la fase de maquetacion. */
.social-icon {
  width: 28px;
  height: 28px;
  margin-right: 3px;
}
.social-icons {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
	}
.carrito-icons {
  top: 0.2rem;
}	
.carrito-icon {
  width: 30px;
  height: 30px;
}

.navbar-light .navbar-nav .nav-link:last-child {
  font-size: 0.75rem;
}
	
}
@media (max-width: 480px) {
  /* Estilos para dispositivos muy pequeños */
.fondo {
  /* Se quitó background-image: "images/background.jpg" apuntaba a /css/images/ (no existe) y devolvía un 404 en cada visita desde móvil. */
  height: 18vh;
}
.menu-principal{
  font-size : 0.6rem;
  letter-spacing : 1px;
  padding: 0.5rem 0.7rem;
}
.texto-titulo {
  font-size : 1rem;
  line-height : 20px;
  letter-spacing : 0.75px;
}	
}

@media (min-width: 481px) and (max-width: 687px) {
.menu-principal{
  font-size : 0.6rem;
  letter-spacing : 1px;
  padding: 0.5rem 0.7rem;
}	
}
@media (min-width: 688px) and (max-width: 768px) {
	
.texto-titulo {
  font-size : 0.8rem;
  line-height : 1rem;
  letter-spacing : 0.2px;
}
.menu-principal a{
  font-size : 0.6rem;
  letter-spacing : 0.1px;
  padding: 0.5rem 0.1rem;
  margin: 2px; 	
}	
}

@media (min-width: 769px) and (max-width: 1024px) {
  /* Estilos para dispositivos grandes */
.texto-titulo {
  font-size : 0.8rem;
  line-height : 1rem;
  letter-spacing : 0.2px;
}
.menu-principal a{
  font-size : 0.6rem;
  letter-spacing : 0.1px;
  padding: 0.5rem 0.1rem;
  margin: 2px; 	
}
	
}

@media (min-width: 1025px) {
  /* Estilos para dispositivos muy grandes */
}

	
	