/* 
    Created on : 21 mai 2023, 09:12:39
    Author     : Florent Houx
*/
/* INITIALISATION */
:root{
    --size-moy-field: 210px;
}
*, *::before, *::after {    box-sizing: inherit; }
html, body { width: 100vw; max-width: 100vw; /*overflow-x: hidden;*/ }
body { min-height: 100vh; }
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6, section,.section, aside, footer, article {position: relative; margin: 0; padding: 0; max-width: 100%;}
.button, .input, .textarea, .select select, .file-cta, .file-name, .pagination-previous, .pagination-next, .pagination-link, .pagination-ellipsis { -moz-appearance: none; -webkit-appearance: none; align-items: center; border: 1px solid transparent; border-radius: 4px; box-shadow: none; display: flex; height: 2.5em; justify-content: flex-start; padding-bottom: calc(0.5em - 1px);  padding-left: calc(0.75em - 1px); padding-right: calc(0.75em - 1px); padding-top: calc(0.5em - 1px); position: relative; vertical-align: top; }
.button { background-color: var(--color-button); color: var(--color-a);  cursor: pointer; display: flex; justify-content: center;  padding-bottom: calc(0.5em - 1px); padding-left: 1em; padding-right: 1em; padding-top: calc(0.5em - 1px); margin-top: 30px; text-align: center; height: auto; }
video { height: auto; max-width: 100%; }
audio { max-width: 100%; }
a{ text-decoration: none; }

/* LIBRARY UTILITY */
.navbar-end { padding-right: 1vw; }
#page_PRIVATEACCESS  { min-height: 100vh; }
.formMsgEnd { position: fixed; margin-top: -50px;    text-align: center;    top: 0;    left: 0;    width: 100%;    padding: 10px; z-index: 99999;    justify-content: center; animation: messageEphemere 5s linear 1; }
#mailOk, #msgOk{ background: #6fc56d; }
#mailErreur, #msgErreur{ background: #ed5858; }
#mailNOk, #msgNOk{ background: #ed8858;}
.forcecolor1 { color: var(--color-primary); }
.forcecolor2 { color: var(--color-secondary); }
.forcecolor3 { color: var(--color-tertiary); }
.forcecolor4 { color: var(--color-4); }
@keyframes messageEphemere { from { margin-top: -50px; } 10% { margin-top: 0; } 90% { margin-top: 0; } to { margin-top: -50px;  }}
@-webkit-keyframes messageEphemere {from { margin-top: -50px; } 10% { margin-top: 0; } 90% { margin-top: 0; } to { margin-top: -50px;  }}

.flex{ display: flex; margin: auto;}
.flexnoauto{ display: flex; align-items: flex-start; }
.flexremplissage > div, .flexremplissage > a, .flexremplissage > label, .flexremplissage > p,.flexremplissage > section, .flexremplissage > aside{ flex: 1 1 auto;}
.flexremplissageh > div, .flexremplissageh > a, .flexremplissageh > label, .flexremplissageh > p,.flexremplissageh > section, .flexremplissageh > aside {flex: 1 1 0;}
.flexinput > label { width : 30%; min-width: 400px;}
.flexinput > .control {width: 70%; min-width: 400px;}
.flexinput > .control > .color { }
.flexligne{flex-flow: row wrap;}
.flexwrap{flex-wrap: wrap;}
.flexlignenowrap{flex-direction: row;}
.flexcolonne{flex-flow: column wrap;}
.flexcolonnenowrap{flex-direction: column;}
.flexauto > div{  margin: auto; }
.flexend{ justify-content: flex-end;}.flexcenter{justify-content: center;}.flexbetween{justify-content: space-between;}.flexaround{justify-content: space-around;}.flexeven{justify-content: space-evenly;}
.flexalignstart{ align-items: flex-start;}.flexalignend{align-items: flex-end;}.flexaligncenter{align-items: center;}
.flexcontentstart { align-content: flex-start; }
.itemflexalignstart{align-self: flex-start;}.itemflexalignend{align-self: flex-end;}.itemflexaligncenter{align-self: center;}.itemflexremplissage{align-self: stretch;}

textarea { padding: 15px; }
.invisibleHr { border:none; padding: 15px 0; }
ul { list-style: none; }
.fa-bars.pushNavMobileI, .fa-bars.pushUpMobileI { font-size: 30px; }
.pushNavMobile, .pushUpMobile { display: none; }
.w10, .w15, .w20 { min-width: 200px; max-width: 94vw; }
.w25, .w30, .w40, .w50 { min-width: 200px; max-width: 94vw; }
.w60, .w65, .w70, .w75, .w80 { min-width: 300px;max-width: 94vw; }
.w10 { width: 10%; } .w15 { width: 15%; }.w20 { width: 20%; }.w25 { width: 25%; }.w30 { width: 30%; }.w40 { width: 40%; }.w50 { width: 46%; }.w60 { width: 60%; } .w65 { width: 65%; } .w70 { width: 70%; } .w75 { width: 75%; }.w80 { width: 80%; }.w90 { width: 90%; } .w100 { width: 100%; }
.w50px { width:50px; } .w100px { width:100px; } .w150px { width: 150px; max-width: 100%; } .w300px { width: 300px; max-width: 98vw; } .w400px { width: 400px; max-width: 98vw; } .w500px { width: 500px; max-width: 98vw; } .w600px { width: 600px; max-width: 98vw; }
.w700px { width: 700px; max-width: 98vw; } .w800px { width: 800px; max-width: 98vw; } 
.minw90 { min-width: 90%; } .minw100 { min-width: 100%; }
.maxw300px { max-width: 300px; } .maxw400px { max-width: 400px; } @media (max-width: 450px){ .maxw400px { max-width: 90%; } }
.height0 { height: 0; max-height: 0;} .h150px { height: 150px ;} .h200px { height: 200px ;} .h250px { height: 250px ;} .h300px { height: 300px ;} .h400px { height: 400px ;} .h90 { height: 90vh ;} .h100v { height: 100vh ;} .h100 { height: 100% ;}
.minh700px { min-height: 700px; } 
.margintb15px { margin: 15px 0; } .margintb30px { margin: 30px 0; }
.marginl5px { margin-left: 5px; } .marginl15px { margin-left: 15px; } .marginl5 { margin-left: 5vw; } 
.marginr5pxi { margin-right: -5px; } .marginr15pxi { margin-right: -15px; }
.margint5px { margin-top: 5px; }.margint10px { margin-top: 10px; }.margint15px { margin-top: 15px; }.margint20px { margin-top: 20px; }.margint30px { margin-top: 30px; }.margint50px { margin-top: 50px; } .margint100px { margin-top: 100px; } .margint10vh { margin-top: 10vh; }
.margint5pxi { margin-top: -5px; } .margint15pxi { margin-top: -15px; }
.marginb15px { margin-bottom: 15px; } .marginb30px { margin-bottom: 30px; } 
.padding15-5px { padding: 15px 5px; } .padding5px { padding: 5px 1vw; } .padding25px { padding: 25px 2vw; } .padding30px { padding: 30px 2vw; } .padding140px { padding: 140px 2vw; } .padding5vh { padding: 5vh 0; } .padding10vh { padding: 10vh 0; }
.paddingr30px { padding-right: 30px; }
.paddinglr30px { padding-left: 30px; padding-right: 30px; }
.paddingtb60px { padding-top: 60px; padding-bottom: 60px; }
.paddingb25px { padding-bottom: 25px; } .paddingb5vh { padding-bottom: 5vh; } .paddingb10vh { padding-bottom: 10vh; }
.textalignr { text-align: right; } .textalignl { text-align: left; } .txtcenter{ text-align: center;}.justify { text-align: justify; text-justify: auto; }
.bold { font-weight: bold; } .nobold { font-weight: normal; } .italic { font-style: italic; }
.autosautligne { white-space: pre-line; }
.overflowhidden { overflow: hidden; }
.objcontain, .objcover { width: 100%; height: 100%; }
.objcover { object-fit: cover; } .objcontain { object-fit: contain; }
.firstElement { margin-top: 10vh; } .lastElement { margin-bottom: 10vh; }
@media (max-width: 1030px){    
    .w50, .w60 ,.w40, .w80 { width: 90%; margin-left: auto; margin-right: auto; justify-content: center; } h1, h2, h3 { text-align: center;}
}
@media (max-width: 768px){    
    .w50, .w60 ,.w40, .w80 { width: 94%; }
    .w40, .w50, .w60, .w65, .w70, .w75, .w80 { min-width: 250px; }
}
.bgRed, .bg-red { background: red; color: white; } .bg-white { background: white; color: black; } .bg-black { background: black; color: white; }
.font-white, .txt-white {color: white;} .font-black, .txt-black {color: black;}
#divBtnOrange { text-align: center; margin-bottom: 5em; }
#navCompte .navbar-link:not(.is-arrowless)::after { border: none; }

/* DEFAULT BLOC */
footer, .footer { background-color: var(--background-footer); color: var(--colortxt-footer); padding: 5vh 3vw 7vh 3vw;  }
/* FIN DEFAULT BLOC */
/* GESTION SCROLL  */
.scroll::-webkit-scrollbar { height: 12px; background-color: #F5F5F5; border-radius: 10px;}
.scroll::-webkit-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); background-color: #014762; }
.scroll::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); border-radius: 10px; background-color: #F5F5F5; }

html::-webkit-scrollbar { height: 12px; }
html::-webkit-scrollbar-thumb { border-radius: 10px; -webkit-box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.1); background-color: #014762; }
html::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 15px rgba(252, 243, 243, 0.8); background-color: #c9c2c2; }
/* FIN GESTION SCROLL  */
/* TOOGLE */
.toggle {
    justify-content: space-between;     padding: 5px 15px;    align-items: center;    display: flex;    width: 100%;
    background: linear-gradient(90deg, rgba(1,53,68,1) 0%, rgba(2,162,153,1) 100%);color: white;
}
.toggle summary { font-size: 1.7rem; }
.toggle:hover{ color:white; }
#toogleDivUn, #toogleDivDeux, #toogleDivTrois { margin-bottom: 2rem; }
.toggle i{ padding: 0 20px; }
/* FILTRAGES */
#formFiltre, #onglets { width: 100%; padding-bottom: 10px; background: linear-gradient(90deg, rgba(1, 53, 68, 1) 0%, rgba(2, 162, 153, 1) 100%); align-items: center; }
#form_formFiltre { width: 95%; }
#onglets a.is-active { color: #ccfdfb; border-bottom-color: #ccfdfb; }
#onglets a:hover { border-bottom: 4px solid #50555C !important; background: #a0dbd8; color: black !important; }
.btnAdmin { background-color: white; color: black; cursor: pointer; border-radius: 5px; 
    display: flex; justify-content: center; padding-bottom: calc(0.5em - 1px);
    padding-left: 1em; padding-right: 1em; padding-top: calc(0.5em - 1px); text-align: center; } 
/* BLOC CHAT */
.blocChat { display: none; position: fixed; justify-content: center; align-content: center; z-index: 9999;
    width: 85px; top: 20%; right: 0; margin-top:70px; 
    border-radius: 150px 0 0 150px; padding: 0 5px; background-color: white; box-shadow: rgba(0, 0, 0,0.3) 0px 1px 2px; }
.blocChat a { margin-top: 3px; margin-bottom: -3px; }
.blocChat img { width: 57px; height: auto; }
/* FIN CHAT */
.cartPreview { display: none;}
.arrowReturn { position: fixed; bottom: 15px; right: 15px; padding-top: 4px; font-size: 90%; background: var(--color-secondary); z-index: 9999; width: 40px; height: 40px;}
.arrowReturn a { margin: 0; padding: 0;}
.iArrowReturn {font-size: 180%; }
.containerSliderDrasil {padding: 3vh 3vw 7vh 3vw; }
.containerSliderDrasil .slick-dots { text-align: center; }

.slick-prev, .slick-next { width: 60px; height: 60px; z-index: 999999; }
.slick-prev { left: 0; } .slick-next { right: 0; }
.slick-prev:before {
    content: url('../../assets/img/Fleche_Gauche.png'); border: none; opacity: 1;
}
.slick-next:before {
    content: url('../../assets/img/Fleche_Droite.png'); border: none; opacity: 1;
}
input[type=text], input[type=number], input[type=date], input[type=tel], input[type=email], .input {
    height: 40px;    padding-left: 15px; border: 2px solid #1992BA; border-radius: 4px; 
}
input:read-only { border: none; }
input:read-only:focus-visible{ border: none; outline: none; }
/* MISE EN FORME DES CARDS */
.card { border-radius: 0; }
.catCard{
    padding: 0% 2%;
    width: fit-content;
}
.titleLink:hover{
    text-decoration: underline;
}
.titleLink{ text-align: left; font-size: 1.1rem; }
.subtitle.adresse {
    color: #adadad; margin-bottom: 3px;
}
/* LES CARDS */

.sectionCard .card { margin: 10px; }
.cardHTitle{
    position: absolute;
    z-index: 1;
    background: #fff;
    top: 4%;
    left: 4%;
    padding: 0% 4%;
}
.card-content.cardCarrousselHome{
    padding: 3px 4% 15px 4%;    display: flex;    flex-direction: column;   height: 170px;    color: black;     background: white;  overflow-y: auto;   
}
.cardLargeHome{
    margin: 0% 0%;
}
.cardXL{
    width: 61vw; min-width: 61vw; max-width: 100%;  height: 300px; color: white;
}
.cardXL .title, .cardXL p, .cardXL a { color: white; }
.cardXL .catCard { background-color: white; color: black; font-weight: bold; }
.cardXL > div:first-child { padding: 15px; }
.cardXL .cardEtiquette {     font-size: 1.1rem; font-weight: lighter;
                             margin-top: 5px; margin-bottom: 10px; padding-bottom: 15px;
    border-bottom: 3px solid #1bb3be; }
.cardXL .content { max-width: 330px; position: relative;
    top: 75%;
    left: 25px; }
.cardXL .actionsDivDate { margin-top: 10px; }
.cardClassic {
    height: fit-content; width: 330px; max-width: 330px;  margin-bottom: 5px; /* height: 440px;  */
}
.cardClassic .card-image {
    border-bottom: 1rem solid #F15642;
}
.cardClassic.cardArticle .card-image {
    border-bottom: 1rem solid #0c6573;
}
.cardClassic.cardEvent .card-image {
    border-bottom: 1rem solid #d6d740;
}
.cardHMedia .media{
    align-items: flex-start;
    display: flex;
    text-align: inherit;
}
.cardHE {
    height: fit-content; width: 230px; height: 230px; min-width: 230px;  max-width: 230px;   
}
#containerMainADNC .contentWidgetEvent p {
    font-size: 12px;
}

#containerMainADNC .cardHEXL .contentWidgetEvent p {
    font-size: 18px;
}
.cardHEXL {
    height: fit-content; width: 460px; height: 480px; min-width: 350px;  max-width: 100%;  
}
.cardHEImgTitle { position: absolute; margin-top: -75px; margin-left: 15px; }
.cardHESubTitle { position: absolute; margin-top: -37px; margin-left: 15px; font-weight: bold;  padding: 0 10px; }
.cardHEImgTitle img { width: 75%; }
.cardContentHE { padding: 10px; }
.cardLarge {
    height: 225px; padding-right: 5px; max-width: none;
}
.cardLarge .column.is-8{
    padding: 3%;
}
.cardLContents > a {
    display: block;
    max-width: 90%;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    height: 3rem;
}
.cardLContents .author { line-height: 1.5; min-height: 1.5rem; }
.cardTitle { font-size: 1.2rem; font-weight: bold; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cardsFour { width: 468px; }
.cardsFour > div { margin-right: 4px; }

.imgCardLarge{
    height: 100%;
}
.actionsDiv{
    align-items: end;
}
.actionsDiv .imgInteract img{
    width: 2.5rem;
}
.actionsDiv .imgInteract{
    width: 2.5rem;
}
.actionsDiv p {
    font-size: 80%;
    color: white;
}
.actionsDiv .nbNotif {
    display: flex;align-items: center;justify-content: center;
    background-color: #0d4b65;width: 25px;height: 25px;position: absolute;
    top: -10px;right: -10px;
    border-radius: 50%;color:white;
}

.border-gradient {
    background-color: white; color: black;
    border: 10px solid;
    border-image-slice: 1;
    border-width: 3px;
    border-image-source: linear-gradient(90deg, rgba(214,217,46,1) 0%, rgba(0,168,156,1) 50%, rgba(0,95,112,1) 89%, rgba(0,73,101,1) 100%);
}
/* CARD 3L */
.card3L, .card3L div {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: rgb(15, 75, 100);
}

.card3L {
    border: 3px solid rgb(15, 75, 100);
    border-radius: 25px;
    width: 300px;
    max-width: 300px;
    margin: 15px 30px; 
    padding: 10px;
    max-height: 400px;
}

.card3L h3 {
    width: 100%;
    text-align: center;
    font-size: 17px; margin: 10px 0; min-height: 77px;
}

.card3L p {
    width: 96%;
    text-align: justify;
    font-size: 13px;
    margin: 0;
}

.card3L .el1 img {
    margin-top: -15px;
    margin-left: -55px;
    max-width: 355px;
}
.card3L .el2 {  height: 225px; }
.card3L .el3 img {
    position: relative;
    top: 18px;
    max-width: 175px;
}

/* ECRAN CONNEXION */
.bloc-connection, .buttons-co, .bloc-connection .field {
    display:flex;
    flex-direction: column;
    align-items:center;
}
.bloc-connection {
    width: 50%;
    background-color: white;
    border-radius: 25px;
    padding: 30px 0; margin-top: 10vh !important;
}
.bloc-connection img {
    width:200px;
    margin-bottom: 20px;
}
.bloc-connection p input {
    width: 200px;
    border-radius:150px;
    text-align: center;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.buttons-co p {
    color:#2A6379 !important;
    font-weight:600;
    margin-bottom: 10px;
    text-align:center;
}
.btn-connection {
    background: linear-gradient(90deg, rgba(192,43,51,1) 0%, rgba(238,86,72,1) 100%) !important;
    border:none !important;
    width:150px;
    border-radius:150px;
    margin-bottom: 30px;
}
.btn-inscription {
    background: linear-gradient(90deg, rgba(247,251,59,1) 0%, rgba(254,205,58,1) 100%) !important;
    border:none !important;
    width: 150px;
    color:#2A6379 !important;
    border-radius:150px;
}

/* COMPTE */
#blocCompteEtendu { padding: 5vh 2vw; background: white; }
#blocCompteEtendu > div, #blocCompteEtendu .admin0Card { margin-left: auto; margin-right: auto; }
.bubbleCpt { position: absolute; background: red; top: -150%; left: 75%; border-radius: 50%; padding: 4px; min-width: 28px; color:white; }

.admin0Card {
    width: 450px; min-width: 310px;
    max-width: 80%;
    padding: 1.5rem;
    color: black;
}
.tabmodecard .admin0Card:first-child > h2 span { display: none; }
.tabmodecard .nonefield { display: none; }

.tabmodelist { overflow: auto; width: 100vw; max-width: 100vw; max-height: 80vh; }
.tabmodelist .admin0Card > p, .tabmodelist .admin0Card h2 {width: auto;  margin: 0 10px;align-content: center; overflow: hidden; text-align: left !important; font-size: 16px !important; }
.tabmodelist .admin0Card > p {min-width: 250px;max-width: 250px; }
.tabmodelist .admin0Card h2 { min-width: 150px;max-width: 150px; }  
.tabmodelist .admin0Card .email { min-width: 310px;max-width: 310px; } 
.tabmodelist .admin0Card .smallfield { min-width: 120px;max-width: 120px; } 
.tabmodelist .admin0Card .middlefield { min-width: 160px;max-width: 160px; } 
.tabmodelist .admin0Card > p span, .tabmodelist .admin0Card .link { display: none; }
.tabmodelist .admin0Card { width: auto !important;  flex-flow: row nowrap; box-shadow: none; margin: 1px 4px !important; align-items: center; }
.tabmodelist .admin0Card .height0 { display:none; }
.tabmodelist .actions { order: -1; width: 250px; max-width: 250px; margin: 0; }
.tabmodelist .admin0Card:first-child { max-height: 110px; align-items: flex-start; }
.tabmodelist .admin0Card:first-child > p, .tabmodelist .admin0Card:first-child > h2 { flex-direction: column; align-content: flex-start; justify-content: center; align-items: flex-start; }
.tabmodelist .admin0Card:first-child > p span, .tabmodelist .admin0Card:first-child > h2 span { display: flex; height: 25px; width: 100%; text-align: left; margin-bottom: 10px; background: #43716b;    color: white;    padding: 1px 5px; }
.tabmodelist .admin0Card:first-child > h2 span b { font-size: 16px; }
.tabmodelist .admin0Card:first-child .actions, .tabmodelist .admin0Card:first-child .cardProfilPhoto { margin-top: 27px !important; }
.tabmodelist .admin0Card .cardProfilPhoto { width: 45px; margin: 0 !important; }

.listmodeactive { background: #00cc99; }

.tabmodelist.x10 .admin0Card { min-width: calc(10*var(--size-moy-field)); }.tabmodelist.x11 .admin0Card { min-width: calc(11*var(--size-moy-field)); }
.tabmodelist.x12 .admin0Card { min-width: calc(12*var(--size-moy-field)); }.tabmodelist.x13 .admin0Card { min-width: calc(13*var(--size-moy-field)); }
.tabmodelist.x14 .admin0Card { min-width: calc(14*var(--size-moy-field)); }.tabmodelist.x15 .admin0Card { min-width: calc(15*var(--size-moy-field)); }
.tabmodelist.x16 .admin0Card { min-width: calc(16*var(--size-moy-field)); }.tabmodelist.x17 .admin0Card { min-width: calc(17*var(--size-moy-field)); }
.tabmodelist.x18 .admin0Card { min-width: calc(18*var(--size-moy-field)); }
/* FIN COMPTE */

/* MODULE PATCHWORK */
.containerPatchWork { width: 100%; max-width: 100%; overflow: hidden; }
#containerPatchWork a:hover { border: none; border-image: initial; }
.patchWork p, .patchWork h3 { font-family: var(--font-subtitle2); }

.pwct { display: none; }
.pwa{font-size: 1.2rem; margin: 15px; }
.startDuo .pwa{ text-align: end; }
.pwimg{ max-width: 100%; max-height: 100%; }
.ms1, .ms4, .ms5{ color: var(--color-secondary);}
.ms2, .ms3, .ms6{ margin-top: 0; color: var(--color-txt);}
body .containerPatchWork{
    background-color: black;
}
.containerPatchWork, .patchWork{
    justify-content: center;
}
.startDuo .pwa:first-child .pwPict{
    height: 280px;
    width: 500px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
    margin-top: 100px;
    margin-bottom: -6px;
}
.startDuo .pwa:last-child .pwPict{
    height: 250px;
    width: 420px;
    max-width: 100%;
    max-height: 100%;  
    padding-left: 80px;
}
.centerTxt { display:none; padding-top: 80px; width: 500px; max-width: 100%; }
.centerDuo .pwa:first-child .pwPict{
    height: 300px;
    width: 550px;
    max-width: 100%;
    max-height: 100%;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
    margin-top: 120px;
    margin-bottom: -6px;
}
.centerDuo .pwa:last-child .pwPict{
    height: 350px;
    width: 200px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
    margin-top: -30px;
    margin-bottom: -36px;
} 
.endDuo .pwa:first-child .pwPict{
    height: 220px;
    width: 380px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
}
.endDuo .pwa:last-child .pwPict{
    height: 180px;
    width: 300px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
}

.patchWork .pict1 .pict2{
    display: flex;
    flex-direction: row;
}
#img .pict3 .pict4{
    display: flex;
    justify-content: center;
    background-color: #fff;
}
.centerDuo{
    margin-top: -80px;
}
.endDuo{
    margin-top:  360px;
    margin-left: -350px;
}
@media screen and (max-width: 1229px){    
    .centerTxt { order: 99; padding-top: 10px; max-width: 90%; }
    .title h2 {color: rgb(215, 18, 18);}
    .pwa p { text-align: center; }
    .containerPatchWork, .patchWork {
      flex-direction: column; align-items: center; justify-content: space-around;
    }
    .patcWork{
        padding: auto;
    }
    .ms1, .ms4, .ms5{
        font-size: 1.2rem;
        color: rgb(255, 240, 154);
        text-align: center;
    }        
    .ms2, .ms3, .ms4{
        text-align: center;
        font-size: 1.2rem;
        color: rgb(255, 255, 255);   
    }
    body .containerPatchWork{
        background-color: black;
    }
    .startDuo, .centerDuo, .endDuo { display: flex; flex-flow: row wrap; margin: auto; }
    .startDuo .pwa:first-child .pwPict, .centerDuo .pwa:first-child .pwPict, .endDuo .pwa:first-child .pwPict, .startDuo .pwa:last-child .pwPict, .centerDuo .pwa:last-child .pwPict, .endDuo .pwa:last-child .pwPict{
        height: auto;
        width: 500px;
        max-width: 90%;
        margin: auto; padding: 0; 
    }
}
/* FIN MODULE PATCHWORK */
.listeSponsors img { width: 30%; margin: 10px 1%; }

/* MODULE BUILDING */
.boxbuilding > div { overflow: hidden; margin: 0 15px; }
.boxbuilding h3 { font-size: 135%; }
.boxbuilding .w300 { width: 400px; }
.boxbuilding .building0 { margin-top: 110px; }
.boxbuilding .building1 { margin-top: 20px; margin-left: -50px; }
.boxbuilding .building2 { margin-top: 60px; margin-left: -40px; }
.boxbuilding .building3 { margin-left: -10px; }
.boxbuilding .building4 { margin-top: 150px; margin-left: -30px; }
.buildingPIC, .buildingPIC img { max-width: 100%; }
.buildingPIC a { padding: 0; }
.buildingPIC img { width: 95%; }
.buildingTXT { text-align: left; margin-top:5px;  }
.boxbuilding > div > div { width: 92%; }
/*.building0 .buildingH, .building0 .buildingTXT  { margin-left: 45px; width: 80%; }
.building1 .buildingH, .building1 .buildingTXT  { margin-left: 45px; width: 80%; }
.building2 .buildingH, .building2 .buildingTXT  { margin-left: 30px; width: 85%; }
.building3 .buildingH, .building3 .buildingTXT  { margin-left: 15px; width: 90%; }
.building4 .buildingH, .building4 .buildingTXT  { margin-left: 80px; width: 80%; }
.building4 .buildingTXT  { width: 72%; }*/
@media (max-width: 830px){  
    .building0 .buildingH, .building0 .buildingTXT, .building1 .buildingH, .building1 .buildingTXT, .building2 .buildingH, .building2 .buildingTXT, .building3 .buildingH, .building3 .buildingTXT, .building4 .buildingH, .building4 .buildingTXT {  margin: auto; width: 100%; }
    .boxbuilding .building0, .boxbuilding .building1, .boxbuilding .building2, .boxbuilding .building3, .boxbuilding .building4 { margin-left: 0; width: 92%; }
    .buildingPIC, .buildingPIC img { margin: 5vh auto 5vh auto; }
    .boxbuilding .building4, .boxbuilding .building0 { margin-top: 0; }
}
/* FIN BUILDING */
/* CATALOGUE ET PAGE PRODUIT */ 
#page_catalogue .title, #page_catalogue h2, #page_catalogue h3 { padding: 10px 0; }
#page_catalogue .title1 { padding: 20px 0; font-size: var(--txt-size-h1); color: var(--color-title); }
#page_catalogue .section { padding: 0; }
#page_catalogue section .button { margin: 5vh 0 ; }
#page_catalogue #intro .imgIntro { min-width: 100%; height: auto; }
#page_catalogue .firstElement  { margin-top: 10vh; }
#page_catalogue .lastElement  { margin-bottom: 10vh; }
#page_catalogue #intro .blocFicheProduct { padding: 0; }
#page_catalogue #sectionFin > div { padding-top: 10vh; }

#page_catalogue .backbis { background: var(--color-back-bis); color: var(--color-txt-bis); }
#page_catalogue .backbis .h2, #page_catalogue .backbis .h3, #page_catalogue .backbis a:hover { color: var(--color-title-bis); }
#page_catalogue #sectionVideo, #formCTAAUto { background: var(--color-back-video); color: var(--color-txt-video); }
#page_catalogue #sectionVideo h2, #formCTAAUto h2 {  color: var(--color-title-video); }

/*#page_catalogue p { animation-timeline: view(); }*/
#page_catalogue .imgS1 { 
    transform: scale(1) translateX(0);
    animation: scroll-effect-left 2s linear both;
    animation-timeline: view();
    animation-range: entry 25% cover 50%;
}

@keyframes scroll-effect-left {
    0% {
        transform: scale(0.2) translateX(-100vw);
    }
    50% {
        transform: scale(0.9) translateX(-50vw);
    }
    100% {
        transform: scale(1) translateX(0);
    }
}
#page_catalogue .blocFicheProduct p, #page_catalogue .blocFicheProduct h1, #page_catalogue .blocFicheProduct h2, #page_catalogue .blocFicheProduct h3 {
    transform: scale(1) translateY(0);
    animation: scroll-effect-bottom-soft 1s linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 50%;
}
#page_catalogue .imgS2 {
    transform: scale(1) translateY(0);
    animation: scroll-effect-bottom 1s linear both;
    animation-timeline: view();
    animation-range: entry 25% cover 50%;
}

@keyframes scroll-effect-bottom {
    0% {
        transform: scale(0.2) translateY(100vw);
    }
    50% {
        transform: scale(0.7) translateY(50vw);
    }
    100% {
        transform: scale(1) translateY(0);
    }
}
@keyframes scroll-effect-bottom-soft {
    0% {
        opacity: 0;
        transform: scale(0.2) translateY(70vw);
    }
    25% {
        opacity: 0.5;
        transform: scale(0.7) translateY(30vw);
    }
    50% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}
.parallax .objcover, .parallax .parallax2 { 
    position: relative;
    transform: scale(1) translateY(0);
    animation: scroll-effect-soft-parallax 2s linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 50%;
    z-index: -1;
}
@keyframes scroll-effect-soft-parallax {
    0% {
        transform: translateY(-25vw);
    }
    50% {
        transform: translateY(-10vw);
    }
    100% {
        transform: translateY(0);
    }
}
/* ANIMATION REVEALING IMAGE */
@keyframes reveal {
    from {
        opacity: 0; clip-path: inset(45% 20% 45% 20%);
    }
    to {
        opacity: 1; clip-path: inset(0% 0% 0% 0%);
    }
}
#page_catalogue .revealing-image {
    view-timeline-name: --revealing-image;
    view-timeline-axis: block;
    animation: linear reveal both;
    animation-timeline: --revealing-image;
    animation-range: entry 25% cover 50%;
}

/* ANIMATION AFFICHAGE ET DISPARITION DOUX ELEMENT */
@supports(animation-timeline: view()) {
        @keyframes fade-in {
                0%  {
                        opacity: 0;
                        transform: translateY(100%);
                }
                100%  {
                        opacity: 1;
                        transform: translateY(0);
                }
        }
        @keyframes fade-out {
                0% {
                        opacity: 1;
                        transform: translateY(0);
                }
                100% {
                        opacity: 0;
                        transform: translateY(-100%);
                }
        }
        .list-animview { position: relative; }
        .list-animview > ul > li, .list-animview > p, .list-animview > img {
                animation: linear fade-in forwards, linear fade-out forwards;
                animation-timeline: view();
                animation-range: entry, exit;
        }
}
@supports not (animation-timeline: view()) {
    .list-animview > ul > li,
    .list-animview > p,
    .list-animview > img {
        opacity: 0;
        transform: translateY(50px);
        animation: fadein-fallback 0.8s ease-out forwards;
    }

    @keyframes fadein-fallback {
        from {
            opacity: 0;
            transform: translateY(50px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}
.progress-bar {
  --progress-color: hotpink;
  --progress-size: 40px;
  position: fixed; top: 0; width: 100%;
  height: var(--progress-size);
  background: var(--progress-color);
}

@supports (animation-timeline: scroll()) {
  .progress-bar {
    animation: scale linear auto both;
    animation-timeline: scroll(root);
    animation-range: 0 100%;
  }
  @keyframes scale {
    from {
      scale: 0 1;
    }
    to {
      scale: 1 1;
    }
  }
}
/* FIN ANIMATION */

.cardProductCatalogue { margin: 10px 5px; border-radius: 4px; box-shadow: 0 0 1px 3px rgba(219, 219, 219,0.22); background: whitesmoke; color: black; }
.cardProductCatalogue h3 { font-family: var(--font-subtitle2); padding-bottom: 5px; }
.headerProduct { background: var(--color-back-bis); border-bottom: 10px solid var(--color-primary); }
.videoDiv iframe { width: 100%; min-height: 400px; }

#page_catalogue #sectionVideo .button.is-primary {
    background-color: var(--color-button-before);
    color: var(--color-button);
}
#page_catalogue #sectionVideo .button.is-primary:hover {
    background-color: var(--color-button);
    color: var(--color-button-before);
}
#page_catalogue section > div:last-child .texteS2 { padding-bottom: 10vh; }
@media (max-width: 1330px){  
    #page_catalogue .blocFicheProductVideo > div:first-child { width: 80%; order: 1; }
    #page_catalogue .blocFicheProductVideo .videoDiv { width: 80%; order: 0; margin-bottom: 0; }
    #page_catalogue .button { margin: 5vh auto; }
}
/* FIN CATALOGUE */
/* FORMATIONS */
#blocMonCompteFormation .cardContentICTA { margin: 10px; background: var(--color-back-bis); width: 300px; max-width: 300px; padding: 15px; border-radius: 8px; }
#blocMonCompteFormation .buttonCardICTA { background: var(--color-secondary); color: var(--color-button); }
#page_FORMATION h3 { font-size: 35px; }
#page_FORMATION h4, h5 { font-size: 25px; }
#page_FORMATION h4 { font-weight: normal; }
#page_FORMATION .el_suivi_etape { min-width: 100px; }
#page_FORMATION .hero-body { padding-left: 2vw; padding-right: 2vw; text-align: center; background-size: cover; background-repeat: no-repeat; }
#page_FORMATION .arrowReturnPrec { width: 100%; justify-content: start; padding: 5px 1vw; margin-top: -60px; }
#page_FORMATION .arrowReturnPrec a { padding: 10px 15px; background: var(--color-primary); }
#page_FORMATION .el_suivi_etape p { display: flex; align-items: center; justify-content: center; height: 90px; background: var(--color-primary); border-radius: 10px; max-width: 80px; }
#page_FORMATION .youtube { min-width: 100%;     text-align: center; margin-top: 5vh; }
#page_FORMATION .youtube iframe { width: 700px;    max-width: 100%;    border: 0;    height: 500px; }
#page_FORMATION .elearning_left { padding: 0 2vw; }
#page_FORMATION #el_sommaire p { min-width: 100%; }
#page_FORMATION .elearning_right { background: white; color: black !important; border: solid 2px var(--color-primary); padding: 1vh 1vw; border-radius: 10px; }
#page_FORMATION .elearning_bonus, #page_FORMATION .elearning_files { border-radius: 10px; min-height: 150px; }
#page_FORMATION .elearning_bonus { background: var(--color-primary); }
#page_FORMATION .elearning_files { background: var(--color-white); border: solid 4px var(--color-primary); }
#page_FORMATION .elearning_files p { min-width: 100%; height: 2.9rem; }
#page_FORMATION .fileddl { height: 2.9rem; }
#page_FORMATION .el_texte h1, #page_FORMATION .el_texte h2,#page_FORMATION .el_texte h3,#page_FORMATION .el_texte h4,#page_FORMATION .el_texte h5,#page_FORMATION .el_texte h6 { min-width: 100%; }
#page_FORMATION .el_texte br {     content: '';    min-height: 2rem;    min-width: 100%; }
#page_FORMATION .el_texte b {     color: var(--color-secondary); }
.button-valid-fixed { position: fixed; bottom: 0; left: 35vw; width: 30vw;z-index: 9998; }
@media (max-width: 830px){  
    .el_left_title { justify-content: center; }
    .el_suivi_etape { margin-bottom: 2vh; }
    .button-valid-fixed { left:0; width: 100vw; border-bottom-left-radius: 0; border-bottom-right-radius: 0;  }
}
/* BUBBLE GALLERY */
.bubblegallery { padding: 5vh 2vw; }
.bubblegallery a { width: 400px; max-width: 80%; margin: 15px 0; } 
.bubblegallery .myphoto img { max-width: 98%; } .bubblegallery .myphoto img:hover { animation: upWidth linear auto both; }
@keyframes upWidth {
    from {
      max-width: 96%;
    }
    to {
      max-width: 100%;
    }
  }
/* FIN BUBBLE GALLERY */
/* BLOC CONTACT */ 
#divContact h2 { font-size: 250%; margin-bottom: 0; }
#divContact form { max-width: 800px;
    padding: 0 30px 30px 30px;
    margin: auto; font-family: var(--font-subtitle2); }
#divContact fieldset { margin-inline-start: -2px; padding-inline-start: 0; border: none; padding: 35px 0; color: #bb9858;  }
#divContact label { width: 120px; padding-right : 15px; color: white;  }
#divContact textarea { margin-top: 15px; width: 100%; }
#divContact input, #divContact textarea { border-radius: 10px; padding: 2px 10px; }
#divContact #btnEnvoie { padding: 5px 15px; background: var(--color-button); color: var(--color-a-hover); font-size: 120%; cursor: pointer; }
#divContact .formContactLigne { margin: 10px 0; }
#divContact #lMessage { display: block; margin-top: 25px; }
#divEnvoie { text-align: right; }
#divEnvoie input { width: auto; }

.figBlocNews img { max-height: 600px; }

@media (max-width: 930px){   #divContact form { padding: 0 10vw 30px 10vw; }  }
/* FIN BLOC CONTACT */
/* FORMULAIRE */
#demandedevis { width: 1100px; max-width: 94vw; }
#form_demandedevis, #form_formulaireachat { width: 100%; padding: 20px; gap: 8px; flex-wrap: wrap; } 
#form_demandedevis { background-color: var(--color-back-bis);  }
#demandedevis { justify-content: center; }
#form_demandedevis h2, #form_formulaireachat h, #form_demandedevis p, #form_formulaireachat p {  width: 100%; max-width: 100vw ;text-align: center;  color: var(--color-primary); margin-bottom: 25px; }
.demande, .details, #details { width: 100%;}
#details { margin-top: 15px; }
.demande { gap: 6px;}
.demandecode { display: flex; justify-content: center;}
.demandecode { width: 30% !important; }
#page_catalogue #demandecode, #page_catalogue #acheter { width: 200px; margin: 2vh auto; }
#demandecode input[type=text], #formulaireachat input[type=text] {width: 100%;}
#formulaireachat .inputDivtext { width: 300px; max-width: 90%; min-width: 200px; margin: 2vh 0;  }
#formulaireachat .inputDivsubmit { width: 100%; display: flex; justify-content: center; }

.radioCaseV1 input[type=radio] { visibility: hidden; display: none; }
.radioCaseV1 input[type=radio]:checked + label,
.radioCaseV1 input[type=radio]:not(:checked) + label{
	padding: 20px;	letter-spacing: 1px;	margin: 5px 5px; text-align: left;
	border-radius: 4px;	overflow: hidden;	cursor: pointer;	-webkit-transition: all 300ms linear;
	transition: all 300ms linear; 
}
.radioCaseV1 input[type=radio]:not(:checked) + label{
	background-color: #e7e7e7;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}
.radioCaseV1 input[type=radio]:checked + label{
    background-color: #003333; color: white;
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.radioCaseV1 input[type=radio]:not(:checked) + label:hover{
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}

#ttphoto_profil {     border: double 7px grey;     border-radius: 50%; }
#ttphoto_team, #ttphoto_fiche, #photo_team, #photo_profil { border: double 7px grey; height: 300px !important; }
#ttphoto_fiche, #photo_fiche { height: 400px !important; width: 300px !important; }
#ttphoto_fiche img { height: 400px !important; }
.dash2 { margin: 15px; }
.cptrang { width: 200px; min-width: 200px; max-width: 90vw; margin-right: 15px; }
.ij_modele7 { display: flex; flex-flow: row wrap; }
.ij_modele7 label { display: block;    width: 225px; min-width: 225px; max-width: 225px; }

.button .icon:first-child:last-child {
    margin-left: calc(-0.5em - 1px);
    margin-right: calc(-0.5em - 1px);
}

/* FIN FORMULAIRE */

.formachat { background: white; color: black; padding: 2vh 2vw; width: 800px; max-width: 94vw;  }
.formachat div.tva { margin-top: -20px; }
.formachat .productdescsmall { margin-top: -17px; }
.formachat .productmentionscgv { margin-top: -25px; }
#faproducttarif { font-size: 120%; }
a.is-primary { color: var(--color-primary); }

/* MODULE NAV - THEME NAVTOP */
.navtop {  position: absolute;
    top: 0; padding: 10px;
    z-index: 99;}
.navtop ul { display: flex; }
.navtop li { display: flex; padding: 0 5px; }
.navtop a:hover { color: var(--color-button) !important; }
/* FIN NAV */
/* MODULES BLOGPRESS */
#div_meaBPLink { width: 100%; }
/* FIN MODULES BLOGPRESS */

@media (max-width: 1229px) {
    a, p, h1, h2, h3, li, b  { text-align: center; justify-content: center; font-size: 90%; max-width: 100%; }
    p, h1, h2, h3, li, b { margin: auto; }
    iframe { max-width: 98%; }
    .objcover, .objcontain { margin-bottom: 15px; }
}