﻿:root {
    --color-site-blue: #0172d0;
}

html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

body {
  margin-bottom: 60px;
}

/* - LOGIN PAGE - */
@scope(#scopeLogin) {

    .card {
        border-radius: 10px !important;
    }

    div.banner {
        align-content: center;
        padding: 5px 2px;
        background: rgba(0, 0, 0, .03);
        border-radius: 0px 0px 10px 10px;
        border: 1px solid rgba(0, 0, 0, .125);
        color: midnightblue;
    }

    div.div-logo {
        align-content: center;
    }

        div.div-logo img {
            content: url('/img/logo/logo.png');
            max-height: 60px;
        }

    .form-group {
        display: flex;
        flex-direction: column;
        padding: 8px 2px;
        gap: 10px;
    }

        .form-group > div {
            display: flex;
            flex-direction: row;
            gap: 10px;
            justify-content: flex-end;
        }

    input[type='submit'], input[type='button'] {
        background: darkorange;
        color: #FFF;
        border-radius: 5px;
        border: 0px;
        padding: 4px 8px;
        text-transform: uppercase;
    }
}

/* - LOGO PROPERTIES - */
@scope(.brand-logo) {

    img {
        max-height: 80px;
    }
}
/*
.alternate:nth-child(even of :has(div.container)) {
    background-color: unset;
}
*/
.alternate:nth-child(even) {
    background-color: unset;
}

section.gray-bg.alternate:not(:has(div.container)) {
    display: none;
}

/*
 *   HOME PAGE
 */
/* - NAV SECTION - */
.nav-link {
    color: #151515;
    font-size: 18px;
    padding: 10px 22px;
    font-weight: 500;
    display: block;
    font-family: "Sarabun", sans-serif;
} nav.sticky {
    position: sticky;
    max-height: 100px;
    top: 0;
}
/* - SECTION SECTION - */
@scope(#indexArticle) {
    section:not(:first-child) {
        padding-top: 80px;
        padding-bottom: 80px;
    }
} .hero-slider-item {
    height: unset;
    padding-top: 30px !important;
    padding-bottom: 35px !important;
}
/* FOOTER */
.homelink li {
    line-height: 1.7;
    margin-bottom: 20px;
    width: 100%;
    float: left;
} .homelink li a {
        color: #151515;
    } .homelink li:last-child {
        margin-bottom: 0;
        clear: both;
    }
/*
 *   DETAILS VIEWS
 */
/* - LIST - */
@scope (.DetailListContainer) {
    :scope {
        display: flex;
        gap: 50px;
        padding-top: 30px;
    }

    section {
        padding-top: 15px;
        padding-bottom: 15px;
        border-bottom: solid 1px #eaeaea;
        font-size: 0.9em;
    }

        section .bandiTitle {
            font-size: 1.1em;
            font-weight: 100;
        }

        section .bandiData {
            font-size: 1.1em;
            font-weight: 100;
            text-align: right;
        }

        section .bandiDescription {
            padding-top: 20px !important;
            padding-bottom: 20px !important;
        }

            section .bandiDescription > p {
                font-size: 1.2em;
                font-weight: 600;
                line-height: normal;
            }

        section .bandiLabel {
        }

        div.row:has(.bandiLabel) {
            
        }

    aside {
        padding-top: 15px;
        width: 100%;
        min-width: 300px;
        max-width: 300px;
    }

        aside a {
            color: #000;
            font-weight: 400;
            font-size: 16px;
            font-family: "Sarabun", sans-serif;
            text-wrap: nowrap;
        }

    .asideSectionTitle {
        font-weight: 500;
        line-height: 1;
        margin-bottom: 40px;
        position: relative;
    }

        .asideSectionTitle:before, .asideSectionTitle:after {
            bottom: -10px;
            left: 0;
            width: 100%;
            height: 1px;
            content: "";
            position: absolute;
            background-color: #e1e1e1;
        }

        .asideSectionTitle:after {
            width: 110px;
            background-color: #0172d0;
        }

    .linkActive {
        font-weight: bold;
    }

    section.sticky {
        position: sticky;
        top: 0;
        background-color: #fff;
    }

    aside.sticky {
        height: 100%;
        top: 0;
        position: sticky;
    }


    .pager {
        display: flex;
        justify-content: flex-end;
        gap: 10px;
    }

        .pager a {
            border: solid 1px #eaeaea;
            border-radius: 5px;
            padding: .2em .5em;
            background-color: #0172d0;
            color: #FFF;
            text-transform: uppercase;
            text-align: center;
            width: 90px;
        }

        .pager label {
            border: solid 1px #eaeaea;
            border-radius: 5px;
            padding: .2em .5em;
        }

    .ddlPageSize {
        border: solid 1px #eaeaea;
        border-radius: 5px;
        padding: .2em .5em;
    }

    .intComunicazioni {
        background-color: #0172d0;
        color: white;
        font-size: 1.1em;
        margin-bottom: 8px;
    }

    section:has(div.intComunicazioni) {
        border-bottom: solid 0px;
    }
}
/* - OBJECT DETAIL - */
@scope(.ObjectDetail) {

    :scope {
        display: flex;
        gap: 50px;
        padding-top: 30px;
    }

    article {
        width: 100%;
    }

    article > section:nth-child(3) {
        line-height: normal;
    }

    aside {
        padding-top: 15px;
        width: 100%;
        min-width: 150px;
        max-width: 150px;
    }

        aside.sticky {
            height: 100%;
            top: 0;
            position: sticky;
        }

    .asideSectionTitle {
        font-weight: 500;
        line-height: 1;
        margin-bottom: 20px;
        position: relative;
    }

        .asideSectionTitle:before, .asideSectionTitle:after {
            bottom: -10px;
            left: 0;
            width: 100%;
            height: 1px;
            content: "";
            position: absolute;
            background-color: #e1e1e1;
        }

        .asideSectionTitle:after {
            width: 110px;
            background-color: #0172d0;
        }

    section {
        padding-top: 20px;
        padding-bottom: 20px;
    }

        section.sticky {
            position: sticky;
            top: 0;
            background-color: #fff;
        }

    div.row.borderBottom {
        padding-top: 15px;
        padding-bottom: 5px;
        border-bottom: solid 1px #eaeaea;
    }

    div.row.data > div[class^=col]:first-child {
        font-weight: bold;
    }


    details > summary {
        font-weight: bold;
    }

    details[open] > summary {
        padding-bottom: 10px;
    }

    details[open] > ul {
        margin-bottom: 10px;
    }

    details li {
        font-weight: 400;
        padding-left: 50px;
    }


    aside > div.row {
        padding-top: 5px !important;
    }

    aside a {
        font-size: .9em;
    }

        aside a::before {
            content: '\00B7';
            padding-right: 8px;
            font-size: 1.4em;
        }


    ul.scroller {
        height: 160px; /* 6 elementi li */
        overflow-y: scroll;
    }

    section.objDetailHeader {
        display: flex;
    }

        section.objDetailHeader > h4 {
            width: 100%;
        }

        section.objDetailHeader > a {
            border: solid 1px #eaeaea;
            border-radius: 5px;
            padding: .2em .5em;
            background-color: #0172d0;
            color: #FFF;
            text-transform: uppercase;
            text-align: center;
            font-size: .8em;
            text-wrap: nowrap;
        }

    section.objDetailTitle {
    }

        section.objDetailTitle p {
            display: flex;
            padding-top: 25px;
            text-align: justify;
            line-height: normal;
        }

    object {
        width: 100%;
        min-height: 600px;
    }
} @media print {

    nav > div > div.container-fluid.align-items-center.row {
        padding-top: 25px;
    }
    nav > div > div.container-fluid.align-items-center.row > div.col-lg-2 {
        width: 20%;
    }
    
    nav > div > div.container-fluid.align-items-center.row > div.col-lg-5 {
        width: 80%;
    }

    /* nasocndo il footer */
    footer {
        display: none;
    }

    .page-break-before {
        break-before: page;
    }

    .page-break-after {
        break-after: page;
    }

    @scope(.ObjectDetail) {
        /* in questo modo metto l'aside in fondo dopo il dettaglio del bando */
        :scope {
            display: flex;
            flex-direction: column-reverse;
            padding: 1em 2em; /* aumento i margini per non stampare contro i bordi del foglio */
        }

        aside {
            /* display: none */ /* non visualizzo l'aside con i collegamenti */
            max-width: 100% !important;
            display: flex;
            flex-direction: row;
            align-items: start;
        }

        aside > .row {
            width: 50% !important;
        }


        /*
        .OptionButtonsGroup, .OptionButtonsGroupNoHover { /* nascondo i pulsanti stampa, preferiti e notifica con i loro container 
            display: none;
        }
        */

        button { /* nascondo i pulsanti in generale */
            display: none;
        }

        .objDetailHeader > a { /* nascondo il pulsante "torna all'elenco" */
            display: none;
        }

        .objDetailTitle > div.row > div:nth-child(1) /*, .objDetailTitle > div:nth-child(1) > div.col-md-10 (stesso selettore, ma scritto in modo differente) */ {
            width: 100%;
        }

        #testoNota { /* - tolgo il bordo della casella di testo - */
            border: 0px;
        }

        summary::marker {
            content: '';
        }

        ul.scroller { /* - elimino lo scroll degli elenchi di CPV, SOA e ALTRO - */
            height: unset;
            overflow: unset;
            padding-bottom: 25px; /* - aumento la spaziatura dopo l'elenco - */
        }

            ul > li {
                padding-left: 0px;
            }
    }
} .hidden {
    display: none;
} iframe {
    width: 100%;
    height: 450px;
}
/* 
    QUESTE REGOLE DEFINISCONO LO STILE DEI PULSANTI "PREFERITI" e "WATCH"
    PER IL MOMENTO SONO COMUNI A TUTTI GLI OGGETTI (LISTA/DETTAGLI), MA POTREBBERO DOVER CAMBIARE
    E QUINDI POTREBBE ESSERE NECESSARIO DIVIDERLE
 */
.ObjectOptionButtons {
    font-size: 1.3em;
    text-align: right;
} .ObjectOptionButtons > button {
        margin-left: 5px;
    } .OptionButtonsGroup i, .OptionButtonsGroupNoHover i {
    border-radius: 5px;
    padding: 5px;
    color: #0172d0 /*var(--var-color-blue)*/;
} .OptionButtonsGroup i.selected {
    display: inline-block
} .OptionButtonsGroup i:not(.selected) {
    display: none
} .OptionButtonsGroup:hover i.selected {
    display: none
} .OptionButtonsGroup:hover i:not(.selected) {
    display: inline-block
}
/* ED ECCO IL PRIMO ESEMPIO: NELLA LISTA DEVONO ESSERE PIU' PICCOLE */
.ObjectOptionButtons:has(+ .bandiDescription) {
    font-size: 1.1em;
} .notePersonali {
    text-align: right;
} .notePersonali h5 {
    padding-bottom: 8px;
    text-align: left;
} .notePersonali textarea {
    width: 100%;
    border: solid 1px #eaeaea;
    border-radius: 5px;
} .notePersonali button {
    border: solid 1px #eaeaea;
    border-radius: 5px;
    align-self: end;
    background-color: #0172d0;
    color: #fff;
    padding: .2em .5em;
    text-transform: uppercase;
    font-size: .8em;
}
/*
 *   PROFILE VIEW
 */
@scope(.profileContainer) {

    section:first-child {
        padding-top: 30px;
    }

    .profileButtons {
        display: flex;
        justify-content: flex-end;
    }

    .detailPadding {
        padding-top: 20px;
    }

    *[role="header"]:not(:first-of-type) {
        padding-top: 25px;
    }

    .datiAzienda[role="header"], .datiSOA[role="header"], .datiAbbonamenti[role="header"], .datiSelezioni[role="header"] {
        padding-bottom: 15px;
        border-bottom: solid 1px #0172d0;
    }

        .datiAzienda[role="header"] h4 {
            font-size: 1.5em;
        }


    .datiAzienda[role="detail"], .datiSOA[role="detail"], .datiAbbonamenti[role="detail"], .datiSelezioni[role="detail"] {
        padding-top: 15px;
        padding-bottom: 15px;
    }

        .datiAbbonamenti[role="detail"] > div:not(:first-child) {
            border-top: double 4px #0172d0;
            margin-top: 20px;
            padding-top: 15px;
            padding-bottom: 15px;
        }

    .datiSelezioni {
        margin-left: 20px;
    }

    .detailSelezioneHeader {
        border-bottom: solid 1px #eaeaea;
        padding-bottom: 8px;
        margin-bottom: 8px;
    }

    .detailSelezioneDetail {
        padding-bottom: 8px;
    }

    .detailHeader h4 {
        padding-bottom: 15px;
    }

    .refNome {
        font-weight: bold;
        font-size: 1.1em;
    }

    .refContainer {
        padding-bottom: 15px;
        font-size: 1em;
    }

        .refContainer:not(:last-child):after {
            content: '';
            border-bottom: solid 1px #eaeaea;
            width: 60%;
            margin: 0 auto;
            padding-top: 10px;
            padding-bottom: 10px;
        }

    .detail > div:first-child {
        font-weight: bold;
    }


    /* - Download profile link - */
    .dlLink {
        text-wrap: nowrap;
    }

        .dlLink::after {
            padding-left: 10px;
            content: '\f019';
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
        }
}
