:root{
    --wrapper-width: 1200px;
    --bleu-roi : #004AAD;
    --bleu-roi-rgb : rgb(0, 74, 173);
    --turquoise: #5CE1E6;
    --turquoise-rgb: rgb(92, 225, 230);
    --bleu: #38B6FF;
    --bleu-rgb: rgb(56, 182, 255);
    --bleu-canard: #03999e;
    --bleu-canard-rgb: rgb(3, 153, 158);
    --turquoise-clair: #D5EEEF;
    --turquoise-clair-rgb: rgb(213, 238, 239);
    --violet: #9E2B78;
    --violet-rgb: rgb(158, 43, 120);
    --violet-clair: #C7168D;
    --violet-clair-rgb: rgb(199, 22, 141);
    --noir-nav: #323E4E;
    --noir-nav-rgb: rgb(50, 62, 78);
    --gris-noir-connexion: #334967;
    --gris-noir-connexion-rgb: rgb(51, 73, 103);
    --pearl-grey-text: rgb(144,144,144);
    --light-grey: #F4F4F4;
    --shadow-1: 11px 11px 21px rgb(0,0,0,34%);
    --shadow-2: 11px 11px 24px rgb(0,0,0,50%);
    --shadow-text: 10px 10px 18px rgb(0,0,0,55%);
    --shadow-double: 0px 5px 10px  rgba(0, 0, 0, 0.345), 0px -5px 10px rgba(0, 0, 0, 0.345);
    --shadow-bordered-1: 2px 2px 0px var(--turquoise), var(--shadow-text);
    --shadow-input: 3px 3px 6px rgba(0, 0, 0, 16%);
    --shadow-input-2: 5px 5px 10px rgba(0, 0, 0, 34%);
    --header-height: 470px;
    --nav-height: 67px;
    --footer-min-height: 443px;
    --mobile-margin: 24px;
    --grid-gap: 130px;
    --gap-footer: 30px;
}

html{
    font-family: "Prompt", "Avenir", Arial, sans-serif;
} 
body {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: var(--header-height) var(--nav-height) auto minmax(443px, auto);
    grid-template-areas: 
                        "header"
                        "nav "
                        "main"
                        "footer";
    margin: 0;
    padding: 0;
}

figcaption {
    font-size: 15px;
}

br.mobile {
    display: none;
}

/* a {
    text-decoration: none;
    color: inherit;
} */

a {
    color: var(--bleu);
    text-decoration: underline var(--turquoise);
    font-weight: 300;
}

[class*="absolute"] {
    position: absolute;
}

[class*="relative"] {
    position: relative;
}

[class*="block"] {
    display: block;
}

.centered {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.purple {
    background-color: var(--violet-rgb);
    color: #fff;
}
.purple.button:hover {
    background-color: var(--violet-clair);
}

.purple-text {
    background-color: var(--violet-rgb);
}

.blue{
    background-color: var(--bleu);
}

.blue.button:hover, 
.blue:hover {
    background-color: var(--bleu-canard);
}

.grey {
    background-color: var(--pearl-grey-text);
    color: rgb(45, 45, 45);
}

.light-grey {
    background-color: var(--light-grey);
}

.dark-blue-grey {
    background: var(--gris-noir-connexion-rgb);
    color: #fff;
}

.deep-blue {
    background-color: var(--bleu-roi);
    color: #fff;
}
.deep-blue.button:hover {
    background-color: var(--bleu);
}

p .aligncenter {
    text-align: center;
    width: fit-content;
    margin: 10px auto 0 auto;
    height: auto;
    display: block;
    max-width: 100%;
}

.loading-cursor {
    cursor: progress;
}

.clickable-cursor,
[class~="button"] {
    cursor: pointer;
} 

[class*='blue'] h1,
[class*='blue'] h2,
[class*='blue'] h3,
[class*='blue'] h4,
[class*='blue'] h5,
[class*='blue'] h6 {
    color: #fff !important;
}

.bleu-canard {
    background-color: var(--bleu-canard);
    color: #fff;
}
.txt-bleu-canard {
    color: var(--bleu-canard);
}
.bleu-canard.button:hover {
    background-color: var(--violet);
}

.turquoise {
    background-color: var(--turquoise);
}

.pearl {
    background-color: #fff;
    color: var(--pearl-grey-text);
    font-weight: 100;
}

.pearl.bordered {
    border: 2px solid #EDEDED;
}

.pearl.bordered:hover {
    color: black;
    border: 2px solid #ffe245;
    background: #ffe245;
    box-sizing: border-box;
}
.pearl.bordered.button:hover {
    border-color: #b6b6b6;
    color: block;
}

.bordered-field {
    border: 3px solid rgb(160 160 160) !important;
}

.pearl a {
    color: rgb(144,144,144)!important;
}

.black-pearl {
    background-color: rgb(244,244,244);
    color: #000;
}

.blue.selected-color {
    background-color: rgb(25, 184, 115);
}

.ombre {
    box-shadow: var(--shadow-1);
}

.loading {
    display: flex;
    align-content: center;
    justify-content: center;
    background: center center / contain no-repeat url(../images/gif/loading.gif);
    height: 30px;
}

.placeholder-italic::placeholder {
    font-weight: 100;
    font-style: italic;
    color: rgb(55, 55, 55);
}

.dl-icone {
    background-image: url(../images/icones/DL_icone_white.svg);
}

.white-upload {
    background-image: url(../images/icones/Upload_icone-white.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80%;
}

.white-image {
    background-image: url(../images/icones/img-add-white.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 58%;
}

.rounded-button {
    background: center center / 90%;
    border-radius: 50%;
    height: 100px;
    width: 100px;
}

.right-rounded-button-container{
    position: relative;
}

.right-rounded-button-container .end-button {
    position: absolute;
    right: 0;
    transform: translateY(-50%);
    top: 50%;
}

.pdf {
    background-image: url(../images/icones/pdf.svg);
}

.doc,
.docx {
    background-image: url(../images/icones/word.svg);
}

.rtf,
.txt {
    background-image: url(../images/icones/text.svg);
}

.jpeg,
.jpg,
.png,
.gif,
.tiff
{
    background-image: url(../images/icones/jpg.svg);
}

.video {
    background-image: url(../images/icones/video.svg);    
}

.col-flex {
    display: flex;
    flex-direction: column;
}
.row-flex {
    display: flex;
    flex-direction: row;
}

.uppercase {
    text-transform: uppercase;
}

.row-gap-90 {
    row-gap: 90px;
}

.row-gap-60 {
    row-gap: 60px;
}

.gray {
    background-color: rgb(205, 205, 205)
}

.page-image {
    margin-bottom: 30px;
}

.margin-bottom-36 {
    margin-bottom: 36px !important;
}

.capitalize {
    text-transform: capitalize;
}

.firstletter::first-letter,
.firstletter *::first-letter {
    text-transform: capitalize;
}

.capitalize.firstletter {
    text-transform: lowercase;
}

.out-button {
    position: relative;
    padding: 30px;
    font-size: 24px;
    font-weight: 300;
}

.out-button p {
    font-weight: 200;
}

.out-button h2:first-of-type, 
.out-button h3:first-of-type {
    margin-top: 0;
}

.out-button h2, 
.out-button h3 {
    color: #fff;
    font-size: 35px;
    font-weight: 400;
    line-height: 45px;
    text-shadow: var(--shadow-text);
    text-transform: uppercase;
    margin-bottom: 0;
}

.out-button p + h2, 
.out-button p + h3 {
    margin-top: 55px;
}

.out-button h2 + p, 
.out-button h3 + p {
    margin-top: 5px;
}

.out-button > .button,
.out-button * .ouside-button {
    position: absolute;
    width: fit-content;
    width: -moz-fit-content;
    bottom: 0;
    left: 50%;
    color: #fff;
    font-weight: 400;
    font-size: 29px;
    /* padding: 10px 20px; */
    transform: translate(-50%, 50%);
}

.out-button .button a,
.out-button .button span {
    text-decoration: none;
    color: inherit;
    font-size: 25px;
    display: inline-block;
    height: 100%;
    padding: 10px 20px;
}

.cliquable {
    cursor: pointer;
}

.response-message {
    color: #fff;
    font-size: smaller;
    font-weight: lighter;
    height: fit-content;
    background: rgba(255,255,255,16%);
    padding: 20px;
    border-left: 3px solid var(--turquoise);
}
.response-message.fail {
    color: var(--violet);
    font-weight: 400;
    text-shadow: 1px 1px 1px var(--turquoise);
    box-sizing: border-box;
    border-color: var(--violet-clair);
}

.response-errors {
    color: var(--violet);
    font-size: smaller;
    font-weight: lighter;
    font-style: italic;
    height: fit-content;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: 2px solid var(--violet) !important;
  background-color: #fff !important;
  box-shadow: var(--shadow-input) !important;
  -webkit-text-fill-color: #000 !important;
  -webkit-box-shadow: var(--shadow-input) !important;
  transition: background-color 5000s ease-in-out 0s;
}

.in-title {
    font-weight: 300;
    font-size: 45px;
    line-height: 45px;
    padding: 0;
    margin: 0 0 54px 0;
    text-shadow: var(--shadow-text);
    text-transform: uppercase;
}


.centered-content > * {
    grid-column: body;
}


.rounded-button {
    display: block;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    border: 14px solid;
    box-shadow: var(--shadow-1);
}
.rounded-button a {
    display: block;
    min-height: 82px;
    min-width: 82px;
    position: relative;
    left: -12px;
    top: -12px;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.rounded-button.blue {
    border-color: var(--bleu);
    background-color: var(--bleu);
}
.rounded-button.deep-blue {
    border-color: var(--bleu-roi);
    background-color: var(--bleu-roi);
}

.dl-icone {
    background-image: url(../images/icones/DL_icone_white.svg);
    background-position: center center;    
    background-size: 90%;
    background-repeat: no-repeat;
}

.link-icone {
    background-image: url(../images/icones/link_icone_white.svg);
    background-position: center center;    
    background-size: 90%;
    background-repeat: no-repeat;
}

.error-box {
    font-size: 25px;
    font-weight: 300;
    color: var(--violet-clair-rgb);
    font-style: italic;
    background: rgb(255 255 255 / 41%);
}

.error-box ul li {
    list-style: '- ';
}

input[type=text], 
input[type=date], 
input[type=email], 
input[type=password],
.input-like,
select  {
    height: 43px;
    font-size: 22px;
    padding: 4px 4px 4px 10px;;
    box-sizing: border-box;
    border-radius: 0;
    border: 0;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}
input[type=password]{
    letter-spacing: 4px;
}
.input-like {
    background: #fff;
    font-weight: 100;
    box-shadow: var(--shadow-input);
    color: #000;
    display: flex;
    align-items: center;
}
.input-like.disabled-like {
    background: rgb(213, 213, 213);
    font-style: italic;
    color: #5b5b5b;
}

select {
    background: #fff url(../images/icones/down-chevron.svg) no-repeat calc(100% - 4px) center;
    background-size: 20px;
}

input[type="submit"] {
    background: inherit;
    border: 0;
    color: inherit;
    padding: 10px 15px;
}

.out-button .button input {
    box-shadow: none;
    font-weight: 400;
    cursor: pointer;
}

.forgotten-link a {
    color: inherit;
    text-align: center;
    font-size: smaller;
    font-weight: 100;
    font-style: italic;
    text-decoration: underline;
}

/* ------- HEADER ------- */
header {
    grid-area: header;
}

.close-button {
    display: none;
}

nav .connect {
    position: absolute;
    left: 20px;
    top: 20px;
    display: none;
}

nav > .connect img {
    filter: drop-shadow(2px 2px 8px rgba(0,0,0,58%));
}

header .burger-menu {
    position: absolute;
    top: 20px;
    right: 20px;
    display: none;
}
header .burger-menu img,  #close-connect-mobile img, nav .close-button img {
    width: 57px;
    filter: drop-shadow(2px 2px 8px rgba(0,0,0,58%));
}
nav {
    grid-area: nav;
    background: var(--noir-nav);
    position: sticky;
    font-size: 30px;
    font-weight: 300;
    display: grid;
    grid-template-columns: 9fr 1fr;
    width: 100%;
    min-width: 100%;
    justify-content: center;
    top: 0;
    z-index: 10;
    align-items: stretch;
    align-content: stretch;
    justify-items: stretch;
}

#banner {
    background: center / cover no-repeat url(../images/Banniere.png);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
}

#banner h1 {
    display: block;
    height: 80%;
    max-height: 290px;
}

#banner > h1 img {
    box-shadow: var(--shadow-2);
    height: auto;
    align-self: center;
    width: 300px;
}

.flex-nav {
    display: flex;
    flex-direction: row;
    /* max-width: 1200px;
    width: 80%; */
    justify-content: space-around;
    align-items: center;
    transition: 0.2s width;
}

nav .flex-nav a {
    font-size: 30px;
    color: rgb(237, 237, 237);
    text-decoration: none;
    position: relative;
}
nav .flex-nav a::after {
    content: "_";
    color: transparent;
    position: absolute;
    left: 0;
    border-bottom: 4px var(--turquoise) solid;
    bottom: -7px;
    width: 0%;
    transition: 0.3s width;
}

nav .flex-nav a:hover::after,
nav .flex-nav .current_page_item a::after {    
    width: 100%;
}

nav .flex-nav a:hover {
    color: #fff;
}

nav .flex-nav a.current-link {
    font-weight: 500;
    position: relative;
    color:#fff;
}

nav .flex-nav a.current-link::after {
    content: "_";
    color: transparent;
    width: 100%;
    position: absolute;
    left: 0;
    border-bottom: 4px var(--turquoise) solid;
    bottom: -7px;
}

#bar-mobile {
    display: none;
}

/* ------- BREADCRUMP ------- */
#breadcrump {
    margin: 30px 0;
    grid-area: ariane;
    align-self: center;
}

#breadcrump a {
    color: #000;
    text-decoration: none;
}

#breadcrump .ariane-current::before {
    content: "//";
    padding: 0 20px;
}


/* ------- FOOTER ------- */
footer {
    grid-area: footer;
    background: var(--noir-nav);
    display: grid;
    grid-template-columns: auto calc(var(--wrapper-width) / 2) var(--gap-footer) calc(var(--wrapper-width) / 2) auto;
    grid-template-rows: 1fr;
    grid-template-areas: ". footer-addresse . footer-nav .";
    font-size: 30px;
    font-weight: 100;
    color: #fff;
}
footer a {
    color: #fff;
    text-decoration: none;
}
footer a:hover {
    text-decoration: underline;
}
footer > div {
    padding: 40px 0 ;
}
footer > div:first-child {
    grid-area: footer-addresse;
}
footer > div:last-child {
    grid-area: footer-nav;
}

footer > div:last-child  > * {
    padding-bottom: 20px;
}
div#socials img {
    width: 40px;
    margin-right: 10px;
}
/* ------- 404 ------- */

.error-404 {
    grid-column: 2;
    padding: 100px 50px;
    text-align: center;
}
.error-404 h1,
.error-404 h2,
.error-404 h3,
.error-404 h4
{
    color: var(--bleu-roi);
    text-shadow: var(--shadow-text);
    font-weight: 500;
}

.page-content {
    display: none;
}

/* ------- ACCUEIL ------- */

/* -- Wrapper -- */
#wrapper {
    grid-area: main;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto var(--wrapper-width) auto;
    grid-template-rows: 60px auto;
    grid-template-areas: 
                        ". ariane ."
                        "prez prez prez";
    width: 100%;
}

#wrapper.front-page {
    grid-template-rows: 60px 483px var(--grid-gap) auto var(--grid-gap) minmax(483px,auto) var(--grid-gap) minmax(465px, auto);
    grid-template-areas: 
                        ". ariane ."
                        ". Une-connect ."
                        ". . ."
                        ". prez ."
                        ". . ."
                        "agenda agenda agenda"
                        ". . ."
                        ". join-us .";
}

#connect-Une-bloc {
    grid-area: Une-connect;
    display: grid;
    grid-template-columns: 350px auto;
    grid-template-rows: auto;
    column-gap: 50px;
    grid-template-areas: "connexion news";
}

#connect-Une-bloc.connected {
    grid-template-areas: "news news";
}
#connect-Une-bloc.connected #connexion-div  {
    display: none;
}
#connect-Une-bloc {
    display: none;
}
#wrapper.front-page #connect-Une-bloc {
    display: grid;
}
/* -- Bloc connexion -- */
nav .connexion-link {
    /* position: absolute;
    right: 0;
    top: 0; */
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

nav .connexion-link.current-link, nav .connexion-link:hover a, nav .connexion-link:hover {
    background: var(--violet);
}

nav .connexion-link a {
    color: #fff;
    padding: 0 15px 0;
    text-decoration: none;
    display: flex;
    height: 100%;
    line-height: var(--nav-height);
    align-content: center;
    justify-content: center;
    align-items: center;
}

nav .connexion-link a img {
    height: 40px;
}

nav.unvisible.user-connected {
    grid-template-columns: 21fr minmax(64px, 1fr);
}

#connexion-div {
    grid-area: connexion;
    background: var(--gris-noir-connexion);
    color: #fff;
    display: flex;
    flex-direction: column;
}

#connexion-div > p {
    font-size: 30px;
    font-weight: 400;
    align-self: center;
    text-transform: uppercase;
    padding: 0;
    margin: 20px 0 40px;
}

#connexion-div > input, #connexion-div > label {
    margin: 0 30px;
    font-weight: 300;
}
#connexion-div > input:first-of-type {
    margin-bottom: 27px;
}

#connexion-div label {
    font-size: 24px;
    font-weight: 300;
}

#connexion-div a.forgotten-password {
    font-size: 20px;
    display: inline;
    width: fit-content;
    width: -moz-fit-content;
    text-align: center;
    color: #fff;
    font-weight: 100;
    margin: 0 auto;
    text-decoration: none;
    border-bottom: 1px solid #fff;
    margin: 0 0 26px;
    align-self: center;
}
.duo-input {
    display: flex;
    flex-direction: column;
    margin: 0 20px 38px;
}
#connect-submit {
    margin: 0 0 22px;
}
#annuler-connexion {
    display: none;
}

#connect-submit {
    font-size: 24px;
    color: #fff;
    font-weight: 300;
    /* background: var(--bleu);
    width: calc(100% - 33px * 2); */
    align-self: center;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
    margin: 0 auto 22px;
    text-transform: uppercase;
}

#connect-submit a {
    font-size: 24;
    text-transform: uppercase;
    text-decoration: none;
    color: #FFF;
    font-weight: 500;
}

#forgotten-link-container {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}

#close-connect-mobile {
    display: none;
} 

/* -- Bloc A LA Une -- */
#a-la-une {
    grid-area: news;
}

#a-la-une > h2 {
    text-transform: uppercase;
    text-shadow: var(--shadow-bordered-1);
    font-size: 43px;
    font-weight: 500;
    line-height: 43px;
    margin: 4px 0 22px 0;
}
nav.connectmode #close-connect-mobile {
    display: none;
}

#a-la-une > div {
    display: grid;
    height: calc(100% - 69px);
    grid-template-columns: 314px auto;
    /* grid-template-rows: minmax(45px, auto) auto; */
    grid-template-rows: max-content 1fr;
    grid-template-areas:
                        "img titre"
                        "img contenu";
}

#a-la-une > div > .img-container {
    /* height: 312px;
    width: 254px; */
    overflow: hidden;
    background: #fff;
    margin: 30px;
    grid-area: img;
    background-size: cover;
}
#a-la-une > div > .img-container img {
    height: 100%;
    max-height: 100%;
}

#a-la-une > div > div:last-child {
    /* width: 463px; */
    color: #fff;
    grid-area: contenu;
    padding: 0;
}

#a-la-une div > h3 {
    font-size: 30px;
    font-weight: 400;
    margin: 26px 0 0 0;
    line-height: 30px;
    grid-area: titre;
}

#a-la-une div > p {
    font-weight: 200;
    padding: 0;
    margin-top: 14px;
    line-height: 34px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 7;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
}

/* -- Contenu : presentation -- */
#wrapper.front-page section#content {
    grid-area: prez; 
}

section#content {
    grid-column: 1 / span 3;
}

section#content  ~ h2 {
    margin: 200px 0 2px;
}

h2.content-title {
    color : var(--bleu-roi);
    text-shadow: var(--bleu) 2px 2px 0px, var(--shadow-text);
    font-size: 45px;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
}

#content > p {
    font-size: 26px;
    font-weight: 200;
    margin-bottom: 0;
}

/* -- Contenu : agenda -- */
section#agenda {
    grid-area: agenda;
    display: grid;
    grid-template-columns: auto var(--wrapper-width) auto;
    grid-template-rows: 110px 388px;
    grid-template-areas: 
                        ". titre-agenda ."
                        "bandeau bandeau bandeau";
}

#mobile-window {
    height: 100%;
}

#agenda > h2 {
    grid-area: titre-agenda;
}
#agenda #events-container {
    grid-area: bandeau;
    background: var(--turquoise-clair);
    box-shadow: 0 0 45px rgb(0, 0, 0, 80%);
}

#agenda #center-wrapper {
    width: 90%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.event {
    height: 326px;
    width: 390px;
    border: #fff 17px solid;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: 58px auto minmax(60px, auto);
    grid-template-areas:
                        "localisation"
                        "."
                        "titre";
    position: relative;
    box-shadow: var(--shadow-1);
    background-position: center center;
    background-size: cover;
}

.event h3 {
    grid-area: localisation;
    padding: 12px 0 0 20px;
    font-size: 33px;
    font-weight: 200;
    margin: 0;
    text-shadow: 1px 1px rgba(255,255,255,50%),-1px -1px rgba(255,255,255,10%), 2px 1px 10px rgba(255, 255, 255, 0.44);
}

.event .event-title {
    grid-area: titre;
    font-size: 23px;
    font-weight: 500;
    padding: 5px 5% 5px 62px;
    background: rgba(255,255,255,58%);
    align-self: end;
}

.event .event-date {
    position: absolute;
    left: -26px;
    bottom: -24px;
    width: 80px;
    height: 123px;
    background: var(--bleu-roi);
    color: #fff;
    display: grid;
    grid-template-rows: 45px auto;
    grid-template-columns: auto;
    z-index: 4;
}
.event .event-date > div {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bleu-roi);
    box-sizing: border-box;
}
.event .event-date > div:first-of-type {
    background: #fff;
}
.event .event-date > div > .month {   
    color: #000;
    text-transform: uppercase;
    font-size: 23px;
    font-weight: 600;
}
.event .event-date > div > .day {
    font-size: 41px;
    font-weight: 600;
    color: #fff;
}

.event.member-only:after {
    content: url(../images/icones/groumfonly.svg);
    position: absolute;
    width: 80px;
    height: 80.6px;
    right: -20px;
    top: -20px;
    box-sizing: border-box;
}

.event .full-space-link {
    display: block;
    grid-area: 1 / 1 / 4 / 2;
    z-index: 3;
}

/* ------ Nous rejoindre ------- */
#nous-rejoindre {
    grid-area: join-us;
}

#nous-rejoindre > .out-button p {
    font-weight: 200;
}

/* ----------------------------- */
/* ------- MEDIA QUERIES ------- */
@media (max-width: 1440px) 
{
    .event {
        height: 296px;
        width: 310px;
    }
    .event h3 {
        font-size: 25px;
    }
    .event .event-title {
        font-size: 20px;
        padding: 5px 5% 5px 46px;
    }
    .event .event-date {
        width: 61px;
        height: 100px;
    }
    .event .event-date > div > .day {
        font-size: 30px;
    }

    .event .event-date > div > .month {
        font-size: 21px;
    }
}

@media (max-width: 1300px)
{
    nav {
        justify-content: left;
        display: grid;
        grid-template-columns: 1fr 160px;
    }

    .flex-nav {
    width: 100%;
    justify-content: space-around;
    }

    nav .flex-nav > a {
        font-size: 25px;
    }

    nav .connexion-link {
        font-size: 25px;
    }
}

@media (max-width: 1230px) 
{
    :root{
        --wrapper-width: 1024px;
        --header-height: 360px;
    }

    #banner > h1  img {
        width: 250px;
    }
    #wrapper.front-page {
        grid-template-rows: var(--nav-height) auto var(--grid-gap) auto var(--grid-gap) minmax(430px,auto) var(--grid-gap) minmax(306px, auto) var(--grid-gap);    
    }

    #a-la-une > div {
        grid-template-columns: auto auto;
        padding: 26px;
        grid-column-gap: 26px;
        box-sizing: border-box;
    }

    #a-la-une > div > .img-container {
        /* height: 240px; */
        min-width: 202px;
        margin: 0;
    }
    #a-la-une > div > div:last-child {
        width: 346px;
        margin-right: 0;
    }

    #a-la-une div > h3 {
        font-size: 25px;
        padding-top: 0;
        margin-top: 0;
    }
    #a-la-une div > p {
        font-size: 26px;
        line-height: 29px;
    }
    #logout {
        padding: 10px 10px 10px 43px;
    }
    
    #connexion-div label {
        font-size: 20px;
    }

    #connexion-div > p {
        margin: 20px 0 20px;
    }

    #connect-submit {
        font-size: 21px;
    }
    #connexion-div a.forgotten-password {
        font-size: 18px;
    }
    #connect-Une-bloc {
        grid-template-columns: 330px auto;
        grid-template-rows: 423px;
    }

    #a-la-une .out-button > .button {
        font-size: 23px;
        position: absolute;
        bottom: -26px;
        color: #fff;
        font-weight: 400;
        width: 100%;
        display: flex;
        justify-content: center;
        transform: translateY(50%);
        left: initial;
        background: none;
    }

    #a-la-une .out-button > .button a {
        background: var(--violet);
    }

    h2.content-title {
        font-size: 40px;
    }

    #content > p {
        font-size: 27px;
    }
    section#agenda {
        grid-template-rows: 70px 362px; 
    }
    #agenda #center-wrapper {
        width: 95%;
    }
    
    .in-title {
        font-size: 40px;
        line-height: 40px;
        margin: 0 0 29px 0;
    }
}

@media (max-width: 1040px)
{
    :root {
        --header-height: 265px;
        --nav-height: 0;
        --wrapper-width: 100%;
        --nav-height: 10px;
        --mobile-bar-height: 106px
    }

    #banner > h1 img{
        width: 180px;
    } 

    body.nav-on {
        height:100%;
        width: 100%;
        overflow: hidden;
    }
    
    #breadcrump{
        display: none;
    }
    
    #a-la-une > div, #nous-rejoindre {
        margin: 0 28px;
    }

    #a-la-une div > p {        
        font-size: 30px;
        line-height: 37px;
    }

    nav > .connect  {
        display: block;
    }

    header .burger-menu {
        display: block;
        position: fixed;
        z-index: 99;
    }

    #banner h1 {
        max-height: 180px;
    }

    nav.unvisible {
        right:-100%;
        transition: 0.4s right;
    }
    nav.connectmode {
        right: 100%;
        transition: 0.4s right;
    }

    nav.connectmode #close-connect-mobile {
        z-index: 101;
        display: block;
    }

    nav {
        --interactions-space: 120px;
        right: 0%;
        position: fixed;
        height: 100%;
        width: 100%;
        z-index: 100;
        display: grid;
        grid-template-columns: var(--interactions-space) calc(100% - var(--interactions-space) * 2) var(--interactions-space);
        grid-template-rows: 87px auto;
        grid-template-areas:
                            "connect menu close"
                            ". menu .";
        transition: 0.4s right;
    }
    nav .connexion-link{
        display: none;
    } 

    nav .connect {
        width: fit-content;
        margin: 0 auto 0 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        grid-area: connect;
    }

    nav .flex-nav {
        width: fit-content;
        width: -moz-fit-content;
        justify-content: space-around;
        flex-direction: column;
        justify-items: center;
        align-items: flex-start;
        max-width: 100%;
        grid-area: menu;
        margin: 0 auto;
    }

    nav .close-button {
        width: fit-content;
        margin: 20px 40px 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        grid-area: close;
    }
    nav .flex-nav > a{
        font-size: 40px;
    }

    nav .flex-nav > a.current-link::after {
        border-bottom: 0;
        border-left: 5px solid var(--turquoise);
        bottom: 0;
        left: -17px;
    }

    #connexion-div {
        display: grid;
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        z-index: 98;
        transition: 0.2s right;
        grid-template-columns: auto;
        grid-template-rows: 20% 25% 25% 10%;
        grid-template-areas: 
                            "titre"
                            "login"
                            "mdp"
                            "connect"
                            "link";
        align-items: center;
    }

    #connexion-div.visible {
        right: 0;
        transition: 0.2s right;
        z-index: 99;
    }
    #connexion-div > p {
        grid-area: titre;
        text-align: center;
        font-size: 50px;
    }
    #connexion-login {
        grid-area: login;
    }
    #connexion-mdp {
        grid-area: mdp;
    }
    #connect-submit {
        /* background: none;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 60px;
        grid-gap: 20px;
        grid-area: connect;
        padding: 50px; */
        grid-area: connect;
        display: flex;
        flex-direction: column;
        width: 100%;
        justify-content: space-between;
        min-height: 130px;
    }
    .duo-input > * {
        width: 90%;
        align-self: center;
    }

    #connect-submit > * {
        height: 50px;
    }

    #connect-submit #annuler-connexion {
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        box-shadow: var(--shadow-1);
        border: 3px solid #fff;
        margin-bottom: 14px;
    }
    #connect-submit #connection-bouton  {
        background: var(--bleu);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        box-shadow: var(--shadow-1);
    }
    #connect-submit a {
        color: #fff;
        text-decoration: none;
        font-size: 34px;
    }

    #connexion-div a.forgotten-password {
        grid-area: link;
        text-align: center;
    }

    input[type="text"], 
    input[type="password"],
    input[type="date"], 
    input[type="email"], 
    input[type="password"], 
    select {
        height: 72px;
        font-size: 32px;
    }
    form.out-button textarea,
    textarea {
        font-size: 32px;
    }

    #connexion-div label {
        font-size: 32px;
        font-weight: 200;
    }

    #close-connect-mobile {
        display: block;
        position: absolute;
        top: 20px;
        right: 20px;
    }

    #connect-Une-bloc {
        grid-template-columns: auto;
        grid-template-rows: auto;
        grid-template-areas: "news";
    }

    #connect-Une-bloc:not(.connected) #a-la-une > div {
        display: grid;
        height: calc(100% - 69px);
        grid-template-columns: 273px auto;
        grid-template-rows: 60px auto;
        grid-template-areas:
                            "img titre"
                            "img contenu";
    }
    #a-la-une > div > .img-container {
        margin: 0 0 26px 0;
        height: auto;
        width: auto;
    }

    #a-la-une div > h3 {
        grid-area: titre;
        font-size: 34px;
    }

    #a-la-une > div > div:last-child {
        grid-area: contenu;
        width: 100%;
        margin-right: 30px;
    }
    #wrapper.front-page h2 {
        margin-left: 30px;
    }
    #content > p {
        margin: 30px;
    }

    #mobile-window {
        width: 380px;
        overflow: hidden;
        height: 100%;
        position: relative;
        margin: 0 auto;
    }

    #agenda #center-wrapper {
        width: 1040px;
        position: absolute;
        top: 0;
        left: 24px;
        height: -340px;
        padding: 0 10px;
        transition: 0.2s left;
        justify-content: space-between;
    }
    #agenda #center-wrapper.middle {
        left: -337px;
    }
    #agenda #center-wrapper.middle > div:first-child {
        opacity: 0%;
        transition: 0.2s opacity;
    }
    
    #agenda #center-wrapper.last {
        left: calc( -200% + 54px);
        transition: 0.2s left;
    }
    #agenda #center-wrapper.last > div:nth-child(2) {
        opacity: 0%;
        transition: 0.3s opacity;
    }

    section#agenda {
        grid-template-rows: 70px 402px; 
    }

    #mobule-slider-indicator {
        position: absolute;
        bottom: 10px;
        left: 0;
        height: 20px;
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
        padding: 0 81px;
        box-sizing: border-box;
    }

    #mobule-slider-indicator > div {
        background: var(--bleu);
        height: 53%;
        width: 27%;
    }

    #mobule-slider-indicator > div.current {
        background: var(--bleu-roi);
    }

    footer > div {
        margin: 30px;
    }

    #bar-mobile {
        display: block;
        height: var(--mobile-bar-height);
        background: var(--bleu-roi);        ;
        position: fixed;
        top: calc(var(--mobile-bar-height) * -1);
        z-index: 98;
        width: 100%;
        transition: 0.3s top;
    }

    #bar-mobile img {
        height: 80%;
        margin: 10px;
    }

    #bar-mobile.visible {
        transition: 0.3s top;
        top: 0;
    }
}

@media (max-width: 800px)
{
    #connect-Une-bloc {
        grid-template-rows: auto;
    }

    #a-la-une > div {
        display: grid;
        height: calc(100% - 69px);
        grid-template-columns: 165px auto;
        grid-template-rows: 178px auto;
        grid-template-areas:
                            "img titre"
                            "contenu contenu";
        grid-column-gap: 20px;
    }

    #a-la-une > div > .img-container {
        width: 100%;
        height: auto;
        grid-area: img;
        display: flex;
        align-items: center;
        background: transparent;
    }

    #a-la-une > div > .img-container img {
        background: #fff;
        width: fit-content;
        width: -moz-fit-content;
    }

    #a-la-une div > h3 {
        grid-area: titre;
        font-size: 35px;
        line-height: 45px;
    }

    #a-la-une > div > div:last-child {
        grid-area: contenu;
        width: 100%;
        box-sizing: border-box;
        margin: 0;
    }

    footer {
        grid-template-columns: 1fr;
        grid-template-rows: min-content min-content;
        grid-row-gap: 40px;
        padding: 40px 30px;
        grid-template-areas: 
                            "footer-addresse"
                            "footer-nav";
    }

    footer > div {
        margin: 0;
        padding: 0;
    }
    nav {
        grid-template-columns: 1fr 3fr 1fr;
    }
    nav .close-button,
    nav .connect {
        margin: auto;
        position: initial;
    }
}

@media (max-width: 550px)
{
    :root {
        --wrapper-width: 100%;
        --footer-margin-sides: 20px;
    }
    
    #a-la-une div > h3 {
        line-height: 36px;
    }
    #a-la-une > div, #nous-rejoindre {
        margin: 0;
    }
    #wrapper h2 {
        font-size: 30px;
    }

    .out-button > .button {
        font-size: 33px;
    }

    #connect-submit a {
        font-size: 22px;
    }

    #connexion-div > p {
        margin: 90px 0 40px;

    }
    #connexion-div > input:first-of-type {
        margin-bottom: 30px;
    }

    footer {
        padding:30px 0;
    }

    footer > div {
        font-size: 22px;
        padding: 0;
        width: calc(100% - var(--footer-margin-sides) * 2 );
        margin: 0 auto;
    }
}

/* ---- GLOBAL PAGES ---- */
#wrapper:not(.front-page) .content-div {
    display: grid;
    grid-template-columns: 1fr [body] var(--wrapper-width) 1fr;
    margin-bottom: 115px;
}
#wrapper:not(.front-page) .content-div h2 {
    text-shadow: 2px 2px 0px var(--turquoise), var(--shadow-text);
    font-weight: 400;
    color: var(--bleu-roi);
    text-transform: uppercase;
    font-size: 40px;
    position: relative;
}
#wrapper:not(.front-page) .content-div h2:first-of-type {
    grid-column: body;
    padding: 0;
    margin: 38px 0;
}
#wrapper:not(.front-page) .content-div .full-width {
    grid-column: 1 / span 3;
}

.free-content {
    grid-column: body;
}

.free-content {
    font-size: 25px;
    font-weight: 100;
}
.free-content ul li {
    list-style: "-";
    padding-left: 20px;
}

.free-content p {
    margin: 0;
    padding-bottom: 20px;
}

.free-content h2, 
.free-content h3, 
.free-content h4,
.free-content h5 {
    font-weight: 400;
    color: var(--bleu-roi);
    text-transform: uppercase;
}

.free-content h3,
.free-content h4,
.free-content h5 {
    text-shadow: var(--shadow-text);
    text-shadow: 11px 11px 17px rgba(0, 0, 0, 34%);
    font-weight: 600;
    padding-top: 20px;
}

.free-content h4,
.free-content h5 {
    font-size: 26px;
}

.content-div .join-us {
    min-height: 70px;
    grid-column: body;
}

.wp-block-media-text {
    display: grid;
    grid-template-columns: 1fr 4fr;
    grid-template-rows: minmax(1fr, 358);
    row-gap: 20px;
    padding: 10px 0;
    margin: 20px 0;
}

.wp-block-media-text__media {
    box-shadow: 10px 10px 10px rgb(0 0 0 / 30%);
    overflow: hidden;
}

.yt-video iframe {
    width: 100%;
    height: calc(100vw * 0.56 );
}

@media (max-width: 1200px) {
    #wrapper:not(.front-page) .content-div {
        grid-template-columns: var(--mobile-margin) [body] 1fr var(--mobile-margin);
    }
    #wrapper:not(.front-page) .content-div .full-width {
        padding: 0 var(--mobile-margin);
    } 
}

@media (max-width: 1040px) {
    #wrapper {
        /* grid-template-rows: 0 auto; */
        grid-auto-rows: auto;
        grid-template-rows: auto;
    }
    #connect-Une-bloc {
        display: grid;
    }
}

@media (max-width: 600px) {
    :root{
        --mobile-margin: 0;
    }
}


/* ---- PAGE PROJET ---- */
#wrapper.projet #content {
    margin-bottom: 115px ;
}

#wrapper.projet #content > div:nth-of-type(1) {
    grid-column: body;
}
#wrapper.projet #content > div:nth-of-type(2) {
    grid-column: body;
}


/*----- Agenda -----*/
#wrapper.agenda-archive .content-div {
    grid-template-rows: minmax(30px,auto) auto;
    grid-template-areas: 
                        ". titre ."
                        ". contenu .";
}

#wrapper.agenda-archive .content-div > h2 {
    grid-area: titre;
}

#events-grid {
    display: grid;
    grid-area: contenu;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-rows: 1fr;
    grid-template-rows: 422px;
    grid-template-areas: "miseenavant miseenavant second";
    grid-column-gap: 80px;
    grid-row-gap: 150px;
}

#events-grid > * {
    justify-self: center;
}

#events-grid > div:first-child {
    grid-area: miseenavant;
}
#events-grid > div:nth-child(2){
    grid-area: second;
    align-self: end;
}


#wrapper.agenda-archive .event {
    height: 300px;
    width: 100%;
    background-color: var(--bleu-roi);
    position: relative;
}

#wrapper.agenda-archive .event .event-title {
    line-height: 23px;
}

#wrapper.agenda-archive .event .event-date {
    width: 70px;
    height: 109px;
}

#wrapper .event.first-element {
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas: 
                        "localisation titre"
                        "image description";
}

#wrapper .event.first-element h3 {
    z-index: 4;
}

#wrapper .event.first-element .event-title {
    align-self: start;
    padding: 15px 21px;
    font-size: 28px;
    line-height: 34px;
    color: #fff;
    background: transparent;
}

#wrapper .event.first-element .event-description {
    grid-area: description;
    padding: 0 21px;
    font-size: 23px;
    line-height: 26px;
    color: #fff;
    font-weight: 100;
}

#wrapper .event.first-element .event-image {
    grid-area: localisation / localisation / description ;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 9px 0 11px -5px rgb(0 0 0 / 30%);
}

.event-read-next {
    grid-area: titre / titre / description;
    position: relative;
}

.event-read-next > div {
    position: absolute;
    width: max-content;
    background: var(--bleu);
    padding: 8px 4%;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
}

.event-read-next a {
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 26px;
}

.event-tag {
    position: relative;
    grid-area: localisation / localisation / titre;
    text-transform: uppercase;
}

.event.first-element .event-tag {
    grid-area: localisation / localisation / description ;
}

.event-tag > div {
    position: absolute;
    background: var(--violet);
    padding: 9px 21px;
    color: #fff;
    border-radius: 12px;
    bottom: -24px;
    right: -30px;
    font-size: 12px;
}

.event.first-element .event-tag > div{
    right: -15px;
}

@media (max-width: 1200px)
{
    #wrapper .event.first-element .event-title {
        padding: 10px 21px;
        font-size: 24px;
        line-height: 30px;
    }
    #wrapper .event.first-element .event-description { 
        font-size: 22px;
        overflow: hidden;
    }
}

@media (max-width: 1040px)
{
    #events-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 
                            "miseenavant miseenavant"
                            "second .";
    }
    #wrapper.agenda-archive #content {
        padding: 0 30px;
    }
}

@media (max-width: 734px)
{
    #events-grid {
        grid-template-columns: 1fr;
        grid-template-areas: 
                            "miseenavant"
                            "second ";
        grid-auto-rows: 390px;
        grid-row-gap: 70px;
        margin: 10px 0;
    }
    #wrapper.agenda-archive .event {
        height: 100%;
    }

    #wrapper .event.first-element .event-title {
        font-size: 24px;
        line-height: 29px;
    }

    #wrapper .event.first-element .event-description {
        font-size: 21px;
    line-height: 25px;
    }
} 

@media (max-width: 660px)
{
    #events-grid {
        grid-template-rows: minmax(400px,auto);
    }

    #wrapper .event.first-element {
        grid-template-columns: 96px 1fr;
        grid-template-rows: auto minmax(400px, 1fr) auto auto;
        grid-row-gap: 10px;
        grid-template-areas: 
                            "localisation localisation"
                            "image image"
                            "calendar titre"
                            "description description";
    }

    #wrapper .event.first-element .event-image {
        grid-area: localisation / localisation / image;
    }

    #wrapper .event.first-element .event-description {
        padding-bottom: 42px;
        font-size: 23px;
        padding-top: 20px;
    }

    #wrapper .event.first-element .event-date {
        grid-area: calendar;
        position: initial;
        align-self: center;
        justify-self: center;
        background: var(--bleu);
        box-shadow: var(--shadow-1);
        border: none;
    }

    #wrapper .event.first-element .event-date > * {
        border: none;
    }

    #wrapper .event.first-element .event-title {
        font-size: 29px;
        line-height: 31px;
        text-shadow: var(--shadow-text);
        font-weight: 300;
    }

    .event-read-next {
        grid-area: calendar / calendar / description / descriptioncalendar-end;
    }

    #wrapper.agenda-archive .event:not(.first-element) .event-title {
        line-height: 25px;
        font-size: 25px;
        padding: 14px 10px 15px 50px;
    }

    #wrapper.agenda-archive #content {
        padding: 0;
    }

    .event.first-element .event-tag {
        grid-area: localisation / localisation / image-end;
    }
    .event.first-element .event-tag > div {
        right: -9px;
        bottom: -15px;
    }

    #wrapper .event.first-element  {
        grid-column: 1fr
    }
    
}

/* ------ single Agenda ----- */
#wrapper.agenda-single .content-div {
    grid-auto-rows: min-content;
    row-gap: 60px;
}

#wrapper.agenda-single .content-div h2 {
    grid-area: auto;
    grid-column: body;
}

#wrapper:not(.front-page) .content-div h2 .tag {
    box-shadow: 4px 2px 11px rgba(0, 0, 0, 34%);
    text-shadow: none;
    color: #fff;
    background: var(--violet);
    border-radius: 18px;
    font-size: 18px;
    padding: 12px 16px;
    position: absolute;
    left: 0px;
    bottom: 0px;
    transform: translateY(115%);
}
#wrapper.agenda-single .event-content-box {
    grid-column: body;
    display: grid;
    grid-template-columns: 400px 1fr;
    grid-template-rows: 400px min-content;
    grid-template-areas: "image information" ;
}
.event-image {
    grid-area: image;
    box-shadow: var(--shadow-1);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    max-height: 400px;
    
}
#wrapper.agenda-single .event-image {
    border: 20px solid #fff;
}
.event-information {
    grid-area: information;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content min-content auto;
    grid-template-areas:    
                        "lieu" 
                        "date" 
                        "info"; 
    padding: 20px;
}
.event-information .event-date {
    grid-area: date;
    font-size: 28px;
    color: var(--bleu-canard);
    font-style: italic;
}
.event-information .event-localisation {
    grid-area: lieu;
    font-size: 40px;
    color: var(--bleu-roi);
    font-weight: 600;
    text-shadow: var(--shadow-text);
    padding-bottom: 20px;
}

.event-information .event-more-about {
    grid-area: info;
    font-size: 28px;
    font-weight: 100;
    padding-top: 50px;
}

.event-description {
    grid-column: body;
    font-size: 25px;
    font-weight: 100;
}
.event-roadmap {
    display: grid;
    grid-template-columns: auto var(--wrapper-width);
    grid-template-rows: min-content minmax(140px,auto);
    grid-template-areas:    ". dl-content ."
                            ". dl-button .";
    background: var(--turquoise-clair);
    box-shadow: var(--shadow-double);
}

.event-roadmap > *:first-child {
    grid-area: dl-content;
    font-size: 28px;
    font-weight: 300;
}
.event-roadmap > *:nth-child(2) {
    grid-area: dl-button;
    display: flex;
    justify-content: center;
    align-items: center;
}
.event-register-in {
    grid-column: 2 / span 1;
}

@media (max-width: 800px)
{
    #wrapper.agenda-single .content-div {
        grid-row-gap: 80px;
    }
    #wrapper.agenda-single .event-content-box {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(264px, 350px);
        grid-auto-rows: min-content;
        grid-template-areas:
                            "image"
                            "information";
    }
    .event-information .event-more-about { 
        font-weight: 500;
    }

    .event-information {
        padding: 44px 0 0 0;
    }
}

/* ---- PAGE ADHESION ---- */
.why-join-in {
    grid-column: body;
}
.form-container {
    grid-column: body;
}
.form-container h3 {
    text-shadow: var(--shadow-text);
    color: var(--bleu-roi);
    font-size: 45px;
    font-weight: 500;
    margin: 180px 0 33px;
}

/* themosis forms */
[class *= 'form-container'] {
    width: 100%;
}
button.button {
    border: none;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-transform: uppercase;
    /* padding: 8px 19px; */
    padding: 16px 66px;
}

/*----------------*/

form.out-button {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: max-content;
    grid-column-gap: 35px;
    grid-row-gap: 46px;
}

.simple-col, .double-col {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: min-content;
    grid-row-gap: 9px;
    align-self: end;
}

.double-col {
    grid-column: 1 / span 2;
}

 .alert {
    background: rgb(255 255 255 / 67%);
    color: var(--violet-clair);
    font-size: smaller;
}

form  .m-item {
    display: grid;
    height: 0px !important;
    width: 0px !important;
    border: 0px transparent !important;
    overflow: hidden;
    position: absolute;
}

.out-button .hidden,
.hidden {
    display: none!important;
}

form.out-button label, 
form.out-button legend, 
form.out-button .form-title-section {
    text-shadow: var(--shadow-text);
    font-weight: 400;
    font-size: 30px;
    text-transform: uppercase;
}

form.out-button textarea,
form.out-button input,
form.out-button select {
    font-weight: 100;
}

form.out-button textarea {
    resize: vertical;
    border: none;
    box-shadow: var(--shadow-input);
    font-size: 22px;
    padding: 4px;
    box-sizing: border-box;
}

form.out-button input,
form.out-button select {
    box-shadow: var(--shadow-input);
}

form.out-button fieldset label {
    text-shadow: none;
    font-size: 28px;
    font-weight: 200;
    text-transform: initial;
}

form.out-button .form-subtitle label {
    font-size: 23px;
    font-weight: 200;
    text-transform: initial;
    text-shadow: initial;
}

form.out-button input:disabled {
    background-color: rgba(255, 255, 255, 60%);
    color: rgba(0, 0, 0, 55%);
    font-style: italic;
}

form.out-button .information {
    position: relative;
    background: var(--bleu);
    height: 30px;
    width: 30px;
    display: inline-block;
    margin-left: 12px;
    border-radius: 50%;
    box-shadow: var(--shadow-1);
    transform: translateY(7px);
    background-image: url(../images/icones/interrogation.svg);
    background-position: center center ;
    background-repeat: no-repeat;
    background-size: 20px 20px;
}

.information .bubble-info {
    clip-path: polygon(100% 0, 100% calc(100% - 15px), calc(100% - 31px) calc(100% - 15px), calc( 100% - 14px) 100%, calc(100% - 14px ) calc(100% - 15px), 0 calc(100% - 15px), 0 0);
    background: var(--violet);
    width: auto;
    height: auto;
    min-width: 120px;
    font-size: 12px;
    position: absolute;
    bottom: 100%;
    right: 2px;
    padding: 10px 10px 21px;
    text-transform: initial;
    border-top: #cfa8c2 2px solid;
    border-left: 2px #cfa8c2 solid;
    border-radius: 5px;
    display: none;
}

.information:hover .bubble-info {
    display: block;
}

form.out-button .add-one {
    background: var(--violet);
    height: 30px;
    width: 30px;
    display: inline-block;
    margin-left: 12px;
    border-radius: 50%;
    box-shadow: var(--shadow-1);
    background-image: url(../images/icones/plus.svg);
    background-position: center center ;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    align-self: center;
    justify-self: center;
    cursor: pointer;
}

form.out-button .multi-field {
    display: grid;
    grid-template-columns: 1fr 45px;
    grid-auto-rows: min-content;
    row-gap: 30px;
}

form.out-button .multi-field input {
    grid-column: 1 ;
}

form.out-button .sub-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 38px;
}

form.out-button .sub-fields .simple-col,  
form.out-button .sub-fields .double-col  {
    row-gap: 3px;
}

form.out-button .sub-fields .form-subtitle:not(:last-of-type) {
    margin-bottom: 30px;
}

form.out-button .bloc-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: max-content;
}

form.out-button .tel-container-grid {
    display: grid;
    grid-template-columns: 1fr 3fr;
    align-items: end;
    column-gap: 10px;
}

form.out-button fieldset {
    border: 0;
    padding: 21px 0;
    margin: 0;
}

form.out-button fieldset > :not(legend) {
    margin: 0 34px;
}

form.out-button .form-mandatory-info {
    font-size: 15px;
    font-style: oblique;
    text-align: right;
}

label.container {
    display: block;
    position: relative;
    padding-right: 40px;
    cursor: pointer;
    font-size: 22px;
    width: max-content;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Hide the browser's default radio button */
  label.container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
  }
  
  /* Create a custom radio button */
  .checkmark {
    position: absolute;
    top: 0;
    right: 0;
    height: 26px;
    width: 26px;
    background-color: #eee;
    border-radius: 50%;
    border: 2px solid var(--violet);
    box-shadow: var(--shadow-input-2);
  }
  
  /* On mouse-over, add a grey background color */
  label.container:hover input ~ .checkmark {
    background-color: rgb(226, 241, 255);
  }
  
  /* When the radio button is checked, add a blue background */
  label.container input:checked ~ .checkmark {
    background-color: #fff;    
  }
  
  /* Create the indicator (the dot/circle - hidden when not checked) */
  .checkmark:after {
    content: "";
    position: absolute;
    display: none;
  }
  
  /* Show the indicator (dot/circle) when checked */
  label.container input:checked ~ .checkmark:after {
    display: block;
  }
  
  /* Style the indicator (dot/circle) */
  label.container .checkmark:after {
    top: 3px;
    right: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--violet);
  }

  /* -- Checkbox -- */
  
.simple-col.no-grid, 
.double-col.no-grid {
    display: flex;
    direction: column;
}

.simple-col.no-grid [type="checkbox"], 
.double-col.no-grid [type="checkbox"] {
    order: -1;
}


[type="checkbox"]:not(:checked), 
[type="checkbox"]:checked {
	position: absolute;
	left: 0;
	opacity: 0.01;
}

/* Preparer le label */
[type="checkbox"]:not(:checked) ~ label,
[type="checkbox"]:checked ~ label {
	position: relative; 
	padding-left: 2.3em; 
	font-size: 1.05em;
	line-height: 1.7;
	cursor: pointer; 
}

/* Aspect de la case */
[type="checkbox"]:not(:checked) ~ label::before,
[type="checkbox"]:checked ~ label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1.4em;
	height: 1.4em;
	border: 1px solid #aaa;
	background: #FFF;
	border-radius: .2em;
	transition: all .275s;
}

[type="checkbox"]:not(:checked) ~ label::after,
[type="checkbox"]:checked ~ label::after {
	content: '✕';
	position: absolute;
	top: .48em;
	left: .08em;
	font-size: 1.6em;
	line-height: 0;
	transition: all .2s; 
    color: var(--bleu);
}

/* Aspect "non cochée" */
[type="checkbox"]:not(:checked) ~ label::after {
	opacity: 0;
	transform: scale(0) rotate(45deg);
}

/* Aspect "cochée" */
[type="checkbox"]:checked ~ label::after {
	opacity: 1;
	transform: scale(1) rotate(0);
}


/* ----------------- */

  @media (max-width: 1040px)
  {
    form.out-button,
    form.out-button .sub-fields {
        grid-template-columns: 1fr;
        padding-right: 0;
        padding-left: 0;
    }
    
    form.out-button fieldset {    
        border: 0;
        padding: 21px 0;
        margin: 0;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        row-gap: 22px;
    }

    form.out-button .bloc-container {
        display: flex;
        flex-direction: column;
    }

    form.out-button fieldset > *,
    form.out-button fieldset > :not(legend) {
        padding: 0 20px;
        margin: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .double-col {
        grid-column: 1;
    }


    .simple-col, 
    .double-col {
        display: block;
        padding: 0 20px; 
    }
    .simple-col > *, 
    .double-col > * {
        width: 100%;   
    }

    .sub-fields .double-col, 
    .sub-fields .simple-col {
        width: calc(100% - 40px);
    }
    
    form.out-button .form-mandatory-info {
        display: flex;
        justify-content: end;
        padding: 30px;
    }

    form.out-button .tel-container-grid {
        grid-template-columns: minmax(100px, 1fr) 2fr;
    }

    #quelles-assos,
    .bloc-container.form-choice-autre {
        width: auto;
    }


}

@media (max-width: 600px) {
    form.out-button fieldset {
        padding: 21px;
    }
    form.out-button fieldset > :not(legend) {
        margin: 0;
    }

    form.out-button .tel-container-grid {
        display: flex;
        flex-direction: column;
        row-gap: 15px;
    }

    #indicatif-tel,
    #tel {
        width: 100%;
    }
}

@media (max-width: 400px)
{
    .out-button {
        padding: 30px 30px 47px;
    }

    .out-button .button a, 
    .out-button .button span {
        text-align: center;
    }

    .event-tag > div {
        right: -19px;
    }

    .out-button h2, 
    .out-button h3 {
        font-size: 23px;
        line-height: 37px;
    }

    #wrapper:not(.front-page) .content-div h2:first-of-type {
        margin: 70px 0 38px;
    }

    #wrapper:not(.front-page) .content-div h2 {
        font-size: 36px;
    }

    #content.settings-content > div:nth-of-type(2) {
        margin-bottom: 10px !important;
    }
}

/* ------ PAGE CONTACT ------ */
#next-meet-event,
#contact-info-grid {
    grid-column: 1 / span 3;
    display: grid;
    grid-template-columns: 1fr [
                            body] repeat(2, calc( var(--wrapper-width) / 6)) 
                            [info] repeat(4, calc( var(--wrapper-width) / 6)) 
                            [fin-body] 1fr [fin];
    margin-bottom: 115px;
}

#contact-info {
    grid-column: 1 / span 3;
    grid-row-start: prez-end;
    margin-bottom: 115px;
}

/* #contact-info-grid {
    grid-row-start: prez-end;
} */

#contact-info-grid .deco-empty-bloc {
    grid-column: 1 / body;
}

#contact-info-grid .deco-image-bloc {
    background: left top url("../images/contact-bg.jpg") no-repeat;
    background-size: cover;
    grid-column: body / info;
    box-shadow: 0px 0px 100px rgba(0,0,0,20%) inset;
}
#contact-info-grid .deco-empty-bloc,
#contact-info-grid .deco-image-bloc {
    margin-right: 10px
}

#contact-info-grid .contact-info {
    grid-column: info / fin ;
    padding: 20px;
    font-size: 30px;
    font-weight: 100;
}

#contact-info-grid .contact-info h2,
#contact-info-grid .contact-info h3,
#contact-info-grid .contact-info h4 {
    font-size: 35px;
    line-height: 35px;
    margin: 0 0 20px 0;
    text-shadow: var(--shadow-text);
    font-weight: 500;
}

#contact-info-grid .contact-info strong {
    font-weight: larger;
}

#next-meet-event > h3 {
    color: var(--bleu-roi);
    margin: 0 0 28px;
    grid-column: body / fin-body;
    text-shadow: var(--shadow-input-2);
    font-size: 22px;
}

#next-meet-event .event {
    grid-column: body / info;
    justify-self: left;
    height: 308px;
    width: 95%;
}

#next-event-info {
    grid-column: info / fin-body;
    font-size: 25px;
    font-weight: 100;
}

#next-event-info > h4 {
    color: var(--bleu-roi);
    text-shadow: var(--shadow-1);
    font-size: 30px;
    font-weight: 600;
    margin: 0 0 20px;
    line-height: 30px;
}


/* --- Page Mon Compte ---*/
.alert {
    padding: 10px;
    font-size: 17px;
    font-weight: 200;
    margin: 0px 0;
    position:relative;
}

.alert.alert-success {
    background: #deeeef;
    border-left: 4px solid var(--bleu-canard);
    color:#16717b;
}
.alert.alert-error { 
    color: var(--violet-clair);
    background: rgb(187 153 176 / 49%);
    border-left: 4px solid var(--violet);
}


#logout {
    position: absolute;
    right: 9px;
    padding: 20px 20px 20px 60px;
    background: left center / auto 90% var(--violet) url(../images/icones/power-button_blanc.svg) no-repeat;
    color: #fff;
    border-radius: 40px;
    box-shadow: var(--shadow-1);
}
#logout  a {
    color: inherit;
    text-decoration: none;
}

#content.settings-content > * {
    grid-column: body;
}

#content.settings-content {
    row-gap: 30px;
}

#content.settings-content > div:not(.title-without-subtitle) {
    margin-bottom: 80px;
} 

#content.settings-content > div.title-without-subtitle > h2:first-of-type {
    margin-bottom: 0px;
} 

#content.settings-content .title-with-subtitle h3 ,
.title-with-subtitle h3
{
    color: var(--bleu-canard);
    font-style: italic;
    font-weight: 300;
    font-size: 28px;
    margin: 0;
}
#wrapper:not(.front-page)  #content .title-with-subtitle h2{
    margin-bottom: 3px;
} 

.account-grid {
    display: grid;
    grid-template-columns: 25% auto;
    column-gap: 28px;
}

#content .full-weight {
    grid-column: 1 / 4;
}

.sided-buttons {
    position: relative;
}

.sided-button-container {
    position: absolute;
    height: 100%;
    right: 30px;
    padding-top: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    row-gap: 24px;
}

.sided-buttons .side-button {
    position: sticky;    
    background-position: center center;
    background-size: 83%;
    background-repeat: no-repeat ;
    height: 80px;
    width: 80px;
    border-radius: 50%;
    top: 62px;
    z-index: 3;
    cursor: pointer;
}
.sided-buttons .side-button.pin {
    background-image: url(../images/icones/pin.svg);
}

.sided-buttons .side-button.archives-white {
    background-image: url(../images/icones/archives-white.svg);
    background-size: 70%;
    background-position-y: 13px;
}

.sided-buttons .side-button.share-white {
    background-image: url(../images/icones/share-white.svg);
    background-size: 60%;
    background-position-x: 11px;
}

.sided-buttons .side-button.gray {
    cursor: url(../images/icones/unpin.svg), pointer;
}

.wrapper {
    display: grid;
    grid-template-columns: auto [body] var(--wrapper-width) auto;
}

.wrapper > * {
    grid-column: body;
}

.wrapper > h3 {
    font-size: 28px;
    font-weight: 500px;
    color : #fff;
    text-shadow: var(--shadow-text);
    text-transform: uppercase;
}

.sponsorship-grid {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    grid-auto-rows: 60px;
    column-gap: 20px;
    row-gap: 10px;
    padding-bottom: 30px;
}

.sponsorship-grid > * {
    align-self: center;
    font-size: 28px;
    font-weight: 300;
}

.sponsorship-grid .new-line {
    position: relative;
    margin-left: 40px;
}
.sponsorship-grid .new-line::before {
    content: '';
    height:15px;
    width: 15px;
    position: absolute;
    left: -25px;
    top: 9px;
    background: #fff;
}

.sponsorship-grid .decline,
.sponsorship-grid .accept {
    padding: 10px 15px;
    cursor: pointer;
} 
.sponsorship-grid .accept {
    border: 1px solid var(--bleu);
}
.sponsorship-grid .accept:hover {
    background: var(--bleu-roi);
    border: 1px solid #fff;
}

.sponsorship-grid .decline {
    font-weight: 100;
     border: 2px solid #fff;
     border-radius: 8px;
}
.sponsorship-grid .decline:hover {
    background: rgb(255, 225, 0);
    color: black;
    border: 2px solid rgb(255, 225, 0);
    border-radius: 0px;
}


#avatar{
    background-image:url(../images/user_colored.svg);
    background-size: cover;
    background-position: center center;
    background-color: rgb(235, 235, 235);
    border: 15px solid #fff;
    /* width: 228px; */
    height: 344px;
    box-sizing: border-box;
} 
#avatar.avatar-edition {
    background-position: center 25%;
}

#account-image {
    grid-column: 1;
    position: relative;
}

#member-status {
    grid-column: 2;
    font-size: 23px;
    padding: 15px;
    font-weight: 200;
    position: relative;
}
.editable div.edit:hover {
    background-color: var(--violet-clair);
}
.editable div.edit {
    position: absolute;
    display: block;
    top: 10px;
    right: 10px;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    background-image: url(../images/icones/edit.svg);
    background-color:  var(--violet) ;
    background-position: center center;
    background-size: 68%;
    background-repeat: no-repeat;
    box-shadow: var(--shadow-2);
}
.editable div.edit a {
    display: block;
    height: 100%;
}


.double-buttons {
    display: flex;
    align-content: space-around;
    text-align: center;
}

.double-buttons:not(.to-statuate-articles) {
    min-width: 72%;
    max-width: 438px;
}

.double-buttons > *:first-child {
    margin-right: 15px;
}

.double-buttons > * {
    cursor: pointer;
}

.double-buttons.to-statuate-articles > * {
    min-width: 260px;
}

.account-info-modal {
    display: grid;
    grid-template-columns: 25% auto;
    column-gap: 20px;
    padding-bottom: 60px;
    min-height: 260px;
}
[id*='reader-proposition'].account-info-modal {
    grid-template-rows: minmax(322px, auto) minmax(100px, auto);
}
[id*="reader-proposition"] .comment {
    grid-column: 1 / span 2;
}
[id*="reader-proposition"] .comment textarea {
    width: 100%;
    box-sizing: border-box;
    font-size: 23px;
}
[id*="reader-proposition"] .comment h5 {
    margin-bottom: 15px;
    text-transform: uppercase;
    font-weight: 500;
    text-shadow: var(--shadow-text);
}

 .account-info-modal .info-image {
    background: #fff center center / cover url(../images/reader.jpg) no-repeat ;
}

.account-info-modal .alert-image {
    background: #fff center center/ cover url(../images/information.jpg)
}

.account-info-modal p strong {
    font-weight: 300;
}

.cotisation-status {
    position: absolute;
    bottom: -9px;
    right: -10px;
    padding: 8px 9px;
    border-radius: 15px;
    font-size: 13px;
    color: #fff;
    padding-left: 0;
}

.cotisation-status.paid {
    background: var(--bleu-roi);
}

.cotisation-status.unpaid {
    background: var(--violet);
}

.cotisation-status span {
    position: relative;
    z-index: 2;
    display: block;
    padding-left: 40px;
}

.cotisation-status span::before {
    content: '';
    padding: 4px;
    height: 28px;
    width: 28px;
    position: absolute;
    z-index: 3;
    left: 0px;
    border-radius: 50%;
    top: 50%;
    transform: translate(0, -50%);
    filter: drop-shadow(5px 5px 6px rgba(0,0,0,0.39));
}

.cotisation-status.paid span::before {
    background: center center var(--bleu) url(../images/icones/coche.svg);
}


.cotisation-status.unpaid span::before {
    background: center center var(--violet-clair) url(../images/icones/x.svg);
}

.account-information {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 10px; 
}

#content.settings-content > h3 {
    font-size: 45px;
    font-weight: 600;
    color: var(--bleu-roi);
    text-transform: uppercase;
    text-shadow: var(--shadow-text);
    margin: 0;
}

.events-container {
    width: 100%;
    display: flex;
    flex-flow: row;
    align-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-around;
    background: var(--turquoise-clair);
    padding: 40px;
    box-sizing: border-box;
    box-shadow: var(--shadow-double);
}

.pined-icone {
    position: absolute;
    background: center center / contain url(../images/icones/pinedArticle.svg);
    height: 35px;
    width: 35px;
    right: -8px;
    top: -8px;
    cursor: pointer;
}

.archive-lines {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    row-gap: 70px;
}

.archive-content h4 {
    margin: 0 0 18px;
    color: var(--bleu-roi);
    text-shadow: var(--shadow-2);
    text-transform: uppercase;
    font-weight: 500;
}

.line-archive {
    display: grid;
    grid-template-columns: 2fr 5fr;;
    min-height: 322px;
    column-gap: 30px;
}

.archive-image {
    background-color: #fff;
    background-size: cover;
    background-position: center center;
}

.archive-content p {
    margin: 0;
}

.archive-content p.hidden-text {
    max-height: 138px;
    overflow-y: hidden;
}

.archive-content p.shown-text {
    max-height: fit-content;
    max-height: -moz-fit-content;
    overflow-y: hidden;
}
.archive-content p.hidden-text.overed {
    position: relative;
    cursor: pointer;
}
.archive-content p.hidden-text.overed::after {
    content: '[...]';
    position: absolute;
    right:0;
    bottom: 0;
}

.blue .archive-content p.hidden-text.overed::after {
    background: var(--bleu);
}
.deep-blue .archive-content p.hidden-text.overed::after {
    background: var(--bleu-roi);
}
.black-pearl .archive-content p.hidden-text.overed::after {
    background: rgb(244,244,244);;
}

.sponsor-someone {
    padding-bottom: 80px;
}

/* ------ ARTICLES ------- */
.desk-3-col,
.tab-2-col,
.mob-1-col {
    grid-column: body;
    column-gap: 70px;
    /* row-gap: 122px; */
}

.article.first-el {
    display: grid;
    grid-template-columns: 2fr 3fr;
}

.desk-3-col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.row-340px-min {
    grid-auto-rows: minmax(340px, auto);
}

.desk-3-col .article:first-of-type {
    grid-column: 1 / span 3;
    min-height: 473px;
}


.article-image {
    height: 100%;
    background-position: center center;
    background-size: cover;
    position: relative;
}

.article-image .full-space-link {
    position: absolute;
    top: 0;
    left:0;
    width: 100%;
    height: 100%;
}

.article-title {
    position: absolute;
    bottom: 0;
    left: 0;
    min-height: 20px;
    background: rgba(250,250,250,63%);
    width: 100%;
    padding: 5px 20px;
    box-sizing: border-box;
    font-weight: 300;
    font-size: 23px;
}

.article-title h3 {
    font-weight: inherit;
    font-size: inherit;
}

.first-el .article-title h3 {
    font-weight: 500;
    font-size: 28px;
}

.article-description {
    font-size: 27px;
    font-weight: 200;
}
.article-description h4 {
    padding: 0;
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    text-shadow: var(--shadow-text);
}

.article-purpose-container {
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    background: rgba(255, 255, 255, 50%);
}

.article-purpose-container h4 {
    text-shadow: var(--shadow-text);
    padding-bottom: 0px;
    padding-top: 10px;
}

.article-purpose-container h4:first-child {
    padding: 0;
}

.article-purpose-container  div.post-article {
    width: var(--wrapper-width);
    margin: 142px auto 0;
    box-sizing: border-box;
}

.article-purpose-container  div.post-article  .nodisplay {
    height: 0;
    width: 0;
    overflow: hidden;
    position: absolute;
    left: -1000px;
}

.article-purpose-container .close {
    background: center / contain no-repeat url(../images/icones/x.svg);
    width: 50px;
    height: 50px;
    top:0;
    left: 0;
    cursor: pointer;
}

#purposed_article_title {
    width: 100%;
    padding: 2px;
    margin: 0 0 11px;
    border: 0px;
    box-sizing: border-box;
}

#purposed_article_summary {
    width: 100%;
    box-sizing: border-box;
    border: 0px;
}

#new-article-purposed {
    padding-bottom: 45px;
}

#new-article-purposed .white-upload,
#new-article-purposed .white-image {
    width: 96px;
    height: 96px;
    display: block;
    border-radius: 50%;
    margin: 0 auto;
    cursor: pointer;
}

#new-article-purposed > p {
    margin: 30px;
    margin-left: inherit;
    margin-right: inherit;
}

.only-rounded-button {
    height: 0;
    width: 0;
}

.only-rounded-button + p {
    padding-top: 41px;
    text-align: center;
    width: fit-content;
    width: -moz-fit-content;
    display: block;
    position: relative;
    transform: translateX(-50%);
    left: 50%;
    font-size: 20px;
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
}

#new-article-purposed .row-flex {
    width: 374px;
    margin: 0 auto;
}

@media (max-width: 400px)
{
    #new-article-purposed .row-flex {
        flex-direction: column !important;
        row-gap: 60px;
        width: 100%;
    }
}


/*--single--*/
.article-contenu h1,
.article-contenu h2,
.article-contenu h3,
.article-contenu h4,
.article-contenu h5,
.article-contenu h6 {
    color: var(--bleu-roi);
    text-shadow: var(--shadow-text);
    margin: 0 0 20px 0;
    text-transform: uppercase;
}

.article-contenu {
    font-size: 25px;
    font-weight: 100;
}

.single-article-grid {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.article-full-image{
    min-height: 540px;
    background: center center / cover;
} 

.desk-3-col .loading,
.desk-3-col .full-col {
    grid-column: 1 / span 3;
}

#load-more-container {
    margin-top: 80px;
}

#load-more {
    height: 40px;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    font-size: 28px;
    font-weight: 100;
    padding: 15px;
    cursor: pointer;
}
/* ----- ARCHIVES ------ */
.archive-grid {
    display : grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 80px;
    row-gap: 30px;
}

.archive-grid > * {
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.archive-grid > * > a {
    text-decoration: none;
    color: inherit;
    font-size: 28px;
    font-weight: 100;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

.archive-line.black {
    background: var(--noir-nav);
    color: #fff;
}

.archive-line.rounded
 {
    border-radius: 40px;
}

.archive-grid > *:hover {
    background: var(--gris-noir-connexion);
    color: #fff;
    transition: all 0.3s;
}

.archive-line input.full-size {
    width: 100%;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
    background: center right 10px / auto 50% no-repeat url(../images/icones/search.svg) #fff;
}

.suggestions-container {
    position: relative;
}

.suggestions-container .suggestions {
    width: 100%;
    padding: 10px;
    left: 0;
    background: var(--noir-nav-rgb);
    box-sizing: border-box;
    border: 1px solid rgb(229 229 229);
    box-shadow: var(--shadow-input-2);
    color: #fff;
    font-size: 29px;
    font-weight: 100;
    display: flex;
    flex-direction: column;
    row-gap: 20px;    
    position: absolute;
    top: 73px;
}

.suggestions-container .suggestions a {
    color: inherit;
    text-decoration: none;
}

#search-articles {
    border: 1px solid #f2f2f2;
}

/* -------- DOCUMENTS -------- */
.archive-grid.documents {
    grid-auto-rows: minmax(200px, auto);
    row-gap: 70px;
}
.document-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: stretch;
    padding: 15px;
}

.document-container h3 {
    margin: 10px 0 18px;
    text-shadow: var(--shadow-text);
    color: var(--bleu-roi);
    font-weight: 600;
    font-size: 28px;
    text-transform: uppercase;
}

.document-container p {
    font-size: 28px;
    font-weight: 100;
}

.document-container > *:first-child {
    width: 208px;
}

.document-container > * {
    text-align: left;
}

.document-container .archive-content {
    width: 100%;
    padding: 0 90px 0 0;
} 

.document-container .archive-image {
    height: 100%;
    padding: 10px;
    display: flex;
    box-sizing: border-box;
    background-size: auto 59%;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position-y: 15px;
    align-items: flex-end;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    text-transform: uppercase;
    color: var(--bleu-roi);
    font-size: 28px;
    font-weight: 400;
}

.archive-grid > *.document-container:hover, 
.archive-grid > *.document-container > a:hover {
    background-color: inherit;
    color: inherit
}

.document-container .rounded-button.deep-blue {
    background-color: var(--bleu-roi);
    right: 20px;
}


/* ----------------------- */
@media (max-width: 1200px) 
{
    .sided-button-container {
        position: absolute;
        height: auto;
        right: 30px;
        padding-top: 0;
        flex-direction: row;
        column-gap: 20px;
        justify-content: flex-end;
    }

    .sided-buttons .side-button {
        position: sticky;
        height: 60px;
        width: 60px;
        top: 123px;
        margin-top: 50px;
    }
}

@media (max-width: 1040px) 
{
    #next-meet-event, #contact-info-grid {
        grid-template-columns:  1fr [ body] repeat(3, 1fr) [info] repeat(4, 1fr) [fin-body] 1fr [fin];
    }


    .wrapper {
        box-sizing: border-box;
        padding: 20px;
    }

    .sponsorship-grid {
        display: flex;
        flex-direction: column;
        row-gap: 18px;
    }

    .sponsorship-grid > * {
        align-self: center;
        width: 80%;
        justify-self: center;
    }

    .sponsorship-grid .new-line {
        margin-left: 37px;
        width: 90%;
        padding-top: 0px;
    }


    .events-container {
        row-gap: 30px;
        flex-flow: column;
    }

    .sponsorship-grid .accept {
        margin-bottom: 30px;
    }

    .tab-2-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .tab-2-col .article:first-of-type {
        grid-column: 1 / span 2;
    }

    .tab-2-col .loading,
    .tab-2-col .full-col
    {
        grid-column: 1 / span 2;
    }

    .sided-button-container {
        column-gap: 10px;
    }
    
    .sided-buttons .side-button {
        height: 48px;
        width: 48px;
    }

    .sided-buttons .side-button.archives-white {
        background-size: 62%;
    }

    .sided-buttons .side-button.share-white {
        background-size: 53%;
    }

}

@media (min-width: 800px) and (max-width: 1024px)
{
    #content.settings-content .events-container .event {
        width: 69%;
        height: 366px;
    }
}

@media (max-width: 800px) 
{
    br.mobile {
        display: initial;
    }
    #next-meet-event, #contact-info-grid {
        grid-template-columns:  var(--mobile-margin) [ body] 1fr [fin-body] var(--mobile-margin) [fin];
    }

    #contact-info-grid .deco-empty-bloc {
        display: none;
    }

    #contact-info-grid .deco-image-bloc {
        display: none;
    }

    #contact-info-grid .contact-info {
        grid-column: 1 / fin;
        font-size: 27px;
    }

    #next-meet-event > h3 {
        font-size: 29px;
        font-weight: 500;
    }

    #next-meet-event .event,
    #next-event-info {
        grid-column: body / fin-body;
        justify-self: center;
    }

    #next-event-info > h4 {
        margin-top: 40px;
    }

    /*-----*/
    #content.settings-content > h3 {
        font-size: 33px;
        padding: 0 20px;
    }
    .account-grid {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }

    .account-information {
        grid-template-columns: 1fr;
    }

    #member-status {
        grid-column: 1;
    }

    .cotisation-status {
        right: 2px;
    }

    .account-info-modal {
        grid-template-columns: 1fr;
        grid-template-rows: 300px auto;
        row-gap: 28px;
        padding-bottom: 102px;
    }

    [id*="reader-proposition"] .comment {
        grid-column: 1 / 2;
    }

    .editable div.edit {
        position: absolute;
        display: block;
        top: 10px;
        right: 10px;
        height: 40px;
        width: 40px;
        border-radius: 50%;
        background-image: url(../images/icones/edit.svg);
        background-color: var(--violet);
        background-position: center center;
        background-size: 68%;
        background-repeat: no-repeat;
        box-shadow: var(--shadow-2);
    }


    .article.first-el {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(340px, 1fr) auto;
    }

    .account-information  .titre > strong {
        margin-top: 30px;
        display: block;
    }

    .account-information div:nth-child(2) > strong {
        margin-top: 0
    }

    .out-button > .button.double-buttons {
        width: 90%;
        flex-flow: column;
        row-gap: 8px;
        bottom: 30px;        
    }

    [id*='reader-proposition'].out-button > .button.double-buttons {
        grid-column: 1 / 2;
        width: 100%;
    }

    .double-buttons > :first-child {
        margin: 0;
    }

    .line-archive {
        grid-template-columns: 1fr;
        grid-template-rows: 322px auto;
        row-gap: 30px;
    }

    .pined-icone {
        right: -2px;
        top: -11px;
    }

    .mob-1-col {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mob-1-col .article:first-of-type {
        grid-column: 1 ;
    }

    .mob-1-col .loading,
    .mob-1-col .full-col
     {
        grid-column: 1 ;
    }

}