*{
    box-sizing: border-box;
}
section{
    overflow: hidden;
    padding:3em 1em;
}
@media screen and (max-width:500px)
{
    body{ 
        font-size:14px;
    }
}
@media screen and (min-width:1800px){
    body{ 
        font-size:18px;
    }
    section{
        padding:6em 1em;
    }
}
p{
    line-height:1.3em;
}
.strong{
    font-weight:bold;
}
img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    border:0;
    line-height:0;
    margin:0;
}
.img-circle{
    border-radius:50%;
}
.alignleft, .alignright{
    display:block;
    margin:0 auto;
    text-align:center;
    max-width:50%;
}

figcaption{
    font-weight:600;
    font-size:.9em;
    margin:.4em 0;
}

@media screen and (min-width:768px)
{
    .alignleft{
        float:left;
        max-width:300px;
        margin-right:1em;
        margin-bottom:1em;
    }
    .alignright{
        float:right;
        max-width:300px;
        margin-left:1em;
        margin-bottom:1em;
    }
}

.left{
    text-align:left !important;
}
.right{
    text-align:right !important;
}
.center{
    text-align:center !important;
}
.small{
    font-size:.6em;
}
.big{
    font-size:1.5em !important;
}
.two-third{
    font-size:.75em;
}
.container{
    max-width:1380px;
    margin:0 auto;
    padding-left:1em;
    padding-right:1em;
}

.position-relative{
    position:relative;
}

.nopadding{
    padding:0 !important;
}
.nomargin{
    margin:0 !important;
}
.nobullets{
    list-style-type:none;
    padding-left:0;
}


@media screen and (min-width:768px)
{
    .container{
        padding-left:2em;
        padding-right:2em;
    }
}
@media screen and (min-width:1680px)
{
    .container{
        width:80%;
    }
}

/* FLEX STUFF */
 .d-flex{
     display:flex;
     flex-direction:column;
 }

 @media screen and (min-width:768px)
 {
    .d-flex{
        flex-direction:row;
    }
    .row-reverse{
        flex-direction:row-reverse;
    }
 }

.flex-wrap{
    flex-wrap:wrap;
 }

@media screen and (min-width:768px)
{
    .flex-1{
        flex:1;
    }
    .flex-2{
        flex:2;
    }
    .flex-3{
        flex:3;
    }
    .flex-4{
        flex:4;
    }
    .flex-5{
        flex:5;
    }
    .flex-6{
        flex:6;
    }
    .flex-7{
        flex:7;
    }
    .flex-8{
        flex:8;
    }
    .flex-9{
        flex:9;
    }
    .flex-10{
        flex:10;
    }
    .flex-11{
        flex:11;
    }
    .flex-12{
        flex:12;
    }
    .order-1{
        order:1;
    }
    .order-2{
        order:2;
    }
    .order-3{
        order:3;
    }
    .order-4{
        order:4;
    }
    .order-5{
        order:5;
    }
    .justify-start{
        justify-content:flex-start;
    }
    .justify-between{
        justify-content:space-between;
    }
    .justify-around{
        justify-content:space-around;
    }
    .justify-center{
        justify-content:center;
    }
    .justify-start{
        justify-content:flex-start;
    }
    .justify-end{
        justify-content:flex-end;
    }
    .align-center{
        align-items:center;
    }
    .align-start{
        align-items:flex-start;
    }
    .align-end{
        align-items:flex-end;
    }
    .align-stretch{
        align-items:stretch;
    }
    .flex-1-third{
        flex-basis:calc(100% / 3);
    }
    .flex-2-third{
        flex-basis:calc(100% / 1.5);
    }
}



/* ACCORDION */
.accordion {
    padding: 0;
    list-style: none; 
}
.accordion-title {
    display: block;
    margin: 0;
    padding: 0 7px;
    text-decoration: none;
    cursor: pointer;
    font-size:1.3em;
    font-weight:500;
    margin-bottom:.8em;
}
li:not(.active) .accordion-title
{
    margin-bottom:.5em;
    padding-bottom:.5em;

}


.accordion-title .badge{
    font-size:.5em;
    padding:.2em .4em .3em;
    display:inline;
    vertical-align:middle;
    margin-left:5px;
    font-weight:bold;
}
.accordion-title:before{
    content:"";
    width:15px;
    height:15px;
    display:inline-block;
    vertical-align:middle;
    margin-right:5px;
    background:url(../images/accordion-plus.svg) center center no-repeat;
}
.active  .accordion-title:before{
    background:url(../images/accordion-minus.svg) center center no-repeat;
}
.accordion-title:hover {

}
.accordion-content {
    padding: 7px;
    margin:.5em 0 1em;
    padding: 2em;    
    background-color: rgba(0,0,0,0.3);
    border-radius:10px;
    position:relative;
}
.accordion-content:before{
    content:"";
    display:block;
    position:absolute;
    top:-15px;
    left:130px;
    width:68px;
    height:32px;
    background-image:url(../images/triangle.svg);
    background-repeat:no-repeat;
}
.accordion-content .content-title{
    font-size:1.5em;
}
/*
.accordion-content .contexte{
    padding-left:60px;
    background:url(../images/ico-question.svg) left top no-repeat;
    margin-bottom:2em;
    padding-bottom:2em;
    border-bottom:1px dashed #ccc;
    background-size:35px;
}
.accordion-content .analyse{
    padding-left:60px;
    background:url(../images/brainstorm.svg) left top no-repeat;
    margin-bottom:2em;
    padding-bottom:2em;
    border-bottom:1px dashed #ccc;
    background-size:40px;
}
.accordion-content .recommandation{
    padding-left:60px;
    background:url(../images/ico-answer.svg) left top no-repeat;
    background-size:40px;
}

*/
@media screen and (min-width:768px)
{
    .accordion-title {
        font-size:1.8em;
    }
    .accordion-title:before{
        content:"";
        width:30px;
        height:30px;
        margin-right:15px;
    }
}

@media screen and (min-width:768px){
    /*
    .accordion-content .contexte{
        padding-left:120px;
        background-size:70px;
    }
    .accordion-content .analyse{
        padding-left:120px;
        background-size:90px;
    }
    .accordion-content .recommandation{
        padding-left:120px;
        background-size:90px;
    } 
    */
}


