:root {
  --primary-color: #6B1638;
  --primary-color-hover:  #5a132f;
  --secondary-color: #D89200;
  --secondary-color-hover: #b37a00; 
  --tertiary-color: #EBEBEB;
}

/* reseteo los estilos del navegador */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ajusto font-size para usar rem como px */
html {
  font-size: 62.5%;
}

body {
  overflow-x: hidden;
  position: relative;
}

.btn-primary {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}
.btn-primary:hover {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);
}
.btn-secondary {
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
}
.btn-secondary:hover {
  background-color: var(--secondary-color-hover);
  border-color: var(--secondary-color-hover);
}



/* body ============================================================================================================ */
body {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 28px;
  color: #333333;
  background-color: #ffffff;
}
.text-primary {
  color: #333333 !important; 
}

a {
  text-decoration: none;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
}

a:hover {
  color: #2f2f2f;
  text-decoration: none;
}

a.more {
  font-weight: 500;
}

.overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
/* navbar ============================================================================================================ */
.container-logo {
    position: absolute;
    top: 0;
    width: 139px;
    height: 168px;
    background-image: url('/storage/assets/img/logo-top-bg.jpg');

    background-repeat: no-repeat;
    background-position: bottom;
    object-fit: fill;
}

@media (max-width: 768px) {
  .container-logo {
    display: none;
  }
  .custom-navbar-nav-l {
    padding-top: 2rem;
  }
  .custom-navbar-nav-r {
    display: inline-block;
  }
}

.custom-navbar {
  z-index: 999; 
  background: var(--primary-color);
  padding-top: 10px;
  padding-bottom: 10px;
}

.custom-navbar .navbar-toggler {
  border-color: transparent;
}

.custom-navbar .navbar-toggler:active,
.custom-navbar .navbar-toggler:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

@media (min-width: 992px) {
  .custom-navbar .custom-navbar-nav-l li {
    margin-left: 15px;
    margin-right: 15px;
  }
  
}

.custom-navbar .custom-navbar-nav-l li a {
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.6rem;
  color: #ffffff !important;
  opacity: .7;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  position: relative;
}

@media (min-width: 992px) {
  .custom-navbar .custom-navbar-nav-l li a:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 8px;
    right: 8px;
    background: #ffffff;
    height: 3px;
    opacity: 1;
    visibility: visible;
    width: 0;
    -webkit-transition: .15s all ease-out;
    -o-transition: .15s all ease-out;
    transition: .15s all ease-out;
  }
  
}

.custom-navbar .custom-navbar-nav-l li a:hover {
  opacity: 1;
}

.custom-navbar .custom-navbar-nav-l li a:hover:before {
  width: calc(100% - 16px);
}

.custom-navbar .custom-navbar-nav-l li.active a {
  opacity: 1;
}

.custom-navbar .custom-navbar-nav-l li.active a:before {
  width: calc(100% - 16px);
}

.custom-navbar .custom-navbar-cta {
  margin-left: 0 !important;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

@media (min-width: 768px) {
  .custom-navbar .custom-navbar-cta {
    margin-left: 40px !important;
  }
}

.custom-navbar .custom-navbar-cta li {
  margin-left: 0px;
  margin-right: 0px;
}

.custom-navbar .custom-navbar-cta li:first-child {
  margin-right: 20px;
}

/* ============ desktop view ============ */
@media all and (min-width: 992px) {
  .dropdown-menu {
    background-color: var(--primary-color);
  }
  .dropdown-menu li:hover{
    color: var(--primary-color);
    background-color: var(--primary-color);
  }

.dropdown-item:hover {
  background-color: var(--primary-color);
}
	.dropdown-menu li{ 
    position: relative; 	
  }
	.nav-item .submenu{ 
		display: none;
    background-color: var(--primary-color);
		position: absolute;
		left:100%; top:-7px;
	}
	.nav-item .submenu-left{ 
		right:100%; left:auto;
    background-color: var(--primary-color);
	}
	.dropdown-menu > li:hover{ 
    background-color: var(--primary-color);
  }
	.dropdown-menu > li:hover > .submenu{ 
    display: block; 
    background-color: var(--primary-color);
  }
  .nav-parent{
    min-width: 400px;
  }
  
}	
/* ============ desktop view .end// ============ */

/* ============ small devices ============ */
@media (max-width: 991px) {
  .dropdown-menu{
    background-color: var(--primary-color);
    margin-left:0.7rem; margin-right:0.7rem; margin-bottom: .5rem;
  }
}	
/* ============ small devices .end// ============ */


/* sliders ============================================================================================================ */

#slider img {
  width: 100%;
  max-height: 100vh;
  object-fit: cover;
}

.carousel-control-next-icon, .carousel-control-prev-icon {
  height: 20px;
  width: 20px;
  padding: 3px;
  background-color: var(--primary-color);
  border-radius: 50%;
  border: 1px solid;
  border-color: var(--primary-color);
}

@media (max-width: 575px) {
  #slider img {
    width: 100%;
    height: 60vh;
    object-fit: cover;
  }
}

/* historia home ============================================================================================================ */

.home--historia {
  padding-top: 80px;
  padding-bottom: 80px;
}
.home--historia-title {
  font-size: 3rem;
  font-weight: bold;
  color: var(--primary-color);
  padding-bottom: 20px;
}

/* categorías home ============================================================================================================ */
.category-title {
  font-size: 2.0rem;
  font-weight: 600;
  text-transform: uppercase;
  padding-top: 20px;
  padding-bottom: 10px;
  max-width: 155px;
  margin: 0 auto;
}

.category-shadow {
  height: 100%;
  box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.10);
  -webkit-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.10);
  -moz-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.10);
}
.category-shadow a {
  color: black;
}

.category-shadow img {
  margin-top: 2rem;
}

/* asesoramiento tecnico home ============================================================================================================ */
.asesoramiento-container {
  padding-top: 5%;
  padding-bottom: 5%;
}
.asesoramiento-bg {
  background-image: url('/storage/assets/img/asesoramiento_1920w.jpg');
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  object-fit: contain;
  text-align: left;
}
.asesoramiento-bg .overlay {
  padding: 9rem 5rem;
}
.asesoramiento-bg h2 {
  font-size: 4.5rem;
  font-weight: 700;
  color: white;
  padding-bottom: 5%;
}

.asesoramiento-bg .overlay a {
  width: 25rem;
  padding: 9px;
  font-size: 2.8rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (max-width: 576px) {
  .asesoramiento-bg .overlay {
    padding: 9rem 2rem;
  }
}
/* Quiénes Somos ============================================================================================================ */
#quienes-somos {
  padding-top: 20rem;
}
#quienes-somos h2 {
  font-size: 6.5rem;
  font-weight: bold;
  color: var(--primary-color);
}
#quienes-somos .divider {
  border-bottom: 5px solid;
  color: var(--primary-color);
  max-width: 188px;
  margin: 4rem auto 5rem auto;
}
#quienes-somos p {
  font-size: 2.2rem;
  padding-left: 5rem;
  padding-right: 5rem;
  margin-bottom: 5rem;
  
}

#quienes-somos picture img {
  object-fit: cover;
}

@media (max-width: 576px) {
  #quienes-somos h2 {
    font-size: 5.5rem;
  }
  #quienes-somos p {
    font-size: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 5rem;
    
  }
}

/* Misión ============================================================================================================ */
#mision {
  padding-top: 15rem;
  padding-bottom: 15rem;
  background-color: var(--primary-color);
}
#mision h2 {
  font-size: 6.5rem;
  font-weight: bold;
  color: white;
}
#mision .divider {
  border-bottom: 5px solid;
  color: white;
  max-width: 188px;
  margin: 4rem auto 5rem auto;
}
#mision p {
  font-size: 2.2rem;
  color: white;
  padding-left: 10rem;
  padding-right: 10rem;
  
}
@media (max-width: 576px) {
  #mision {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  #mision h2 {
    font-size: 5.5rem;
  }
  #mision p {
    font-size: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 5rem;
    
  } 
}

/* Visión ============================================================================================================ */
#vision {
  padding-top: 15rem;
  padding-bottom: 15rem;
  background-color: #C6C6C6;
}
#vision h2 {
  font-size: 6.5rem;
  font-weight: bold;
  color: var(--primary-color);
}
#vision .divider {
  border-bottom: 5px solid;
  color: var(--primary-color);
  max-width: 188px;
  margin: 4rem auto 5rem auto;
}
#vision p {
  font-size: 2.2rem;
  color: black;
  padding-left: 10rem;
  padding-right: 10rem;
  
}
@media (max-width: 576px) {
  #vision {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  #vision h2 {
    font-size: 5.5rem;
  }
  #vision p {
    font-size: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 5rem;
    
  } 
}
/* Preguntas frecuentes Section ============================================================================================================ */
#preguntas-frecuentes {
  padding-top: 20rem;
  padding-bottom: 20rem;
}
#preguntas-frecuentes h2 {
  font-size: 6.5rem;
  font-weight: bold;
  color: var(--primary-color);
}
#preguntas-frecuentes h3 {
  font-size: 2.0rem;
  font-weight: bold;
  color: var(--primary-color);
}
#preguntas-frecuentes .divider {
  border-bottom: 5px solid;
  color: var(--primary-color);
  max-width: 188px;
  margin: 4rem auto 5rem auto;
}
#preguntas-frecuentes p {
  font-size: 2.2rem;
}

#preguntas-frecuentes .faqs {
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 576px) {
  #preguntas-frecuentes h2 {
    font-size: 5.5rem;
  }
  #preguntas-frecuentes p {
    font-size: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 5rem;
    
  }
}




/* Category Template ============================================================================================================ */
#category-template {
  padding-top: 15rem;
  padding-bottom: 7rem;
  background-color: var(--tertiary-color);
}

#category-template .category-container {
  max-width: 800px;
  margin: 0 auto;
}

#category-template img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  mix-blend-mode: multiply;
  padding-bottom: 2.5rem;
}
#category-template h2 {
  font-size: 3.5rem;
  font-weight: bold;
  text-transform: uppercase;
  color: var(--secondary-color);
  padding-bottom: 3rem;

}

#category-template p {
  font-size: 2.2rem;
  color: #808082;
  
}
@media (max-width: 576px) {
  #category-template {
    padding-top: 15rem;
    padding-bottom: 10rem;
  }
  #category-template h2 {
    font-size: 3rem;
  }
  #category-template p {
    font-size: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-bottom: 5rem;
    
  } 
}
/* Products Template ============================================================================================================ */
#products-template {
  padding-top: 5rem;
  padding-bottom: 10rem;
}

/* Products Template / Sidebar  =====================================================================================================================*/
#products-template .cat-link-container {
  display: flex;
  align-items: center;
}

#products-template .category-option {
  margin-bottom: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#products-template .sidebar-unselected {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--primary-color);
  width: 250px;
  min-height: 75px;
}

#products-template .sidebar-unselected:hover {
  background-color: var(--secondary-color);
}

#products-template .sidebar-selected {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--secondary-color);
  width: 250px;
  min-height: 75px;
}

#products-template .cat-link {
  font-size: 1.5rem;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 2rem;
  color: white;
  width: 190px;
}


#products-template ul {
  margin-top: -2rem;
  padding-left: 7rem;
  list-style: none;
}

#products-template ul li {
  line-height: 2.5rem;
  max-width: 20rem;
}
.active > .page-link {
  background-color: var(--primary-color-hover);
  border-color: var(--primary-color-hover);

}
.page-link {
  font-size: 1.4rem;
  color: var(--primary-color-hover);
}
.page-link:hover {
  color: var(--primary-color);
}



#products-template .sub-cat-link {
  color: black;
}
#products-template .sub-cat-link:hover {
  color: var(--primary-color);
}

#products-template .triangle {
  width: 0px;
  height: 0px;
  margin-left: -25px;
  border-style: solid;
  border-width: 37.5px 25px 37.5px 0;
  border-color: transparent #ffffff transparent transparent;
  transform: rotate(0deg);
 }

 .category-shadow-sidebar {
  padding: 20px;
  height: 10rem;
  width: 10rem;
  box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.10);
  -webkit-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.10);
  -moz-box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.10);
}
#products-template .cat-link-container img {
  aspect-ratio: 1/1;
  object-fit: contain;
}
.category-shadow-sidebar {
  color: black;
}

.category-shadow-sidebar img {
  margin-top: 2rem;
}

/* Products Template / GRID  =====================================================================================================================*/
#products-template-content h2 {
  font-size: 2.6rem;
  font-weight: bold;
  text-transform: uppercase;
}

#products-template-content .card .card-img-top {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}

#products-template-content .card-body {
  padding: 15px 7px 15px 7px;
}
#products-template-content .card-body .card-title {
  font-size: 2.0rem;
  font-weight: bold;
  color: var(--primary-color);
  padding-bottom: 1rem;
  border-bottom: 1px solid #dfdfdf;
}

#products-template-content .card-body .card-text {
  font-size: 1.6rem;
}

#products-template-content a {
  font-size: 1.0rem;
  font-weight: bold;
  text-transform: uppercase;
  display: flex ;
  justify-content: space-around;
  align-items: center;
  /* max-width: 14rem; */
}

.btn-gris {
  background-color:#9fa8b9; 
}  

.btn-gris:hover {
  background-color:#808082; 
}

#products-template-content .img-icon {
  width: 28px;
  height: 28px;
  aspect-ratio: 1/1;
  object-fit: scale-down;
}

#products-template-content .price {
  font-size: 2rem;
}

#products-template-content .btn-buy img {
  width: 20px;
  height: 20px;
  margin-right: 1rem;
  aspect-ratio: 1/1;
  object-fit: contain;
}

#products-template-content .btn-buy {
  color: var(--primary-color);
  font-size: 1.6rem;
  padding-right: 15px;
}

/* Single Product ============================================================================================================ */

#single-product {
  padding-top: 20rem;
  padding-bottom: 10rem;
}
@media (max-width: 768px) {
  #single-product {
    padding-top: 12rem;
    padding-bottom: 10rem;
  }
}

#single-product a {
  font-weight: bold;
  color: #2f2f2f;
}

#single-product .active {
  font-weight: bold;
  color: var(--primary-color);
}

#single-product .single-product-img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
  transition: transform .2s; 
}

#single-product .single-product-img:hover {
  transform: scale(1.5);
}

#single-product .single-product-title {
  font-size: 3.6rem;
  color: var(--primary-color);
}

#single-product .single-product-divider {
  width: 100%;
  height: 1px;
  background-color: #606060;
  margin-top: 2rem;
  margin-bottom: 1.5rem;

}

/* PRODUCT GALLERY =====================================================================================================================*/
.gallery img {
  border: 1px solid #6b16382c;
  max-width: 100%;
  vertical-align: top;
  aspect-ratio: 1/1;
  object-fit: cover;
  
}

.gallery {
  display: flex;
  margin: 10px auto;
  max-width: 600px;
  position: relative;
  padding-top: 600px;
  /* padding-top: 66.6666666667%; */
}

@media screen and (min-width: 600px) {
  .gallery {
      padding-top: 600px;
  }
}
@media screen and (max-width: 600px) {
  .gallery {
      padding-top: 550px;
  }
}

.gallery__img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.gallery__thumb {
  padding-top: 6px;
  margin: 6px;
  cursor: pointer;
  display: block;
  max-width: 150px;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.gallery__selector {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.gallery__selector:checked+.gallery__img {
  opacity: 1;
}

.gallery__selector:checked~.gallery__thumb>img {
  box-shadow: 0 0 0 2px rgb(107, 22, 56, 0.40);
}


/* Contacto ============================================================================================================ */
#contacto .contact-left {
  padding-top: 20rem;
  background-color: rgba(237,237,237);
}

#contacto .contact-left h2 {
  font-size: 3.0rem;
  font-weight: bold;
  color: var(--primary-color);
}

#contacto .contact-icon {
  aspect-ratio: 1/1;
  object-fit: contain;
  object-position: center;
}

#contacto .contact-link {
  font-weight: 500;
  color: var(--primary-color)
}

#contacto .contact-right {
  position: relative;
  display: flex;
}

#contacto .contact-right::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 95%);
  pointer-events: none; /* Permite hacer clics y selecciones en la imagen */
}

#contacto .contact-right .contact-right-img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

@media (max-width: 576) {
  #contacto .contact-right {
    display: none;
  }
  
}
@media (max-width: 768px) {
  #contacto .contact-left {
    padding-top: 13rem;
    background-color: rgba(237,237,237);
  }
  
}
@media (max-width: 920px) {
  #contacto .contact-right .contact-right-img {
    width: 100%;
    object-fit: contain;
  }  

}

/* Representación ============================================================================================================ */
#representacion {
  padding-top: 15rem;
  padding-bottom: 15rem;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url('/storage/assets/img/hombre-que-trabajaba-imprenta-papel-pinturas_1920w.jpg');
  background-position: center;
}

#representacion h2 {
  font-size: 5.5rem;
  font-weight: 500;
  color: white;
}

#representacion .btn-conocelos {
  color: var(--primary-color);
}

/* My Account Section ============================================================================================================ */
#my-account {
  padding-top: 20rem;
  padding-bottom: 10rem;
}

#my-account .my-account-section-title {
  font-size: 2.6rem;
  font-weight: bold;
  color: var(--primary-color);
}

#my-account .account-settings .user-profile {
  margin: 0 0 1rem 0;
  padding-bottom: 1rem;
  text-align: center;
}
#my-account .account-settings .user-profile .user-avatar {
  margin: 0 0 1rem 0;
}
#my-account .account-settings .user-profile .user-avatar img {
  width: 90px;
  height: 90px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
}
#my-account .account-settings .user-profile h5.user-name {
  margin: 0 0 0.5rem 0;
}
#my-account .account-settings .user-profile h6.user-email {
  margin: 0;
  /* font-size: 0.8rem; */
  font-weight: 400;
  color: #9fa8b9;
}
#my-account .account-settings .about {
  margin: 2rem 0 0 0;
  text-align: center;
}
#my-account .account-settings .about h5 {
  margin: 0 0 15px 0;
  color: var(--primary-color);
}

#my-account .form-control {
  border: 1px solid #cfd1d8;
  background: #ffffff;
  color: #2e323c;
}

#my-account .card {
  background: #ffffff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: 0;
  margin-bottom: 1rem;
}



/* Cart Section ============================================================================================================ */

#cart-section {
  padding-top: 20rem;
  padding-bottom: 10rem;
}

#cart-section .cart-section-title {
  font-size: 2.6rem;
  font-weight: bold;
  color: var(--primary-color);
}

#cart-section table tr td {
  vertical-align: middle;
}
#cart-section .img-cart {
  width: 60px;
  object-fit: cover;
  aspect-ratio: 1/1;
}

#cart-section .cart-product-quantity {
  max-width: 80px;
}

/* footer ============================================================================================================ */
.footer-section {
  padding: 80px 0;
  background: var(--primary-color);
  color: #ffffff;
}

.footer-section h3 {
  font-size: 2.4rem;
  font-weight: bold;
  text-transform: uppercase;
  
}

.footer-section ul {
  padding-left: 0px; 
}

.footer-section ul li {
  list-style: none;
  line-height: 3rem;
}

.footer-sitemap li {
  border-bottom: 2px solid white;
}

.footer-contact li {
  border-bottom: 2px solid rgba(255, 255, 255, 0); /*compenso borde blanco de 2px de la columna anterior*/
}

.footer-contact span {
  width: 14px;
  height: 14px;
  padding-left: 24px;
  background-repeat: no-repeat;
  object-fit: cover;
}

.footer-location {
  background-image: url(/storage/assets/img/icons/footer-location.png);
}

.footer-phone {
  background-image: url(/storage/assets/img/icons/footer-phone.png);
}

.footer-email {
  background-image: url(/storage/assets/img/icons/footer-email.png);
}

.footer-fb {
  background-image: url(/storage/assets/img/icons/footer-fb.png);
}

.footer-ig {
  background-image: url(/storage/assets/img/icons/footer-ig.png);
}

.footer-section a {
  text-decoration: none;
  color: #ffffff;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
}

.footer-section a:hover {
  color: var(--secondary-color);
}

@media (max-width: 575px) {
  .footer-sitemap {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (min-width: 576px) {
  .footer-sitemap {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

@media (min-width: 1200px) {
.footer-sitemap {
  padding-left: 5rem;
  padding-right: 5rem;
}
}

/* whatsapp icon ============================================================================================================ */
#whatsapp-us {
  position: fixed;
  bottom: 15px;
  right: 15px;
  cursor: pointer;
  z-index: 99999999;
}
/* copyright ============================================================================================================ */
.copyright {
  font-size: 1.8rem;
  font-weight: bold;
  color: #566874;
}