/*####################*/
/* IMPORT */
/*####################*/
@font-face {
    font-family: "Urbanist";
    src: url(../Source/Urbanist-VariableFont_wght.ttf);
    font-style: normal;
}
@font-face{
    font-family: "Urbanist-italic";
    src: url(../Source/Urbanist-Italic-VariableFont_wght.ttf);
    font-style: italic;
}
:root{
    --bg1: rgb(200, 200, 200);
    --bg2: rgb(240, 240, 240,)
}
/*########################################*/
/* COMMUN */
/*########################################*/
*, h1, h2, h3, h4, h5, h6, p, ul, .container-fluid, .row{ /* efface aussi celle de BootStrap */
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Urbanist", sans-serif;
    font-weight: normal;
    max-width: unset;
    letter-spacing: 0.5px ;
}
h5{
    border-bottom: 1px solid;
    border-image: linear-gradient(to right, whitesmoke, transparent 100%)1;

    padding-bottom: 5px;
}
*[id^="collapse"] ul{
    list-style: none;
    padding-left: 0.8rem;
}
body{
    background-color: var(--bg1);
    min-height: 100vh;
	display: grid;
	grid-template-rows: auto 1fr auto;
}
a{
    text-decoration: none;
    color: unset;
}

/*########################################*/
/* HEADER */
/*########################################*/
header{
    padding: 20px 2vw;
    background-image: url(../Image/backend.jpg);
    background-color: antiquewhite;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom: 1px solid grey;
    box-shadow: 0 1px 5px 1px grey;
}
#accordion1{
    /* annulation du bg bootstrap blanc par defaut */
    --bs-accordion-bg: unset
}
/* corps de la zone contact */
#collapse1 .accordion-body{
    background-color: rgba(79, 47, 47, 0.5);
    color: whitesmoke;
    border-radius: 0 0 5px 5px;
}
#calendar{
    font-size: 70%;
    vertical-align: text-top;
}
.offcanvas{
    --bs-offcanvas-height: 90vh;
}
.custom-popover {
    --bs-popover-max-width: 50vw;
    --bs-popover-border-color: var(--bs-success);
    --bs-popover-header-bg: var(--bs-success);
    --bs-popover-header-color: var(--bs-white);
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .5rem;
  }
/* titre CDA */
.container .col{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
}
header div div p{
    text-align: center;
    font-size: auto;
    color: whitesmoke;
    padding: 0.5rem;
    margin: 0.5rem auto;
    border-radius: 5px;
    background-color: rgba(79, 47, 47, 0.7);
}
/* ### BOUTON contact ### */
button[data-bs-toggle="modal"]{
    background-color: rgb(135, 210, 120);
    border: 2px solid rgb(20, 155, 25);
    color: black;
    font-size: auto;
    font-weight: 600;
    padding: 0.3rem;
    width: 100%;
    transition: 0.5s ease-in-out;
    animation-name: stage;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count:  infinite;
    animation-direction: alternate;
}
@keyframes stage{
    0%{
        background-color: rgb(135, 210, 120);
    }
    25%{
        background-color: rgb(95, 205, 70);
        color: black;
    }
    50%{
        background-color: rgb(23, 83, 13);
        color: white;
    }
    75%{
        background-color: rgb(95, 205, 70);
        color: black;
    }
    100%{
        background-color: rgb(135, 210, 120);
    }
}
button[data-bs-toggle="modal"]:hover{
    transform: scale(110%);
}
/* ### Modal stage ### */
.modal-header{
    background-color: rgba(160, 231, 235, 0.8);
}
.modal-body{
    line-height: 1.5rem;
}
.modal-body ul li{
    margin-left: 2rem;
}
.modal-body ul li i{
    color: orangered;
}
.modal-body ul li:first-child{
    /* color: darkgreen; */
    background-color: lightgreen;
    border-radius: 10px;
    padding: 0.3rem;
    font-weight: bolder;
    width: max-content;
}
/*########################################*/
/* OFFCANVAS FORM CONTACT */
/*########################################*/
.offcanvas-body small{
    height: 20px;
}
/* .btn:disabled{
    visibility: hidden;
} */
.messInfo::before{
    content: "* ";
}
.messInfo{
    visibility: hidden;
    color: red;
    font-style: italic;
}

/*########################################*/
/* TOAST */
/*########################################*/
.bi-check-circle-fill{
    color: green;
    font-size: x-large;
}
/*########################################*/
/* MAIN */
/*########################################*/
main{
    padding: 2vh 5vw;
    position: relative;
}

/* ### CAROUSEL ### */
#carousel{
    height: 30vh;
}
.carousel{
    border-radius: 20px;
    border: 2px solid rgba(79, 47, 47, 0.5);
    margin-bottom: 1rem;
    overflow: hidden;
}
.carousel-caption{
    width: fit-content;
    bottom: revert;
    top: 2rem;
    margin: auto;
    padding: 0.5rem;
    background-color: rgba(230, 230, 230, 0.75);
    border: 2px solid rgb(140, 140, 140);
    border-radius: 15px;
}
/* ### ACCORDEON variable Bootstrap */
.accordion{
    --bs-accordion-active-color: darkslategray;
    --bs-accordion-active-bg: rgb(255, 210, 150);
    --bs-accordion-btn-focus-border-color: none;
    --bs-accordion-btn-focus-box-shadow: none;
}

/* partie sup de l'accordeon */
.accordion-button{
    color: darkslategray;
    background-color: antiquewhite;
    padding: 1vh;
    --bs-accordion-btn-color: darkslategray;
    top: 0px;
}
.accordion button i{
    margin-right: 0.8rem;
}
.accordion-body{
    color: darkslategray;
    background-color:rgb(255, 245, 210);
    padding: 0.5rem;
}
.accordion-body p{
    font-size: 1rem;
    padding-bottom: 5px;
    margin: 5px 0;
    border-bottom: 1px solid;
    border-image: linear-gradient(to right, whitesmoke, transparent 100%)1;
}
/* zone realisation */
.imgReal{
    height: 20vh;
    overflow: hidden;
}
.accordion-body a:hover{
    color: green;
    font-weight: bold;
}

/* zone connaissance */
.accordion-body p strong{
    font-size: larger;
    border-bottom: 1px solid grey;
    display: inline-block;
    padding-bottom: 0.3rem;
    width: 100%;
}
.accordion-body figure{
    text-align: center;
}
.accordion-body div span{
    color: rgb(204, 138, 51);
    font-weight: 600;
    padding-bottom: 0.3rem;
}
.accordion-body .container figure img{
    display: block;
    width: 100%;
}
.accordion-body .container figure figcaption{
    color: grey;
    font-size: 0.9rem;
    font-style: italic;
    display: none;
}
/* zone Experience */
#collapseThree .accordion-body ul li:last-child{
    margin-bottom: 0.5rem;
}
#collapseThree .accordion-body ul ul li::before{
    content: "- ";
}
/* zone biographie */
img[src="image/image_bio_sepia.png"]{
    max-width: 35%;
    float: left;
    margin: 0.3rem 2rem;
}
#collapseFive .accordion-body ul li{
    list-style-type:circle;
    list-style-type:circle;
    margin-bottom: 0.5rem;
    margin-left: 1rem;;
}
audio{
    width: 30%;
    display: block;
    margin-left: 1rem;;
}
audio{
    width: 30%;
    display: block;
}

/*########################################*/
/* FOOTER */
/*########################################*/
footer{
    background-color: rgb(70, 70, 70);
    box-shadow: 0 -1px 5px 1px grey;
    color: lightgrey;
    position: relative;
}
footer a:hover{
    color: #ffac11;
}
/* ### SOCIAL ### */
#social{
    width: 100%;
    padding: 0.5vmin;
    display: flex;
    justify-content: center;
    background-color: rgb(65, 65, 70);
}
#social i{
    margin: 0 2vmin
}
/* ### STRUCTURE ### */
#structure{
    font-size: 1rem;
    max-width: 100%;
    margin: 0 auto;
}
#structure div{
    padding: 1rem;
    max-width: max-content;
    margin: 0 auto;
}
#structure div p{
    font-weight: 600;
    border-bottom: 2px solid rgb(100, 100, 100);
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    text-transform: uppercase;
}
#structure div p i{
    /* border-right: 2px solid grey; */
    margin-right: 0.5rem;
    padding-right: 0.5rem;
}
#structure ul{
    list-style: none;
    /* padding-left: 1.5rem; */
}
#structure div ul li{
    font-size: 0.8rem;
    font-style: italic;
}
#structure div ul li i{
    margin-right: 0.5rem;
}
#structure div:nth-last-child(-n+2){
    /* visibility: hidden; */
    display: none;
}

/* ### BOUTON TOP ### */
#top{
    color: darkslategray;
    background-color: antiquewhite;
    padding: 0.3rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 1rem;
    position: absolute;
    bottom: 10px;
    right: 10px;
    border: 1px solid darkslategray;
}
.bi-arrow-up-circle-fill{
    position: absolute;
    font-size: 16px;
    transform: translate(-10%, -20%);
}

/*########################################*/
/* MEDIA QUERIE Bootstrap */
/* xs <576 | sm 576 | md 768, lg 992, xl 1200, xxl 1400 */
/*########################################*/
/* media querie perso */
@media (max-width: 340px) {
    header .accordion{
        width: 100%;
    }
}
/* media queries perso pour la gestion du titre CDA et du texte en footer */
@media (min-width: 341px){
    header div div p{
        padding: unset;
        margin: unset;
        text-align: end;
        background-color: unset;
        text-shadow: 2px 1px black;
    }
    button[data-bs-toggle="modal"]{
        width:fit-content;
    }
    footer #structure{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    footer #structure div{
        flex-basis: 50%;
    }
}

/* media de gestion du bouton de stage */
@media (min-width: 441px) {
    /* button[data-bs-toggle="modal"]{
        width: max-content;
    } */
}

/* sm = Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    header div div p{
        font-size: larger;
    }
    .offcanvas{
        --bs-offcanvas-height: fit-content;
    }
    .accordion li{
        font-size: 1.2rem;
    }
    footer #structure{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-evenly;
    }
    footer #structure div{
        flex-basis: auto;
    }
}

/* md = Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    header{
        padding: 2vh 5vw;
    }
    header div div p{
        font-size: xx-large;
    }
    .custom-popover {
        --bs-popover-max-width: 20vw;
    }
    .accordion li{
        font-size: 1.3rem;
    }
    img[src="Image/image_bio_sepia.png"]{
        max-width: 10%;
        float: left;
        margin: 1rem 2rem;
    }
    audio{
        height: 20px;
        display: inline;
    }
    #top{
        width: 2.2rem;
        height: 2.2rem;
        border-radius: 32px;
    }
    .bi-arrow-up-circle-fill{
        font-size: 1.6rem;
        transform: translate(-2%, -16%);
    }
}

/* lg = Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .accordion li{
        font-size: 1.2rem;
    }
    #top{
        width: 3rem;
        height: 3rem;
        border-radius: 32px;
    }
    .bi-arrow-up-circle-fill{
        font-size: 2rem;
        transform: translate(7%, -11%);
    }
}

/* xl = Extra-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    /* .offcanvas{
        --bs-offcanvas-height: 65vh;
    } */
    .accordion-button{
        position: sticky;
    }
    
}

/* xxl = Extra-Extra-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    #structure{
        max-width: fit-content;
    }
    #structure div{
        margin : 0 20px; 
    }
}
/* xxl = Extra-Extra-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1921px) {
    #Modal{
        --bs-modal-width: 700px;
        font-size: xx-large;
        line-height: 3rem;
    }
    #Modal .modal-body{
        line-height: 3rem;
    }
    #Modal .modal-footer button{
        font-size: x-large;
    }
}