* {
  	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior: smooth;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	font-size: 10px;
}

body {
	font-family: "Poppins", Helvetica, Arial, sans-serif;
	background-color: #fff;
	color: #333;
	font-size: 1.6rem;
	width: 100vw;
	margin: 0;
	overflow-x: hidden;
}

a {
	text-decoration: none;
}

.container {
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}

.header {
    position: relative;
    padding-top: 20px;
}

.header .back {
    color: #727272;
}

.header .back .icon {
    font-size: 2.4rem;
}

.header .back .text {
    display: none;
}

.header .title {
    font-size: 2.4rem;
    margin: 5px 0 20px;
}

.header .search {
    position: relative;
    margin-bottom: 30px;
}

.header .search .label {
    position: absolute;
    top: 10px;
    left: 15px;
    width: 25px;
    height: 25px;
    fill: #727272;
}

.header .search .input {
    background-color: #f5f5fb;
    width: 100%;
    height: 45px;
    padding: 10px 10px 10px 50px;
    border: none;
    border-radius: 30px;
    outline: none;
}

.header .background {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    z-index: -1;
}

.dex .container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.dex .block {
    position: relative;
	display: none;
	justify-content: space-between;
    width: 100%;
    height: 120px;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
}

.dex .block .info,
.dex .block .image,
.dex .block .background {
	display: none;
}

.dex .block.active {
	display: flex;
}

.dex .block .info,
.dex .block .image,
.dex .block .background {
    display: block;
}

.dex .block:hover {
	border-color:#aaa
}

.dex .block .info {
	display: flex;
	flex-direction: column;
	color: #333;
	padding: 10px 5px 10px 15px;
	flex: 1;
}

.dex .block .number {
	color: #727272;
	font-size: 1.4rem;
	font-weight: 500;
	margin: 0;
}

.dex .block .name {
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0;
}

.dex .block .image {
	position: absolute;
	top: 0;
	right: 0;
	height: 120px;
}

.dex .block .background {
	position: absolute;
	top: 0;
	right: 0;
	width: 200px;
	height: 200px;
	z-index: -1;
}

.dex .block .types {
	display: flex;
    align-items: center;
    column-gap: 5px;
	margin-top: 15px;
    z-index: 1;
}

.dex .block .type,
.dex .block .attr {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 1.4rem;
	padding: 5px 10px;
	border-radius: 30px;
}

.dex .block .type {
    border: 2px solid;
}

.dex .block .type.beast {
    background-color: #e1793f;
    border-color: #b34000;
}
.dex .block .type.avian {
    background-color: #66e1d3;
    border-color: #18b5a3;
}
.dex .block .type.aquatic {
    background-color: #5e92f5;
    border-color: #0e4fcc;
}
.dex .block .type.plant {
    background-color: #55b65a;
    border-color: #0C8310;
}
.dex .block .type.construct {
    background-color: #767676;
    border-color: #333333;
}
.dex .block .type.insect {
    background-color: #cacf30;
    border-color: #8f9400;
}
.dex .block .type.mythic {
    background-color: #584bd3;
    border-color: #0b0074;
}

.dex .block .attr.neutral {
	background-color: #ada79c;
}
.dex .block .attr.nature {
	background-color: #3ca33f;
}
.dex .block .attr.fire {
	background-color: #ff551e;
}
.dex .block .attr.water {
	background-color: #2e9bf7;
}
.dex .block .attr.electric {
	background-color: #ffca35;
	color: #cf7500;
}
.dex .block .attr.wind {
	background-color: #2ed5af;
}
.dex .block .attr.earth {
	background-color: #cf7735;
}
.dex .block .attr.metal {
	background-color: #6d7e8d;
}
.dex .block .attr.ice {
	background-color: #92ffff;
	color: #133ebd;
}
.dex .block .attr.dark {
	background-color: #7f6c61;
}
.dex .block .attr.light {
	background-color: #fff089;
	color: #7d790d;
}
.dex .block .attr.toxic {
	background-color: #b360ff;
}

@media only screen and (min-width: 768px) {

    .container {
        width: 700px;
        padding: 0;
    }

    .header .container {
        position: relative;
    }

    .header .back {
        position: absolute;
        left: 0;
    }

    .header .back .text {
        display: inline-block;
        margin-left: 10px;
    }

    .header .content {
        width: 400px;
        margin: 0 auto;
    }

    .header .title {
        text-align: center;
    }

    .dex .block {
        width: calc(50% - 10px);
    }
}

@media only screen and (min-width: 1366px) {

    body {
        font-size: 1.8rem;
    }

    .container {
        width: 1200px;
        gap: 30px;
    }

    .dex {
        min-height: calc(100vh - 235px);
    }

    .dex .block {
        width: calc((100% / 3) - 20px);
    }

    .footer {
        margin-top: 30px;
    }
}