*{
    margin: 0px;

    padding: 0px;

    
}


html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

footer {
  background-color: #212529;
}



.carousel-item img{
    width: 20px;
    height: 100px;

    object-fit: cover;
    filter: brightness(0.6);
}


.carousel-caption{

    position: absolute;

    top:50% ;
    left: 50%;

    transform: translate(-50%,-10%);
    background-color: rgba(44, 42, 42, 0.4);
    height: 200px;
    border-radius: 12px;

    padding: 20px 30px;
    

}


.carousel-control-prev-icon{
    background-color: rgb(65, 63, 63);
    height: 70px ;
    width: 70px;
    background-size: 50% 50%;
    border-radius: 50px;
}


.carousel-control-next-icon{
    background-color: rgb(65, 63, 63);
    height: 70px ;
    width: 70px;
    background-size: 50% 50%;
    border-radius: 50px;
}


.navbar {
background-color: rgb(51, 51, 51);
color: white;
}

.navbar-brand{

    color: white;
}



.nav-link {
    color: white !important;
}


.nav-link:hover{
    color: rgb(0, 162, 255) !important;
}



.navbar-brand:hover{

    color:white !important;

}




header{
    background-color: rgb(51, 51, 51);
    padding: 60px 20px 30px;



    color: white;


    text-align: center;


    font-size: 50px;


    border-top: 4px solid rgb(190, 190, 190);
}



.card {
  position: relative;
  width: 300px;
  height: 200px;
  background-color: #f2f2f2;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  align-content: center;
  perspective: 1000px;
  box-shadow: 0 0 0 5px #ffffff80;
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card img {
  object-fit: cover;
  width: 300px;
  height: 200px;
  fill: #333;
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 16px rgba(255, 255, 255, 0.2);
}

.card__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  
  box-sizing: border-box;
  background-color: #f2f2f2;
  transform: rotateX(-90deg);
  transform-origin: bottom;
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card:hover .card__content {
  transform: rotateX(0deg);
}

.card__title {
  margin: 0;
  font-size: 20px;
  color: #333;
  font-weight: 700;
}

.card:hover svg {
  scale: 0;
}

.card__description {
  margin: 10px 0 0;
  font-size: 14px;
  color: #777;
  line-height: 1.4;
}

.groupcards{

display: grid;

grid-template-columns: repeat(auto-fit, 300px);

gap: 120px;

justify-content: center;

align-content: center;

align-items: center;




}









a{
 text-decoration: none;


}



a:link{
  text-decoration: none;
}


section h2{

  margin-bottom: 25px;

  color: black;

font-weight: bold;


padding: 60px 20px;




}

section{
  text-align: center;
}


.game-frame{
  width: 90%;
  height: 600px;

  border-radius: 12px;
  border: 0.5px solid rgb(36, 36, 36);

  background-color: rgb(139, 139, 139);

  box-shadow: 0 0 10px black;


  
}



.game-frame2{
  width: 90%;
  height: 600px;

  overflow-y: hidden;
    overflow-x: hidden;

  border-radius: 12px;
  border: 0.5px solid rgb(36, 36, 36);

  background-color: rgb(139, 139, 139);

  box-shadow: 0 0 10px black;


  
}


iframe{
  width: 80%;
  height: 500px;

  border-radius: 10px;
  border: none;

   box-shadow: 0 0 10px black;


  
}


.historia{
  background-color: white;
  border-radius:10px ;

  max-width: 800px;
  margin:auto;
  padding:30px;

   box-shadow: 0 0 10px black;

   text-align: justify;

  
}

#Code{

  margin-bottom: 70px;

}


#Teach{

  margin-bottom: 100px;
}



.game-frame3{

   width: 44%;
   height: 600px;
 

}


.game-frame4{
  width: 28.6%;
  height: 390px;

}

.game-frame5{
  width: 44%;
  height: 600px;
}


.game-frame6{
  width:29.33% ;
  height: 400px;
}

.avisocll{
  display: none;



}



@media (max-width:768px){

  .game-frame4{
    display: none;
  }




    .game-frame2{
    display: none;
  }

    .game-frame3{
    display: none;
  }


    .game-frame5{
    display: none;
  }


    .game-frame6{
    display: none;
  }

  .avisocll{
    display:block;

    margin:  30px;


  }


  .historia{
  background-color: white;
  border-radius:10px ;

  max-width: 800px;
  margin: 30px;
  padding:30px;

   box-shadow: 0 0 10px black;

   text-align: justify;

  
}


.code{

  height: 300px;



  margin-left: 30px;

  margin-right: 30px;

}


.teach{

  height: 300px;



  margin-left: 30px;

  margin-right: 30px;

}


.carousel-caption{

position: absolute;

    top:30% ;
    left: 50%;

    transform: translate(-50%,-10%);
    background-color: rgba(44, 42, 42, 0.4);
    height: 200px;
    width: 60%;
    border-radius: 12px;

    padding: 20px 25px;

}


.carousel-item{

 
    height: 450px;


}

.carousel-item img{
  object-fit: contain !important;

  width: 100% !important;
  height: 100% !important;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255,255,255,1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

}







@media (max-width: 1024px){






  .avisocll{
    display:block;

    margin:  30px;


  }


  .game-frame4{
    display: none;
  }




    .game-frame2{
    display: none;
  }

    .game-frame3{
    display: none;
  }


    .game-frame5{
    display: none;
  }


    .game-frame6{
    display: none;
  }

  .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255,255,255,1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
}



.linha1{




    grid-template-columns: repeat(2, 1fr);



   
 
}

.linha2{




    grid-template-columns: repeat(2, 1fr);

 
}



.linha3{

margin-top: 100px;

 display: grid;
    grid-template-columns: repeat(2, 1fr);
   gap: 50px;
 
}

.principal{
  display: flex;


  justify-content: space-between;


  margin: 60px ;
}


.foto {

  height: 180px;



}

/* ==========================
   CONTATO - RESPONSIVO (DESKTOP OK + MOBILE OK)
   ========================== */

.page-contato .principal{
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
  margin: 0 !important;
}

/* FOTO */
.page-contato .foto{
  flex: 0 0 360px;      /* trava a coluna da foto no desktop */
  max-width: 360px;
  width: 100%;
  height: auto !important;
  display: block;
  border-radius: 12px;
  object-fit: cover;
}

/* COLUNAS DE TEXTO */
.page-contato .linha1{
  flex: 1 1 320px;
  min-width: 280px;
}

.page-contato .linha2{
  flex: 1 1 320px;
  min-width: 280px;
}

/* TABLET: permite quebrar em 2 linhas (foto + texto, contatos embaixo) */
@media (max-width: 991.98px){
  .page-contato .principal{
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
  }

  .page-contato .foto{
    flex: 0 0 auto;
    max-width: 420px;
  }

  .page-contato .linha1,
  .page-contato .linha2{
    width: 100%;
    max-width: 520px;  /* mantém tudo alinhado ao centro */
  }
}

/* ==========================
   CONTATO - MOBILE FIX (remove o buraco de vez)
   ========================== */
@media (max-width: 768px){

  /* força um layout simples (1 coluna) e ignora flex antigo */
  .page-contato .principal{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;

    /* cancela qualquer space-between/altura */
    justify-content: start !important;
    align-content: start !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 30px !important;
  }

  /* foto centralizada e sem exagero */
  .page-contato .foto{
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* blocos sempre “colados” e sem altura mínima */
  .page-contato .linha1,
  .page-contato .linha2{
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    height: auto !important;
    min-height: 0 !important;
  }

  /* tira margens padrão do bootstrap/HTML que criam espaço */
  .page-contato .linha1 p,
  .page-contato .linha2 p{
    margin: 0 0 10px 0 !important;
  }

  /* contatos alinhados à esquerda no mobile */
  .page-contato .linha2{
    text-align: left !important;
  }
}

