* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
    --clr-black: #1c1c1c;
    --clr-gray: #ececec;
    --clr-white: #f7f7f7;
    --clr-blue: #125D9E; 

    --type-normal: #A8A878;
    --type-fire: #F08030;
    --type-water: #6890F0;
    --type-grass: #78C850;
    --type-electric: #F8D030;
    --type-ice: #98D8D8;
    --type-fighting: #C03028;
    --type-poison: #A040A0;
    --type-ground: #E0C068;
    --type-flying: #A890F0;
    --type-psychic: #F85888;
    --type-bug: #A8B820;
    --type-rock: #B8A038;
    --type-ghost: #705898;
    --type-dark: #705848;
    --type-dragon: #7038F8;
    --type-steel: #B8B8D0;
    --type-fairy: #F0B6BC;
}

.app {
	display: flex;
	min-height: 100vh;
}

.menu-toggle {
	display: none;
	position: fixed;
	top: 2rem;
	right: 2rem;
	width: 60px;
	height: 60px;
	border-radius: 99px;
	background-color: var(--clr-blue);
	cursor: pointer;
}

.hamburger {
	position: relative;
	top: calc(50% - 2px); /* le ponemos -2 para que se centre un poco mas */
	left: 50%;
	transform: translate(-50%, -50%);
	width: 32px;
}

.hamburger > span,
.hamburger > span::before,
.hamburger > span::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 4px;
  border-radius: 99px;
  background-color: #FFF;
  transition-duration: .25s;
}

.hamburger > span::before {
  content: '';
  top: -8px;
}
.hamburger > span::after {
  content: '';
  top: 8px;
}
.menu-toggle.is-active .hamburger > span {
  transform: rotate(45deg);
}
.menu-toggle.is-active .hamburger > span::before {
  top: 0;
  transform: rotate(0deg);
}
.menu-toggle.is-active .hamburger > span::after {
  top: 0;
  transform: rotate(90deg);
}

.sidebar {
	flex: 1 1 0;
	max-width: 300px;
    margin: 0 auto;
}

.menu {
	flex: 1 1 0;
	max-width: 300px;
	padding: 2rem 1rem;
	background-color: var(--clr-blue);
    position: sticky;
    height: 100%;
}
.sidebar .menu {
	margin: 0 -1rem;
    position: fixed; 
    overflow: auto;
    z-index: 1;
}

.content {
	flex: 1 1 0;
	padding: 7rem 0 0 0;
}

.list-pokemon {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem 0rem; /*para separarlos entre si*/
}

.pokeball {
    border-radius: 50%;
    background-color: var(--clr-white);
    box-shadow: 0 0 3rem -1rem rgba(0, 0, 0, 0.425);
    padding-block: 1rem;
    text-transform: uppercase;/*para pasar todo a mayuscula*/
    height: 245px;
    width: 245px;
}

.pokemon {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-inline: 1rem;
    align-items: center;
    text-align: center;
}

.name-container {
    align-items: center;
    column-gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}

.name-container {
    font-size: .95rem;
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
}

/*  color de tipo*/
.type-container {
    display: flex;
    gap: .5rem;
    font-size: .95rem;
    justify-content: center;
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
}

.type {
    padding: .25rem .5rem;
    border-radius: 100vmax;
}

.type:hover{
    filter: saturate(200%);
    transform: scale(1.1);
    cursor: pointer;
}

.img-container img {
    width: 100%;
    max-width: 10rem;
    height: 100%;
}

.img-container {
    padding-inline: 1rem;
    display: flex;
    justify-content: center;
}
.img-container:hover {
    filter: contrast(120%);
    cursor: pointer;
}

.poison {
    background-color: var(--type-poison);
    color: var(--clr-white);
}

.grass {
    background-color: var(--type-grass);
    color: var(--clr-black);
}

.normal {
    background-color: var(--type-normal);
    color: var(--clr-black);
}

.fire {
    background-color: var(--type-fire);
    color: var(--clr-black);
}

.water {
    background-color: var(--type-water);
    color: var(--clr-white);
}

.electric {
    background-color: var(--type-electric);
    color: var(--clr-black);
}

.ice {
    background-color: var(--type-ice);
    color: var(--clr-black);
}

.fighting {
    background-color: var(--type-fighting);
    color: var(--clr-white);
}

.ground {
    background-color: var(--type-ground);
    color: var(--clr-black);
}

.flying {
    background-color: var(--type-flying);
    color: var(--clr-black);
}

.psychic {
    background-color: var(--type-psychic);
    color: var(--clr-black);
}

.bug {
    background-color: var(--type-bug);
    color: var(--clr-black);
}

.rock {
    background-color: var(--type-rock);
    color: var(--clr-black);
}

.ghost {
    background-color: var(--type-ghost);
    color: var(--clr-white);
}

.dark {
    background-color: var(--type-dark);
    color: var(--clr-white);
}

.dragon {
    background-color: var(--type-dragon);
    color: var(--clr-white);
}

.steel {
    background-color: var(--type-steel);
    color: var(--clr-black);
}

.fairy {
    background-color: var(--type-fairy);
    color: var(--clr-black);
}

/* popup */
#superposition {
    width: 100%;
    height: 100%;
    position: fixed;
    background: hsl(0deg 0% 0% / 76%);
    display: none;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 2;
    left: 0;
    top: 0;
}

#superposition #popup {
    max-width: 650px;
    width: auto;
    background: rgb(250, 247, 247);
    height: 400px;
    display: flex;
    flex-direction: column;
    padding:10px;
    border-radius: 5%;
    justify-content: center;
    color: var(--type-fighting);
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
    font-size: .95rem;
    /* overflow-y: scroll; es para que se haga scroll dentro del popup*/
}

.pikachu{
    width: 100%;
    height: auto;
}

#res{
    padding: 30px;
}
/* fin de popup */

.logo img {
    width: 100%;
    max-width: 10rem;
    height: 100%;
    filter: drop-shadow(6px 6px 16px rgba(0, 0, 0, 0.25));
}

.logo {
    padding-inline: 10px 20px;
    display: flex;
    justify-content: center;
}

.filter-container{
    position: center ;
    display: flex;
    justify-content: center;
}  

.selector-box{
    width: 200px;
    min-height: 35px;
    background: var(--clr-white);
    border-radius: 2.99px;
    border: 0.75px solid #2196f3;
    color: #44484b;
    outline: none;
    padding: 0 10px;
    width: 70%;
    margin-top: 20px;
    appearance: none;
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
    font-size: .95rem;
} 

.text {
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 1rem 0 0 0;
}

.text h1{
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    color: var(--clr-white);
    
}


.compute-stats{
    display: flex;
    justify-content: center;
    position: center;
}

.compute-stats input{
    min-height: 35px;
    background: #ffffff;
    border-radius: 10px;
    border: 2px solid #ffffff;
    outline: none;
    padding: 0 10px;
    width: 70%;
    appearance: none;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
    }

.compute-stats button{
    display: flex;
    justify-content: center;
    font-size: .9rem;
    align-items: center;
    padding: 6px 12px;
    position: absolute;
    width: 100px;
    height: 32px;
    left: 180px;
    top: auto;
    border: none;
    border-radius: 8px;
    background-color: var(--type-electric);
    color: var(--clr-black);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    text-transform: uppercase;
    font-family: 'League Spartan';

}

.compute-stats button:hover{
    
    filter: saturate(200%);
    transform: scale(1.1);
    cursor: pointer;
}

.search-box{
    width: 680px;
    height: 35px;
    border: 0.75px solid #2980b9;
    border-radius: 2.99px;
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
    font-size: .95rem;
    display: flex;
    
}

.order-box {
    width: 200px;
    min-height: 35px;
    background: #ffffff;
    border-radius: 2.99px;
    border:  0.75px solid #2980b9;
    outline: none;
    color: grey;
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
    font-size: .95rem;
    float: right;
}

.search-order{
    position: fixed; 
    top: 2rem; 
	width: 100%;
	display:flex;
    margin: 5px;
    padding: 0px 10px;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem;
    flex-direction: row;
}

.pokemon-info{
    display: none;
}

#popup-info {
    max-width: 650px;
    width: auto;
    background: rgb(250, 247, 247);
    height: 400px;
    display: flex;
    flex-direction: column;
    padding:10px;
    border-radius: 5%;
    justify-content: center;
    color: var(--clr-black);
    font-family: 'League Spartan';
    font-style: normal;
    font-weight: 400;
    text-transform: capitalize; /*Para cambiar la primera letra mayuscula*/
}

#popup-info h1{
    font-size: 75px;
    font-weight: 700;
    z-index: 2;
}

.box-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 1rem 0 1rem;
    gap: 1.1rem 1.2rem;
    z-index: 1;
}


.box-data-right{
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-inline: 1rem;
    text-align: right;
}

.box-data-left{
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-inline: 1rem;
    text-align: left;
}

.box-data-left p{
    text-transform: initial;
}

.stats{
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-inline: 1rem;
    text-align: right;
    grid-row: 2 / span 2 ;  /* para combinar grid */
    grid-column: 2 / span 1; 
    margin-top: 5%;
}

.type-info {
    display: flex;
    gap: .5rem;
    font-size: .95rem;
    flex-wrap: wrap
}

.size{
    display: inline-flex;
    column-gap: 1.2rem;
    justify-content: flex-end;
    margin-top: 5%;
}

.size h4{
    margin-bottom: 15%;
}

table th{
    border-right: solid;
    border-color: #ff0000;
    padding-left: 35%;
    text-align: left;
}

table td{
    padding-left: 5%;
}

.img-p{
    margin: 29.5% 1% 25% 13%;
    position: absolute;
    width: 300px;
    filter: drop-shadow(6px 6px 16px rgba(0, 0, 0, 0.25));
}

.img-ball{
    margin: 30% 5% 28% -10%;
    position: absolute;
    display: flex;
    padding-right: 15%;
    clip-path: inset(25px 50px 54px 134px); /* para recortar la imagen */
}

.square-right{
    position: absolute;
    width: 74px;
    height: 26px;
    margin: 8% 1% 31% 40%;
    clip-path: inset(0px 10px 0px 0px);
}

.square-left{
    position: absolute;
    width: 74px;
    height: 26px;
    margin: 10% 1% 33% -1.5%;
    clip-path: inset(0px 0px 0px 11.8px);
    z-index: 2;
}