body {
  margin: 0;

  overflow-x: hidden;
}

html{
  scroll-behavior: smooth;
}
header {
  position: absolute;
  width: 100vw;
  height: auto;
  z-index: 2;
  box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.288);
}

.navbar-brand {
  position: absolute;
  
  left: 50px;
}

.navbar-brand::after {
  content: '';
  position: absolute;
  bottom: 0;
  background-color: white;
  left: 50%;
  height: 3px;
  width: 0;
  border-radius: 50px;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.navbar-brand:hover::after {
  width: 100%;
}

.nav-item {
  display: flex;
  margin: auto;
  position: relative;
  z-index: 3;
  font-size: 100%;
  transition: color 0.3s ease;

}

.nav-link:hover {
  color: rgb(255, 255, 255);
}

.navbar-nav {
  display: flex;
  margin: auto;
  z-index: 3;
  font-size: 20px;
  position: relative;
  top: 0;
}

.nav-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  background-color: white;
  left: 50%;
  height: 3px;
  width: 0;
  border-radius: 50px;
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.nav-item:hover::after {
  width: 100%;
}
.navbar-expand-lg {
  position: relative;
  z-index: 2;
  background: linear-gradient(#336FA5, #002242);
}
.main {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  gap: 5rem;
  z-index: 0;
  background-color: #002242;
  position: relative;
}



/* PARTES QUE SE MOVEM NO BACKGROUND DA MAIN!!!*/
.background {
  position: absolute;
  z-index: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  overflow: hidden;
  background: linear-gradient(to bottom, #002242, #01111f);

}

.bar1 {
  position: absolute;
  left: -15%;
  z-index: 1;
  height: 5rem;
  width: 50rem;
  background-color: #336FA5;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar2 {
  position: absolute;
  top: 0%;
  left: -30%;
  z-index: 1;
  height: 5rem;
  width: 50rem;
  background-color: #01111f;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar3 {
  position: absolute;
  top: 40%;
  left: -15%;
  z-index: 1;
  height: 6rem;
  width: 50rem;
  background-color: #033666;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar4 {
  position: absolute;
  top: 60%;
  right: -15%;
  z-index: 1;
  height: 6rem;
  width: 30rem;
  background-color: #033666;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar5 {
  position: absolute;
  top: 60%;
  right: 7%;
  z-index: 1;
  height: 6rem;
  width: 35rem;
  background-color: #336FA5;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar6 {
  position: absolute;
  top: 47.5%;
  right: -10%;
  z-index: 1;
  height: 6rem;
  width: 35rem;
  background-color: #002242;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar7 {
  position: absolute;
  top: 50%;
  right: 20%;
  z-index: 1;
  height: 6rem;
  width: 35rem;
  background-color: #033666;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 10s linear infinite;
}

.bar8 {
  position: absolute;
  top: 90%;
  right: 10%;
  z-index: 1;
  height: 6rem;
  width: 35rem;
  background-color: #01111f;
  border-radius: 50px;
  rotate: -45deg;
  animation: slide-smooth 20s linear infinite;
}


.main-p {
  font-family: monospace;
  font-size: 1.5rem;
  margin: 3rem;
}


/*animação do background*/
@keyframes slide-smooth {
  0% {
    transform: translateX(calc(-100% - 50rem)) rotate(10deg);
    opacity: 1;
  }

  100% {
    transform: translateX(100vw) rotate(10deg);
    opacity: 1;
  }
}

.bar1,
.bar2,
.bar3,
.bar4,
.bar5,
.bar6 {
  animation: slide-smooth 15s linear infinite;
}

.bar1 {
  animation-delay: -0s;
}

.bar2 {
  animation-delay: -2s;
}

.bar3 {
  animation-delay: -4s;
}

.bar4 {
  animation-delay: -6s;
}

.bar5 {
  animation-delay: -8s;
}

.bar6 {
  animation-delay: -10s;
}

.bar7 {
  animation-delay: -12s;
}

.bar8 {
  animation-delay: -14s;
}

.bar9 {
  animation-delay: -16s;
}
.maincontainer{
    position: relative;
    width: 250px;
    height: 320px;
    z-index: 1;
}
.thecard{
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: all 1s ease;
    text-align: left;
}
.thefront{
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    background-color: #01111f;
    border:solid #033666 5px;
    border-radius: 20px;
    color: white;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.theback{
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    background-color: #01111f;
    border:solid #033666 5px;
    border-radius: 20px;
    color: white;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    transform: rotateY(180deg);
    
}
.thecard:hover{
    transform: rotateY(180deg);
}
.img-card{
    width: 100%;
    height: 14rem;
    margin-top: 10px;
    border-radius: 20px;
    border: solid #033666 2px;
}
.card-text{
    margin: 10px;
    font-size: 18.6pt;
}
.text-back{
    margin: 10px;
}
.link-card{
    position: absolute;
    height: 100%;
    width: 100%;
}
img{
  width: 100%;
  height: 100%;
  border-radius: 20px;
}

@media  (min-width:1024px) {
  .maincontainer{
    position: relative;
    width: 15.6rem;
    height: 20rem;
    z-index: 10;
}
.nav-item{
  font-size: 1.2rem;
}
.navbar-brand{
  font-size: 1.2rem;
}
}
@media  (min-width:320px) and (max-width:768px){
 .main{
  display: flex;
  flex-wrap: wrap;
height: auto;
background-color: #01111f;
 }
  .maincontainer{
    margin-top: 100px;
    position: relative;
    width: 15.6rem;
    height: 20rem;
    z-index: 1;
}
.nav-item{
  font-size: 1.7rem;
}
.navbar-brand{
  position: relative;
  font-size: 1.7rem;
}
.background{
  position: absolute;
  top: 0;
}
}
@media  (min-width:1440px) {
  .maincontainer{
    position: relative;
    width: 20rem;
    height: 25rem;
    z-index: 1;
}
}