* {
  scroll-behavior: smooth;
  -webkit-transition: all;
  transition: all;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

/* Menu mobile */
.oculto {
  display: none;
  height: 0;
}

.open {
  height: initial;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: menuin;
          animation-name: menuin;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}

@-webkit-keyframes menuin {
  from {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes menuin {
  from {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

.bg-card {
  background: url(/assets/img/Image-11.jpg);
  background-position: center;
  background-repeat: no-repeat;
}

/* Hero bg */
.bg-hero {
  background: url(/assets/img/hero.png) no-repeat;
  background-position: center bottom;
  background-size: cover;
  overflow: hidden;
}

@media (min-width: 640px) {
  .bg-hero {
    background: url(/assets/img/hero.png) no-repeat;
    background-position: center center;
    background-size: cover;
  }
}

@media (min-width: 768px) {
  .bg-hero {
    background-size: cover;
  }
}

@media (min-width: 1280px) {
  .bg-hero {
    background-size: cover;
  }
}

/* Bordes Img */
.img-border-l, .img-border-r {
  display: inline-block;
  position: relative;
}

.img-border-l::after {
  position: absolute;
  top: 12px;
  left: -12px;
  width: 100%;
  height: 100%;
  border: 3px solid #D4D4D8;
  border-radius: 10px;
  content: '';
  z-index: -10;
}

.img-border-r::before {
  position: absolute;
  top: 12px;
  right: -12px;
  width: 100%;
  height: 100%;
  border: 3px solid #D4D4D8;
  border-radius: 10px;
  content: '';
  z-index: -10;
}

/* Impar */
@media (min-width: 1024px) {
  .impar {
    margin-bottom: 4rem;
  }
  .par {
    margin-top: 4rem;
  }
}

/* Swiper */
.swiper-pagination-bullet-active {
  background: #52525b;
}

.swiper-button-prev::after, .swiper-button-next::after {
  color: #27272a;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  .swiper-button-next::after, .swiper-button-prev::after {
    display: none;
  }
}

/* Cards effect */
.full {
  width: 95%;
  height: 50%;
}

@media (minwidth: 640px) {
  .full {
    width: 85%;
  }
}

.full {
  -webkit-animation: small 1s ease-in-out;
          animation: small 1s ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.full .show {
  -webkit-animation: hide 0.5s ease-in-out;
          animation: hide 0.5s ease-in-out;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  display: none;
}

.show {
  padding-top: 20px;
  opacity: 0%;
}

.full:hover {
  -webkit-animation: full 1s ease-in-out;
          animation: full 1s ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.full:hover .show {
  -webkit-animation: show 0.5s ease-in-out;
          animation: show 0.5s ease-in-out;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  display: block;
}

@-webkit-keyframes full {
  0% {
    height: 50%;
    opacity: 100%;
    left: 0;
  }
  100% {
    height: 95%;
    left: 5%;
    width: 97%;
    opacity: 85%;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }
}

@keyframes full {
  0% {
    height: 50%;
    opacity: 100%;
    left: 0;
  }
  100% {
    height: 95%;
    left: 5%;
    width: 97%;
    opacity: 85%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@-webkit-keyframes show {
  0% {
    opacity: 0%;
  }
  50% {
    opacity: 30%;
    bottom: 0;
  }
  100% {
    bottom: 0;
    opacity: 100%;
    padding-top: 0px;
  }
}

@keyframes show {
  0% {
    opacity: 0%;
  }
  50% {
    opacity: 30%;
    bottom: 0;
  }
  100% {
    bottom: 0;
    opacity: 100%;
    padding-top: 0px;
  }
}

@-webkit-keyframes small {
  0% {
    height: 95%;
    left: 5%;
    width: 95%;
    opacity: 80%;
    -webkit-box-pack: start;
            justify-content: flex-start;
  }
  100% {
    height: 50%;
    opacity: 100%;
    left: 0;
  }
}

@keyframes small {
  0% {
    height: 95%;
    left: 5%;
    width: 95%;
    opacity: 80%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  100% {
    height: 50%;
    opacity: 100%;
    left: 0;
  }
}

@-webkit-keyframes hide {
  0% {
    opacity: 100%;
  }
  50% {
    padding-top: 10px;
    opacity: 30%;
  }
  100% {
    opacity: 0%;
  }
}

@keyframes hide {
  0% {
    opacity: 100%;
  }
  50% {
    padding-top: 10px;
    opacity: 30%;
  }
  100% {
    opacity: 0%;
  }
}
