@import url('https://fonts.googleapis.com/css2?family=Lora:wght@700&display=swap');

:root {
      --color-text: #151618;
      --color-accent: #E76A10;
      --color-bg: white;
      --def-transition-duration: .2s;
    }

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

*
{
  margin: 0;
  padding: 0;
}

body
{
  min-height: 100vh;
  background: url('') no-repeat;
  background-size: cover;
  background-position: center;

}

h1 {
      font-family: 'Playfair Display', serif;
      font-size: 1.3rem;
      line-height: 1.1;
    }

    p {
      font-size: .8rem;
      line-height: 1;
    }

    a {
      text-decoration: none;
      color: var(--color-text);
      font-size: .875rem;
      transition: color .5s ease-in-out;
    }

    img {
      display: block;
    }

    a:hover {
      color: var(--color-accent);
    }


.side-icons{
    width: 50px;
    display: flex;
    flex-direction: column;
    vertical-align: middle;
    justify-content: center;
    gap: 10;
    position:fixed;
    bottom:40px;
    right:40px;
    z-index:100;
}

.float-icon{
    width:2.5rem;
    height: 2.5rem;
    background-color: rgba(200, 200, 200, .5);
    color: dimgray;
    border-bottom: 2px;
    border-radius:50px;
    text-align:center;
    vertical-align: middle;
    font-size:25px;
    box-shadow: 2px 2px 3px rgba(10, 10, 10, .5);  
}

.float-icon:hover {
    color:#FFF;
    text-decoration: none;
    background-color: rgba(100, 100, 100, .5);
}

.my-float{
    margin:8px;
}

    header {
      margin: 3rem 4rem 10rem;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      z-index: 100;
      position: relative;
    }

        #main-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 90%;
            margin: 0 auto;
        }

        .header-side-content {
            flex: 1;
            display: flex;
            justify-content: flex-start;
        }

        .header-side-content:last-child {
            justify-content: flex-end;
        }

        .button {
            appearance: none;
            background-color: transparent;
            border: none;
            cursor: pointer;
        }

        .button.primary {
            background-color: var(--color-accent);
            color: white;
            font-size: 1.125rem;
            padding: 1rem 2rem;
            border-radius: .25rem;
            transition: background-color .2s ease-in-out;
        }

        .button.primary:hover {
            background-color: var(--color-text);
        }

        #menu-button svg {
            fill: var(--color-text);
            transition: .5s ease-in-out;
        }

        #nav-social li {
            position: relative;
            display: flex;
            align-items: center;
        }

        #nav-social li:not(:last-child)::after {
            content: '';
            display: inline-block;
            height: 1px;
            width: .5rem;
            background-color: var(--color-text);
            margin-left: 1.5rem;
            transition: background-color .5s ease-in-out;
        }

        .container {
            margin: 0 4rem;
        }

        #hero {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10rem;
        }

        #hero-content {
            margin-left: 4rem;
        }

        #hero h1,
        #hero p {
            max-width: 32vw;
            margin: 0 0 3rem;
        }

        #menu-container {
            position: absolute;
            inset: 0;
            background-color: rgba(0, 100, 200, .7);
            backdrop-filter: blur(10px);
            text-align: left;
            display: flex;
            flex-direction: column;
            place-content: center;
            align-items: flex-start;
            z-index: 30;
            height: 0;
            transition: height .5s cubic-bezier(.14,.65,.15,1);
            box-sizing: border-box;
        }

        #menu-container a {
            display: block;
            font-size: 1rem;
            line-height: 1;
            margin-bottom: 1rem;
            transition: color .5s ease-in-out;
            color: var(--color-bg);
        }

        #menu-container a:hover {
            color: var(--color-accent);
        }

        #menu-container li {
            opacity: 0;
            transition: opacity .2s ease-in-out;
        }


        ol .unstyled,
        ul .unstyled {
            display: block;
            list-style: none;
            text-decoration: none;
            min-width: 100px;
            max-width: 25rem;
        }

        .nav ul li a{
            background-color: rgba(0, 0, 150, .7);
            backdrop-filter: blur(10px);
            color: white;
            text-decoration: none;
            border-radius: 10px;
            box-shadow: -2px 2px;
        }

        .nav li a:hover{
            background-color: rgba(0, 0, 0, 1.0);
            backdrop-filter: blur(10px);
        }

        .nav > li{
            float: right;
            list-style: none;
        }

        .nav li ul{
            list-style: none;
            display: none;
            position: absolute;
            min-width: 100px;
            max-width: 25rem;
            z-index: 222;
        }

        .nav ul li:hover > ul{
            display: block;
            right: 5px;
            top: 0;
            position: relative;
            list-style: none;
        }

        .nav ul li ul li{
            position: relative;
        }

        .nav li ul li ul{
            list-style: none;
            right: 5px;
            top: 0;
        }

        #nav-social ul {
            display: flex;
        }

        :root[menu-open] #menu-container {
            height: 100%;
            padding: 20rem;
        }

        :root[menu-open] #menu-container ul {
            background-color: rgba(0, 0, 150, .7);
            backdrop-filter: blur(10px);
            border-radius: 10px;
            box-shadow: -2px 2px;
            max-width: 60rem;
            list-style: none;
            padding-left: 3rem;
        }

        :root[menu-open] #menu-container li {
            opacity: 1;
            padding-right: 2rem;
        }

        :root[menu-open] #nav-social a {
            color: var(--color-bg);
        }

        :root[menu-open] #nav-social li::after  {
            background-color: var(--color-bg);
        }

        /* Air */

        #menu-button{
            display: flex;
            flex-direction: column;
            gap: 3.5px;
            width: 2.6rem;
            height: 2.6rem;
            align-items: center;
            justify-content: center;
        }

        #menu-button span{
            width: 25px;
            height: 2.5px;
            background-color: bisque;
            border-radius: 2px;
            transition: transform .3s ease-in-out, opacity .3s ease-in-out, 
            background-color .5 ease-in-out;
        }

        :root[menu-open] #menu-button span:nth-child(1){
            transform: translate3d(0px, 6px, 0px) rotate(45deg);
        }

        :root[menu-open] #menu-button span:nth-child(2){
            transform: scale(0);
            opacity: 0;
        }

        :root[menu-open] #menu-button span:nth-child(3){
            transform: translate3d(0px, -6px, 0px) rotate(-45deg);
        }

        :root[menu-open] #menu-button span{
            background-color: beige;
        }

    
        .d-drone{
            animation: 3s ease-in-out infinite alternate breathe;
        }

        @keyframes breathe{
            from {
                transform: scale(0.95);
            }
            to{
                transform: scale(1.02);
            }
        }

        @media(max-width: 800px){
            .hideOnMovil{
                display: none;
            }

            .menu-button{
                display: block;
            }
        }

        @media(max-width: 400px){
            .sidebar{
                width: 100%;
            }
        }


main 
{
  height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  perspective: 2px;
}

section 
{
  transform-style: preserve-3d;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFF;
}

.section-color{
  background-color: white;
  color: black;
}

section h1
{
  padding: 5px;
  text-align: center;
  font-size: 1.6rem;
  font-family: sans-serif;
}

.logo {
  position:absolute;
  z-index:1;
  height:30rem;
  top:15px;
  left:15px;
}

.logo-2 {
  height:10rem;
}
.container {}
  
.container iframe {
  position:absolute;
  top:0;
  left:0;
  height:100vh;
  width: 100%;
}

.no-parallax 
{
  background:rgba(255, 255, 255, .5);
  color: black;
  backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  z-index: 8;
}

.parallax h1 
{
  padding: 5px;
  width: 60%;
  font-size: 1rem;
}

.parallax::after 
{
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateZ(-1px) scale(1.5);
  background-size: 100%;
  z-index: -1;
}

.bg::after 
{
  background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url("./assets/photo.jpg");
  background-size: cover;
}

#hero {
      background-color: #151618;
      height: 50vh;
      padding-top: 3rem;
    }


    .article-header {
      display: grid;
      place-items: center;
      position: relative;
      height: 100svh;
      overflow-x: clip;
      padding-block: 7rem;
      margin-block-end: 3rem;
    }

    .article-section {
      display: grid;
      place-items: center;
      position: relative;
      height: 100svh;
      overflow-x: clip;
      padding-block: 7rem;
      margin: 1rem;
      margin-block-end: 3rem;
    }

    .article-section ul {
      font-size:  .8rem;
    }

    .header-content {
      animation: fade-out linear;
      animation-timeline: view();
      animation-range: exit -200px;
    }

    .header-imagen {
      grid-column: 1 / -1;
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: .5;
      object-fit: cover;
      z-index: -1;
    }

    button {
      appearance: none;
      border: 1px solid #9E70EB;
      color: #9E70EB;
      background-color: transparent;
      border-radius: 10rem;
      padding: .75rem 1.5rem;
      cursor: pointer;
    }


    @media (prefers-reduced-motion: no-preference){
      section > img,
      section > iframe {
        from{scale: .8; opacity: 0;}
        animation: fade-in linear forwards;
        animation-timeline: view();
        animation-range:entry 200px;
      }

      .header-imagen {
        animation: header-imagen-animation linear forwards;
        animation-timeline: view();
        animation-range: exit;
      }

      @keyframes fade-in {
        to{scale; 1; opacity: 1;}
      }

      @keyframes fade-out {
        to{opacity: 0;}
      }

      @keyframes header-imagen-animation {
        0% {opacity: 1; scale: 1;}
        95%, 100% {opacity: 0; scale: 1.5}
      }

    .container{
      padding:.1rem 2rem;
   }

   .container .title{
      font-size: 3.5rem;
      color:#444;
      margin-bottom: 3rem;
      text-transform: uppercase;
      text-align: center;
   }

   .container .products-container{
      display: flex;
   }

.container .products-container .product{
   min-height: 10rem;
   min-width: 10rem;
   text-align: center;
   background: rgba(49, 29, 59, .3);
   box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
   border-radius: 20px;
   outline: .1rem solid #ccc ;
   outline-offset: -1rem;
   cursor: pointer;
   overflow: hidden;
   position: relative ;
   margin: 1rem;
   padding: 2rem;
   box-sizing: border-box;
   z-index: 100;
}

.container .products-container .product:hover{
   outline: .2rem solid #222;
   outline-offset: -0.1;
}

.container .products-container .product img{
    color: gray;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   position: absolute ;
   object-fit: cover;
   border-radius: 15px;
   z-index: -1;
}

.container .products-container .product:hover img{
   transform: scale(.9);
}

.container .products-container .product h3{
   padding:.5rem 0;
   font-size: 2rem;
   color:#444;
}

.container .products-container .product:hover h3{
   color:#27ae60;
}

.container .products-container .product .price{
   font-size: 2rem;
   color:#444;
}

.products-preview{
   position: absolute;
   top:0; left:0;
   width: 100%;
   height:  100%;
   background: rgba(46,25,50,.8);
   display: none;
   align-items: center;
   justify-content: center;
   overflow-y: scroll;
   scroll-behavior: smooth;
   border-radius: 25px;
   z-index:  200;
   box-sizing: border-box;

}

.products-preview .preview{
   display: none;
   padding: .2rem;
   text-align: center;
   background: pink;
   margin:.2rem;
   border-radius: 10px;
   top: 5px;
   position: relative;
   width: 90%;
}

.products-preview .preview.active{
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(40rem, 1fr));
   gap:.5rem;
}

.products-preview .preview .slider{
   display: flex;
   overflow-y: hidden;
   position: relative;
   top: 15px;
   bottom: 5px;
   height: 12rem;
   width: 100%;
   padding: .5rem;
}

.products-preview .preview .slider img{
  position: relative;
   box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
   border-radius: 20px;
   outline: .1rem solid #ccc ;
   outline-offset: -1rem;
   display: block;
   margin: 5px;
   height: 95%;
}

.products-preview .preview .fa-times{
   position: absolute;
   top:-1rem; left:-1.5rem;
   cursor: pointer;
   color:white;
   font-size: 2rem;
   z-index:  250 ;
}

.products-preview .preview .fa-times:hover{
   transform: rotate(90deg);
}

.products-preview .preview h3{
   color:#444;
   padding:.1rem 0;
   font-size: 1.5rem;
}

.products-preview .preview .stars{
   padding:.5rem 0;
   font-size: 1rem;
}

.products-preview .preview .stars i{
   color:#27ae60;
}

.products-preview .preview .stars span{
   color:#999;
}

.products-preview .preview p{
   line-height: 1;
   padding:.5rem 0;
   font-size: 1rem;
   color:#777;
}

.products-preview .preview .price{
   padding:1rem 0;
   font-size: 2.5rem;
   color:#27ae60;
}

.products-preview .preview .buttons{
   display: flex;
   gap:1.5rem;
   flex-wrap: wrap;
   margin-top: 1rem;
}

.products-preview .preview .buttons a{
   flex:1 1 16rem;
   padding:1rem;
   font-size: 4rem;
   color:#444;
   border:.1rem solid #444;
}

.products-preview .preview .buttons a.cart{
   background: #444;
   color:#fff;
}

.products-preview .preview .buttons a.cart:hover{
   background: #111;
}

.products-preview .preview .buttons a.buy:hover{
   background: #444;
   color:#fff;
}

.envios{
   background: #444;
   color:#fff;
}



.textarea-carrito {
  background-color: #dddddd;
  color: #666666;
  padding: 1em;
  border-radius: 10px;
  border: 2px solid transparent;
  outline: none;
  font-family: "Heebo", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  width: 200px;
  height: 100px;
  transition: all 0.2s;
}

.textarea-carrito:hover {
  cursor: pointer;
  background-color: #eeeeee;
}

.textarea-carrito:focus {
  cursor: text;
  color: #333333;
  background-color: white;
  border-color: #333333;
}

.textarea-carrito {
  background-color: #dddddd;
  color: #666666;
  padding: 1em;
  border-radius: 10px;
  border: 2px solid transparent;
  outline: none;
  
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
  width: 200px;
  height: 100px;
  transition: all 0.2s;
}

.textarea-carrito:hover {
  cursor: pointer;
  background-color: #eeeeee;
}

.textarea-carrito:focus {
  cursor: text;
  color: #333333;
  background-color: white;
  bo

@media (max-width:991px){
   html{
      font-size: 50%;
   }
}

@media (max-width:768px){

   .products-preview .preview img{
      height: 25rem;
   }




}

@media (max-width:450px){
 html{
      font-size: 70%;
}

.container .products-container{
   grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));   gap:2rem;
}

.products-preview .preview{
   display: none;
   padding: .3rem;
   margin:1rem;
   top: 5px;
}

.products-preview .preview.active{
   display: block;
}

.products-preview .preview .slider{
   width: 100%;
}

.products-preview .preview .slider img{
  
       height: 25rem;
   }

   

}




@media screen and (min-width: 768px) 
{
  section h1 
  {
    font-size: 2rem;
  }
  
  .parallax h1 
  {
    font-size: 2rem;
  }
}