/*
* Copyright (C) 2014 Chiara Tavazzi <ctavazzi[AT]gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/


/* 
* CSS Document 
*/

@charset "utf8";

/*
* Pagina
*/

html {
    position: relative;
    min-height: 100%;
    font-size: 0.950rem;
}

body.paginaNormale {
    background-image: url('../static/sfondo.png');
    background-repeat: repeat;
    /* Margin bottom by footer height */
    margin-bottom: 60px;
}

body.paginaBlank {
    background-image: url('../static/sfondo.png');
    background-repeat: repeat;
}

/*
* Generali
*/

form .btn {
    margin-bottom: 2px;
    /*margin-top: 2px;*/
}

.table-responsive {
    overflow-x: auto;
}


/*
* Logo
*/

.masthead {
    margin-bottom: 1%;
    text-align: center;
}

.masthead img {
    display: inline-block;
    padding: 0.5em;
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
    height: auto;
}

@media only screen and (max-width: 1000px) {
    .masthead img {
        max-width: 100%;
        max-height: 100%;
        height: auto;
    }
}


/*
* Footer
*/

#footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    /*height: 60px;*/
    background-color: #f5f5f5;
}


/*
* Pagina login
*/

.form-signin {
    max-width: 330px;
    padding: 15px;
    margin: 0 auto;
}

.form-signin .form-signin-heading {
    margin-bottom: 10px;
}

.form-signin .form-control {
    position: relative;
    height: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    /*font-size: 16px;*/
}

.form-signin .form-control:focus {
    z-index: 2;
}

.form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


/*
 * Main content
 */

.main {
    padding: 20px;
}

@media (min-width: 768px) {
    .main {
        padding-right: 40px;
        padding-left: 40px;
    }
}

.main .page-header {
    margin-top: 0;
}


/*
* Titoli
*/

h2 {
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
}


/*
* Sottolineatura link disabilitata
*/

a:not([class]) {
    text-decoration: none;
}

a:not([class]):hover {
    text-decoration: underline;
}


/*
* Edit partecipante
*/

input#dNascita,
input#mNascita {
    width: 4em;
}

input#yNascita {
    width: 6em;
}


/*
* Tabelle elenchi
*/

form .conteggioRisultati {
    white-space: nowrap;
}


/* Tabella elenco risultati generica */

table.elencoRisultati {}

.elencoRisultati th {
    vertical-align: top;
    white-space: nowrap;
}

.elencoRisultati th.risFiltroNome {
    background-color: #fff;
    position: sticky;
    left: 0; /* Lo blocca a sinistra */
    z-index: 2;
}
.elencoRisultati th.risNome,
.elencoRisultati td.risNome {
    position: sticky;
    left: 0; /* Lo blocca a sinistra */
    z-index: 1;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    body {
        overflow-x: hidden;
    }
    .container-fluid {
        overflow-x: hidden;
        padding-left: 0;
        padding-right: 0;
    }
    .container-fluid > .row {
        margin-left: 0;
        margin-right: 0;
    }

    .elencoRisultati th.risNome,
    .elencoRisultati td.risNome {
        max-width: 130px;
        min-width: 90px;
        overflow: hidden;
        text-overflow: ellipsis;
        background-color: #ffffff;
    }

    .table-striped > tbody > tr:nth-of-type(odd) > td.risNome {
        background-color: #f2f2f2;
    }

    .btn-presenza {
        padding: 0.2rem 0.4rem;
        font-size: 0.8rem;
    }
}

.elencoRisultati td.risFoglio {
    white-space: nowrap;
}

.elencoRisultati td.risTelefono {}

.elencoRisultati td.risPrivacy {
    text-align: center;
}

.elencoRisultati th.risPrivacy {
    text-align: center;
}

.elencoRisultati th.risUscitaAutonoma {
    text-align: center;
}

.elencoRisultati td.risUscitaAutonoma {
    text-align: center;
}

.elencoRisultati th.risNota {
    text-align: center;
}

.elencoRisultati td.risNota {
    text-align: center;
}

.elencoRisultati td.risCellulareRif {
    white-space: nowrap;
}

.elencoRisultati td.risCellulare {
    white-space: nowrap;
}

#tabellaAssenti td.risCellulare,
#tabellaPresenze td.risCellulare,
#tabellaAssenti td.risCellulareRif,
#tabellaPresenze td.risCellulareRif {
    text-align: center;
}

.elencoRisultati td.risPwa {
    text-align: center;
}

.elencoRisultati th.risQuota {}

.elencoRisultati th.risPagata {
    text-align: center;
}

.elencoRisultati th.risAnno {
    text-align: center;
}

.elencoRisultati th.risPresenza {
    text-align: center;
}

.elencoRisultati th.risUscitaAutonoma {
    text-align: center;
}

.elencoRisultati th.risNote {
    text-align: center;
}

.elencoRisultati td.risQuota {
    white-space: nowrap;
}

.elencoRisultati td.risPagata {
    text-align: center;
}

.elencoRisultati td.risAnno {
    text-align: center;
}

.elencoRisultati td.risPresenza {
    text-align: center;
}

.elencoRisultati td.risUscitaAutonoma {
    text-align: center;
}

.elencoRisultati td.risNote {
    text-align: center;
}

.elencoRisultati td.risAzioni {
    white-space: nowrap;
}

div.nome-duplicato,
.elencoRisultati span.nome-duplicato {
    color: #0d6efd;
    /*background-color: #e0e0e0;
    padding: 1px 4px;*/
    border-radius: 3px;
}

/* Tabella di iscrizione.php visione iscrizioni fatte */

table.elencoRisultatiIscrizione {}

.elencoRisultatiIscrizione th {
    vertical-align: top;
}

.elencoRisultatiIscrizione td.risIniziativa {}

.elencoRisultatiIscrizione th.risQuota {
    text-align: center;
}

.elencoRisultatiIscrizione tbody tr:nth-child(2n-1),
.elencoRisultatiIscrizione tbody tr:nth-child(2n) {
    background-color: #f9f9f9;
}

.elencoRisultatiIscrizione .risCampi {
    background-color: rgba(234, 236, 238, 0.6);
}

.elencoRisultatiIscrizione .risCampi label {
    padding: 0;
}

.elencoRisultatiIscrizione div.risCampoNota,
.elencoRisultatiIscrizione div.risCampoNotaObb,
.elencoRisultatiIscrizione div.risCampoRadio,
.elencoRisultatiIscrizione div.risCampoIntolleranze,
.elencoRisultatiIscrizione div.risCampoIntolleranza,
.elencoRisultatiIscrizione div.risCampoCheck {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 1em;
}

.elencoRisultatiIscrizione div.risCampoIntolleranze div.row {
    margin-right: 0;
    margin-left: 0;
}

.elencoRisultatiIscrizione span.tipoQuota,
.elencoRisultatiIscrizione span.importoQuota {
    white-space: nowrap;
}

/* Tabella di listIscrizioni */

table.elencoRisultatiIscrizioni {
    margin-bottom: 5px;
}

.elencoRisultatiIscrizioni th.risRiepilogo {}

.elencoRisultatiIscrizioni td.risNote {
    font-style: italic;
}

.elencoRisultatiIscrizioni td.risCampoNota {
    font-style: italic;
}

.elencoRisultatiIscrizioni tr.risQuota {}

.elencoRisultatiIscrizioni td.risNome {
    width: 40%;
}

.elencoRisultatiIscrizioni td.risTipo {
    text-align: left;
}

.elencoRisultatiIscrizioni td.risEuro {
    text-align: right;
}


/* Tabella elenco taglie */

table.elencoTaglie {
    width: 25%;
}

.elencoTaglie th.risTaglia {
    width: 50%;
}

.elencoTaglie th.risQuantita {
    width: 50%;
}

.elencoTaglie td.risTaglia {
    width: 50%;
}

.elencoTaglie td.risQuantita {
    width: 50%;
}


/* Tabella elenco quote presenza */

table.elencoQuotePresenza {
    width: 70%;
}

.elencoQuotePresenza th {
    vertical-align: top;
}

.elencoQuotePresenza th.risQuota {
    width: 80%;
}

.elencoQuotePresenza th.risIscritti {
    width: 10%;
    text-align: center;
}

.elencoQuotePresenza th.risPresenti {
    width: 10%;
    text-align: center;
}

.elencoQuotePresenza td.risQuota {
    width: 80%;
}

.elencoQuotePresenza td.risIscritti {
    width: 10%;
    text-align: center;
}

.elencoQuotePresenza td.risPresenti {
    width: 10%;
    text-align: center;
}


/* Tabella elenco quote lista */

table.elencoQuoteLista {
    width: 70%;
}

.elencoQuoteLista th {
    vertical-align: top;
}

.elencoQuoteLista th.risQuota {
    width: 45%;
}

.elencoQuoteLista th.risIscritti {
    width: 7%;
    text-align: center;
}

.elencoQuoteLista th.risImporto {
    width: 17%;
    text-align: center;
}

.elencoQuoteLista td.risQuota {
}

.elencoQuoteLista td.risIscritti {
    text-align: center;
}

.elencoQuoteLista td.risImporto {
    text-align: right;
}


/* Tabella elenco quote */

table.elencoQuote {
    width: 60%;
}

.elencoQuote td.risTipo {}

.elencoQuote td.risSomma {
    width: 30%;
}


/* 
* Scelta iniziativa da attivare/modificare
*/

#sceltaIniziativa select {
    width: 100%;
}


/*
* Visualizzazione iscritto
*/

div.viewNote {
    margin-top: 1em;
    margin-bottom: 1em;
}


/*
* Segnalazione campi invalidi
*/

div.form-check-inline.is-invalid {
    border: 1px solid red;
    border-radius: 3.8px;
}

/*
* Gestione Fancybox
*/
.fancybox__slide.has-iframe .f-html {
    width: 90%;
    height: 90%;
}

/*
 * Banner notifiche PWA
 */
#giin-push-banner {
    display: flex;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    background: #0d6efd;
    color: #fff;
    border-radius: 12px;
    padding: .85rem 1rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .25);
    z-index: 9999;
    font-family: -apple-system, sans-serif;
    font-size: .9rem;
    align-items: center;
    gap: .75rem;
    transition: opacity .3s;
}

#giin-push-banner.show {
    opacity: 1;
    pointer-events: auto;
}

#giin-push-banner span {
    flex: 1;
}

#giin-push-banner button {
    border: none;
    border-radius: 8px;
    padding: .4rem .9rem;
    font-weight: 600;
    cursor: pointer;
}

#giin-push-enable {
    background: #fff;
    color: #0d6efd;
}

#giin-push-dismiss {
    background: transparent;
    color: rgba(255, 255, 255, .7);
    font-size: 1.2rem;
    padding: 0;
    min-width: 24px;
}