@import url('https://fonts.googleapis.com/css2?family=Asap+Sharp:ital,wght@0,100..900;1,100..900&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Manrope:wght@200..800&family=Quicksand:wght@300..700&family=Roboto+Flex:opsz,wght,XOPQ,XTRA,YOPQ,YTDE,YTFI,YTLC,YTUC@8..144,100..1000,96,468,79,-203,738,514,712&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');


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

html {
    scroll-behavior: smooth;
}

body {
    background-color: #F9FAFC;
    overflow-x: hidden;
}

.header_parent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    background-color: white;

}

.header-img {
    position: relative;
    left: 6rem;
}

.nav {
    display: flex;
    gap: 3rem;
    justify-content: space-between;
    list-style-type: none;

}


.nav li a {
    text-decoration: none;
    color: hsl(0, 0%, 60%);
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: normal;
    display: inline-block;
    transition: 0.2s all;
}

.nav li a:hover {
    color: rgba(0, 0, 0, 0.789);
    transform: translateY(-4px);
}

.menu-btn {
    display: none;
    font-size: 30px;
    background: none;
    border: none;
    cursor: pointer;
}

#menu-toggle {
    display: none;
}

.search {
    display: flex;
    align-items: center;
    position: relative;
    right: 6rem;
    background-color: #B8C2CE;
    border-radius: 5px;
    padding: 0.7rem 1.3rem;
    gap: 0.5rem;
    transition: 0.2s;

}

.search:hover {
    background-color: #899099;

}

.search p {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: normal;
    color: white;
}

.search p {
    cursor: pointer;
}

.hero-parent {
    display: flex;
    justify-content: space-between;
}

.background img {
    filter: grayscale(100%);
}

.background h2 {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: normal;
    width: 90%;
    background: linear-gradient(to bottom, #000, #888);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
    bottom: 29rem;
    left: 9rem;
    font-size: 5rem;
}

.center-hero img {
    position: relative;
    right: 17rem;
    top: 2rem;
}

.texts-hero p:first-child {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    width: 50%;
    position: relative;
    top: -6rem;
    line-height: 1.5;
}

.texts-hero p:last-child {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: white;
    width: 35%;
    position: relative;
    top: -4rem;
    border-radius: 5px;
    padding: 1rem 1.3rem;
    background-color: #000;
    text-align: center;
    letter-spacing: 2px;
}

.texts-hero p:last-child:hover {
    cursor: pointer;
}

.right-hero {
    position: relative;
    right: 13.7rem;
    top: 3rem;
}

.today {
    background-color: #E1E8F0;
    color: #B8C2CE;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    width: 30%;
    padding: 0.5rem 1.3rem;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 2rem;
}

.race p {
    position: relative;
    top: -4.5rem;
    left: 1rem;
    width: 70%;

}

.race .heading {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #262626a2;
    font-size: 12px;
    padding-bottom: 3px;
}

.race p:last-child {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;

}

.race img {

    mask-image: linear-gradient(to bottom,
            black 0%,
            black 50%,
            transparent 100%);

}

.race-cars {
    position: relative;
    top: -2rem;
}

.race-cars p {
    position: relative;
    top: -4.5rem;
    left: 1rem;
    width: 90%;

}

.race-cars .heading {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #262626a2;
    font-size: 12px;
    padding-bottom: 3px;
}

.race-cars p:last-child {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;

}

.race-cars img {

    mask-image: linear-gradient(to bottom,
            black 0%,
            black 50%,
            transparent 100%);

}

.category-parent {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-inline: 2rem;
    position: relative;
    top: -10rem;
    flex-wrap: wrap;
}

#category h2 {
    position: relative;
    top: -12rem;
    left: 7rem;
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-style: normal;
    font-size: 2rem;
    width: 50%;
}


.category-child h3 {
    background: linear-gradient(to bottom, #000, #888);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: normal;
    font-size: 2rem;
}

.text-cate {
    background-color: #EBEEF3;
    padding: 2rem;
    border-radius: 5px;
    text-align: center;
}

.category-child:nth-child(2) {
    position: relative;
    left: 3.5rem;
}

.category-child:nth-child(3) {
    position: relative;
    right: 0.5rem;
}

.category-child:first-child {
    position: relative;
    left: 3rem;
}

.text-cate:last-child {
    width: 83%;
}


#basket {
    width: 80%;
}


.ping-pong {
    border-radius: 5px;

    width: 270px;
    height: 240px;
    object-fit: fill;

}

.category-child:first-child img,
.category-child:nth-child(3) img {
    margin-top: 2rem;
}

.category-child:last-child img,
.category-child:nth-child(2) img {
    margin-bottom: 2rem;
}

.trending-news_parent {
    display: flex;
    justify-content: space-between;
    background-color: #EBEEF3;
    margin-inline: 7.5rem;
    margin-bottom: 4rem;
    border-radius: 5px;
}

.trending-news-child {
    padding: 2rem 0 2rem 3rem;
    flex: 1;
}

.trending-news-child h2 {
    margin-bottom: 2rem;
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-size: 2rem;
}

.trend {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.trend-texts h3 {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    color: #262626a2;
    font-size: 12px;
    margin: 0 0 0.3rem;
}

.trend-texts h4 {
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-size: 1rem;
    margin: 0 0 0.3rem;
    width: 70%;
}

.trend-texts p {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    color: #262626a2;
    font-size: 12px;
    width: 70%;
    margin: 0;
}

hr {
    width: 90%;
    border: none;
    border-top: 1px solid #ccc;
    margin: 1rem 0;
}

.big-image {
    position: relative;
    flex: 1;
    overflow: hidden;
    border-radius: 5px;
    min-height: 320px;
}

.big-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 5px;
}

.big-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 5px;
}

.texts-image {
    color: white;
    z-index: 2;
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.texts-image h4 {
    border: 2px solid white;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    width: fit-content;
    position: relative;
    top: -28rem;
    text-align: center;
    padding: 0.5rem 1rem;
    margin: 0;
}

.texts-image h3 {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    position: relative;
    top: -5rem;
    margin: 0;
}

.texts-image p {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    margin: 0;
    position: relative;
    top: -2rem;
    font-size: 2rem;
}

.football-parent {
    background-color: #EBEEF3;
    padding-bottom: 2rem;
    margin-inline: 7.5rem;
    margin-top: 7.5rem;
    margin-bottom: 7.5rem;
}

.football-image {
    width: 100%;
}

.football-main-image {
    position: relative;
    margin-bottom: 2rem;
    overflow: hidden;
    border-radius: 5px;
    min-height: 450px;
}

.football-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.football-main-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 5px;
}

.football-texts {
    color: white;
    z-index: 22;
    position: absolute;
    bottom: 1.5rem;
    left: 3.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.football-texts h4 {
    border: 2px solid white;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    position: relative;
    top: -15rem;
    width: fit-content;
    text-align: center;
    padding: 0.5rem 1rem;
    margin: 0;
}

.football-texts h3 {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    margin: 0;
    position: relative;
    top: -5rem;
}

.messi {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    margin: 0;
    font-size: 3rem;
    width: 80%;
    position: relative;
    top: -4rem;
}

.p {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    margin: 0;
    position: relative;
    top: -2rem;
}

.football-badge {
    position: relative;
    right: -48.5rem;
    z-index: 2;
    width: 470px;
    height: auto;
}

.recent-news_parent {
    display: flex;
    margin-left: 7.5rem;
    gap: 2rem;
    margin-bottom: 3.5rem;
}



.caption h3,
.caption p {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: white;
    position: relative;
    top: -4rem;
    background: #E8C48A;
    width: 67.2%;
    padding: 0.5rem 0;
}

.caption h3{
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-size: 15px;
}

.caption p{
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    font-size: 20px;
}

.recent-news_child1 h2 {
    margin-bottom: 2rem;
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-size: 2rem;
}

.recent-news_child2{
    background-color: #EBEEF3;
    border-radius: 5px;
    height: 335px;
    position: relative;
    top: 4.2rem;
    left: -8rem;
}

.news {
    display: flex;
    position: relative;
    top: 2rem;
    left: 2rem;
    gap: 1rem;
    
}

.trend-texts{
    position: relative;
    top: 0.5rem;
}

.mb{
    width: 60%;
    position: relative;
    left: 8rem;
    top: 2rem;
}

.two-sections{
    display: flex;
}

.league-table th,
.league-table td {
    padding: 0.6rem 1rem;
    text-align: center;
    font-family: "Poppins", sans-serif;
    font-weight: 540;
}

.clubs-ranking_parent{
    position: relative;
    left: -5rem;
}


.clubs-ranking_parent h2{
    margin-bottom: 2rem;
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-size: 2rem;
}

.league-table{
    background-color: #EBEEF3;
    border-radius: 5px;
}


.club {
    display: inline-block;
}

tr:nth-child(2) .club,
tr:nth-child(3) .club,
tr:nth-child(5) .club {
    position: relative;
    left: -1px;
}

.card-parent{
    display: flex;
    justify-content: space-between;
    margin-bottom: 7.5rem;
    margin-inline: 2rem;
    
}

.heading {
    margin-bottom: 2rem;
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-size: 2rem;
    margin-left: 7.4rem;
    
}

.card-child:first-child{
    position: relative;
    left: 5.5rem;
}

.card-child:nth-child(2){
    position: relative;
    left: 2rem;
}

.card-child:last-child{
    position: relative;
    left: 4.5rem;
}

.big-photo{
    position: relative;
}

.big-photo img{
    margin-bottom: 2rem;
}

.big-photo h4{
    color: white;
    border: 1px solid white;
    border-radius: 5px;
    position: absolute;
    top: 2rem;
    padding: 0.5rem 1rem;
    left: 15rem;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    width: fit-content;
}

.card-child:nth-child(2) .big-photo h4 {
    left: 16.5rem;
}

.client{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.client h4{
    font-family: "Poppins", sans-serif;
    font-weight: 500;
}

.texts-card h2{
    font-family: "Poppins", sans-serif;
    font-weight: 640;
    width: 80%;
    margin-bottom: 1rem;
    font-size: 1rem;
}

.texts-card p{
    font-family: "Poppins", sans-serif;
    font-weight: 540;
    font-size: 15px;
    width: 70%;
}

.texts-card h3{
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    color: #262626a2;
    font-size: 12px;
    margin-bottom: 1rem;
}

.newsletter{
    display: flex;
    justify-content: space-between;
    background-color: #EBEEF3;
    margin-inline: 7.5rem;
    margin-bottom: 9rem;
    align-items: center;
}

.left-sec{
    position: relative;
    left: 4rem;
}

.left-sec h2{
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: normal;
    width: 90%;
    background: linear-gradient(to bottom, #000, #888);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    font-size: 5rem;
    margin-bottom: 3rem;
}

form {
    position: relative;
    width: fit-content;
}

form input {
    padding: 1rem 5rem 1rem 1rem;
    width: 30rem;
    background-color: #EBEEF3;
    border: 1px solid;
}

.img-o {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 4rem;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.img-o img {
    width: 1.5rem;
}

.parent-footer{
    display: flex;
    justify-content: space-between;
    margin-inline: 7.5rem;
    margin-bottom: 2rem;
}



@media (max-width: 768px) {

    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }

    /* ================= HEADER ================= */

    .header_parent {
        width: 100%;
        height: 90px;
        padding: 0 1.5rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;

    }

    .header-img {
        position: static;
    }

    .logo {
        width: 5rem;
        position: static;
    }

    nav {
        position: relative;
        margin-left: auto;
    }

    .menu-btn {
        display: block;
        position: relative;
        right: -9rem;
        font-size: 1.5rem;
    }

    .nav {
        position: absolute;
        top: 100%;
        right: -9rem;
        width: 100px;
        padding: 1.2rem;
        height: 30vh;
        overflow: scroll;
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
        background-color: white;
        border: 1px solid #ddd;
        border-radius: 8px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition:
            opacity 0.3s ease,
            transform 0.3s ease,
            visibility 0.3s ease;

        z-index: 100;
    }

    #menu-toggle:checked~.nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .search {
        padding: 0.4rem 0.6rem;
        border-radius: 5px;
    }

    .search p {
        font-size: 12px;
    }

    /* ================= HERO ================= */

    .hero-parent {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 2rem;
        padding: 2rem 1.2rem;
    }


    .background {
        width: 100%;
    }

    .background img {
        width: 100%;
        height: auto;
    }

    .background h2 {
        position: static;
        width: 100%;
        margin-top: -10rem;
        font-size: clamp(2.5rem, 10vw, 4rem);
        line-height: 1;
    }


    .center-hero {
        width: 100%;
    }

    .center-hero img {
        position: static;
        width: 100%;
        height: auto;
    }


    .texts-hero {
        width: 100%;
    }

    .texts-hero p:first-child {
        position: static;
        width: 100%;
        font-size: 1rem;
        line-height: 1.6;
        margin-bottom: 1rem;
    }

    .texts-hero p:last-child {
        position: static;
        width: fit-content;
        padding: 0.8rem 1.2rem;
    }


    /* ================= RIGHT HERO ================= */

    .right-hero {
        position: static;
        width: 100%;
    }

    .today {
        width: fit-content;
        margin-bottom: 1.5rem;
    }

    .race,
    .race-cars {
        width: 100%;
    }

    .race {
        margin-bottom: 1rem;
    }

    .race-cars {
        margin-bottom: 10.5rem;
    }

    .race p,
    .race-cars p {

        width: 100%;
        margin-top: 0.5rem;
    }

    .race img,
    .race-cars img {
        width: 100%;
        height: auto;
    }

    /* ================= CATEGORIES ================= */

    .category-parent {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .category-child:first-child {
        position: relative;
        left: -2rem;
        margin-inline: 3rem;
        margin-bottom: 2rem;
    }

    .category-child:nth-child(2) {
        position: relative;
        left: -2rem;
        margin-inline: 3rem;
        margin-bottom: 2rem;
    }

    .category-child:nth-child(3) {
        position: relative;
        left: -2rem;
        margin-inline: 3rem;
        margin-bottom: 2rem;
    }

    #basket {
        width: 100%;
    }

    .trending-news_parent {
        flex-direction: column;
        margin-inline: 1.5rem;

    }

    .trending-news-child {
        padding: 1.5rem;
    }

    .trending-news-child h2 {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .trend img {
        width: 80px;
        height: 60px;
        object-fit: cover;
        border-radius: 4px;
        flex-shrink: 0;
    }

    .trend-texts h4 {
        font-size: 0.9rem;
    }

    .trend-texts h3,
    .trend-texts p {
        font-size: 11px;
    }

    .texts-image h4 {
        font-size: 1.2rem;
        padding: 0.4rem 0.8rem;
        position: relative;
        top: -7rem;
    }

    .texts-image p {
        font-size: 1.2rem;
    }


    .big-image {
        min-height: 260px;
    }

    .football-parent {
        margin-inline: 1.5rem;
        margin-top: 3rem;
        margin-bottom: 13rem;
    }

    .football-main-image {
        min-height: 480px;
    }

    .football-texts {
        left: 1.5rem;
        right: 1rem;
        bottom: 2rem;
    }

    .football-texts h4 {
        font-size: 1.1rem;
        padding: 0.3rem 0.7rem;
        position: absolute;
        top: -13rem;
    }

    .football-texts h3 {
        font-size: 0.85rem;
    }

    .messi {
        font-size: 1.3rem;
        width: 90%;
    }

    .p {
        font-size: 0.8rem;
        width: 90%;
    }

    .football-badge {
        width: 260px;
        top: 1rem;
        right: -1.5rem;
    }

     /* Recent News + Clubs Ranking */
    .two-sections {
        display: flex;
        flex-direction: column;
        gap: 4rem;
    }

    /* Recent News */
    .recent-news_parent {
        flex-direction: column;
        margin-left: 2rem;
        margin-right: 2rem;
        gap: 2rem;
        margin-bottom: 0;
    }

    .recent-news_child1 {
        width: 100%;
    }

    .recent-news_child1 > img {
        width: 100%;
        height: auto;
    }

    .caption h3,
    .caption p {
        width: 100%;
    }

    .caption h3 {
        font-size: 14px;
    }

    .caption p {
        font-size: 18px;
    }

    /* Right Recent News box */
    .recent-news_child2 {
        width: 100%;
        height: auto;
        position: static;
        padding: 1rem 0;
    }

    .news {
        top: 0;
        left: 0;
        margin: 1rem;
        gap: 1rem;
        align-items: center;
    }

    .news img {
        width: 70px;
        height: 70px;
        object-fit: cover;
        flex-shrink: 0;
    }

    .trend-texts {
        top: 0;
    }

    .trend-texts h3 {
        font-size: 12px;
        margin-bottom: 0.5rem;
    }

    .trend-texts h4 {
        font-size: 13px;
        margin: 0;
    }

    .mb {
        width: 85%;
        left: 0;
        top: 0;
        margin: 1rem auto;
    }

    /* Clubs Ranking */

    .clubs-ranking_parent{
        margin-bottom: 10.5rem;
        position: relative;
        left: 0.5rem;
        margin-inline: 3rem;
    }

    .clubs-ranking_parent h2{
        
        width: 100%;
    }

    .league-table,
    .league-table thead,
    .league-table tbody,
    .league-table th,
    .league-table td,
    .league-table tr {
        display: block;
    }

    

    .league-table tr {
        
        border: 1px solid #ddd;
        border-radius: 5px;
        padding: 0.5rem 0;
    }

    .league-table td {
        text-align: right;
        padding: 0.5rem 1rem;
        position: relative;
        padding-left: 50%;
    }


    .club {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.5rem;
    }

    .club img {
        width: 25px;
        height: 25px;
    }

    .card-parent {
        flex-direction: column;
        margin-inline: 1rem;
        gap: 3rem;
        margin-bottom: 13rem;
    }

    .heading {
        margin-left: 1rem;
        font-size: 1.6rem;
    }

    .card-child:first-child,
    .card-child:nth-child(2),
    .card-child:last-child {
        left: 0;
    }

    .big-photo img {
        width: 100%;
        height: auto;
        margin-bottom: 2rem;
    }

    .big-photo h4 {
        left: 1rem;
        top: 1rem;
    }

    .card-child:nth-child(2) .big-photo h4 {
        left: 1rem;
    }

    .texts-card h2,
    .texts-card p {
        width: 100%;
    }

    .newsletter {
        flex-direction: column;
        margin-inline: 1rem;
        margin-bottom: 4rem;
        padding: 2rem 1rem;
        text-align: center;
    }

    .left-sec {
        left: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .left-sec h2 {
        width: 100%;
        font-size: 2.2rem;
        margin-bottom: 1.5rem;
        text-align: center;
    }

    form {
        width: 100%;
        max-width: 25rem;
    }

    form input {
        width: 100%;
        box-sizing: border-box;
    }

    .right-sec img {
        width: 100%;
        max-width: 300px;
        height: auto;
        margin-top: 1.5rem;
    }

    .parent-footer {
        flex-direction: column;
        align-items: center;
        margin-inline: 1rem;
        gap: 1.5rem;
        margin-bottom: 4rem;
    }

    .child-footer img {
        max-width: 100%;
        height: auto;
    }

    
}