*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background-image: url("images-calendrier-sport/fond.jpg");
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 100% auto;
	color: #FFFFFF;
}

/* HEADER */

.banner,
.site-header{
    background:#000;
    border-bottom:2px solid #d4a017;
}

.banner img,
.site-header img{
    width:100%;
    display:block;
}

/* MENU */

.main-nav{
    background:#000;
    border-bottom:1px solid #d4a017;
}

.main-nav ul{
    list-style:none;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:35px;
    padding:18px;
}

.main-nav a{
    color:#d4a017;
    text-decoration:none;
    font-size:17px;
    font-weight:bold;
}

.main-nav a:hover,
.main-nav a.active{
    color:#ffd700;
}

/* CONTENU */

main{
    max-width:1200px;
    margin:0 auto;
    padding:40px 25px;
}

.calendar-section{
    border:1px solid #d4a017;
    border-radius:16px;
    background:#0d0d0d;
    padding:25px;
    margin-bottom:40px;
}

.calendar-section h1,
.calendar-section h2{
    color:#d4a017;
    text-align:center;
    margin-bottom:25px;
}

/* TABLEAU */

table{
    width:100%;
    border-collapse:collapse;
    overflow:hidden;
    border-radius:12px;
}

th{
    background:#d4a017;
    color:#000;
    padding:15px;
    text-align:left;
    font-size:17px;
}

td{
    background:#111;
    color:#fff;
    padding:14px 15px;
    border-bottom:1px solid #222;
    font-size:16px;
}

/* PUBLICITE */

.ad-banner{
    width:100%;
    min-height:110px;
    margin:40px auto;
    padding:25px;
    border:2px dashed #d4a017;
    border-radius:16px;
    background:#0d0d0d;
    color:#d4a017;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:24px;
    font-weight:bold;
}

/* FOOTER */

#responsable,
.footer{
    margin-top:40px;
    padding:30px 20px 15px;
    border-top:1px solid #d4a017;
    background:#000;
    text-align:center;
}

.legal-logos{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:22px;
}

.logo18{
    height:32px !important;
    width:auto !important;
}

.logo-anj{
    height:24px !important;
    width:auto !important;
    background:#fff;
    padding:3px 6px;
    border-radius:4px;
}

.logo-evalu{
    height:24px !important;
    width:auto !important;
}

.footer-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:25px;
    margin-bottom:22px;
}

.footer-links a{
    color:#d4a017;
    text-decoration:none;
    font-size:15px;
    font-weight:bold;
}

.footer-links a:hover{
    color:#ffd700;
}

.warning{
    max-width:1000px;
    margin:12px auto;
    text-align:center;
    font-size:15px;
    line-height:1.6;
    color:#ffffff;
}

.minors{
    margin:12px auto;
    text-align:center;
    font-size:15px;
    font-weight:bold;
    color:#ffffff;
}

.copyright{
    margin-top:16px;
    color:#bfbfbf;
    font-size:14px;
    text-align:center;
}

/* MOBILE */

@media(max-width:768px){

    .main-nav ul{
        gap:12px;
        padding:14px;
    }

    .main-nav a{
        font-size:15px;
    }

    main{
        padding:30px 15px;
    }

    .calendar-section{
        padding:18px;
    }

    th,
    td{
        font-size:14px;
        padding:12px;
    }

    .ad-banner{
        min-height:90px;
        font-size:18px;
    }

    .legal-logos{
        gap:15px;
    }

    .logo18{
        height:28px !important;
    }

    .logo-anj,
    .logo-evalu{
        height:22px !important;
    }

    .footer-links{
        flex-direction:column;
        gap:10px;
    }

    .warning,
    .minors{
        font-size:14px;
    }
}