:root {
  --couleur-principale: #00DFDE;
  --couleur-principale-light: #CCF9F8;
  --couleur-secondaire: #16A2A2;
  --couleur-secondaire-light: #50b9b9;
  --couleur-noir: #000000;
  --couleur-clair: #ffffff;
  --couleur-gris: #EFEFEF;
}
@font-face {
    font-family: 'VisbyCF';
    src: url('../font/VisbyCF-DemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
} 



/************************************************
* TITLE SECTION
************************************************/
#title {
    text-align: center;
}

#subtitle {
    font-weight: 600;
    font-size: 20px;
    text-align: center;
    margin-top: 20px;
    width: 100%;
}

#subtitle p {
    margin: 0;
}


.section {
    width: 90%;
    margin: auto;
    font-size: 20px;
    text-align: center;
}



/************************************************
* PILLARS  SECTION
************************************************/
#section_pillars_container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 90%;
    margin: auto;
    position: relative;
}

#section_pillars_title {
    text-align: center;
    font-family: 'VisbyCF', sans-serif;
    font-size: 32px;
    color: var(--couleur-principale);
    margin-bottom: 40px;
}

#infobulle_industrial, #infobulle_sourcing, #infobulle_demand, #infobulle_manufacturing, #infobulle_logistics {
    position: absolute;
    top: 0; /* au-dessus */
    left: 5%;
    z-index: 999;
}

#infobulle_demand {
    top: 20%;
}

#infobulle_sourcing {
    top: 40%;
}

#infobulle_logistics {
    top: 60%;
}

#infobulle_industrial {
    top: 80%; /* au-dessus */
}

.infobulle {
    display: none;
    background-color: var(--couleur-clair);
    width: 80%;
    margin: auto;
    border: Solid 1px var(--couleur-principale);
    padding: 10px 20px;
    border-radius: 10px;
}



.small_infobulle {
    display: none;
    background-color: var(--couleur-clair);
    width: 80%;
    margin: auto;
    border: Solid 1px var(--couleur-principale);
    padding: 20px 20px;
    border-radius: 10px;
    z-index: 9999999;
}

.small_infobulle .infobulle_title {
    margin-bottom: 20px;
}

#infobulle_gouvernance, #infobulle_corporate, #infobulle_organization, #infobulle_digital, #infobulle_financial, #infobulle_strategy, #infobulle_customer {
    position: absolute;
    top: 0; /* au-dessus */
    left: 5%;
}

#infobulle_customer {
    top: 0;
}

#infobulle_strategy {
    top: 7%;
}

#infobulle_financial {
    top: 20%;
}

#infobulle_digital {
    top: 30%;
}

#infobulle_organization {
    top: 40%;
}

#infobulle_corporate {
    top: 60%;
}

#infobulle_gouvernance {
    top: 70%;
}

.infobulle_title {
    font-weight: 600;
    font-size: 24px;
    color: var(--couleur-principale);
    text-align: center;
    
}

.infobulle_subtitle {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin-top: 30px;
}

.infobulle_desc {
    text-align: center;
    font-size: 16px;
}

.infobulle_item {
    font-size: 16px;
    display: flex;
    flex-direction: column;
}


.infobulle_item li {
  position: relative;
  padding-left: 25px; /* espace pour l'image */
}

.infobulle_item li+li {
    margin-top: 15px;
}

.infobulle_item li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 16px;
  height: 16px;
  background-image: url("../img/CERCLE\ -\ SVG/VALORIS PARTNER - CERCLE - RVB - COULEUR - SVG.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

#section_pillars_demand {
    opacity: 0;
}

#section_pillars_demand.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 0.5s;
}

#section_pillars_manufacturing {
    opacity: 0;
}

#section_pillars_manufacturing.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 1s;
}

#section_pillars_sourcing {
    opacity: 0;
}

#section_pillars_sourcing.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 1.5s;
}

#section_pillars_logistics {
    opacity: 0;
}

#section_pillars_logistics.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 2s;
}

#section_pillars_industrial {
    opacity: 0;
}

#section_pillars_industrial.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 2.5s;
}

.section_pillars_item {
    width: 70%;
    height: 100px;
    background-color: #EFEFEF;
    border-radius: 10px;
    padding: 50px 20px;
    margin: auto;
    cursor: pointer;
}


.section_pillars_item_container {
    width: 80%;
    margin: auto;
    padding-bottom: 20px;
    display: grid;
    place-items: center;
    height: 100px;
    border-bottom: Solid 2px var(--couleur-principale);
    
}

.section_pillars_item_text {
    margin: auto;
    font-size: 25px;
    font-weight: 500;
    text-align: center;
}

.section_pillars_plus_image {
    width: 60px;
    margin: auto;
    margin-top: 50px;
    margin-bottom: 50px;
}

.section_pillars_plus_image img {
    width: 100%;
}


.section_pillars_infinity_item_image {
    width: 25px;
    margin-left: 10px;
}

.section_pillars_infinity_item_image img {
    width: 100%;
    vertical-align: middle;
}

.section_pillars_infinity_item_image_infinity {
    width: 20%;
}

#section_pillars_infinity {
    position: relative;
    width: 90%;
    margin: auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding-top: 20px;
    padding-bottom: 20px;
    gap: 20px;
}

/* image en arrière-plan */
#section_pillars_infinity::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/icon/infinity.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    opacity: 0.4; /* OPACITÉ uniquement sur l'image */
    z-index: 0;
    transform: translate(0%, 0%) rotate(90deg);
}

#section_pillars_infinity > * {
    position: relative;
    z-index: 1;
}

.section_pillars_infinity_row {
    position: relative;
    z-index: 1;
    width: 90%;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow: visible;
}

.section_pillars_infinity_row .left {
    justify-content: flex-start;
}

.section_pillars_infinity_row .right {
    justify-content: flex-end;
}

.section_pillars_infinity_row .middle {
    justify-content: center;
}

.section_pillars_infinity_item {
    width: 100%;
    min-height: 50px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.section_pillars_infinity_item_infinity {
    display: none;
}

.section_pillars_infinity_item_title {
    font-weight: 600;
    font-size: 20px;
    text-align: center;
}

.section_pillars_infinity_item_image_infinity {
    display: none;
}

#section_pillars_value {
    width: 90%;
    margin: auto;
    margin-top: 80px;
}

.section_pillars_value_container {
    margin-top: -50px;
    background-color: var(--couleur-secondaire);
    border-radius: 20px;
    width: 100%;
    color: var(--couleur-clair);
}

.section_pillars_value_container h2 {
    text-align: left;
    font-family: 'VisbyCF', sans-serif;
    font-size: 32px;
    width: 70%;
    padding: 20px 5%;
}

.section_pillars_value_content {
    display: flex;
    flex-direction: column;
    padding-bottom: 20px;
}

.section_pillars_value_image {
    width: 90%;
    margin: auto;
}

.section_pillars_value_image img {
    width: 100%;
    border-radius: 20px;
}

.section_pillars_value_text {
    font-size: 24px;
    text-align: justify;
    width: 90%;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 30px;
}

.section_pillars_value_schema {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;
}

.section_pillars_value_schema_arrow {
    margin-top: 10px;
}

.section_pillars_value_schema_arrow img {
    width: 90%;
}

.section_pillars_value_schema_arrow_right {
    margin-top: 60px;
}

.section_pillars_value_schema_text {
    font-size: 24px;
}

.section_pillars_value_schema_text div+div {
    margin-top: 20px;
}

.section_pillars_value_leakage {
    margin-top: 50px;
}

.section_pillars_value_leakage h3 {
    font-weight: 400;
    font-size: 24px;
    text-align: center;
    width: 100%;
    
}

.section_pillars_value_leakage_container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.section_pillars_value_leakage_item_subtitle {
    font-size: 16px;
    width: 60%;
    margin: auto;
}

.section_pillars_value_leakage_item_subtitle_down {
    text-align: right;
}

.section_pillars_value_image_gear {
    width: 60%;
    margin: auto;
}

.section_pillars_value_image_gear img {
    width: 100%;
}

.section_pillars_value_leakage_item_title {
    font-size: 20px;
    margin: auto;
    margin-top: 30px;
    text-align: center;
    font-weight: 600;
}

.section_pillars_value_desc {
    margin-top: 70px;
}

.section_pillars_value_desc div {
    font-weight: 600;
    font-size: 24px;
    text-align: center;
}

.section_pillars_value_desc div+div {
    margin-top: 20px;
}

#section_visible_title{
    width: 90%;
    margin: auto;
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    padding-bottom: 50px;

    opacity: 0;
}

#section_visible_title.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 0.5s;
}

.section_visible_image {
    position: relative;
    width: 100%;
    overflow: hidden;
}


/* image en arrière-plan */
.section_visible_image::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/giant-building-with-sun.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 0;
}

.section_visible_image > * {
    position: relative;
    z-index: 1;
}

.section_visible_image_title {
    font-weight: 600;
    font-size: 25px;
    border-radius: 10px;
    text-align: center;
    width: 80%;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px;
    background-color: var(--couleur-clair);
    padding: 20px 10px;

    opacity: 0;
}

.section_visible_image_title.show {
    animation: fadeIn 0.6s ease-in-out forwards; 
    animation-delay: 1s;
}

#section_visible_image_title_text {
    opacity: 0;
}

#section_visible_image_title_text.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 1.5s;
}

.section_visible_end_title {
    padding-top: 50px;
    color: var(--couleur-clair);
    text-align: center;

    opacity: 0;
}

.section_visible_end_title.show {
    animation: fadeIn 1s ease-in-out forwards; 
    animation-delay: 2s;
}

.section_visible_end_title h2 {
    text-transform: uppercase;
    font-family: 'VisbyCF', sans-serif;
    font-size: 32px;
}

.section_visible_end_title h3 {
    font-size: 24px;
    font-weight: 600;
    color: var(--couleur-principale);
}

.section_visible_end_title h4 {
    margin-top: -20px;
    font-size: 24px;
    font-weight: 600;
}

#section_process h2 {
    font-family: 'VisbyCF', sans-serif;
    text-align: left;
    font-size: 25px;
}

.section_process_schema {
    display: flex;
    flex-direction: column;
    margin-top: 50px;
}

.section_process_schema_title {
    display: grid;
    place-items: center;
    width: 100%;
}

.section_process_schema_item {
    display: grid;
    place-items: center;
    background-color: var(--couleur-clair);
    width: 180px;
    height: 180px;
    margin: auto;
}

.section_process_schema_item_circle {
    border: solid 5px var(--couleur-secondaire);
    border-radius: 100%;
    height: 180px;
}

.section_process_schema_item_circle div {
    width: 80%;
}

#schema_item_2 {
    border: solid 5px var(--couleur-secondaire-light);
}

#schema_item_3 {
    border: solid 5px var(--couleur-principale);
}

#schema_item_4 {
    border: solid 5px var(--couleur-principale-light);
}

.section_process_schema_item_circle_title {
    font-family: 'VisbyCF', sans-serif;
    font-size: 20px;
    color: var(--couleur-principale);
    text-align: center;
}

.section_process_schema_desc {
    font-size: 16px;
    width: 90%;
    margin: auto;
}

.section_process_schema_item_circle_desc {
    font-size: 16px;
    width: 90%;
    margin: auto;
    margin-top: 0px;
}

.section_process_schema_separator {
    width: 5px;
    height: 50px;
    margin: auto;
    
}

.section_process_schema_separator_1 {
    margin-top: 10px;
    background-color: var(--couleur-secondaire);
}

.section_process_schema_separator_2 {
    background-color: var(--couleur-secondaire-light);
}

.section_process_schema_separator_3 {
    background-color: var(--couleur-principale);
}

.section_process_schema_separator_4 {
    background-color: var(--couleur-principale-light);
}

@media screen and (min-width: 992px) {

    #title {
        text-align: left;
    }
    #section_title {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 90%;
        margin: auto;
        align-items: center;
        text-align: left;
    }

    #subtitle {
        font-size: 27px;
        text-align: left;
    }

    /************************************************
    * PILLARS  SECTION
    ************************************************/
    #section_pillars_container {
        flex-direction: row;
    }

    #section_pillars_title {
        font-size: 40px;
    }

    .section_pillars_item {
        width: 20%;
    }

    .section_pillars_item_container {
        width: 100%;
    }

    #infobulle_industrial, #infobulle_sourcing, #infobulle_demand, #infobulle_manufacturing, #infobulle_logistics {
        top: 0; /* au-dessus */
        left: 20%;
    }

    .infobulle {
        width: 60%;
    }

    .infobulle_title {
        font-size: 24px;
        color: var(--couleur-principale);
        text-align: center;
        
    }

    .infobulle_subtitle {
        text-align: left;
    }

    .infobulle_desc {
        text-align: left;
        font-size: 18px;
    }

    .infobulle_item {
        font-size: 18px;
    }

    .infobulle_content {
        display: flex;
        flex-direction: row;
        width: 100%;
        margin: auto;
        justify-content: space-between;
    }

    .small_infobulle {
        width: 30%;
    }

    .small_infobulle .infobulle_desc {
        text-align: center;
    }

    #infobulle_gouvernance, #infobulle_corporate, #infobulle_organization, #infobulle_digital, #infobulle_financial, #infobulle_strategy, #infobulle_customer {
        position: absolute;
        top: 0; /* au-dessus */
        left: 32%;
        z-index: 999;
    }

    #infobulle_customer {
        top: 35%;
    }

    #infobulle_strategy {
        top: 35%;
    }

    #infobulle_financial {
        top: 35%;
    }

    #infobulle_digital {
        top: 35%;
    }

    #infobulle_organization {
        top: 35%;
    }

    #infobulle_corporate {
        top: 35%;
    }

    #infobulle_gouvernance {
        top: 35%;
    }

    .section_pillars_infinity_item_image_infinity {
        width: 80%;
        margin: auto;
        display: block;
    }

    .section_pillars_infinity_item_image_infinity img {
        width: 100%;
    }

    .section_pillars_infinity_item_image {
        width: 25px;
    }

    #section_pillars_infinity {
        flex-direction: column;
        gap: 20px;
    }

    /* image en arrière-plan */
    #section_pillars_infinity::before {
        background-image: none;
        opacity: 0;
    }

    .section_pillars_infinity_row {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
    }

    .section_pillars_infinity_row .left {
        justify-content: center;
    }

    .section_pillars_infinity_row .right {
        justify-content: center;
    }

    .section_pillars_infinity_row .middle {
        justify-content: center
    }
    .section_pillars_infinity_item {
        width: 30%;
    }

    .section_pillars_infinity_item_infinity {
        width: 70%;
        display: block;
    }

    .section_pillars_infinity_item_title {
        max-width: 200px;
        font-weight: 600;
        font-size: 26px;
        
    }

    .section_pillars_value_container h2 {
        font-size: 50px;
        width: 100%;
        padding: 20px 2%;
        margin: 0;
    }

    .section_pillars_value_content {
        flex-direction: row;
        width: 96%;
        margin: auto;
        margin-top: 20px;
        padding-bottom: 50px;
        justify-content: space-between;
    }

    .section_pillars_value_image {
        width: 50%;
        margin: 0;
        
    }

    .section_pillars_value_image img {
        width: 100%;
        height: 300px;
        
        object-fit: cover;
        object-position: center 70%;
    }

    .section_pillars_value_textContent {
        width: 48%;
    }

    .section_pillars_value_text {
        font-size: 29px;
        text-align: left;
        margin-top: 0;
        width: 100%;
    }

    .section_pillars_value_schema {
        margin-left: 0;
        margin: auto;
    }

    .section_pillars_value_schema_arrow {
        margin-top: 20px;
    }

    .section_pillars_value_schema_arrow_right {
        margin-top: 70px;
    }

    .section_pillars_value_schema_text {
        font-size: 29px;
    }

    .section_pillars_value_leakage {
        margin-top: 80px;
    }

    .section_pillars_value_leakage h3 {
        font-size: 32px;
        text-align: left;
    }

    .section_pillars_value_leakage_container {
        width: 100%;
        flex-direction: row;
    }

    .section_pillars_value_leakage_item_subtitle {
        width: 100%;
    }

    .section_pillars_value_leakage_item {
        width: 25%;
    }
    .section_pillars_value_image_gear {
        width: 100%;
    }

    .section_pillars_value_desc {
        margin-top: 80px;
    }

    .section_pillars_value_desc div {
        font-weight: 600;
        font-size: 24px;
        text-align: center;
    }

    .section_pillars_value_desc div+div {
        margin-top: 10px;
    }

    #section_visible h2{
        font-size: 45px;
    }

    .section_visible_image_title {
        font-size: 36px;
        width: 70%;
        padding: 30px 30px;
    }

    .section_visible_end_title {
        padding-top: 50px;
        color: var(--couleur-clair);
        text-align: center;
    }

    .section_visible_end_title h2 {
        font-size: 48px;
        margin-bottom: 0px;
    }

    .section_visible_end_title h3 {
        margin-top: 0px;
        font-size: 32px;
        margin-bottom: 0;
    }

    .section_visible_end_title h4 {
        font-size: 32px;
        margin-top: 0;
    }

    #section_process {
        padding-bottom: 100px;
    }

    #section_process h2 {
        font-size: 36px;
    }

    .section_process_schema {
        flex-direction: row;
        align-items: center;
        justify-content: start;
    }

    .section_process_schema_title {
        width: 20%;
    }

    .section_process_schema_item {
        width: 200px;
        height: 200px;
    }

    .section_process_schema_item_circle {
        border: none;
    }

    .section_process_schema_item_circle div {
        width: 80%;
    }

    #schema_item_1 {
        position: relative;
        margin-left: -5px;
        margin-top: 5px;
    }

    #schema_item_1::before {
        content: "";
        position: absolute;
        inset: 0;
        border: solid 5px var(--couleur-secondaire);
        border-radius: 100%;

        -webkit-mask: linear-gradient(to bottom, black 50%, transparent 50%);
        mask: linear-gradient(to bottom, black 50%, transparent 50%);
    }

    #schema_item_2 {
        border: none;
        position: relative;
        margin-left: -5px;
        margin-top: 0px;
    }

    #schema_item_2::before {
        content: "";
        position: absolute;
        inset: 0;
        border: solid 5px var(--couleur-secondaire-light);
        border-radius: 100%;

        -webkit-mask: linear-gradient(to top, black 50%, transparent 50%);
        mask: linear-gradient(to top, black 50%, transparent 50%);
    }

    #schema_item_3 {
        border: none;
        position: relative;
        margin-left: -5px;
        margin-top: 5px;
    }

    #schema_item_3::before {
        content: "";
        position: absolute;
        inset: 0;
        border: solid 5px var(--couleur-principale);
        border-radius: 100%;

        -webkit-mask: linear-gradient(to bottom, black 50%, transparent 50%);
        mask: linear-gradient(to bottom, black 50%, transparent 50%);
    }

    #schema_item_4 {
        border: none;
        position: relative;
        margin-left: -5px;
        margin-top: 0px;
    }

    #schema_item_4::before {
        content: "";
        position: absolute;
        inset: 0;
        border: solid 5px var(--couleur-principale-light);
        border-radius: 100%;

        -webkit-mask: linear-gradient(to top, black 50%, transparent 50%);
        mask: linear-gradient(to top, black 50%, transparent 50%);
    }

    .section_process_schema_separator {
        width: 2%;
        height: 5px;
        margin: auto;
    }

    .section_process_schema_separator_1 {
        
        background-color: var(--couleur-secondaire);
    }

    .section_process_schema_separator_2 {
        background-color: var(--couleur-secondaire-light);
        margin-left: -5px;
        margin-top: 100px;
    }

    .section_process_schema_separator_3 {
        background-color: var(--couleur-principale);
        margin-left: -5px;
        margin-top: 100px;
    }

    .section_process_schema_separator_4 {
        background-color: var(--couleur-principale-light);
        margin-left: -5px;
        margin-top: 100px;
    }

    .section_process_schema_separator_5 {
        background-color: var(--couleur-principale-light);
        margin-left: -5px;
    }

    /************************************************
    * MODAL
    ************************************************/
    .modal-container {
        position: relative;
        width: 60%;
        max-height: 95vh;
        margin: auto;
        background-color: var(--couleur-clair);
        border-radius: 10px;
        border: solid 1px var(--couleur-principale);
        overflow-y: auto; 
    }

    .modal-header h2 {
        font-size: 32px;
        text-align: left;
    }

    .modal-header p {
        font-size: 26px;
        text-align: left;
    }

    .modal-close {
        font-size: 50px;
    }

    .modal-content {
        flex-direction: row;
        justify-content: space-between;
        width: 90%;
        margin: auto;
    }

    .modal-content-item {
        width: 45%;
    }
}

@media screen and (min-width: 1200px) {
    #infobulle_gouvernance, #infobulle_corporate, #infobulle_organization, #infobulle_digital, #infobulle_financial, #infobulle_strategy, #infobulle_customer {
        left: 33%;
    }

    .section_process_schema_item {
        width: 220px;
        height: 220px;
    }

    .section_process_schema_item_circle_title {
        font-size: 24px;
    }

    .section_process_schema_desc {
        font-size: 20px;
    }

    .section_process_schema_item_circle_desc {
        font-size: 20px;
    }

    .section_process_schema_separator_2 {
        margin-top: 110px;
    }

    .section_process_schema_separator_3 {
        margin-top: 110px;
    }

    .section_process_schema_separator_4 {
        margin-top: 110px;
    }
}

@media screen and (min-width: 1400px) {
    .section_pillars_value_image {
        
    }

    .section_pillars_value_textContent {
        width: 48%;
    }

    .section_process_schema_separator {
        width: 4%;
    }
}

@media screen and (min-width: 1600px) {
    .section_process_schema_separator {
        width: 5%;
    }
    
}

@media screen and (min-width: 1800px) {
    .section_pillars_value_image {
       width: 41%;
    }

    .section_pillars_value_textContent {
        width: 58%;
    }
    .section_process_schema_separator {
        width: 7%;
    }
}