/* Mobile
*********************************/

/* Colors
................................*/

:root{
    --body-color: #fff;
    --body-bg: #0f1418;
    --header-color:#fff;
    --header-bg:#022a40;
    --footer-color:#fff;
    --footer-bg:#000;

    /* table */

    --table-th-color: #fff;
    --table-th-bg: #001c32;

    --table-color: #fff;
    --table-bg: #161d23;

    --table-td-color: #fff;
    --table-td-color-hover: #fff;
    --table-td-bg: #161d23;
    --table-td-bg-hover: #161d23;

    --table-tr-color: #fff;
    --table-tr-color-hover: #fff;
    --table-tr-bg: #161d23;
    --table-tr-bg-hover: #24303a;

    /* border */

    --border-dotted-grey: 1px dotted #aaa;

    /* button/link */

    --edit-color: #000;
    --edit-bg: orange;
    --edit-hover-color: #000;
    --edit-hover-bg: #fdcb6d;

    --new-color: #283908;
    --new-bg: #85bc17;
    --new-hover-color: #283908;
    --new-hover-bg: #deff9b;

    --delete-color: #fff;
    --delete-bg: #ff6347;
    --delete-hover-color: #000;
    --delete-hover-bg: #fe9886;

    --normal-color: #fff;
    --normal-bg: #115a82ff;
    --normal-hover-color: #fff;
    --normal-hover-bg: #3593c6ff;

    --grey-color:  #fff;
    --grey-bg:  #13191e;
    --grey-hover-color: #fff;
    --grey-hover-bg: #022a40;

    /* form */

    --form-color: #161d22;
    --form-bg: #161d22;
    --form-field-bkg:#24303a;
    --form-color: #fff;
    --form-label: #fff;

    /* climate */

    --location-color: #fff;
    --location-bg: #182026;
    --location-hover-color: #fff;
    --location-hover-bg:#063955;
    --climate-label: #aaa;
    --climate-grey: #888;
    --climate-strong-blue: #001c32;

    /* info */

    --info-fig-caption-color:#fff;
    --info-fig-caption-bg: rgba(0,0,0,0.75);
    --info-content-a-color: #fff;

    /* videos */

    --video-wrapper-color: #fff;
    --video-wrapper-bg: #001c32;

    /* Messenger */

    --messenger-wrapper-color:#fff;
    --messenger-wrapper-bg:none;
    --messenger-li-color:#fff;
    --messenger-li-bg: #13191e;

    /* modules*/

    /*...... menu */

    --menu-nav-ul-bg: #000910;
    --menu-nav-ul-ul-bg: #00121f;
    --menu-nav-ul-li-a-color: #fff;
    /*--menu-nav-ul-li-a-bg:*/
    --menu-nav-ul-li-a-hover-bg: #001c32;
    --toggle-menu-color:#fff;
    --toggle-menu-bg:#001c32;
    --close-menu-color:#fff;
    /*--close-menu-bg:;*/

    /*...... theme toggle */

    --theme-toggle-bg:#0f1418;
    /*--theme-toggle-color:;*/

    /*...... totop */

    --to-top-color:#fff;
    --to-top-bg:#115a82ff;
    --to-top-hover-color:#fff;
    --to-top-hover-bg:#3593c6ff;

    /*...... dropdown-connect */

    --a-toggle-connect-color: #fff;
    --a-toggle-connect-bg: #0f1418;
    --dropdown-connect-bg:#022a40;
    --dropdown-connect-li-a-color: #fff;
    --dropdown-connect-li-a-hover-color:#fff;

    /*...... tabs */
    --tab-bg:#022a40;
    --tab-color:#fff;

    --tab-hover-color:#000;
    --tab-hover-bg: #3593c6ff;
    --tab-active-color:#fff;
    --tab-active-bg: #001c32;

    /*...... modals */
    --modal-trigger-color: #fff;
    --modal-trigger-bg: none;
    --modal-trigger-hover-color: #fff;
    --modal-trigger-hover-bg: #182026;
    --modal-content-bg:#161d22;
    --modal-close-color:#fff;
    --modal-close-bg:none;

    /*...... pagination */

    --pagination-span-bg: #022a40;
    --pagination-span-current-color: #fff;
    --pagination-span-current-bg: #0e5d87;
    --pagination-span-a-color: #fff;
    --pagination-span-hover-bg: #0e5d87;

    /*...... accordion */

    --accordion-bg: #001c32;
    --accordion-color: #fff;
    --accordion-active-bg: #012f52;
    --panel-bg: #13191e;
    --accordion-after-color: #777;

    /* chart.js */
    --chart-bg: rgba(53, 147, 198, 0.2);
    --chart-border:#3593c6ff;
    --chart-label-color: #fff;
    --chart-title-color:#fff;
    --chart-grid-border:green;
    --chart-grid-border-color:#222;
    --chart-ticks-color:#444;

    --chart-bg-lite: rgba(53, 147, 198, 0.2);
    --chart-border-lite:rgb(81, 174, 224);
    --chart-label-color-lite: #222;
    --chart-title-color-lite:#222;
    --chart-grid-border-lite:red;
    --chart-grid-border-color-lite:#222;
    --chart-ticks-color-lite:#222;
}

/* Layout
................................*/

* {
    box-sizing: border-box;
}
html, body{
    height: 100%;
    margin: 0;
    padding: 0;
}
body{
    display: flex;
    flex-direction: column;
    font-size: 16px;
    font-family: sans-serif;
    background: var(--body-bg);
    color: var(--body-color);
    overflow-y: scroll;
    scroll-behavior: smooth;
    line-height: 1.8;
    width: 100%;
}
.content{
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1 0 auto;
    padding: 0;
    margin: 0;
}
header{
    background-color: var(--header-bg);
    display: flex;
    justify-content: center;
    padding: 40px;
}
main{
    padding: 40px 20px 100px;
}
footer{
    font-size: 0.8rem;
    background: var(--footer-bg);
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    padding: 40px;
}
@media (min-width: 768px) {
    main {
        max-width: 1290px;
        margin: 0 auto;
        width: 100%;
    }
}
.page{
    display: flex;
    width: 100%;
}
.main{
    flex: 3; /* prend 2 parts */
    padding: 20px;
}
.aside{
    flex: 1; /* prend 1 part */
    padding: 20px;
}
@media (max-width: 768px) {
    .page{
        flex-direction: column-reverse;
        display:flex;
    }
    .main,
    .aside {
        flex: none; /* On annule les ratios pour un empilement naturel */
        width: 100%;
    }
}

/* Fonts
................................*/

@font-face{
    font-family: 'oswaldregular';
    src: url("../fonts/osswalder-webfont-_bq5FYc.woff2") format('woff2'),
         url("../fonts/osswalder-webfont-Uhfq2Ws.woff") format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Style
................................*/

h1,h2,h3{
    font-family: 'oswaldregular', sans-serif;
}
h1{
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    h1, h2{
        text-align: left
    }
}
h2:first-of-type{
    margin-top: 0;
    margin-bottom: 40px;
}
h2{
    font-size: 2rem;
    text-align: center;
    border-bottom: var(--border-dotted-grey);
    margin-top: 40px;
    margin-bottom: 40px;
}
h3{
    font-size: 1.6rem;
    line-height: 1.4;
}
h4{
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 20px;
}
p{
    margin: 10px 0;
}
a{
    text-decoration: none;
    cursor:pointer;
}

/* Customs
................................*/

.site-name{
    font-family: 'oswaldregular', sans-serif;
    color: var(--header-color);
    font-size: 1.4em;
    padding: 8px 10px;
}
header .logo{
    display: flex;
}
header .logo img{
    width: 50px;
    height: 50px;
    margin-top: 5px
}

/* table & table responsive
................................*/

.table-responsive {
    width: 100%;
    overflow-x: auto;
}
.table-responsive table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}
.table{
    /*color: var(--table-color);
    background: var(--table-bg);*/
    margin: 40px 0;
    font-size: 0.9em;
}
table th{
    color: var(--table-th-color);
    background: var(--table-th-bg);
    padding: 10px;
    text-align: left;
}
table td{
    padding: 10px;
    /*color: var(--table-td-color);
    background: var(--table-td-bg);*/
    border-bottom: var(--border-dotted-grey);
    vertical-align: baseline !important;
    text-align: left;
}
table tr:hover{
    background: var(--table-tr-bg-hover);
}
table .group_link{
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2px;
}
/* table show */
.show-table th{
    text-align: left;
    min-width: 240px;
}
.sort{
    display: flex;
    text-align: right;
    max-width: 100%;
    padding: 20px;
    border-radius: 4px;
}
.sortable, .desc, .asc{
    display: inline-block;
    color: var(--normal-color);
    background: var(--normal-bg);
    padding: 2px 10px;
    border-radius: 4px;
    margin-top: 2px;
}
.sortable:hover, .desc:hover, .asc:hover{
    color: var(--normal-hover-color);
    background: var(--normal-hover-bg);
}
/* Align content Center/Right/Left
................................*/

.flex-row-start{
    display: flex;
    justify-content: start;
    margin: 20px 0;
}
.flex-row-center{
    display: flex;
    justify-content: center;
    margin: 20px 0;
}
.flex-row-end{
    display: flex;
    justify-content: end;
    margin: 20px 0;
}
.flex-column-start{
    display: flex;
    flex-direction: column;
    justify-content:end;
    margin: 20px 0;
}
/* Button & link
................................*/

a.simple{
    color: var(--normal-hover-bg);
}
a.simple:hover{
    color: var(--normal-bg);
}

a.link.normal{
    color: var(--normal-color);
    background: var(--normal-bg);
    padding: 10px 18px;
    border-radius: 4px;
}
a.link.normal:hover{
    background: var(--normal-hover-bg);
}
a.link.warning{
    color: var(--edit-color);
    background:var(--edit-bg);
    padding: 9px 16px;
    border-radius: 4px;
}
a.link.warning:hover{
    background: var(--edit-hover-bg);
}
p.info,
p.note,
p.danger,
p.success,
p.warning{
    padding: 20px;
    border-radius: 4px;
}
button.link.danger{
    color: var(--delete-color);
    background: var(--delete-bg);
    padding: 16px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
button.link.danger:hover{
    background: var(--delete-hover-bg);
}
button.link.normal{
    color: var(--normal-color);
    background: var(--normal-bg);
    padding: 12px 18px;
    border: none;
    border-radius: 4px;
}
button.link.normal:hover{
    color: var(--normal-hover-color);
    background: var(--normal-hover-bg);
    padding: 12px 18px;
    border-radius: 4px;
}
button.link.grey{
    color: var(--grey-color);
   background: var(--grey-bg);
    padding: 12px 18px;
    border: none;
    border-radius: 4px;
}
button.link.grey:hover{
    color: var(--grey-color);
    background: var(--grey-hover-bg);
    padding: 12px 18px;
    border-radius: 4px;
}
a.link.grey{
    color: var(--grey-color);
    text-decoration: none;
    padding: 10px 20px;
    background: var(--grey-bg);
    width: 100%;
}
a.link.grey:hover{
    color: var(--grey-hover-color);
    text-decoration: none;
    padding: 10px 20px;
    background: var(--grey-hover-bg);
}
.danger{
    color: var(--delete-color);
    background: var(--delete-bg);
}
.danger:hover{
    color: var(--delete-hover-color);
    background: var(--delete-hover-bg);
}
.warning{
    color: var(--edit-color);
    background: var(--edit-bg);
}
.warning:hover{
    color: var(--edit-hover-color);
    background: var(--edit-hover-bg);
}
.success{
    color: var(--new-color);
    background: var(--new-bg);
}
.success:hover{
    color: var(--new-hover-color);
    background: var(--new-hover-bg);
}

/* logs
................................*/
.log-info{color: #fff;background:#0e5d87; }
.log-notice{color: #fff;background: #5a1187;}
.log-error{color: #fff;background: tomato;}
.log-critical{color: #fff;background: #921515;}
.log-php{color: #fff;background: #2c5998;}
.log-deprecation{color: #000;background: #ff9900;}

/* Form
................................*/

.form-wrapper{
    font-size: 1.2rem;
    display: flex;
    width: 100%;
    justify-content: center;
}
.form-wrapper form{
    width: 100%;
}
.form-wrapper form label{
    color: var(--form-color) !important;
}
.form-wrapper form input[placeholder]{
    font-size: 1.2rem;
    font-style: italic;
    text-align: left;
}
.form-wrapper input[type="number"]{
    /*width: 33,333333%;*/ /*width: calc(100%/3);*/
}
.form-wrapper form input[type=email],
.form-wrapper form input[type=text],
.form-wrapper input[type="password"],
.form-wrapper form select,form textarea,
.form-wrapper form #contact_recaptcha
{
    display: flex;
    width: 100%;
    justify-content: center;
}
.form-wrapper form select,
.form-wrapper form textarea,
.form-wrapper form button,
.form-wrapper form input[type=email],
.form-wrapper form input[type=text],
.form-wrapper input[type="number"],
.form-wrapper input[type="password"]{
    font-size: 1.2rem;
    color: var(--form-color);
    background: var(--form-field-bkg);
    padding: 10px;
    margin: 5px 0 5px;
    border: none;
    border-radius: 4px;
}
.form-wrapper form textarea{
    margin-bottom: 20px;
}
.form-wrapper form button{
    color: var(--form-color);
    background: var(--form-field-bkg);
    border: none;
    border-radius: 4px;
    margin-top: 20px;
}
.form-wrapper form select:focus,
.form-wrapper form button:focus,
.form-wrapper form textarea:focus,
.form-wrapper form input:focus {
    outline: none;
    border: none;
    box-shadow: none;
}
@media (min-width: 768px) {
    .form-wrapper form #contact_recaptcha,
    .form-wrapper form .submit{
        justify-content: end;
    }
}

/* Home
................................*/

ul.aside-menu{
    display: flex;
    flex-direction: column;
}
.aside-menu li{
    display: flex;
    text-align: center;
    width: 100%;
    margin: 2px 0;
}
.aside-menu li a{
    color: var(--grey-color);
    text-decoration: none;
    padding: 10px 20px;
    background: var(--grey-bg);
    width: 100%;
}
.aside-menu li a:hover{
    color: var(--grey-hover-color);
    text-decoration: none;
    padding: 10px 20px;
    background: var(--grey-hover-bg);
}

/* Climate location & meteo
................................*/

.flex-row-center{
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: center;
}
.dayly{
    font-size: 16px;
    text-align: center;
    margin: 5px 0;
    border-radius: 4px;
}
.hourly{
    width: calc(93% / 2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 5px 0.5% 20px;
    border-radius: 4px;
    padding: 0px
}
.weekly{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    margin: 5px 0;
    border-radius: 4px;
}

@media (min-width: 968px) {
    .hourly{
        width: calc(93% / 6);
    }
    .weekly{
        width: calc(96% / 3);
    }
}
@media (min-width: 768px) and (max-width: 967px) {
    .hourly{
        width: calc(93% / 3);
    }
    .weekly{
        width: calc(96% / 2);
    }
}
.location{
    background: var(--location-bg);

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 5px 25px;
    border-radius: 4px;
    margin-top: 2px;
}
.location a{
    color: var(--location-color);
    width: 100%;
}
.location:hover{
    color:  var(--location-hover-color);
    background: var(--location-hover-bg);
}
.location button{
    padding: 6px 13px;
    border: none;
    border-radius: 4px;
}
.suggestion{
    padding: 5px;
    background:  var(--location-bg);
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    cursor: pointer;
}
.suggestion:hover,
.location button:hover{
    background:  var(--normal-bg);
    cursor:pointer;
}
.date{
    font-size: 1.4rem;
    font-weight: 600;
    font-family: 'oswaldregular', sans-serif;
    text-align: center;
    background: var(--location-bg);
    margin: 20px 0 5px;
    padding: 6px 20px;
    border-radius: 4px;
}
.time{
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    font-family: 'oswaldregular', sans-serif;
    background: var(--location-bg);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px 0;
    padding: 7px 0px 0px;
    width: 100%;
}
.weather-code{
    display: inline-block;
    color: var(--normal-hover-bg);
    font-size: 40px;
    text-align: center;
    border-radius: 4px;
}
.dayly .weather-code{
    color: var(--new-bg);
    font-size: 80px;
    text-align: center;
    border-radius: 4px;
}
.label{
    font-size: 1.3rem;
    font-family: 'oswaldregular', sans-serif;
    text-align: center;
    color: var(--climate-label);
    line-height: 1.2;
    width: 100%;
    border-bottom: 1px dotted var(--border-dotted-grey);
    padding: 20px 0 20px;
    margin-bottom: 10px;
}
.precipitation,
.temperature{
    text-align:center;
    font-size: 1.3rem;
    color: var(--climate-grey);
}
.geografy{
    background: var(--location-bg);
    margin: 20px 0 5px;
    padding: 10px 20px;
    border-radius: 4px;
}
#form-result{
    background:  var(--climate-grey);
    z-index: 9999;
}
#city-form div{
    display: flex;
}
#city-form{
    display: flex;
    flex-direction: column;
    justify-content:start;
    margin: 20px 0;
    border-radius: 4px;
}
#city-form input[placeholder] {
    font-size: 1.2rem;
    font-style: italic;
}
#city-form input[type=text] {
    color: var(--location-color);
    text-align: center;
    background: none;
    width: 100%;
    padding: 10px 5px;
    border: none;
    border-radius: 4px;
}
#city-form input:focus {
    outline: none;
    border: none;
    box-shadow: none;
}
#city-form button{
    font-size:1.2rem;
}
.modal-content i{
    padding-right: 5px;
}
.modal-content{
   background: var(--climate-strong-blue);
   text-align: left;
}

/* Infos / news
................................*/

.info {
    display: flex;
    flex-direction: column;
    align-items: center; /* ccenter img and txt */
    margin-bottom: 0px;
    text-align: center;
}
.info figure {
    position: relative;
    display: block;
    margin: 0 auto;
    max-width: 100%;
}
.info figure img {
    width: 320px;
    height: 240px;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0 auto;
}
.info figure figcaption {
    font-size: 0.9rem;
    color: var(--info-fig-caption-color);
    background: var(--info-fig-caption-bg);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 6px 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: none;
    z-index: 1;
    overflow-wrap: break-word;
    box-sizing: border-box;
}
.info .info_content {
    padding: 20px 0;
    max-width: 380px;
    text-align: left;
}
.info .info_content a{
    color: var(--info-content-a-color);
}
.info .info_content h3 {
    font-size: 2rem;
    line-height: 1.3;
    padding: 0 20px 0;
    max-width: 380px;
    text-align: center;
}
/* Content date, category, lang, source div, author div*/
.info > .info_content > div:nth-of-type(1){
    font-size: 1.1rem;
    padding: 20px 0;
    text-align: center;
}
/* Content description  */
.info .info_content > div:nth-of-type(2){
    font-size: 1.1rem;
    padding: 0 0 0;
    text-align: left;
}
.info > .info_content > div:nth-of-type(3){
    font-size: 1rem;
    padding: 20px 0 0;
    font-style: italic;
}
.info figure figcaption.show {
    display: block;
    opacity: 1;
}

/* Search form */

.search-form{
    display: flex;
    gap: 5px;
    align-items: center;
}
.search-form input{
    position: relative;
    display: block;
    padding: 12px !important;
}
.search-form button{
    margin-top: 4px !important;
}
@media (min-width: 768px) {
    .info{
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        max-width: 1290px;   /* max layout */
        width: 100%;
        margin: 0 auto;      /* center block */
        gap: 20px;           /* space between img and txt */
        margin-bottom: 40px;
    }
    .info figure {
        position: relative;
        display: inline-block;
    }
    .info .info_content {
        flex: 1;
        padding: 0;
        max-width: none;
    }
    .info .info_content h3{
        text-align: left;
        padding: 0;
        max-width: none;
    }
    /* date, category, lang, source div, author div*/
    .info .info_content > div:nth-of-type(1),
    .info .info_content > div:nth-of-type(2),
    .info .info_content > div:nth-of-type(3) {
        text-align: left;
    }
}

/* Videos
................................*/

.videos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: stretch;
    width: 100%;
    gap: 6px;
}

.videoWrapper{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: start;
    align-items: stretch;
    color: var(--video-wrapper-color);
    background: var(--video-wrapper-bg);
    text-align: center;
    margin: 20px 0;
    min-height: 420px;
    padding: 0 0 20px;
}
.videoWrapperSimple {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
}
.videoWrapperSimple iframe{
    width: 100%;
    height: auto
}
.video iframe{
    padding-top: 20px;
}
.video .duration{
    margin: 0 0 20px;
}
.video .link{
    margin-top: 20px ! important;
}
.channel-menu{
    display: flex;
    flex-wrap: wrap;
    border-radius: 4px;
    margin: 40px 0;
    gap: 5px;
}
#youtube_link{
    padding: 15px 20px;
    margin-top: 20px;
    margin-right: 4px;
}
@media (min-width: 961px) {
    .videoWrapper {
        width: calc(100% / 3);
        width: 300px;
    }
    .videoWrapper .youtube-iframe{
        width: 280px;
        height: 280px;
    }
     .videoWrapperSimple iframe{
        width: 920px;
        height: 480px;
    }
}
@media (max-width: 960px) {
    .videoWrapper {
        width: calc(100% / 2);
        width: 380px;
    }
    .videoWrapper .youtube-iframe{
        width: 100%;
        height: 280px;
    }
    .videoWrapperSimple iframe{
        width: 640px;
        height: 380px;
    }

}
@media (max-width: 768px) {
    .videoWrapper {
        width: 360px;
    }
    .videoWrapper .youtube-iframe{
        width: 100%;
        height: 260px;
    }
    .videoWrapperSimple {
        width: 100%;
    }
    .videoWrapperSimple iframe{
        width: 100%;
        height: 240px;
    }
.videoHome{
    flex-direction: column;
    flex-wrap: nowrap;
}
    .videoHome .videoWrapper{
 width: 360px;
    }
}

/* Messenger
................................*/

button#reload-btn{
    font-size: 1.4em;
    border: none;
    padding: 5px 10px;
    margin: 14px 0;
    cursor: pointer;
    float: right;
    border-radius: 4px;
}
i.accept{}
i.signal{
    padding-left: 2px;
}
i.delete{
    padding-left: 5px;
}
.aside h3{
    font-size: 1.6rem;
    margin: 20px 0;
}
.message-wrapper{
    color: var(--messenger-wrapper-color);
    background: var(--messenger-wrapper-bg);
}
.message-wrapper small{
    font-size: 0.8em;
    display: block;
    padding-bottom: 20px;
}
.message-wrapper li{
    background: var(--messenger-li-bg);
    margin: 5px 0;
    padding: 20px;
}
.message-wrapper li h3{
    font-size: 1.2rem;
}
form#friend{
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
form#friend select{
    display: block;
    width: 250px;
    font-size: 0.9rem;
    margin-top: 20px;
    padding: 12px 20px;
    cursor: pointer;
}
form#friend button.link.normal{
    padding: 8px 10px;
    cursor: pointer;
    width: 40px;
    margin-left: 4px;
}
form#friend .flex-row-start{
    padding: 0;
    margin: 0;
}
.contact-menu{
    width: auto;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    margin: 20px 0 40px;
}

/* RGPD/Sources
................................*/
.rgpd-1{flex-direction:column;order: 2;}
.rgpd-2{flex-direction:column;order: 1;}


@media (min-width: 768px) {
.rgpd-1{flex-direction:column;order: 1;}
.rgpd-2{flex-direction:column;order: 2;}
}
/* Modules
***********************************/

/* Menu
................................*/

#menu{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow-y: auto;
}
nav ul{
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    background: var(--menu-nav-ul-bg);
    -webkit-box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.66);
    box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.66);
}
nav ul ul{
    position: relative;
    display: none;
    flex-direction: column;
    background:var(--menu-nav-ul-ul-bg);
    width: 100%;
}
nav ul li{
    width: 100%;
}
nav ul li a{
    display: block;
    padding: 20px 20px;
    width: 100%;
    background: none;
    text-decoration: none;
    text-align: center;
    color: var(--menu-nav-ul-li-a-color);
}
nav ul li a:hover{
    width: 100%;
    background: var(--menu-nav-ul-li-a-hover-bg)
}
#nav.hidden{
    display: none;
}
.dropdown {
    display: none;
}
.arrow{
    padding:0 10px;
}
.has-dropdown.open + .dropdown {
    display: flex;
}
.has-dropdown .arrow {
    position: absolute;
    display: inline-block;
    transition: transform 0.3s ease;
}
.has-dropdown.open .arrow {
    transform: rotate(180deg);
}

@media (min-width: 960px) {
   #menu{
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        height: auto;
        overflow-y: unset;
    }
    nav ul {
        flex-direction: row;
        justify-content: space-around;
    }
    nav ul ul{
        position: absolute;
        display: flex;
        flex-direction: column;
        margin-top: 0;
        padding: 0;
        margin: 0;
        width: 300px; /* width  */
    }
    nav ul ul li {
        width: 100%;
    }
    nav ul ul li a {
        width: 100%;
        text-align: left;
        padding: 20px;
        display: block;
    }
    nav ul li{
        width: 100%;
        padding: 0 0;
    }
    nav ul li ul li{
        padding: 0;
    }
    nav ul li a{
        flex-wrap: nowrap;
        padding: 20px 20px;
        width: 100%;
        background: none;
        text-decoration: none;
        width: 100%;
    }
    nav ul li a:hover{
        width: 100%;
    }
    nav ul ul:first-of-type{
        padding: 0;
        margin: 0 0;
    }
    #nav.hidden{
        display: flex;
    }
}

/* Button theme, close/open menu
................................*/

#toggleMenu{
    font-size: 1.8em;
    color:var(--toggle-menu-color);
    display: flex;
    position: fixed;
    top: 40px;
    left: 20px;
    text-decoration: none;
    padding: 2px 13px;
    background: var(--toggle-menu-bg);
    z-index: 99999999;
}
#closeMenu{
    font-size: 20px;
    color:var(--close-menu-color);
    display: flex;
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    text-decoration: none;
}
@media (min-width: 960px) {
    #toggleMenu{
        display: none;
    }
    #closeMenu{
        display: none;
    }
}
#themeToggle{
    font-size: 1.22em;
    background: none;
    border: none;
    position: absolute;
    right: 0;
    top: 70px;
    padding: 13px 13px;
    background: var(--theme-toggle-bg);
    cursor:pointer !important;
}

/* To top
**************/

#totop{
    color:var(--to-top-color);
    font-size:1.6em;
    position: fixed;
    bottom: 40px;
    right: 20px;
    z-index: 999;
    outline: none;
    background-color: var(--to-top-bg);
    cursor: pointer;
    padding: 0px 12px 10px;
    border:0;
    border-radius: 4px;
    opacity:0.6
}
#totop:hover{
    color:var(--to-top-hover-color);
    background-color: var(--to-top-hover-bg);
}

/* Flash & alert message
................................*/

.alert{
    position: absolute;
    opacity: 0.8;
    padding: 20px;
    border-radius: 4px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    transition: opacity 0.3s ease-out;
}
.alert.fade-out {
    opacity: 0;
}

/* Connect menu [dropdown]
................................*/

a#toggleConnect{
    font-size: 1.4em;
    color:var(--a-toggle-connect-color);
    background: var(--a-toggle-connect-bg);
    padding: 4px 16px;
    display: flex;
    position: absolute;
    top: 18px;
    right: 0px;
    text-decoration: none;
}
.dropdown-connect {
    position: fixed;
    width: 80%;
    display: none;
    background:var(--dropdown-connect-bg);
    padding: 20px;
    list-style: none;
    z-index: 99999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.66);
    box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.66);
}
.dropdown-connect li {
    width: 100%;padding: 10px 0;}
.dropdown-connect li a{
    color: var(--dropdown-connect-li-a-color);
    width: 100%;
    text-decoration: none;
    padding: 10px 0;
}
.dropdown-connect li a:hover{
    color: var(--dropdown-connect-li-a-hover-color);
}
.dropdown-connect-container.clicked .dropdown-connect {
    display: block;
}
@media (min-width: 768px) {
    /* Default hidden */
    .dropdown-connect {
        display: none;
        position: fixed;
        width: auto;
        padding: 10px;
        list-style: none;
        z-index: 99999;
        top: 50%;
        right:0;
        left: auto; /* reinitialize horizontal alignement */
        transform: none; /* unactive translate(-50%, -50%) */
    }

    /* show when .clicked */
    .dropdown-connect-container.clicked .dropdown-connect {
        display: block;
    }
}

/* Tabs
................................*/

.tabs {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap; /* responsive */
}
.tab {
    font-size: 0.9em;
    color: var(--tab-color);
    padding: 10px 20px;
    margin-right: 2px;
    margin-top: 2px;
    cursor: pointer;
    border: none;
    background: none;
    transition: background 0.3s;
    border-radius: 4px;
}
.tab:hover {
    color: var(--tab-hover-color);
    background: var(--tab-hover-bg);
    border-radius: 4px;
}
.tab.active {
    color: var(--tab-active-color);
    background: var(--tab-active-bg);
    font-weight: bold;
    border-radius: 4px;
}
.tab-content {
    display: none;
    padding: 15px;
    border: none;
    border-top: none;
}
.tab-content.active {
    display: block;
}

@media (max-width: 600px) {
    .tab {
        flex: 1 1 100%;
        text-align: center;
    }
}

/* Modals
................................*/

.modal-trigger {
    text-align: center;
    cursor: pointer;
    background: var(--modal-trigger-bg);
    color: var(--modal-trigger-color);
    border: none;
    border-radius: 4px;
    user-select: none;
    width: 100% !important;
}
.modal-trigger:hover {
    color: var(--modal-trigger-hover-color);
    background: var(--modal-trigger-hover-bg);
}
/* --- Modal overlay --- */
.modal-overlay {
    display: none; /* default hide */
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 999;
}
.modal-overlay.active {
    display: flex;
}
/* --- Modal content --- */
.modal-content {
    padding: 20px;
    border-radius: 4px;
    width: 90%;
    max-width: 400px;
    position: relative;
    background: var(--modal-content-bg)
}
/* --- Modal close button --- */
.modal-close {
    font-size: 1.4rem;
    font-weight: 200;
    color: var(--modal-close-color);
    background: var( --modal-close-bg);
    position: absolute;
    top: 8px;
    right: 12px;
    border: none;
    cursor: pointer;
}

/* --- Modal Responsive --- */

@media (max-width: 963px) {
    .modal-content {
        width: 95%;
        padding: 15px;
    }
    div.meteo-today {
        width: calc(93% / 4);
    }
}
@media (max-width: 767px) {
    .modal-content {
        width: 95%;
        padding: 15px;
    }
    div.meteo-today {
        width: calc(93% / 3);
    }
}

/* Info pagination
................................*/

.pagination{
    font-family: 'oswaldregular', sans-serif;
    width: 100%;
    height: 60px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 80px 0;
}
.pagination span{
    display: flex;
}
.pagination span{
    background-color: var(--pagination-span-bg);
    width:auto;
    margin: 1px;
    border-radius: 4px;
}
.pagination span.current{
    color: var( --pagination-span-current-color);
    background-color: var(--pagination-span-current-bg);
    border-radius: 4px;
    padding: 10px 20px 8px;
}

.pagination span.page{
    padding: 2px 1px 1px;
}
.pagination span a{
    color: var(--pagination-span-a-color);
    text-decoration: none;
    text-align: center;
    display: block;
    width: 100%;
    height: 100%;
    /*padding: 10px;*/
     padding: 10px 18px 8px;
}
.pagination span.next,
.pagination span.previous,
.pagination span.first,
.pagination span.last{
    padding: 0px;
}
.pagination span:hover{
    background-color: var(--pagination-span-hover-bg);
}


/*  Accordion
**********************/

.accordion{
    background-color: var(--accordion-bg);
    color: var(--accordion-color) !important;
    cursor: pointer;
    padding: 15px 20px 15px;
    width: 100%;
    font-family: 'Source Sans Pro', sans-serif;
    font-display: swap;
    font-size: 0.9em;
    text-align: left;
    border: none;
    margin-bottom:1px;
    margin-top: 20px;
    text-decoration: none;
}
.accordion.active,
.accordion:hover{
    background-color: var(--accordion-active-bg);
}
.panel{
    padding: 0 20px !important;
    background-color: var(--panel-bg);
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.accordion:after{
    content: '\2198';/*'ðŸ¡¦';*/
    color: var(--accordion-after-color);
    margin-top:-5px;
    float: right;
    margin-left: 5px;
    font-size: 1.2rem;
}
.accordion.active:after{
    content: '\2197';/*'ðŸ¡¥';*/
}


/*  ChartJs
**********************/

#daylyNews{
    max-width:100%;
}
#monthlyNews{
    max-width:100%;
}
#newsBySource{
    margin-top: 40px;
    max-height:100%;
}
@media (min-width: 768px) {
    #daylyNews{
        max-width:50%;
    }
    #monthlyNews{
        max-width:50%;
    }
    #newsBySource{
        margin-top: 40px;
        max-height:50%;
    }
}
