@font-face {
  font-family: 'runfit';
  src: url('runfit.ttf') format('truetype');
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  font-family: 'Roboto', serif;
}
:root {
  --primary-blue: #00489a;
  --orange-complementary: #f47a20;
  --analogo-green: #006666;
  --analogo-blue: #002147;
  --azul-claro: #669999;
  --verde-adobe: #9ce3f7;
  --grey-txt: #bdbdbd;
}
a {
  text-decoration: none;
}
li {
  list-style: none;
}
body {
  background-color: #f7fbfc;
  font-weight: 400;
}

.btn-blue {
  background: var(--analogo-blue);
  border: none;
  color: #fff;
  padding: 0.5rem 1.5rem;
  cursor: pointer;
}
.btn-white {
  background: #fff;
  border: none;
  color: var(--analogo-blue);
  padding: 0.5rem 1.5rem;
  cursor: pointer;
}
.modal.visible {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s, opacity 0.5s ease-in-out;
}
.modal {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgb(14 14 14 / 92%);
  z-index: 1003;
  color: #3d3d3d;
  display: flex;
  align-items: center;
  justify-content: center;
}
.container-modal {
  max-width: 40%;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 0px 20px;
}
.modal h1 {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 1rem;
}
.modal p {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.fixed {
  position: fixed;
  bottom: 3%;
  right: 1%;
  z-index: 1001;
}
.fixed > img {
  width: 40px;
}
.bars {
  position: fixed;
  display: flex;
  align-items: end;
  justify-content: center;
  top: 1%;
  right: 2%;
  font-size: 1.6rem;
  color: #000;
  background: rgb(255 255 255);
  width: 2rem;
  height: 2rem;
  box-shadow: 1px 1px 5px #fff;
  border-radius: 4px;
  z-index: 1001;
}
.bar-menu {
  position: absolute;
  width: 98vw;
  transition: top 0.3s, opacity 0.3s;
  opacity: 1;
  z-index: 1000;
}
.bar-menu__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.bar-menu__ul-pages {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 2px 8px #272626;
}
.bar-menu__ul-pages a {
  color: #000;
}
.bar-menu__ul > img {
  position: absolute;
  top: 0;
  left: 0;
}
.bar-menu__ul li {
  font-weight: 300;
  font-size: 1rem;
  margin: 0.8rem 0.8rem 1rem 1rem;
}
.bar-menu.oculto {
  top: -50px; /* Ajusta este valor según la altura de tu menú */
  opacity: 0;
}

.banner {
  position: relative;
  background-color: var(--analogo-blue);
  color: #fff;
  height: 100vh;
  margin-bottom: 2rem;
}

.logo {
  font-family: 'runfit';
  text-align: center;
  margin-bottom: 2rem;
  color: var(--analogo-blue);
  filter: drop-shadow(-1px -1px 1px rgba(255, 255, 255, 0.3))
    drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2))
    drop-shadow(15px 15px 15px rgba(0, 0, 0, 0.2));
}
.logo h1 {
  font-size: 1.7rem;
}
.logo h2 {
  font-size: 2.9rem;
  letter-spacing: 8px;
}
.logo h3 {
  font-size: 4.3rem;
  letter-spacing: 8px;
}
.banner__video {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  width: 50%;
}
.video-container {
  width: 600px;
  box-shadow: 0px 0px 9px #000;
}
.banner__video hr {
  width: 100px;
  border: 2px solid var(--orange-complementary);
  display: inline-block;
  margin: 5px;
  cursor: pointer;
}

.banner__article {
  position: absolute;
  top: 0;
  right: 0;
  height: 96vh;
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem;
  color: var(--verde-adobe);
}

.article__div {
  display: flex;
  align-items: center;
}
.div__img {
  margin-right: 1rem;
}
.article__title {
  margin: 0;
  font-size: clamp(4rem, 4.8vw, 6rem);
  font-weight: 400;
}
.article__p {
  font-size: 1.2rem;
  font-weight: 300;
}
.hidde {
  opacity: 1;
  transition: 1s;
}
.show {
  opacity: 1;
  transition: 1s;
  z-index: 900;
}

.services {
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 901;
}
.services__ul {
  width: 90%;
  padding: 2rem;
  border: 1px solid #c3c3c3;
  background-color: #fff;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.services__ul > li > span {
  font-size: 0.9rem;
  color: #898888;
  font-weight: 300;
}

.portafolio {
  height: 26rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center;
  background-attachment: fixed;
}
.portafolio--img-cafe {
  background-image: url('images/cafeteraBG.jpg');
}
.portafolio--img-blanca {
  background-image: url('images/slide1.JPG');
}
.portafolio__div {
  width: 30rem;
}
.portafolio__div > h2 {
  font-size: 4rem;
  text-align: center;
  color: #000;
  text-shadow: -1px 0px 0px #fff, 1px 0px #fff, 0px -1px 0px #fff,
    0px 1px 0px #fff;
  font-weight: 500;
}
.portafolio__div > p {
  text-align: center;
  padding: 10px;
  line-height: 30px;
  font-size: 1.3rem;
  font-weight: 300;
  background: #000;
  color: #fff;
}
.article__img {
  width: 90%;
  margin: 2rem auto;
}
.article__img > span {
  font-size: 1.4rem;
  color: #8f8b8b;
  display: block;
  border-bottom: 1px solid #bdbdbd;
  padding-top: 1.4rem;
}
.dos-imgs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.dos-imgs > figure {
  max-width: 49.99%;
}
.dos-imgs img {
  max-width: 100%;
}
.products,
.blanca {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
  justify-content: center;
}
.products > figure,
.blanca > figure {
  position: relative;
  width: 400px;
  border: 1px solid #e8e8e8;
  height: 300px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}
.products > figure > img,
.blanca > figure > img {
  width: 300px;
}

.portafolio--blanca {
  background-color: var(--analogo-blue);
}
.portafolio--blanca > div {
  padding: 1rem;
  color: #fff;
}
.portafolio--blanca > div > h2 {
  font-size: 4rem;
  text-align: center;
  font-weight: 500;
}
.portafolio--blanca > div > ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  font-weight: 200;
  text-align: center;
}
.portafolio--blanca > div > ul > li {
  margin: 10px 5px;
  padding: 0px 8px;
  border-right: 1px solid;
}
.products__figure:hover {
  box-shadow: 0px 8px 13px #bfbfbf;
}
.products__figure:hover .products__caption {
  opacity: 1;
}
.products__figure:active .products__caption {
  opacity: 1;
}
.products__caption {
  display: flex;
  position: absolute;
  background: var(--analogo-blue);
  color: var(--grey-txt);
  left: 0;
  width: 100%;
  min-height: 50%;
  padding: 1rem 0;
  font-weight: 300;
  line-height: 23px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.7s ease-in-out;
}
.products__caption h3 {
  text-align: center;
}
.products__caption > div {
  width: 80%;
}
.products__caption b {
  display: inline-block;
  width: 54%;
}
.products__caption > div > span {
  font-weight: 300;
}

.blanca > figure > figcaption {
  position: absolute;
  top: 20px;
  left: 0;
  background: var(--analogo-blue);
  color: #fff;
  padding: 0.3rem 0rem 0.3rem 1rem;
  width: 50%;
  z-index: 9;
}
.blanca > figure > ul {
  border: 1px solid;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 1rem 2rem;
  font-weight: 300;
  line-height: 23px;
}
.blanca > figure > ul > li {
  list-style: disc;
}

/* card */

.flip .face {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 10px;
  overflow: hidden;
  transition: 0.5s;
}

.flip .front {
  transform: perspective(600px) rotateY(0deg);
  box-shadow: 0 5px 10px #000;
}

.flip .front img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flip .back {
  transform: perspective(600px) rotateY(180deg);
  background: rgb(3, 35, 54);
  color: #f3f3f3;
  box-shadow: 0 5px 10px #000;
  z-index: 10;
}
.flip:hover .front {
  transform: perspective(600px) rotateY(180deg);
}

.flip:hover .back {
  transform: perspective(600px) rotateY(360deg);
}

/* carrusel */
.carrusel {
  display: flex;
  align-items: center;
}

.carrusel-items {
  display: flex;
  margin: 0 5%;
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 30px 0px;
}

.carrusel-item {
  display: flex;
  align-items: center;
  background-color: #fff;
  min-width: 230px;
  max-width: 230px;
  height: 130px;
  outline: 1px solid #bfbfbf;
  cursor: pointer;
}
.carrusel-item img {
  width: 100%;
}

.carrusel-item:hover {
  transform: scale(1.2);
}

.marcas {
  display: flex;
  flex-wrap: wrap;
  background: var(--analogo-blue);
  justify-content: space-around;
}
.marcas > div {
  margin: 10px;
  padding: 5px;
  background-color: rgb(137 136 136 / 45%);
  display: flex;
  align-items: center;
  border-radius: 5px;
  border: 1px solid rgb(255 255 255 / 42%);
}
.marcas img {
  width: 150px;
  background-color: #fff;
}
.marcas__blue {
  background-color: var(--analogo-blue);
}

/* footer */
footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 3%;
  color: #fff;
  background-color: #181818;
}
footer h2 {
  margin-bottom: 1rem;
  font-weight: 300;
}
.footer__logo {
  width: 200px;
}
.social img {
  width: 35px;
  height: 34px;
  margin: 10px;
  background: #fff;
  padding: 5px;
}
.footer__contacto {
  line-height: 30px;
  font-weight: 200;
}
.footer__contacto img {
  width: 18px;
}
.footer__contacto > figure {
  display: flex;
}
.footer__contacto > figure > img {
  margin-right: 5px;
}
.qr {
  width: 230px;
}
.quienes {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.quienes > figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quienes > figure > img {
  width: 600px;
}
.quienes > figure > figcaption {
  position: absolute;
  font-size: 3rem;
  font-weight: 100;
  background: var(--analogo-blue);
  color: #fff;
  padding: 1rem;
}
.quienes > section {
  max-width: 500px;
}
.quienes > section > p {
  border: 1px solid #ddd;
  margin: 10px;
  padding: 8px;
  color: #737272;
  font-weight: 300;
  border-radius: 10px;
  background: #fff;
}

/* contactenos */
.content-form {
  margin: 3% 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.content-form > img {
  max-width: 500px;
}
.content-form > form {
  max-width: 500px;
  background-color: #fff;
  padding: 3%;
  display: flex;
  flex-direction: column;
}
.content-form > form input[type='text'],
.content-form > form input[type='email'] {
  margin-bottom: 1rem;
  height: 2rem;
  width: 350px;
  box-shadow: 0px 0px 3px #2422c7;
  border-radius: 5px;
  border: none;
}
.content-form textarea {
  box-shadow: 0px 0px 3px #2422c7;
  border-radius: 5px;
  border: none;
}
.content-form > form > input[type='submit'] {
  background-color: var(--analogo-blue);
  margin-top: 1rem;
  padding: 12px;
  font-size: 1.2rem;
  color: #fff;
  cursor: pointer;
}

@keyframes slide-v {
  0% {
    transform: translateY(-100vh);
  }
  20% {
    transform: translateY(0vh);
  }
  100% {
    transform: translateY(0vh);
  }
}

@media (max-width: 768px) {
  .article__title {
    font-size: 2.5rem;
  }
  .logo h1 {
    font-size: 1.2rem;
  }
  .logo h3 {
    font-size: 3.2rem;
  }
  .logo h2 {
    font-size: 2rem;
  }
  .banner {
    /* display: none; */
    height: auto;
  }
  .banner__video {
    width: 100vw;
    height: auto;
    overflow: hidden;
  }
  .banner__article {
    position: static;
    width: auto;
    height: auto;
  }
  .container-modal {
    max-width: 90%;
  }
  .dos-imgs > figure, .quienes > figure > img, .content-form > img  {
    max-width: 100vw;
  }
  .content_contacto{
    min-height: 280px;
  }
}
