/*----------------------------------------------------------------------------------------------------------------*/
/* Base "standard-section" rhythm (copie de frontpage.css, non chargée sur cette page) */

#container > .standard-section {}
#container > .standard-section > header {}
#container > .standard-section > header > .title {
    text-transform: uppercase;
    font-family: "Anton";
}
#container > .standard-section > header > .title > span {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
}
#container > .standard-section > header > .description { line-height: 21px; }

#container > .standard-section > footer { text-align: center; }
#container > .standard-section > footer > .cta-btn {}

@media (min-width : 750px) {
    #container > .standard-section > header:not(:last-child) { margin-bottom: 50px; }
    #container > .standard-section > header > .title {
        line-height: 108px;
        font-size: 96px;
    }
    #container > .standard-section > header > .title:not(:last-child) { margin-bottom: 40px; }
}
@media (max-width : 749px) {
    #container > .standard-section > header:not(:last-child) { margin-bottom: 40px; }
    #container > .standard-section > header > .title {
        line-height: 44px;
        font-size: 50px;
    }
    #container > .standard-section > header > .title:not(:last-child) { margin-bottom: 25px; }
}
@media (min-width : 600px) {
    #container > .standard-section > footer { margin-top: 100px; }
    #container > .standard-section { padding: 120px 60px 90px; }
}
@media (max-width : 599px) {
    #container > .standard-section > footer { margin-top: 60px; }
    #container > .standard-section { padding: 65px 15px 55px; }
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #formations-hero — même principe que le hero de l'accueil (#slider) */

#formations-hero {
    position: relative;
    height: 585px;
    background-color: #9E2B46;
}
#formations-hero > .slides { position: absolute; top: 0; right: 0; bottom: 50%; left: 0; }
#formations-hero > .slides > .slide {
    position: absolute; top: 0; left: 0; bottom: 0; right: 0;

    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
}
#formations-hero > .labels {
    position: absolute; top: 50%; right: 0; bottom: 0; left: 0; z-index: 2;
}
#formations-hero > .labels > .label {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    display: block; width: 100%; max-width: 900px;
    padding: 0 15px;

    line-height: 46px;
    font-size: 38px;
}
#formations-hero > .labels > .label > div {
    text-transform: uppercase;
    font-family: "Anton";
    color: #FFF;
}
#formations-hero > .labels > .label > div > span {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #FFF;
}

@media (min-width : 783px) {
    #formations-hero { height: 745px; }
    #formations-hero > .slides { top: 0; right: 0; bottom: 0; left: 50%; }
    #formations-hero > .labels { top: 0; right: 0; bottom: 0; left: 0; }
    #formations-hero > .labels > .label {
        padding: 0 60px;

        line-height: 70px;
        font-size: 58px;
    }
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #philosophy (BLOC 1) */

#philosophy > header > .title { color: #9E2B46; }
#philosophy > header > .title > span { -webkit-text-stroke-color: #9E2B46; }

#philosophy > .content > .intro {
    max-width: 800px;
    font-size: 17px;
    line-height: 27px;
}
#philosophy > .content > .intro:not(:last-child) { margin-bottom: 40px; }
#philosophy > .content > .items {
    display: flex;
    flex-direction: column;
}
#philosophy > .content > .items > .item {
    border: solid 1px #9E2B46;
    padding: 30px;
}
#philosophy > .content > .items > .item > h3 {
    margin: 0 0 12px;
    font-family: "Anton";
    font-size: 20px;
    color: #9E2B46;
}
#philosophy > .content > .items > .item > p {
    font-size: 15px;
    line-height: 24px;
}
@media (min-width : 900px) {
    #philosophy > .content > .items { flex-direction: row; }
    #philosophy > .content > .items > .item { flex: 1 1 0; }
    #philosophy > .content > .items > .item:not(:first-child) { border-left: none; }
}
@media (max-width : 899px) {
    #philosophy > .content > .items > .item:not(:first-child) { border-top: none; }
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #catalogue (BLOC 2) — même identité visuelle que #activities sur l'accueil */

#catalogue {
    background-color: #9E2B46;
    color: #FFF;
}
#catalogue > header > .title { color: #FFF; }
#catalogue > header > .title > span { -webkit-text-stroke-color: #FFF; }

#catalogue > .content > .note {
    max-width: 800px;
    font-size: 17px;
    line-height: 27px;
}
#catalogue > .content > .note:not(:last-child) { margin-bottom: 40px; }

#catalogue > .content > .controls {}
#catalogue > .content > .controls > .control-btn {
    position: relative;
    display: inline-block;

    font-family: "Anton";
    color: #BA3B5C; transition: color .2s ease-out;

    cursor: pointer;
}
#catalogue > .content > .controls > .control-btn:after {
    content: "";
    position: absolute; bottom: -10px; left: 0; right: 0;
    display: block; height: 1px;

    background-color: #BA3B5C;
    opacity: 0;
    transition:
        background-color .2s ease-out,
        opacity .2s ease-out;
}
#catalogue > .content > .controls > .control-btn.active { color: #FFF; }
#catalogue > .content > .controls > .control-btn.active:after { background-color: #FFF; }
#catalogue > .content > .controls > .control-btn:hover:after,
#catalogue > .content > .controls > .control-btn.active:after { opacity: 1; }

#catalogue > .content > .list {}
#catalogue > .content > .list > div:not(.active) { display: none; }
#catalogue > .content > .list > div.active {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
#catalogue > .content > .list > div > .course {
    position: relative;
    display: block;
    box-sizing: border-box;

    border: solid 1px #FFF;
    color: #FFF;

    cursor: url("data:image/svg+xml;charset=UTF-8,%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='100px' height='100px' viewBox='0 0 100 100' style='enable-background:new 0 0 100 100;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:%23FDFF50;%7d %3c/style%3e%3ccircle class='st0' cx='50' cy='50' r='50'/%3e%3cpath d='M20.7,47.2c0.5,0.3,0.9,0.6,1.1,1.1c0.3,0.5,0.4,1,0.4,1.7c0,0.6-0.1,1.2-0.4,1.7c-0.3,0.5-0.6,0.8-1.1,1.1 s-1.1,0.4-1.8,0.4H17v-6.3h1.9C19.6,46.9,20.2,47,20.7,47.2z M20.9,51.9c0.5-0.5,0.7-1.1,0.7-1.9c0-0.8-0.2-1.5-0.7-1.9 s-1.1-0.7-2-0.7h-1.2v5.2h1.2C19.7,52.6,20.4,52.4,20.9,51.9z M26.2,47.4v2.3h2.4v0.5h-2.4v2.4h2.7v0.5h-3.3v-6.3h3.3v0.5H26.2z M28,45.5l-1.8,1.1v-0.5l1.8-1.2V45.5z M32.5,48.3c0.3-0.5,0.6-0.9,1.1-1.1c0.5-0.3,1-0.4,1.6-0.4c0.7,0,1.3,0.2,1.8,0.5 s0.9,0.8,1.1,1.4h-0.7c-0.2-0.4-0.5-0.8-0.8-1c-0.4-0.2-0.8-0.4-1.3-0.4c-0.5,0-0.9,0.1-1.2,0.3c-0.4,0.2-0.7,0.5-0.9,0.9 s-0.3,0.9-0.3,1.4c0,0.5,0.1,1,0.3,1.4c0.2,0.4,0.5,0.7,0.9,0.9c0.4,0.2,0.8,0.3,1.2,0.3c0.5,0,1-0.1,1.3-0.4c0.4-0.2,0.6-0.6,0.8-1 h0.7c-0.2,0.6-0.6,1.1-1.1,1.4c-0.5,0.3-1.1,0.5-1.8,0.5c-0.6,0-1.1-0.1-1.6-0.4c-0.5-0.3-0.8-0.7-1.1-1.1s-0.4-1-0.4-1.7 C32.1,49.4,32.2,48.8,32.5,48.3z M42.8,52.8c-0.5-0.3-0.8-0.7-1.1-1.1s-0.4-1-0.4-1.7c0-0.6,0.1-1.2,0.4-1.7s0.6-0.9,1.1-1.1 c0.5-0.3,1-0.4,1.6-0.4c0.6,0,1.1,0.1,1.6,0.4c0.5,0.3,0.8,0.7,1.1,1.1s0.4,1,0.4,1.7c0,0.6-0.1,1.2-0.4,1.7s-0.6,0.9-1.1,1.1 c-0.5,0.3-1,0.4-1.6,0.4C43.8,53.2,43.3,53.1,42.8,52.8z M45.7,52.3c0.4-0.2,0.7-0.5,0.9-0.9c0.2-0.4,0.3-0.9,0.3-1.4 c0-0.5-0.1-1-0.3-1.4c-0.2-0.4-0.5-0.7-0.9-0.9c-0.4-0.2-0.8-0.3-1.3-0.3c-0.5,0-0.9,0.1-1.3,0.3c-0.4,0.2-0.7,0.5-0.9,0.9 C42,49,41.9,49.5,41.9,50c0,0.5,0.1,1,0.3,1.4c0.2,0.4,0.5,0.7,0.9,0.9c0.4,0.2,0.8,0.3,1.3,0.3C44.9,52.7,45.3,52.6,45.7,52.3z M51.5,46.9v4c0,0.6,0.1,1.1,0.4,1.4c0.3,0.3,0.7,0.5,1.2,0.5s0.9-0.1,1.2-0.4c0.3-0.3,0.4-0.8,0.4-1.4v-4h0.6v4 c0,0.8-0.2,1.4-0.6,1.8s-1,0.6-1.7,0.6S52,53,51.5,52.6s-0.6-1-0.6-1.8v-4H51.5z M64.1,46.9l-2.4,6.3H61l-2.4-6.3h0.7l2.1,5.6 l2.1-5.6H64.1z M70.7,53.1l-1.6-2.6h-1.2v2.6h-0.6v-6.3h1.9c0.7,0,1.2,0.2,1.6,0.5c0.4,0.3,0.5,0.8,0.5,1.3c0,0.5-0.1,0.8-0.4,1.2 c-0.3,0.3-0.6,0.5-1.2,0.6l1.6,2.7H70.7z M67.9,50h1.3c0.5,0,0.9-0.1,1.1-0.4c0.2-0.2,0.4-0.6,0.4-1c0-0.4-0.1-0.7-0.4-1 c-0.2-0.2-0.6-0.3-1.1-0.3h-1.3V50z M75.5,46.9v6.3h-0.6v-6.3H75.5z M82.5,53.1l-1.6-2.6h-1.2v2.6h-0.6v-6.3H81 c0.7,0,1.2,0.2,1.6,0.5c0.4,0.3,0.5,0.8,0.5,1.3c0,0.5-0.1,0.8-0.4,1.2c-0.3,0.3-0.6,0.5-1.2,0.6l1.6,2.7H82.5z M79.8,50H81 c0.5,0,0.9-0.1,1.1-0.4s0.4-0.6,0.4-1c0-0.4-0.1-0.7-0.4-1c-0.2-0.2-0.6-0.3-1.1-0.3h-1.3V50z'/%3e%3c/svg%3e") 50 50, pointer;

    text-decoration: none;
}
#catalogue > .content > .list > div > .course > .index {
    font-family: "Anton";
    color: #F9F96E;
}
#catalogue > .content > .list > div > .course > .name {
    font-family: "Anton";
    word-wrap: break-word;
}
#catalogue > .content > .list > div > .course > .duration,
#catalogue > .content > .list > div > .course > .prerequisites {
    font-size: 13px;
    opacity: .85;
}
#catalogue > .content > .list > div > .course > .duration:not(:last-child),
#catalogue > .content > .list > div > .course > .prerequisites:not(:last-child) { margin-bottom: 6px; }

@media (min-width : 900px) {
    #catalogue > .content > .controls:not(:last-child) { margin-bottom: 40px; }
    #catalogue > .content > .controls > .control-btn {
        line-height: 28px;
        font-size: 30px;
    }
    #catalogue > .content > .controls > .control-btn:not(:first-child) { margin-left: 60px; }

    #catalogue > .content > .list > div > .course { flex: 0 0 calc((100% + 3px) / 4); }
    #catalogue > .content > .list > div > .course:not(:nth-child(4n)):not(:last-child) { margin-right: -1px; }
    #catalogue > .content > .list > div > .course:nth-child(4n) ~ .course { margin-top: -1px; }
}
@media (max-width : 899px) {
    #catalogue > .content > .controls:not(:last-child) { margin-bottom: 35px; }
    #catalogue > .content > .controls > .control-btn {
        line-height: 18px;
        font-size: 20px;
    }
    #catalogue > .content > .controls > .control-btn:not(:first-child) { margin-left: 30px; }
}
@media (max-width : 899px) and (min-width : 600px) {
    #catalogue > .content > .list > div > .course { flex: 0 0 calc((100% + 1px) / 2); }
    #catalogue > .content > .list > div > .course:not(:nth-child(2n)):not(:last-child) { margin-right: -1px; }
    #catalogue > .content > .list > div > .course:nth-child(2n) ~ .course { margin-top: -1px; }
}
@media (max-width : 599px) {
    #catalogue > .content > .list > div > .course { flex: 0 0 100%; margin-top: -1px; }
    #catalogue > .content > .list > div > .course:first-child { margin-top: 0; }
}
@media (min-width : 600px) {
    #catalogue > .content > .list > div > .course { padding: 30px; }
    #catalogue > .content > .list > div > .course > .index {
        margin-bottom: 20px;

        font-size: 28px;
        line-height: 30px;
    }
    #catalogue > .content > .list > div > .course > .name { font-size: 18px; margin: 0 0 15px; }
}
@media (max-width : 599px) {
    #catalogue > .content > .list > div > .course { padding: 20px; }
    #catalogue > .content > .list > div > .course > .index {
        margin-bottom: 15px;

        font-size: 24px;
        line-height: 26px;
    }
    #catalogue > .content > .list > div > .course > .name { font-size: 17px; margin: 0 0 12px; }
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #modalities (BLOC 3) — 2 colonnes bordées + texte de bas de bloc */

#modalities > header > .title { color: #9E2B46; }
#modalities > header > .title > span { -webkit-text-stroke-color: #9E2B46; }

#modalities > .columns {
    display: flex;
    flex-direction: column;
}
#modalities > .columns > .column {
    border: solid 1px #9E2B46;
    padding: 30px;

    font-size: 16px;
    line-height: 25px;
}
#modalities > .columns > .column ul {
    list-style-image: url("../../images/icons/checkmark.svg");
    margin: 12px 0;
    padding-left: 12px;
}
#modalities > .columns > .column ul > li:not(:last-child) { margin-bottom: 8px; }
#modalities > .footnote {
    max-width: 800px;

    font-size: 15px;
    opacity: .8;
}
@media (min-width : 900px) {
    #modalities > .columns { flex-direction: row; }
    #modalities > .columns > .column { flex: 1 1 0; }
    #modalities > .columns > .column:not(:first-child) { border-left: none; }
    #modalities > .footnote { margin-top: 45px; }
}
@media (max-width : 899px) {
    #modalities > .columns > .column:not(:first-child) { border-top: none; }
    #modalities > .footnote { margin-top: 35px; }
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #certification (BLOC 4) — même principe que #training sur l'accueil (bandeau moitié gris/moitié photo) */

#certification {
    position: relative;
    overflow: hidden;
    background-color: #CBC6C9;
}
#certification > .image {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#certification > .image:after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;

    background-color: #CBC6C9;
    opacity: .88;
}
#certification > header,
#certification > .content,
#certification > .cert {
    position: relative;
    z-index: 1;
}

#certification > header { padding: 50px 15px 0; }
#certification > header > .title {
    text-transform: uppercase;
    font-family: "Anton";
    color: #9E2B46;
}
#certification > header > .title > span {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #9E2B46;
}

#certification > .content { padding: 30px 15px 50px; }
#certification > .content > .description {
    font-size: 17px;
    line-height: 27px;
}
#certification > .content > .description ul {
    list-style-image: url("../../images/icons/checkmark.svg");
    margin: 12px 0;
    padding-left: 12px;
}
#certification > .content > .description ul > li:not(:last-child) { margin-bottom: 8px; }

#certification > .cert {
    display: flex;
    flex-direction: row;
    align-items: center;

    margin: 0 15px 30px;
    padding: 20px 25px;

    background-color: #FFF;
}
#certification > .cert > .logo {
    height: 45px;
    width: 108px;
    margin-right: 25px;

    background-image: url("../../images/qualiopi.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

@media (min-width : 900px) {
    #certification > .image { left: 50%; }
    #certification > .image:after { display: none; }
    #certification > header {
        max-width: 50%;
        padding: 90px 60px 0;
        box-sizing: border-box;
    }
    #certification > header > .title {
        line-height: 108px;
        font-size: 96px;
    }
    #certification > .content {
        max-width: 50%;
        box-sizing: border-box;
        padding: 30px 60px;
    }
    #certification > .cert {
        position: absolute;
        left: 50%; right: 0; bottom: 60px;
        margin: 0 60px;
    }
}
@media (max-width : 899px) {
    #certification > header > .title {
        line-height: 44px;
        font-size: 50px;
    }
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #webinars (BLOC 5) */

#webinars > header > .title { color: #9E2B46; }
#webinars > header > .title > span { -webkit-text-stroke-color: #9E2B46; }

#webinars > .description {
    max-width: 800px;
    font-size: 17px;
    line-height: 27px;
}

/*----------------------------------------------------------------------------------------------------------------*/
/* #custom (BLOC 6) */

#custom { background-color: #CFC9CC; }
#custom > header > .title { color: #9E2B46; }
#custom > header > .title > span { -webkit-text-stroke-color: #9E2B46; }
#custom > .description {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;

    font-size: 17px;
    line-height: 27px;
    text-align: center;
}
