/*
Nom : Mohamed Talhaoui
Filière : Informatique et IA (S3) | 2024/2025
*/

*{
    font-family: 'Titillium Web', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

* a{
    text-decoration: none;
}

body{
    font-family: sans-serif;
    font-size: 1.1em;
    background-color: white;
}

/*******************************************************************************/

.navbar-wrapper{
    display: flex;
    background-color: #9d426b;
    align-self: center;
    justify-self: center;
    width: 100%;
}

.menu-horizontal{
    justify-items: right;
    width: 100%;
    padding-right: 10%;
}

nav li{
    display: inline;
    min-width: max-content;
    width: 100%;
}

nav ul{
    display: flex;
    background-color: #9d426b;
}

/*---------COULEUR HORIZONTAL-----------*/
.navbar-wrapper ul#main-menu > li:nth-child(n) {
    border-top: 3px solid #16a1e7;
}

.navbar-wrapper ul#main-menu > li:nth-child(2n){
    border-top: 3px solid #4c616a;
}

.navbar-wrapper ul#main-menu > li:nth-child(3n) {
    border-top: 3px solid #fbba18;
}

.navbar-wrapper ul#main-menu > li:nth-child(4n) {
    border-top: 3px solid #3ac83d;
}

.navbar-wrapper ul#main-menu>li:nth-child(5n) {
    border-top: 3px solid #d31e4d;
}
/*-------------------------------------*/

.navbar-wrapper a{
    display: block;
    position: relative;
    text-decoration: none;
    color: white;
    padding: 15px 20px;
    white-space: nowrap;
    box-sizing: border-box;
}

.dropdown{
    position: relative;
}

.dropdown a:hover {
    background-color: #813758;
    background-image: linear-gradient(to bottom, #813758, #642b44);
}

/*-----MODIFIER LA LARGEUR DU SOUS MENU----*/
li:nth-child(1) > .sous-menu li{
    min-width: 200px;
}

li:nth-child(2) > .sous-menu li{
    min-width: 200px;
}

li:nth-child(3) > .sous-menu li{
    min-width: 300px;
}
/*------------------------------------------*/

.sous-menu li a:hover{
    background-color: #813758;
}

.sous-menu a{
    color: #353451;
}

.sous-menu a:hover {
    color: white;
}

.dropdown:hover > a, .sous-menu:hover > a {
    background-color: #813758;
    background-image: linear-gradient(to bottom, #813758, #642b44);
}

.sous-menu{
    display: none;
    opacity: 0;
    position: absolute;
    background-color: #fff;
    box-shadow: 0px 10px 15px #18171747;
    flex-wrap: wrap;
    transition-property: display opacity;
    transition-duration: 600ms;
    transition-behavior: allow-discrete;
    z-index: 99999999; /*to make sous-menu forward all elements in the website*/
}

.dropdown:hover .sous-menu {
    display: flex;
    flex-wrap: wrap;
    opacity: 1;
}

.sub-bottom{
    position: absolute;
    bottom: 4px;
    left: 50%;
    right: auto;
    border-width: 5px;
    border-style: solid dashed dashed dashed;
    border-color: #dadae7 transparent transparent transparent;
    background: transparent;
    border-radius: 0;
}

.sub-right{
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -5px;
    border-width: 5px;
    border-style: dashed dashed dashed solid;
    border-color: transparent transparent transparent #dadae7;
    background: transparent;
    border-radius: 0;
}

/**************************************************************************************************/

/*------------Background Section------------*/
.news-container{
    display: flex;
    background-image: url(/Images/bg-logo.png);
    height: auto;
    background-color: #f2f2f2;
    margin-inline: 20px;
}

.right-logo{
    display: flex;
    float: left;
    margin: 10px;
    align-items: center;
}

.right-logo .logo-ump{
    display: block;
    width: 100px;
    justify-self: center;
}

.right-logo .logo-title {
    display: block;
    width: 220px;
    justify-self: center;
}

.annonces{
    position: relative;
}

.annonces .container{
    display: block;
}

.annonce-background{
    width: 100%;
    background-size: 100%;
    float: right;
}

.lighting{
    position: absolute;
    bottom: 0;
    background: linear-gradient(transparent, #23232380);
    width: 100%;
    height: 40%;
}

.news-caption{
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px #00000099;
}

.news-caption a{
    text-decoration: none;
}

.news-caption h3{
    position: relative;
    color: white;
    font-weight: 700;
    font-size: 1.5em;
    padding: 10px 10px 10px 20px;
    margin: 0;
}

/*-----------President Section------------*/

.president {
    background-color: #f2f2f2;
    margin-inline: 20px;
    padding: 10px;
}

.president .container{
    display: flex;
}

.president .container img{
    border-radius: 100%;
    margin: 20px;
    align-self: center;
}

.president .about-fpn {
    align-content: center;
    font-size: 12pt;
    color: #5a5a5a;
}

.president .about-fpn a{
    color: #1489c4;
    text-decoration: none;
}

/************************************************************************************************/

.main-container{
    display: grid;
    grid-template-columns: 45% 25% 30%;
    grid-template-rows: 40% 45%;
    margin-inline: 20px;
    box-sizing: border-box;
    gap: 0;
}

/********Actualités**********/

.colum-1{
    display: block;
    padding-right: 10px;
    padding-left: 0px;
}

.default-title{
    font-weight: 600;
    font-size: 16pt;
    text-transform: uppercase;
    margin-bottom: 20px;
    margin-top: 20px;
    position: relative;
    color: #9d426b;
}

.default-title::after{
    position: absolute;
    bottom: -7px;
    left: 0;
    content: " ";
    width: 50px;
    border-bottom: 2px solid #9d426b;
}

.news-list a {
    display: block;
    margin-bottom: 10px;
    text-decoration: none;
    color: #555555;
}

.news-item{
    display: flex;
    align-items: center;
    background-color: #f2f2f2;
    border: 2px dashed transparent;
    transition: all 0.8s;
    padding: 10px;
}

.news-item:hover{
    background-color: #fff;
    border: 2px dashed #f2f2f2;
}

.thumb-news{
    display: inline-block;
    background-color: #555555;
    width: 160px;
    height: auto;
}

.news-list content{
    margin-left: 15px;
    color: #555555;
}

.news-list .title{
    font-size: 16pt;
    font-weight: 600;
    margin: 10px;
}

.news-list .abstract{
    font-size: 10pt;
}

.news-list .abstract p{
    display: block;
    line-height: 12pt;
    margin: 10px;
    margin-top: 0;
}

.text-right{
    float: right;
    clear: both;
}

.more{
    color: #555555;
    transition: all 0.5s;
    font-size: 11pt;
}

a.more:hover{
    color: #888888;
}

a.more:focus{
    text-decoration: underline;
}

.fa{
    display: inline-block;
    margin-right: 5px;
    font-size: inherit;
    -webkit-text-stroke-width: 1.5px /*weight of icons*/
}


/********Notes**********/

.colum-2{
    display: block;
    grid-area: 1 / 2 / 1 / 2;
}

.notes{
    position: relative;
    margin-inline-end: 10px;
}

.item a{
    display: block;
    text-decoration: none;
    color: #555555;
}

.item{
    background: transparent;
    height: auto;
}

.notes-item{
    display: block;
    align-items: center;
    background-color: #f2f2f2;
    padding: 5px;
    height: 332px;
    border: 2px dashed transparent;
    transition: all 0.8s;
}

.notes-item:hover{
    background-color: #fff;
    border: 2px dashed #f2f2f2;
}

.thumb-notes{
    display: inline-block;
    background-color: #555555;
    width: 100%;
    height: auto;
}

.notes-item .content{
    color: #555555;
}

.notes-item .title{
    font-size: 16pt;
    font-weight: 600;
}

.notes-item .abstract{
    font-size: 10pt;
}

/********Formations**********/

.colum-3{
    display: block;
    grid-area: 1 / 3 / 1 / 3;
    background-color: #9d426b;
    color: white;
    height: max-content;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.white-title{
    position: relative;
    font-weight: 600;
    font-size: 16pt;
    text-transform: uppercase;
    margin-bottom: 20px;
    margin-top: 20px;
    color: white;
}

.white-title::after{
    position: absolute;
    bottom: -7px;
    left: 0;
    content: " ";
    width: 50px;
    border-bottom: 2px solid white;
}

.formation-list{
    display: inline;
    list-style: none;
    color: white;
    overflow: hidden;
}

.formation-list a{
    text-decoration: none;
    color: white;
}

.formation-list a:hover {
    text-decoration: none;
}

.formation-item{
    display: flex;
    padding: 4px 15px 4px 15px;
    margin-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    align-items: center;
    transition: all 0.5s;
}

.formation-item:hover {
    margin-left: 5px;
}

.icon{
    font-size: 10pt;
}

.formation-item title{
    margin-left: 5px;
    font-size: 12pt;
}

/********************Evénements***********************/

.colum-2-3{
    grid-area: 2 / 2 / 2 / -1;
    height: 0;
}

.events{
    display: table;
    background-color: #f2f2f2;
    height: max-content;
    padding: 0 10px;
    padding-bottom: 5px;
}

.event-list{
    display: inline;
    list-style: none;
    float: left;
    width: 70%;
}

.event-item{
    display: flex;
    position: relative;
    min-height: 60px;
    color: #555555;
    padding: 0 15px 0 15px;
    align-items: center;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    background-image: linear-gradient(#eae2e2, rgba(255, 255, 255, 0));
    transition: background-color 1s;
}

.event-item:hover{
    background-color: #b3adad;
}

.ribbon{
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    overflow: hidden;
    width: 65px;
    height: 62px;
    text-align: right;
}

.ribbon span{
    display: block;
    position: absolute;
    font-size: 10px;
    font-weight: 600;
    color: #FFF;
    text-transform: uppercase;
    text-align: center;
    line-height: 18px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    width: 100px;
    box-shadow: 0 3px 10px -5px #000000;
    top: 13px;
    right: -29px;
}

.ribbon-present span{
    background: linear-gradient(#ffbd1887 0, #daa213 100%);
}

.ribbon-futur span{
    background: linear-gradient(#a9cfe3 0, #0282c5 100%);
}

.event-item .date{
    font-weight: 600;
    text-align: center;
    font-size: 16pt;
    line-height: 20pt;
}

.event-item a{
    display: flex;
    min-height: 60px;
    color: #555555;
    padding: 0 15px 0 0;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.event-item .number{
    display: block;
    line-height: 12pt;
    margin: 0;
    font-size: 25pt;
}

.event-item .content{
    margin-left: 10px;
}

.event-item title{
    display: block;
    margin: 0;
    padding: 0;
}

.event-item .abstract{
    line-height: 12pt;
    font-size: 8pt;
}

.event-item .abstract p{
    color: #555555;
    margin: 10px 0 10px 0;
}

.poster{
    text-align: center;
}

.poster img{
    width: 25%;
    height: auto;
    border: 5px solid rgba(0, 0, 0, 0.2);
}

/********************Gallerie***********************/

.gallerie-container{
    margin-inline: 20px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.galerie{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
    justify-self: center;
    align-items: center;
    row-gap: 20px;
    column-gap: 30px;
    padding-top: 20px;
}

.galerie img{
    display: block;
    width: 260px;
    height: auto;
    border-radius: 10px;
    border: 1px;
    box-shadow: 0px 0 6px #9b9a9a7e;
    transition: 100ms ease-in-out;
}

.galerie a:hover img{
    scale: 1.05;
    transition: 300ms ease-in-out;
}

.galerie .images{
    display: block;
    text-align: center;
    position: relative;
}

/********************footer***********************/

footer{
    margin-inline: 20px;
    text-align: right;
    color: #000;
    display: block;
    height: 60px;
    line-height: 50px;
    background-color: #fff;
    border-top: 2px solid #eee;
    overflow: hidden;
}

footer .content{
    height: 50px;
    overflow: hidden;
    margin-inline: 20px;
}

footer .right{
    float: right !important;
}

footer .right a{
    color: #9d426b;
}

footer .right a:hover{
    color: #9d426bce;
}

footer .right a:last-child{
    color: #964624;
}

footer .right a:last-child:hover{
    color: #964624be;
}

footer .left{
    float: left !important;
}

footer .social-media{
    display: inline-block;
    width: 32px;
    height: 32px;
    color: #333;
    background: #eee;
    text-align: center;
    vertical-align: middle;
    line-height: 32px;
    border-radius: 16px;
    margin-top: 5px;
    margin-left: 20px;
}


/****************************************************************/

@media screen and (max-width: 992px){ /*for phones*/

    .news-container{
        display: flex;
        background-image: url(/Images/bg-logo.png);
        height: 100%;
        background-color: #f2f2f2;
        margin-inline: 20px;
    }

    .right-logo{
        display: none;
    }

    .news-caption h3{
        font-size: 1.2em;
    }

    /*******************************************/

    .main-container{
        display: block;
        margin-inline: 20px;
        box-sizing: border-box;
    }

    /************************/
    .colum-1{
        display: block;
        height: 100%;
    }

    /************************/
    .colum-2{
        display: block;
        height: 100%;
        margin-bottom: 50px;
    }

    .thumb-notes{
        display: block;
        background-color: #555555;
        width: auto;
        height: 100%;
        justify-self: center;
        margin-bottom: 20px;
    }

    /************************/
    .colum-3{
        display: block;
        background-color: #9d426b;
        color: white;
        width: 100%;
        margin-top: 100px;
    }

    /************************/
    .colum-2-3{
        display: block;
    }

    .events{
        display: block;
        background-color: #f2f2f2;
        height: max-content;
    }

    /************************/
    .gallerie-container{
        display: block;
        margin-top: 100px;
    }

    .gallerie-title{
        display: none;
    }

    .galerie{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        justify-self: center;
        align-items: center;
        position: static;
    }

    .galerie img{
        display: block;
        width: 200px;
    }

    /************************/
    footer{
        display: grid;
        grid-template-rows: 1fr 1fr;
        height: 180px;
        text-align: center;
    }

    footer .content{
        height: 100%;
        justify-self: center;
        margin-inline: 20px;
    }

    footer .right{
        display: block;
    }
    
    footer .left{
        align-items: center;
    }
}