/* FONTS --------------------------------------------------------------------------------------- */

.fuentes {
	/* Light */
	font-family: "Quicksand", sans-serif;
	font-family: "Montserrat", sans-serif;
	font-weight: 300;

	/* Regular */
	font-family: "Quicksand", sans-serif;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;

	/*Medium */
	font-family: "Quicksand", sans-serif;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;

	/*SemiBold */
	font-family: "Quicksand", sans-serif;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;

	/*Bold */
	font-family: "Quicksand", sans-serif;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
}

/* GENERALES ----------------------------------------------------------------------------------- */

body {
	background-color: #111114;
	overflow-x: hidden;
}

* {
	font-family: "Quicksand", sans-serif;
}

.row {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}

.colum-grid {
	display: inline-grid !important;
}

.center-block {
  display: block;
	float: none;
}

.colum-center {
	margin: auto;
}

/* -------------------------------------------------------------------- */

.titulo-h2 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	margin: 0 0 15px 0;
	padding: 0;
}

.subtitulo-h3 {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	margin: 0 0 15px 0;
	padding: 0;
}

/* -------------------------------------------------------------------- */

/* Estilos base para los elementos a animar */
.animado {
	opacity: 0;
	transition: all 0.6s ease-out;
}

/* Efecto de aparición básica */
.fade-in {
	transform: scale(0.95);
}

/* Animaciones de desplazamiento */
.slide-up {
	transform: translateY(50px);
}

.slide-down {
	transform: translateY(-50px);
}

.slide-left {
	transform: translateX(50px);
}

.slide-right {
	transform: translateX(-50px);
}

/* Animaciones de zoom */
.zoom-in {
	transform: scale(0.8);
}

.zoom-out {
	transform: scale(1.2);
}

/* Rotaciones */
.rotate-left {
	transform: rotate(-15deg);
}

.rotate-right {
	transform: rotate(15deg);
}
	
/* Efectos especiales */
.flip {
	transform: perspective(1000px) rotateY(90deg);
	transform-origin: left;
}

.bounce {
	transform: translateY(0) scaleY(0.8);
}

/* Cuando el elemento es visible */
.visible {
	opacity: 1;
	transform: 
		translateX(0) 
		translateY(0) 
		scale(1) 
		rotate(0)
		perspective(1000px) rotateY(0);
}

.elemento-derecha {
	opacity: 0;
	transform: translateX(50px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.elemento-derecha.visible {
	opacity: 1;
	transform: translateX(0);
}

/* ------------------------------------------- */

#wa-btn {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 1000;	
	cursor: pointer;
}

#wa-btn a {
  display: block;
}

#wa-btn img {
  width: 40px;
  height: 40px;
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

/* HEADER -------------------------------------------------------------------------------------- */

header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #111114;
}

.spacer {
	height: 80px;
}

header .navbar .logo {
	position: absolute;
	height: 100%;
}

header .navbar .logo .logo_helper {
	display: inline-block;
	width: 0;
	height: 100%;
	vertical-align: middle;
}

header .navbar .logo img {
	display: inline-block;
	vertical-align: middle;
}

@media (min-width: 100px) {
	header .navbar .logo { padding:10px 25px 10px 15px; }
	header .navbar .logo img { max-width:75%; }
}

@media (min-width: 992px) {
	header .navbar .logo { padding:7px 0; }
	header .navbar .logo img { max-width:100%; }
}

/* -------------------------------------------------------------------- */

header .buscador input {
	height: 40px;
	margin: 0;
	padding: 5px;
	background: transparent;
	font-family: "Quicksand", sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #fff;
	border: 1px solid #fff;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	display: inline-block;
}

header .buscador input:focus {
	outline-color: transparent;
	outline-style: auto;
	outline-width: 0px;
}

header .buscador button {
	width: 40px;
	height: 40px;
	margin: 0 0 0 5px;
	background: url(../images/header_lupa.png) center no-repeat;
	border: none;
	display: inline-block;
}

header .buscador button:focus {
	outline-color: transparent;
	outline-style: auto;
	outline-width: 0px;
}

header .navbar .whatsapp {
	width: 40px;
	height: 40px;
	line-height: inherit;
	font-size: inherit;
	margin: 0 0 0 5px;
	padding: 0;
	display: inline-block;
}

@media (min-width: 100px) {
	header .buscador { display:inline-block; margin:5px 0 5px 0; }
	header .buscador form { position:relative; }
	header .buscador input { float:right; width: 150px; }
	header .buscador button { float:right; }
	header .navbar .whatsapp img { margin: 2px auto 0 auto; }
}

@media (min-width: 1250px) {
	header .buscador { display:inline-block; margin:20px 0 0 15px; }
	header .buscador form { position:relative; }
	header .buscador input { float:right; width: 100px; }
	header .buscador button { float:right; }
	header .navbar .whatsapp img { margin: 8px auto 0 auto; }
}

@media (min-width: 1500px) {
	header .buscador input { width: 150px; }
}

/* NAV ----------------------------------------------------------------------------------------- */

header .navbar {
	height: 80px;
	margin-bottom: 0;
	padding: 0 30px;
	border: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	background: linear-gradient(to bottom,  #1c1b1f 0%,#101012 50%,#010100 100%);
}

header .navbar li a {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
	color: #fff !important;
	text-decoration: none;
}

header .navbar li a:hover {
	color:#de0346 !important;
}

@media (min-width: 100px) {
	header .navbar li a { font-size:15px; line-height:40px; padding:0 15px; }
}

header .navbar .lang {
	margin: 0 5px 0 0;
}

@media (max-width: 1249px) {
  header #navbar {
		margin: 15px 0 0 0;
		border: none;
		border-top: solid 1px #010100;
		border-bottom: solid 1px #010100;
		background: #16161a;
		text-align: center;
		z-index: 9999;
		position: absolute;
		left: 0px;
		right: 0px;
		box-shadow: none;
  }
}

@media (min-width: 1250px) {
	header .navbar li a { font-size:13px; line-height:80px; padding:0 6px; }
}

@media (min-width: 1500px) {
	header .navbar li a { font-size:16px; line-height:80px; padding:0 10px; }
}

/* -------------------------------------------------------------------- */

header .navbar-toggle {
	margin-top: 23px;
	border: #fff 1px solid !important;
	z-index: 999;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}

header .navbar-toggle .icon-bar { background:#fff !important; }

header .navbar-toggle:hover .icon-bar { background:#de0346 !important; }

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

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

/* -------------------------------------------------------------------- */

.submenu {
	background: #16161a url(../images/header_prod.png) center right no-repeat;
	gap: 15px;
	position: absolute;
	left: 0;
	right: 0;
	z-index: 999;
	display: none;

  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease, opacity 0.2s ease;
  opacity: 0;
}

.submenu.visible {
	display: grid;

	transition: transform 0.3s ease, opacity 0.2s ease;
	transform: scaleY(1);
  opacity: 1;
}

.submenu .categoria {
  break-inside: avoid;
}

.submenu h3 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #fff;
	padding: 0 10px;
	margin: 0 0 5px 0;
}

.submenu h3 a {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #fff;
}

.submenu h3 a:hover {
	color: #de0346;
	text-decoration: none;
}

.submenu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.submenu li {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #9595a5;
	padding: 2px 10px;
}

.submenu li:hover {
	color: #de0346;
	text-decoration: none;
	background: #111114;
	-webkit-border-radius: 8px;
  border-radius: 8px;
	cursor: default;
}

.submenu li a {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #9595a5;
	border: none;
}

.submenu li a:hover {
	color: #de0346;
	text-decoration: none;
	background: #111114;
	-webkit-border-radius: 8px;
  border-radius: 8px;
	display: block;
}

@media (min-width: 100px) {
	.submenu { padding: 50px 30px 50px 30px; grid-template-columns: repeat(2, 1fr); top: 392px; }
}

@media (min-width: 1250px) {
	.submenu { padding: 50px 25% 50px 30px; grid-template-columns: repeat(3, 1fr); top: 80px; }
}

/* SLIDER -------------------------------------------------------------------------------------- */

.slider .fotorama__nav-wrap {
	margin-top: -38px;
}

.slider .fotorama__nav--dots .fotorama__nav__frame {
	height: 38px;
	margin: 0px 3px;
}

.slider .fotorama__dot {
	width: 14px;
	height: 14px;
	background: #000;
	border: 2px solid #fff;
}

.slider .fotorama__nav-wrap { display:none; }
.slider .fotorama__arr { width:56px; height:56px; top:50%; }
.slider .fotorama__arr--prev { background:url(../images/slider1.png) no-repeat; margin-left:20px; }
.slider .fotorama__arr--prev:hover { background:url(../images/slider1h.png) no-repeat; }
.slider .fotorama__arr--next { background: url(../images/slider2.png) no-repeat; margin-right:20px; }
.slider .fotorama__arr--next:hover { background: url(../images/slider2h.png) no-repeat; }

.slider .fotorama__html {
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider .slidertexto {
  margin: 0 auto;
  z-index: 9980;
}

.slider h1 {
  font-family: "Quicksand", sans-serif;
	font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 4px #2E2E2E50;
}

.slider a {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
  color: #fff;
  background: #de0346;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  -webkit-box-shadow: 0 0 5px 0px #2E2E2E;
  box-shadow: 0 0 5px 0px #2E2E2E;
  display: block;
  width: fit-content;
}

.slider a:hover {
  color: #fff !important;
  background: #c4003b !important;
  border: none !important;
  text-decoration: none;
}

.slider i {
	margin: 0 10px 0 0;
}

.slider .slider_bg {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
}

@media (min-width: 100px) {
  .slider .slidertexto { width: 100%; padding: 5rem 15px 5rem 15px; margin: 0 auto; text-align: center; }
  .slider h1 { font-size: 40px; line-height: 40px; margin: 0 0 30px 0; }
  .slider a { font-size: 15px; margin: 0 auto; padding: 10px 30px; }
}

@media (min-width: 768px) {
  .slider .slidertexto { width: 100%; padding: 5rem 15px 5rem 15px; margin: 0 auto; text-align: center; }
  .slider h1 { font-size: 50px; line-height: 50px; margin: 0 0 30px 0; }
  .slider a { font-size: 16px; margin: 0 auto; padding: 14px 40px; }
}

@media (min-width: 992px) {
  .slider .slidertexto { width: 50%; padding: 5rem 15px 5rem 15px; margin: 0 0 0 auto; text-align: center; }
  .slider h1 { font-size: 60px; line-height: 60px; margin: 0 0 40px 0; }
  .slider a { font-size: 18px; margin: 0 auto; padding: 16px 50px; }
}

@media (min-width: 1250px) {
  .slider .slidertexto { width: 50%; padding: 5rem 15px 5rem 15px; margin: 0 0 0 auto; text-align: center; }
  .slider h1 { font-size: 75px; line-height: 75px; margin: 0 0 50px 0; }
  .slider a { font-size: 18px; margin: 0 auto; padding: 18px 60px; }
}

/* CONTACTO ------------------------------------------------------------------------------------ */

.contacto1 {
	background: url(../images/contacto_bg.jpg) bottom center no-repeat;
	background-size: cover;
}

.contacto2 {
	padding: 80px 30px 80px 30px;
	margin: 0 auto;
}

.contacto2 h2 {
	color: #fff;
	text-align: left;
	margin: 0 0 10px 0;
}

.contacto2 h3 {
	color: #fff;
	text-align: left;
	margin: 0 0 40px 0;
}

.contacto2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	color: #fff;
	font-size: 18px;
	line-height: 26px;
	margin: 0 0 15px 0;
	padding: 0;
}

@media (min-width: 100px) {
	.contacto2 h2 { font-size: 38px; line-height: 38px; text-align: center; }
	.contacto2 h3 { font-size: 22px; line-height: 22px; text-align: center; }
	.contacto2 p { text-align: center; }
	.contacto2 .logo { margin: 0 auto 10px auto; }
	.contacto2 .redes { text-align: center; padding-bottom: 40px; }
	.contacto2 .redes a { padding: 0 8px 0 8px; display: inline-block; }
}

@media (min-width: 768px) {
	.contacto2 h2 { font-size: 40px; line-height: 40px; }
	.contacto2 h3 { font-size: 24px; line-height: 24px; }
}

@media (min-width: 992px) {
	.contacto2 h2 { font-size: 46px; line-height: 46px; text-align: left; }
	.contacto2 h3 { font-size: 26px; line-height: 26px; text-align: left; }
	.contacto2 p { text-align: left; }
	.contacto2 .logo { margin: 0 0 10px 0; }
	.contacto2 .redes { text-align: left; padding-bottom: 0; }
	.contacto2 .redes a { padding: 0 15px 0 0; display: inline-block; }
}

@media (min-width: 1250px) {
	.contacto2 h2 { font-size: 50px; line-height: 50px; }
	.contacto2 h3 { font-size: 28px; line-height: 28px; }
}

/* -------------------------------------------------------------------- */

.contacto2 .b24-form-wrapper {
	background: transparent !important;
	border-bottom: none !important;
}

.contacto2 .b24-form-sign, .contacto2 .b24-form-header-padding {
	display: none !important;
}

.contacto2 .b24-form-content {
	padding: 0 30px;
}

.contacto2 input {
	height: 48px !important;
	font-family: "Quicksand", sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	color: #8f8f9a !important;
	-webkit-border-radius: 8px !important;
	border-radius: 8px !important;
	background: #fff !important;
}

.contacto2 textarea {
	font-family: "Quicksand", sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	color: #8f8f9a !important;
	resize: none !important;
	-webkit-border-radius: 8px !important;
	border-radius: 8px !important;
	background: #fff !important;
}

.contacto2 button {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
	text-transform: capitalize;
	color: #fff;
  background: #de0346;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  display: block;
  width: fit-content;
}

.contacto2 button:hover {
	color: #1c1c1c !important;
  background: #de0346 !important;
  border: none !important;
  text-decoration: none;
}

.contacto2 button:focus {
	text-decoration: none;
	outline-offset: 0;
}

.contacto2 button:active {
	-webkit-box-shadow: none;
  box-shadow: none;
}

@media (min-width: 100px) {
	.contacto2 button { font-size: 14px; margin: 0 auto; padding: 12px 30px; }
}

@media (min-width: 768px) {
	.contacto2 button { font-size: 14px; margin: 0 auto; padding: 12px 30px; }
}

@media (min-width: 992px) {
	.contacto2 button { font-size: 15px; margin: 0 auto; padding: 14px 40px; }
}

@media (min-width: 1250px) {
	.contacto2 button { font-size: 15px; margin: 0 auto; padding: 14px 40px; }
}

/* FOOTER -------------------------------------------------------------------------------------- */

.footer1 {
	background: #0a0a0c;
}

.footer2 {
  padding: 60px 15px;
  margin: 0 auto;
}

.footer2 h4 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 26px;
	color: #fff;
	margin: 0;
}

.footer2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 400;
	color: #a4a1a7;
	font-size: 15px;
	line-height: 26px;
}

.footer2 a {
	font-family: "Quicksand", sans-serif;
	font-weight: 400;
	color: #a4a1a7;
	font-size: 15px;
	line-height: 26px;
}

.footer2 a:hover {
	color: #de0346;
	text-decoration: none;
	cursor: pointer;
}

@media (min-width: 100px) {
	.footer2 { text-align: center; }
	.footer2 p { margin: 0; padding: 0; display: inline; }
	.footer2 .pDisplay { display: inline; }
	.footer2 .col1 { text-align: center; margin-bottom: 15px; }
	.footer2 .col2 { text-align: center; margin-bottom: 15px; }
}

@media (min-width: 992px) {
	.footer2 { text-align: center; }
	.footer2 p { margin: 0; padding: 0; display: block; }
	.footer2 .pDisplay { display: none; }
	.footer2 .col1 { text-align: left; margin-bottom: 0; border-right: 1px solid #313138; }
	.footer2 .col2 { text-align: center; margin-bottom: 0; border-right: 1px solid #313138; }
}

/* -------------------------------------------------------------------- */

.footer2 form {
	margin-top: 10px;
}

.footer2 input {
	height: 40px;
	margin: auto;
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #918b8b;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	background: #fff;
}

.footer2 button {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
	text-transform: capitalize;
	color: #fff;
  background: #de0346;
	border: none !important;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  display: block;
  width: fit-content;
}

.footer2 button:hover {
	color: #1c1c1c !important;
  background: #de0346 !important;
  border: none !important;
  text-decoration: none;
}

.footer2 button:focus {
	text-decoration: none;
	outline-offset: 0;
}

.footer2 button:active {
	-webkit-box-shadow: none;
  box-shadow: none;
}

.footer2 i {
	margin: 0 10px 0 0;
}

@media (min-width: 100px) {
	.footer2 input { width: 50%; }
	.footer2 button { font-size: 14px; margin: 0 auto; padding: 12px 30px; }
}

@media (min-width: 768px) {
	.footer2 input { width: 50%; }
	.footer2 button { font-size: 14px; margin: 0 auto; padding: 12px 30px; }
}

@media (min-width: 992px) {
	.footer2 input { width: 70%; }
	.footer2 button { font-size: 15px; margin: 0 auto; padding: 14px 40px; }
}

@media (min-width: 1250px) {
	.footer2 input { width: 60%; }
	.footer2 button { font-size: 15px; margin: 0 auto; padding: 14px 40px; }
}

/* BANNER -------------------------------------------------------------------------------------- */

.banner .texto h1 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
  color: #fff;
	text-align: center;
  padding: 0 80px;
  font-size: min( max( (calc(100vw / 20)), 35px) , 50px);
  margin: 0;
}

.banner .texto h2 {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
  color: #fff;
	text-align: center;
  padding: 0 2rem;
  font-size: min( max( (calc(100vw / 20)), 18px) , 28px);
  margin: 0.5rem 0 0 0;
}

.banner .banner-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 100px;
	padding: 20px 0;
}

.banner .banner-header .back-to-top {
	cursor: pointer;
	font-size: 32px;
	color: #fff;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	transition: all 0.3s ease;
}

.banner .banner-header .back-to-top:hover {
	transform: translateY(-50%) scale(1.1);
}

@media (min-width: 100px) {
	.banner .texto { padding: 40px 0; }
	.banner .texto h1 { font-size: 36px; }
}

@media (min-width: 768px) {
	.banner .texto { padding: 50px 0; }
	.banner .texto h1 { font-size: 45px; }
}

@media (min-width: 992px) {
	.banner .texto { padding: 60px 0; }
	.banner .texto h1 { font-size: 50px; }
}

@media (min-width: 1250px) {
	.banner .texto { padding: 70px 0; }
	.banner .texto h1 { font-size: 60px; }
}

/* MENSAJE ------------------------------------------------------------------------------------- */

.mensaje2 {
  padding: 60px 15px;
  margin: 0 auto;
}

.mensaje2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 400;
  color: #fff;
	text-align: center;
  padding: 0;
  margin: 80px 0;
}

@media (min-width: 100px) {
  .mensaje2 p { font-size: 20px; }
}

@media (min-width: 768px) {
  .mensaje2 p { font-size: 23px; }
}

@media (min-width: 992px) {
  .mensaje2 p { font-size: 25px; }
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

/* HOME PRODUCTOS ------------------------------------------------------------------------------ */

.home_productos1 {
	background: url(../images/home_productos.jpg) center center no-repeat;
	background-size: cover;
}

.home_productos2 {
	padding: 80px 30px 60px 30px;
	margin: 0 auto;
}

.home_productos2 h2 {
	color: #de0346;
	text-align: center;
	margin: 0 0 10px 0;
}

.home_productos2 h3 {
	color: #aeaeba;
	text-align: center;
	margin: 0 0 60px 0;
}

.home_productos2 .categoria {
	text-align: center;
	margin-bottom: 30px;
	position: relative;
	padding: 0;
}

.home_productos2 .categoria a:hover, .home_productos2 .categoria a:focus {
	text-decoration: none;
}

.home_productos2 .categoria img {
	margin: 0 auto;
	transform: scale(0.8);
	transition: all .2s ease-in-out;
}

.home_productos2 .categoria a:hover img {
	transform: scale(1);
	transition: all .2s ease-in-out;
}

.home_productos2 .categoria h4 {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	color: #2e2e2e;
	text-align: center;
	margin: 0 auto;
	background: #fff;
	-webkit-box-shadow: 0 0 5px 0px #2E2E2E;
	box-shadow: 0 0 5px 0px #2E2E2E;
	width: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.home_productos2 .categoria a:hover h4 {
	color: #fff;
	background:#de0346;
}

@media (min-width: 100px) {
	.home_productos2 h2 { font-size: 40px; line-height: 40px; }
	.home_productos2 h3 { font-size: 22px; line-height: 22px; }
	.home_productos2 .categoria h4 { font-size: 13px; padding: 10px 8px; -webkit-border-radius: 8px; border-radius: 8px; min-height: 50px; }
}

@media (min-width: 768px) {
	.home_productos2 h2 { font-size: 46px; line-height: 46px; }
	.home_productos2 h3 { font-size: 24px; line-height: 24px; }
	.home_productos2 .categoria h4 { font-size: 14px; padding: 15px 15px; -webkit-border-radius: 40px; border-radius: 40px; min-height: 50px; }
}

@media (min-width: 992px) {
	.home_productos2 h2 { font-size: 50px; line-height: 50px; }
	.home_productos2 h3 { font-size: 26px; line-height: 26px; }
	.home_productos2 .categoria h4 { font-size: 15px; padding: 15px 15px; -webkit-border-radius: 40px; border-radius: 40px; min-height: 64px; }
}

@media (min-width: 1250px) {
	.home_productos2 h2 { font-size: 54px; line-height: 54px; }
	.home_productos2 h3 { font-size: 28px; line-height: 28px; }
	.home_productos2 .categoria h4 { font-size: 16px; padding: 15px 15px; -webkit-border-radius: 40px; border-radius: 40px; min-height: 50px; }
}

/* HOME ICONOS --------------------------------------------------------------------------------- */

.home_iconos1 {
	/*
	background: url(../images/home_iconos.jpg) center center no-repeat;
	background-size: cover;
	*/
	background-color: #de0044;
}

.home_iconos2 {
	padding: 80px 30px 50px 30px;
	margin: 0 auto;
}

.home_iconos2 h2 {
	color: #fff;
	text-align: center;
	margin: 0 0 10px 0;
}

.home_iconos2 h3 {
	color: #fff;
	text-align: center;
	margin: 0 0 60px 0;
}

.home_iconos2 .icono {
	text-align: center;
	margin-bottom: 30px;
	position: relative;
	padding: 0;
}

.home_iconos2 .icono_img {
	background: #00000020;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	padding: 15px 15px;
	margin: 0 auto 20px auto;
	width: fit-content;
}

.home_iconos2 img {
	margin: auto;
}

.home_iconos2 h4 {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #fff;
	text-align: center;
	margin: 0 auto;
}

@media (min-width: 100px) {
	.home_iconos2 h2 { font-size: 40px; line-height: 40px; }
	.home_iconos2 h3 { font-size: 22px; line-height: 22px; }
}

@media (min-width: 768px) {
	.home_iconos2 h2 { font-size: 46px; line-height: 46px; }
	.home_iconos2 h3 { font-size: 24px; line-height: 24px; }
}

@media (min-width: 992px) {
	.home_iconos2 h2 { font-size: 50px; line-height: 50px; }
	.home_iconos2 h3 { font-size: 26px; line-height: 26px; }
}

@media (min-width: 1250px) {
	.home_iconos2 h2 { font-size: 54px; line-height: 54px; }
	.home_iconos2 h3 { font-size: 28px; line-height: 28px; }
}

/* HOME EMPRESA -------------------------------------------------------------------------------- */

.home_empresa1 {
	background: url(../images/empresa_bg.jpg) right bottom no-repeat;
	background-size: cover;
}

.home_empresa2 {
	padding: 100px 30px 100px 30px;
	margin: 0 auto;
}

.home_empresa2 img {
	margin: 0 auto;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}

.home_empresa2 h2 {
	color: #de0346;
	margin: 0 0 15px 0;
}

.home_empresa2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	color: #fff;
	font-size: 18px;
	line-height: 28px;
	margin: 0 0 30px 0;
	padding: 0;
}

.home_empresa2 a {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
  color: #fff;
  background: #de0346;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  display: block;
  width: fit-content;
}

.home_empresa2 a:hover {
  color: #1c1c1c !important;
  background: #de0346 !important;
  border: none !important;
  text-decoration: none;
}

.home_empresa2 a:focus { text-decoration:none; }

.home_empresa2 i {
	margin: 0 10px 0 0;
}

@media (min-width: 100px) {
	.home_empresa2 h2 { font-size: 40px; line-height: 40px; text-align: center; }
	.home_empresa2 p { text-align: center; }
	.home_empresa2 a { font-size: 15px; margin: 0 auto; padding: 10px 30px; }
	.home_empresa2 img { margin: 0 auto 40px auto; }
}

@media (min-width: 768px) {
	.home_empresa2 h2 { font-size: 46px; line-height: 46px; text-align: center; }
	.home_empresa2 a { font-size: 16px; margin: 0 auto; padding: 14px 40px; }
}

@media (min-width: 992px) {
	.home_empresa2 h2 { font-size: 50px; line-height: 50px; text-align: left; }
	.home_empresa2 p { text-align: left; }
	.home_empresa2 a { font-size: 18px; margin: 0 auto 0 0; padding: 16px 50px; }
	.home_empresa2 img { margin: 0 auto; }
}

@media (min-width: 1250px) {
	.home_empresa2 h2 { font-size: 54px; line-height: 54px; text-align: left; }
	.home_empresa2 a { font-size: 18px; margin: 0 auto 0 0; padding: 18px 60px; }
}

/* HOME HELADERIA ------------------------------------------------------------------------------ */

.home_heladeria1 {
	background: url(../images/home_heladeria_bg.jpg) center no-repeat;
	background-size: cover;
}

.home_heladeria2 {
	padding: 80px 30px 80px 30px;
	margin: 0 auto;
}

.home_heladeria2 h2 {
	color: #fff;
	text-align: center;
	margin: 0 0 10px 0;
}

.home_heladeria2 h3 {
	color: #fff;
	text-align: center;
	margin: 0 0 60px 0;
}

.home_heladeria2 h4 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	text-align: left;
	margin: 0 0 10px 0;
}

.home_heladeria2 .h4-1 {
	color: #de0346;
}

.home_heladeria2 .h4-2 {
	color: #fff;
}

.home_heladeria2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	color: #262626;
	font-size: 16px;
	line-height: 24px;
	margin: 0 0 20px 0;
	padding: 0;
}

.home_heladeria2 .p-1 {
	color: #262626;
}

.home_heladeria2 .p-2 {
	color: #fff;
}

.home_heladeria2 a {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
  -webkit-border-radius: 40px;
  border-radius: 40px;
  display: block;
  width: fit-content;
}

.home_heladeria2 a:hover {
  border: none !important;
  text-decoration: none;
}

.home_heladeria2 a:focus {
	text-decoration: none;
}

.home_heladeria2 i {
	margin: 0 10px 0 0;
}


.home_heladeria2 .a-1 {
	color: #fff;
  background: #de0346;
}

.home_heladeria2 .a-1:hover {
	color: #1c1c1c !important;
  background: #de0346 !important;
}

.home_heladeria2 .a-2 {
	color: #de0346;
  background: #fff;
}

.home_heladeria2 .a-2:hover {
	color: #1c1c1c !important;
  background: #fff !important;
}

.home_heladeria2 .col1 {
	background: #ebe5e5;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	padding: 25px 30px;
}

.home_heladeria2 .col2 {
	background: #de0346;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	padding: 25px 30px;
}

@media (min-width: 100px) {
	.home_heladeria2 h2 { font-size: 40px; line-height: 40px; }
	.home_heladeria2 h3 { font-size: 22px; line-height: 22px; }
	.home_heladeria2 h4 { font-size: 24px; line-height: 24px; }
	.home_heladeria2 a { font-size: 14px; margin: 0 auto; padding: 12px 30px; }
	.home_heladeria2 .col1 { margin: 30px 0; }
}

@media (min-width: 768px) {
	.home_heladeria2 h2 { font-size: 46px; line-height: 46px; }
	.home_heladeria2 h3 { font-size: 24px; line-height: 24px; }
	.home_heladeria2 h4 { font-size: 26px; line-height: 26px; }
	.home_heladeria2 a { font-size: 14px; margin: 0 auto; padding: 12px 30px; }
}

@media (min-width: 992px) {
	.home_heladeria2 h2 { font-size: 50px; line-height: 50px; }
	.home_heladeria2 h3 { font-size: 26px; line-height: 26px; }
	.home_heladeria2 h4 { font-size: 28px; line-height: 28px; }
	.home_heladeria2 a { font-size: 15px; margin: 0 0 0 auto; padding: 14px 40px; }
}

@media (min-width: 1250px) {
	.home_heladeria2 h2 { font-size: 54px; line-height: 54px; }
	.home_heladeria2 h3 { font-size: 28px; line-height: 28px; }
	.home_heladeria2 h4 { font-size: 30px; line-height: 30px; }
	.home_heladeria2 a { font-size: 15px; margin: 0 0 0 auto; padding: 14px 40px; }
	.home_heladeria2 .col1 { margin: 0; }
	.home_heladeria2 .row { display: flex; }
	.home_heladeria2 .col-lg-4 { display: flex; flex-direction: column; }
	.home_heladeria2 .col1,
	.home_heladeria2 .col2 { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-start; height: 100%; position: relative; }
	.home_heladeria2 .col1 a, .home_heladeria2 .col2 a { margin-top: auto !important; align-self: flex-end; }
}

/* CARRUSEL ------------------------------------------------------------------------------------ */

.carrusel1 {
	background: #111114;
	position: relative;
}

.carrusel2 {
	padding: 80px 30px 100px 30px;
	margin: 0 auto;
}

.carrusel1 .bg {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
}

.carrusel2 h2 {
	color: #fff;
	text-align: center;
	margin: 0 0 50px 0;
}

.carrusel2 .galeriacont {
  padding: 0 60px;
}

.carrusel2 .galeria {
  margin: 0 10px;
	padding-top: 40px;
	text-align: center;
	position: relative;
}

.carrusel2 .galeria2 {
	-webkit-border-radius: 8px;
	border-radius: 8px;
	padding: 60px 30px 25px 30px;
	background: #fff;
  text-align: center;
}

.carrusel2 .nombre {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 40px;
	line-height: 80px;
	color: #fff;
	width: 80px;
	height: 80px;
  margin: auto;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
}

.carrusel2 h3 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 20px;
	color: #111114;
	text-align: center;
	margin: 0 0 10px 0;
}

.carrusel2 h4 {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 16px;
	color: #4a433f;
	text-align: center;
	margin: 0 0 10px 0;
}

.carrusel2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 600;
	color: #111114;
	font-size: 14px;
	line-height: 16px;
	margin: 10px 0 0 0;
	padding: 0;
}

.carrusel2 .checked {
	color: orange;
}

.carrusel2 .slick-list {
	height: auto !important;
}

.carrusel2 .slick-track {
	display: flex !important;
	align-items: stretch !important;
}

.carrusel2 .slick-slide {
	height: auto !important;
}

.slick-slide > div {
	height: 100%;
}

.carrusel2 .slick-prev, .carrusel2 .slick-prev:focus {
  width: 42px;
  height: 42px;
  left: 0px;
  background: url("../images/carrusel_arrow1.png") center top no-repeat;
  background-size: cover;
}

.carrusel2 .slick-prev:hover {
  background: url("../images/carrusel_arrow1h.png") center top no-repeat;
  background-size: cover;
}

.carrusel2 .slick-next, .carrusel2 .slick-next:focus {
  width: 42px;
  height: 42px;
  right: 0px;
  background: url("../images/carrusel_arrow2.png") center top no-repeat;
  background-size: cover;
}

.carrusel2 .slick-next:hover {
  background: url("../images/carrusel_arrow2h.png") center top no-repeat;
  background-size: cover;
}

.carrusel2 .slick-prev::before, .carrusel2 .slick-next::before {
  content: none;
}

@media (min-width: 100px) {
	.carrusel2 h2 { font-size: 40px; line-height: 40px; }
}

@media (min-width: 768px) {
	.carrusel2 h2 { font-size: 46px; line-height: 46px; }
}

@media (min-width: 992px) {
	.carrusel2 h2 { font-size: 50px; line-height: 50px; }
}

@media (min-width: 1250px) {
	.carrusel2 h2 { font-size: 54px; line-height: 54px; }
}

/* HOME CERTIFICACIONES ------------------------------------------------------------------------ */

.home_certificaciones1 {
	background: url(../images/home_cert_bg.jpg) center bottom no-repeat;
	background-size: cover;
}

.home_certificaciones2 {
	padding: 80px 30px 80px 30px;
	margin: 0 auto;
}

.home_certificaciones2 h2 {
	color: #fff;
	text-align: center;
	margin: 0 0 10px 0;
}

.home_certificaciones2 h3 {
	color: #7a7986;
	text-align: center;
	margin: 0 0 60px 0;
}

.home_certificaciones2 img {
	text-align: center;
	margin: auto;
}

@media (min-width: 100px) {
	.home_certificaciones2 h2 { font-size: 40px; line-height: 40px; }
	.home_certificaciones2 h3 { font-size: 22px; line-height: 22px; }
}

@media (min-width: 768px) {
	.home_certificaciones2 h2 { font-size: 46px; line-height: 46px; }
	.home_certificaciones2 h3 { font-size: 24px; line-height: 24px; }
}

@media (min-width: 992px) {
	.home_certificaciones2 h2 { font-size: 50px; line-height: 50px; }
	.home_certificaciones2 h3 { font-size: 26px; line-height: 26px; }
}

@media (min-width: 1250px) {
	.home_certificaciones2 h2 { font-size: 54px; line-height: 54px; }
	.home_certificaciones2 h3 { font-size: 28px; line-height: 28px; }
}

/* PRODUCTOS ----------------------------------------------------------------------------------- */

.productos1 {
	background: #111015;
}

.productos2 {
	padding: 60px 30px 60px 30px;
	margin: 0 auto;
}

.productos2 .lnc2 {
	max-height: 16px;
	margin: -3px 0 0 5px;
	display: inline;
}

.productos2 .desc {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	color: #a7a7af;
	font-size: 18px;
	line-height: 24px;
	text-align: center;
	margin: 0 0 50px 0;
	padding: 0;
}

/* -------------------------------------------------------------------- */

.productos2 .product-container {
	-webkit-border-radius: 15px;
	border-radius: 15px;
	overflow: auto;
}

.productos2 .product-item {
	color: #fff;
	background: linear-gradient(to right, #850327 0%,#ab0234 50%,#b80037 100%);
	border-bottom: 1px solid #111114;
	overflow: hidden;
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	transition: background-color 0.3s ease-out;
	transform: translateZ(0); /* Aceleración hardware */
  backface-visibility: hidden; /* Mejorar renderizado */
}

.productos2 .product-item:hover, .productos2 .product-item.expanded {
	background: linear-gradient(to right, #aa0433 0%,#d0013f 50%,#de0044 100%);
}

.productos2 .product-container .product-item:last-child {
	border-bottom: none !important;
}

.productos2 .product-image-container {
	overflow: hidden;
	transition: height 0.5s cubic-bezier(0.65, 0, 0.35, 1);
	position: relative;
}

.productos2 .product-image {
	object-fit: cover;
	transition: all 0.3s ease;
	/* filter: grayscale(100%) contrast(0.3);*/
}

/*
.productos2 .product-item:hover .product-image, .productos2 .product-item.expanded .product-image {
	filter: grayscale(0%);
}
*/

.productos2 .product-item.collapsed .product-image-container {
	max-height: 150px;
}

.productos2 .product-item.collapsed .product-image {
	width: 100%;
	height: 150px;
	overflow: initial;
}

/*
.productos2 .product-item.expanded .product-image-container {
	max-height: 300px;
}
*/

.productos2 .product-item.expanded .product-image {
	width: 100%;
	/* height: 300px; */
	margin: auto;
	overflow: initial;
}

@media (max-width: 767px) {
	.productos2 .product-item.collapsed .product-image-container { display: none; }
	.productos2 .product-item.expanded .product-image-container { display: block; }
}

/* -------------------------------------------------------------------- */

.productos2 .product-content {
	padding: 15px 30px;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.productos2 .product-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.productos2 .product-name {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	text-align: left;
	margin: 0;
	transition: color 0.3s ease;
	color: #d36687;
}

.productos2 .product-item:hover .product-name, .productos2 .product-item.expanded .product-name {
	color: #fff;
}

.productos2 .product-toggle {
	margin-left: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease;
}

.productos2 .product-toggle i {
	fill: #fff;
	transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.productos2 .product-item:hover .product-toggle i, .productos2 .product-item.expanded .product-toggle i {
	fill: #fff;
}

.productos2 .product-item.expanded .product-toggle {
	transform: rotate(180deg);
}

.productos2 .product-details {
	color: #fff;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	will-change: height;
	transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
							opacity 0.3s ease 0.1s,
							padding 0.3s ease;
}

.productos2 .product-details-inner {
	transform: translateZ(0);
}

.productos2 .product-item.collapsed .product-details {
	height: 0 !important;
	opacity: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.productos2 .product-item.expanded .product-details {
	max-height: 1500px;
	height: auto;
	color: #fff;
	opacity: 1;
	padding-top: 15px;
}

.productos2 .product-description {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	margin-top: 15px;
}

.productos2 .product-presentation {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	margin-top: 15px;
}

@media (max-width: 767px) {
	.productos2 .product-item.collapsed .product-content { padding: 30px; }
	.productos2 .product-details { transition-duration: 0.4s; }
}

@media (min-width: 100px) {
	.productos2 .product-name { font-size: 30px; line-height: 30px; }
	.productos2 .product-toggle i { font-size: 20px; }
	.productos2 .product-description { font-size: 15px; line-height: 20px; }
	.productos2 .product-presentation { font-size: 15px; line-height: 20px; }
}

@media (min-width: 768px) {
	.productos2 .product-name { font-size: 36px; line-height: 36px; }
	.productos2 .product-toggle i { font-size: 28px; }
	.productos2 .product-description { font-size: 16px; line-height: 22px; }
	.productos2 .product-presentation { font-size: 16px; line-height: 22px; }
}

@media (min-width: 992px) {
	.productos2 .product-name { font-size: 40px; line-height: 40px; }
	.productos2 .product-toggle i { font-size: 30px; }
	.productos2 .product-description { font-size: 18px; line-height: 24px; }
	.productos2 .product-presentation { font-size: 18px; line-height: 24px; }
}

@media (min-width: 1250px) {
	.productos2 .product-name { font-size: 44px; line-height: 44px; }
	.productos2 .product-toggle i { font-size: 32px; }
	.productos2 .product-description { font-size: 20px; line-height: 26px; }
	.productos2 .product-presentation { font-size: 20px; line-height: 26px; }
}

/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

/* PRODUCTOS - CATEGORIAS ---------------------------------------------------------------------- */

.productos_cat1 { background: #2c2931 url(../images/productos_bg.png) center no-repeat; }

.productos_cat2 {
	padding: 60px 30px 30px 30px;
	margin: 0 auto;
	width: 100% !important;
}

.productos_cat2 h2 { color:#fff; }

.productos_cat2 .categoria {
	text-align: center;
	margin-bottom: 30px;
	position: relative;
    padding-bottom: 50px;
}

.productos_cat2 .categoria a:hover, .productos_cat2 .categoria a:focus { text-decoration:none; }

.productos_cat2 .categoria img {
	margin: 0 auto;
	-webkit-border-radius: 150px;
	border-radius: 150px;
	border: 3px solid #d6d3e3;
	-webkit-box-shadow: 0 3px 10px 0 #191919;
	box-shadow: 0 3px 10px 0 #191919;
}

.productos_cat2 .categoria h3 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #fff;
	text-align: center;
	margin: 10px 0 0 0;
    padding: 0;
}

.productos_cat2 .categoria a:hover h3 { color:#de0346; }

.productos_cat2 .categoria-menu2 select {
	width: 60%;
    min-height: 50px;
	margin: 0 auto 30px auto;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #423e3f;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}

.productos_cat2 .lnc1 {
	max-height: 45px;
    margin: 15px auto 0 auto !important;
    display: inline;
	-webkit-border-radius: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none  !important;
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

@media (min-width: 100px) {
	.productos_cat2 .categoria-menu1 { display:none; }
	.productos_cat2 .categoria-menu2 { display:block; width:100%; }
}

@media (min-width: 768px) {
	.productos_cat2 .categoria-menu1 { display:block; }
	.productos_cat2 .categoria-menu2 { display:none; width:100%; }
}

/* LA EMPRESA ---------------------------------------------------------------------------------- */

.empresa1 {
	background: #111015;
}

.empresa2 {
	padding: 60px 30px 60px 30px;
	margin: 0 auto;
}

.empresa2 h2 {
	color: #fff;
}

.empresa2 h3 {
	color: #aeaeba;
	text-align: center;
	margin: 0 0 30px 0;
}

.empresa2 .texto {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 24px;
	color: #fff;
	text-align: left;
	margin: 20px 0 0 0;
	padding: 0;
}

.empresa2 .texto a {
	color: #de0346;
}

.empresa2 .empresa-menu2 select {
	width: 60%;
	height: 48px !important;
	margin: 0 auto 20px auto;
	-webkit-border-radius: 8px !important;
	border-radius: 8px !important;
	color: #8f8f9a !important;
	font-family: "Quicksand", sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	background: #fff !important;
	border: none !important;
}

.empresa2 .empresa-menu2 select:focus {
	border: none !important;
	outline: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.empresa2 .fotorama {
	-webkit-border-radius: 8px;
	border-radius: 8px;
}

@media (min-width: 100px) {
	.empresa2 h3 { font-size: 22px; line-height: 22px; }
	.empresa2 .empresa-menu2 { display:block; width:100%; }
}

@media (min-width: 768px) {
	.empresa2 h3 { font-size: 24px; line-height: 24px; }
	.empresa2 .empresa-menu2 { display:none; width:100%; }
}

@media (min-width: 992px) {
	.empresa2 h3 { font-size: 26px; line-height: 26px; }
}

@media (min-width: 1250px) {
	.empresa2 h3 { font-size: 28px; line-height: 28px; }
}

/* LA EMPRESA - CATEGORIAS --------------------------------------------------------------------- */

.empresa_cat1 {
    background: #111114;
    position: relative;
}

.empresa_cat2 {
	padding: 60px 30px 60px 30px;
	margin: 0 auto;
}

.empresa_cat1 .bg {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
}

.empresa_cat2 h2 { color:#fff; }

.empresa_cat2 .categoria {
	text-align: center;
	margin-bottom: 30px;
}

.empresa_cat2 .categoria a:hover, .empresa_cat2 .categoria a:focus { text-decoration:none; }

.empresa_cat2 .categoria img {
	margin: 0 auto;
	-webkit-border-radius: 150px;
	border-radius: 150px;
	border: 3px solid #d6d3e3;
	-webkit-box-shadow: 0 3px 10px 0 #191919;
	box-shadow: 0 3px 10px 0 #191919;
}

.empresa_cat2 .categoria h3 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #fff;
	text-align: center;
	margin: 15px 0 0 0;
  padding: 0;
}

.empresa_cat2 .categoria a:hover h3 { color:#de0346; }

@media (min-width: 100px) {
	.empresa_cat1 { display:none; }
}

@media (min-width: 768px) {
	.empresa_cat1 { display:block; }
}

/* HELADERIA - TITULO & SLIDER ----------------------------------------------------------------- */

.heladeria_titulo1 {
	background: #111015;
}

.heladeria_titulo2 {
	padding: 60px 30px 0 30px;
	margin: 0 auto;
}

.heladeria_titulo2 h2 { color:#fff; }

.heladeria_titulo2 .fotorama {
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.heladeria_titulo2 .slider { position:relative; }

.heladeria_titulo2 .slider_text {
	left: 80px;
	right: 80px;
	top: 30%;
	z-index: 999;
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 2px 4px #2E2E2E50;
	text-align: center;
}

@media (min-width: 100px) {
	.heladeria_titulo2 .slider_text { font-size: 24px; line-height: 34px; margin-bottom: 30px; }
}

@media (min-width: 768px) {
	.heladeria_titulo2 .slider_text { font-size: 28px; line-height: 38px; margin-bottom: 0; position: absolute; }
}

@media (min-width: 992px) {
	.heladeria_titulo2 .slider_text { font-size: 36px; line-height: 46px; margin-bottom: 0; position: absolute; }
}

@media (min-width: 1250px) {
	.heladeria_titulo2 .slider_text { font-size: 40px; line-height: 50px; margin-bottom: 0; position: absolute; }
}

/* HELADERIA - INFO ---------------------------------------------------------------------------- */

.heladeria_info1 {
	background: #111114;
	position: relative;
}

.heladeria_info2 {
	padding: 60px 30px 60px 30px;
	margin: 0 auto;
}

.heladeria_info1 .bg {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
}

.heladeria_seccion {
	margin-top: 40px;
    margin-bottom: 40px;
}

.heladeria_seccion img {
	margin: 0 auto;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.heladeria_info2 h2 {
	color: #aeaeba;
	text-align: center;
	margin: 0 0 30px 0;
}

.heladeria_seccion h3 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #fff;
	text-align: center;
	margin: 10px 0 40px 0;
  padding: 0;
}

.heladeria_seccion h4 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #fff;
	text-align: center;
	margin: 15px 0 10px 0;
  padding: 0;
}

.heladeria_seccion p {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	color: #fff;
	text-align: center;
	font-size: 14px;
	margin: 0 0 30px 0;
}

@media (min-width: 100px) {
	.heladeria_info2 h2 { font-size: 22px; line-height: 22px; }
}

@media (min-width: 768px) {
	.heladeria_info2 h2 { font-size: 24px; line-height: 24px; }
}

@media (min-width: 992px) {
	.heladeria_info2 h2 { font-size: 26px; line-height: 26px; }
}

@media (min-width: 1250px) {
	.heladeria_info2 h2 { font-size: 28px; line-height: 28px; }
}

/* CONTACTO ------------------------------------------------------------------------------------ */

.contacto_form1 {
	background: #111015;
}

.contacto_form2 {
	padding: 60px 30px 60px 30px;
	margin: 0 auto;
}

.contacto_form2 h2 { color:#fff; }

.contacto_form2 h3 {
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: 25px;
	color: #fff;
	line-height: 29px;
	margin: 0 0 15px 0;
	padding: 0;
}

.contacto_form2 p {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #fff;
	line-height: 19px;
	margin: 0 0 15px 0;
	padding: 0;
}

.contacto_form2 iframe { border:2px #fff solid; }

@media (min-width: 100px) {
	.contacto_form2 h3 { text-align:center; }
	.contacto_form2 p { text-align:center; }
	.contacto_form2 .datosform { text-align:center; margin-bottom:30px; }
}

@media (min-width: 992px) {
	.contacto_form2 h3 { text-align:left; }
	.contacto_form2 p { text-align:left; }
	.contacto_form2 .datosform { text-align:inherit; margin-bottom:0; }
}

/* -------------------------------------------------------------------- */

.iframe-telefono {
	border: 0px;
	width: 100%;
	overflow: hidden;
	height: 100px;
	display: none;
}

.modal-body h3 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 20px;
	color: #515151;
	padding: 0;
	margin: 0;
	line-height: 25px;
	text-align: center;
}

.contacto_form2 .btnPopup1 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	color: #fff;
	font-size: 16px;
	background-color: #de0346;
	margin: 0 0 20px 0;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.contacto_form2 .btnPopup1:hover {
	color: #fff;
	background: #bf132d;
}

.contacto_form2 .btnPopup2 {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #fff;
	font-size: 16px;
	background-color: #de0346;
	margin: 0;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	float: right;
}

.contacto_form2 .btnPopup2:hover {
	color: #fff;
	background: #bf132d;
}

.contacto_form2 .btnPopup2:focus {
	color: #fff;
	background-color: #de0346;
	outline: none;
    outline-offset: 0;
}

.contacto_form2 .btnPopup2:active {
	-webkit-box-shadow: none;
    box-shadow: none;
}

/* -------------------------------------------------------------------- */

.contacto_form2 input {
	min-height: 50px;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #423e3f;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.contacto_form2 textarea {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #423e3f;
	resize: none;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.contacto_form2 button {
	font-family: "Montserrat", sans-serif;
    font-weight: 500;
	font-size: 18px;
	color: #fff;
	text-transform: uppercase;
	background-color: #de0346;
	-webkit-border-radius: 4px;
    border-radius: 4px;
    display: block;
    min-height: 50px;
    padding: 0 20px;
    margin: 0 auto 0 0;
}

.contacto_form2 button:hover {
	color: #fff;
	background-color: #bf132d;
}

.contacto_form2 button:focus {
	color: #fff;
	background-color: #de0346;
	outline: none;
    outline-offset: 0;
}

.contacto_form2 button:active {
	-webkit-box-shadow: none;
    box-shadow: none;
}

/* TERMINOS ------------------------------------------------------------------------------------ */

.terminos1 { background: #2c2931 url(../images/productos_bg.png) center no-repeat; }

.terminos2 {
	padding: 60px 30px 60px 30px;
	margin: 0 auto;
}

.terminos2 h2 { color:#fff; }

.terminos2 p {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	color: #fff;
	text-align: center;
	font-size: 15px;
	margin: 0 0 15px 0;
	padding: 0;
}

/* HISTORIA ------------------------------------------------------------------------------------ */

.historia1 {
	background: #111015;
}

.historia2 {
	padding: 0 30px 60px 30px;
	margin: 0 auto;
}

.historia2 .galeriacont {
  padding: 0 60px;
}

.historia2 .slick-track {
	display: flex !important;
}

.historia2 .slick-slide {
	height: inherit !important;
}

.historia2 .galeria {
  margin: 0 2px;
	text-align: center;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.historia2 .galeria2 {
	-webkit-border-radius: 8px;
	border-radius: 8px;
  text-align: center;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.historia2 h3 {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	font-size: 40px;
	line-height: 60px;
	color: #fff;
	text-align: center;
	margin: 0;
	-webkit-border-radius: 8px 8px 0 0;
	border-radius: 8px 8px 0 0;
}

.historia2 .historia-texto {
	margin: 0;
	padding: 15px 15px;
	background: #fff;
	-webkit-border-radius: 0 0 8px 8px;
	border-radius: 0 0 8px 8px;	
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.historia2 p {
	font-family: "Quicksand", sans-serif;
	font-weight: 500;
	color: #262626;
	font-size: 14px;
	line-height: 18px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

.historia2 .slick-prev, .historia2 .slick-prev:focus {
  width: 42px;
  height: 42px;
  left: 0px;
  background: url("../images/carrusel_arrow1.png") center top no-repeat;
  background-size: cover;
}

.historia2 .slick-prev:hover {
  background: url("../images/carrusel_arrow1h.png") center top no-repeat;
  background-size: cover;
}

.historia2 .slick-next, .historia2 .slick-next:focus {
  width: 42px;
  height: 42px;
  right: 0px;
  background: url("../images/carrusel_arrow2.png") center top no-repeat;
  background-size: cover;
}

.historia2 .slick-next:hover {
  background: url("../images/carrusel_arrow2h.png") center top no-repeat;
  background-size: cover;
}

.historia2 .slick-prev::before, .historia2 .slick-next::before {
  content: none;
}

@media (min-width: 100px) {
	.historia2 p { max-height: 170px; }
}

@media (min-width: 768px) {
	.historia2 p { max-height: 120px; }
}

@media (min-width: 992px) {
	.historia2 p { max-height: 170px; }
}

@media (min-width: 1250px) {
	.historia2 p { max-height: 140px; }
}