﻿* {
font-family: "Roboto", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
box-sizing:border-box;
}


html {

}


header .nero {
    background: #000;
    color: #fff;
}
header .nero > div{
    background: #000;
    color: #fff;
    font-size: 14px;
    padding: 5px 20px;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap; 
    gap:14px;
    align-items:center;

}

header .nero a{
    color: #fff;
}


    main .carousel button i{
        background: #fff5;
        color: #000;
        border: solid 1px #aaa;
        width: 40px;
        height: 40px;
        line-height: 1;
        font-size: 40px;
        vertical-align: middle;
        text-align: center;
        border-radius: 4px;
        opacity:0.3;
    }

main .carousel button:hover {
    background-color:#aaa4;
}

main .carousel button:hover i {
    opacity:1;
}

main .carousel-item img {
    max-width:100%;
    margin:auto;
    border:solid 1px #eee;
    box-shadow:0 0 30px 0 #aaa;
}


body {
    padding-bottom: 0px;
    display: flex;
    flex-direction: column;
    background: #fff;
    min-height: 100vh;
}

body > div.body-content {
flex:1;
overflow:auto;
}

div.brand {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
}

    div.brand img {
        height: 130px;
        margin: 10px;
        border: solid 1px #ddd;
        border-radius: 13px;
        background: #fff;
        box-shadow: 0 0 20px 0 #ccc;
    }


div.brand > div {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap
}

div.brand p{
    margin:2px 10px;
    text-align:left;
    font-size:22px;
    line-height:1;
}
div.brand span {
    margin: 10px 10px 2px 10px;
    text-align: left;
    font-size: 16px;
    line-height: 1;
}


    div.brand p:nth-child(2) {
        font-size: 26px;
        font-weight:bold;
    }
    div.brand p:nth-child(3) {
        font-size: 12px;
        color:#555;
    }
.sezione.dropdown-toggle::after {
    margin-left: 0.5em;
}

nav .dropdown-menu li span {
    background: #888;
    display: block;
    color: #fff;
    padding: 0 5px;
}

nav#menunavbar {
    border-bottom:solid 1px #fff0;
}

nav.navbar-scrolling {
    background-color: #f0f0f0 !important;
    border-bottom: solid 1px #bbb;
}


nav.navbar-default .container-fluid {
flex: 1;
transition: all 0.3s ease; 
}



nav.navbar-default li.active  a{
color:#000;
font-weight:bold;
}

nav .active > a {
    color: #ac0000;
    /*box-shadow: 0 0 10px 0px #0004;
    border-radius: 10px;*/
}


.navbar-nav > li > a:hover {
color: #888;
}

 
footer {
bottom:0;
width:100%;
background:#000;
color:#fff;
padding:20px;
}

footer.footer-scrolling
{
padding:20px 35px;
}

footer div.commands {
position: fixed;
bottom: 0;
display: flex;
flex-direction: row;
gap: 10px;
z-index: 999;
background: #000a;
color: #fff;
left: 0;
width: 100%;
padding: 10px;
justify-content: center;
}
    

footer a {
color:#fff;
text-decoration:none;
}

footer div.alert {
    margin:0;
    padding:4px 10px;
    font-size:14pt;
    white-space:nowrap;
    display:flex;
    flex-wrap:nowrap;
    line-height:1;
    align-items:center;
    box-shadow:-10px 0 10px 5px #333;
}
footer div.alert i {
    font-size: 18pt;
    border:solid 1px #aaa;
    margin-left:10px;
    border-radius:4px;
}
a {
text-decoration: none;
color:#000;
}

a:hover {
text-decoration: underline;
}


img.logo {
height:40px;
margin-right:15px;
}
 
form.search {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
align-content: center;
border: solid 1px #aaa;
border-radius: 3px;
background-color:#fff;
margin:10px;
}

::placeholder {
color: #ddd;
}

form.search input {
border: none;
border-radius: 3px;
padding: 0 8px;
outline: none;
}

form.search > div {
display:flex;
}

form.search button{
border-radius: 3px;
}

form.search button:first-child {
border-radius: 0;
}

form.search button:last-child {
border-radius: 0;
}

form.search button i {
margin:0 4px;
}


article {
margin-top: 30px;
margin-bottom: 30px;
max-width: 750px;
margin-left: auto;
margin-right: auto;
}

article img{
max-width:100%;
height:auto !important;
}

main {
flex-grow: 1;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
overflow:auto;
gap:10px;
padding-top:20px;
}

div.main-left {
    min-width: 350px;
    max-width: 350px;
    
}
div.main-stream {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0px;
}
div.main-center {
    width: 850px;
    max-width: 100%;
    background: #ffffff;
    border-left: solid 1px #aaa;
    border-right: solid 1px #aaa;
}

div.main-right {
    width: 460px;
    max-width: 850px;
    padding: 30px;
}

div.main-center img{
max-width: 100%;
}




ddiv.main-right > * {
max-width:400px;
position:sticky;
top :0;
}


div.menu {
margin: 0;
}

div.menu > div {
font-size:14pt;
background: #000;
color:#fff;
padding: 0 6px;
margin-bottom:5px;
border-radius:0 10px 0 0;
}

div.menu a {
display:block;
margin: 10px;
padding: 0;
line-height: 1;
font-size: 12pt;
}

div.menu a.active {
font-weight:700;
color:#ac0000;  
}


/*===========================================================================================*/

div.content div.edit {
position: relative;
}
div.content div.edit a {
display: none;
position: absolute;
background: #fff;
border: solid 1px #aaa;
border-radius: 2px;
box-shadow: 0 0 10px 1px #aaa;
padding: 2px 6px;
margin: 0;
z-index:9999;
}

div.content img {
    max-width:100%;
}


.master div.content:hover a.edit {
    display: inline-block;
}



/* RESPONSIVE -------------------------------------------------------------------*/


@media (max-width: 1660px) {

    div.main-stream {
        flex-direction:column;
    }

    div.main-right {
        width: 100%;
        padding: 0;
        border-left: solid 1px #aaa;
        border-right: solid 1px #aaa;
        background:#fff;
    }
    ddiv.main-right > * {
        max-width:unset;
    }

}

@media (max-width: 1024px) {
    main {
        display:block;

    }


    div.main-left {
        width: auto;
        padding: 0;
        border: none;
        border-bottom: solid 1px #888;
        max-width: unset;
        position: fixed;
        background: #fff;
        height: 100%;
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        z-index:100;
    }

        div.main-left.open {
            transform: translateX(0);
            box-shadow: 0 10px 34px 0 #000;
        }


    div.main-center {
        width: 100%;
        padding: 0;
        border: none;
        border-bottom: solid 1px #888;
        max-width: unset;
    }

    div.main-right {
        width: 100%;
        padding: 0;
        border: none;
        border-bottom: solid 1px #888;
        max-width: unset;
    }
}


@media (max-width: 768px) {

    #homeWrapper {
    display: none;
    }
}




/*SLIDER -------------------------------------------------------------------*/

div.bx-wrapper {
    
border: none;
padding: 10px;
}

div.bx-wrapper .bx-controls-direction a {
width: 40px;
}


div.bx-wrapper .bx-controls-direction i {
position: absolute;
font-size: 30px;
padding:5px;
color: #000;
background: #fff8;
line-height: 1;
border: solid 1px #0004;
border-radius: 3px;
}

div.bx-controls {
z-index: 10;
position: sticky;
top:18px;
}

div.bx-wrapper .bx-controls-direction i:hover {
color: #000;
background: #fff;
border:solid 1px #000;
}


/*div.bx-wrapper div.bx-controls-direction {
margin-top: -40px;
}*/

#smWrapper > .bx-wrapper {
display: flex;
flex-direction: column-reverse;
}


#smWrapper.bx-wrapper div.bx-pager {
position: sticky;
top: 0;
margin-top: 0;
}


div.bx-wrapper .bx-next {
float: right;
}


div.home-apps {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
    
}

div.home-apps img {
height: 28px;
margin-right:6px;
}

div.home-apps > a {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 9pt;
vertical-align:middle;
line-height:20px;
        
}




.add-content {
bottom: 15px;
right: 15px;
width: 30px;
height: 30px;
border-radius: 15px;
border: solid 1px #ccc;
text-align: center;
vertical-align: middle;
line-height: 30px;
font-size: 17px;
padding-left: 2px;
background: #eee;
box-shadow: 0 0 10px 0px #aaa;
}

/*-----------------------------------------------------*/
  
  

/*-----------------------------------------------------*/


div #editor {
margin-bottom: 20px;
}
div#editor > div {
display: flex;
flex-direction: column;
margin-top: 15px;
}

div#editor > div > * {
flex: 1;
width:100%;
}


div#editor > div > textarea {
width:100%;
}

div#editor > div select,
div#editor > div input{
padding: 4px 8px;
border: solid 1px #aaa;
border-radius:4px;
}


div#editor > div label {
padding:0;
margin:0 4px 0 0;
line-height:15px;
}

div.edit-footer {
display:flex;
flex-direction:row;
align-items:center;
}

div.edit-footer h3 {
padding: 0;
margin: 0 30px 0 0;
color: #fff;
flex:1;
    
}



div.parameters {
border-left: solid 1px #ddd;
padding: 10px 20px;
}

div.parameters > div {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}

div.parameters > div > label {
width: 200px;
}

div.parameters > div > div {
width: 340px;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
border: solid 1px #aaa;
border-radius: 3px;
background-color:#f8f8f8;
}

div.parameters > div > div > * {
font-size: 12pt;
border: solid 1px #ddd;
background-color: #fff;
padding: 2px 8px;
border-radius: 3px;
margin: 2px 4px;
line-height: 1;
flex: 1;
}

div.allegati {
width:100%;
}

div.allegati div.form-check {
    display:flex;
    align-items:center;
}

div.allegati div.form-check label.form-check-label {
    margin-left:10px;
}

div.allegati div.form-check input.form-check-label {
    margin-left: 10px;
    margin-right: 0;
}

div.allegati div.form-check input.form-check-label[readonly] {
    border:none;
    padding:0;
}

div.allegati div.form-check input.form-check-label[readonly]::placeholder {
    color:#000;
}

div.allegati input {
    width: 100%;
    margin: 4px 0;
    border: solid 1px #aaa;
    border-radius: 3px;
    padding: 4px 8px;
}

input::file-selector-button {
font-weight: bold;
color: #0000;
background:#0000;
width:30px;
border:none;
font-size:3px;
border-bottom:dotted 6px #000;
border-radius: 3px;
float:right;
}


div.allegati > div[data-file] {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    border: solid 1px #aaa;
    margin: 6px 0;
    align-items: center;
    background: #eee;
}


div.allegati > div.locked {
    background: #ddd;
    color: #888;
}

div.allegati > div.deleted {
    background: #faa;
    color: #800;
}


div.allegati > div[data-file] > span {
    white-space: nowrap;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 3px 6px;
}

div.allegati > div[data-file] > i {
    display: block;
    width: 28px;
    height: 28px;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    padding: 4px;
    border: solid 1px #0000;
    cursor: pointer;
}

div.allegati > div[data-file] > i:hover {
    border: solid 1px #aaa;
    background-color: #ddd;
}

/*-----------------------------------------------------*/
div.profilo {
max-width: 700px;
margin-left: auto;
margin-right: auto;
padding: 10px;
/*
background: #e6e6e6;
border: solid 1px #aaa;
box-shadow: 0 0 50px 0 #aaa;
*/
}

div.profilo h3 {
margin: 20px 0;
padding: 0;
font-weight: normal;
font-size: 21px;
        
}

div.profilo input[readonly]{
background:#ddd;
color:#888;
border:solid 1px #aaa;
}


div.profilo > div {
display: flex;
flex-direction: row;
margin-bottom: 15px;
flex-wrap:wrap;
}

div.profilo label {
margin:0;
padding:0;
min-width:200px;
}

div.profilo div.anag {
padding: 0 10px;
flex:1;
    
}


div.photoeditor {
display:block;   
padding:5px;
max-width:360px;
margin:10px auto 10px auto;
    
}

div.photofile {
margin:10px 0;
position:relative;
height:30px;
}

div.photofile input{
position: relative;
opacity:0;
line-height:30px;
}


div.photofile label {
position: absolute;
top: 0;
right: 0;
left: 0;
width: 100%;
cursor: pointer;
font-weight: normal;
padding: 0 10px;
line-height: 30px;
border: solid 1px #aaa;
border-radius: 4px;
}

div.photofile label:after {
content: "Browse";
background: linear-gradient(#eee,#ddd);
position: absolute;
top: 0;
right: 0;
cursor: pointer;
padding: 0 10px;
border-radius: 0 4px 4px 0;
border-left: solid 1px #aaa;
}


div.photoframe {
width:350px;
height:350px;
border:solid 2px #888;
overflow:hidden;
}

div.photoframe img {
cursor:move;
}

div.photosize {
height:20px;
width:350px;
border:solid 1px #aaa;
background:#bbb;
margin:10px 0;
padding:0;
}

div#photosizecursor {
height: 18px;
width: 20px;
display:block;
border: solid 1px #aaa;
background: #ccc;
margin:0;
cursor:pointer;
}

div.photo-consenso {
display:flex;
flex-direction:row;
align-items:center;
margin-bottom:10px;
}

div.photo-consenso label {
flex:1;
}

/*-----------------------------------------------------*/
.flipswitch {
margin:0;
position: relative;
background: #fff;
width: 80px;
height: 30px;
-webkit-appearance: initial;
border-radius: 3px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
outline: none;
font-size: 12px;
font-family: Trebuchet, Arial, sans-serif;
font-weight: bold;
cursor: pointer;
border: 1px solid #ddd;
}

.flipswitch:after {
position: absolute;
top: 5%;
display: block;
line-height: 22px;
width: 45%;
height: 90%;
background: linear-gradient(#eee, #ddd);
box-sizing: border-box;
text-align: center;
transition: all 0.3s ease-in 0s;
color: #800;
border: #888 1px solid;
border-radius: 3px;
}

.flipswitch:after {
left: 2%;
content: "OFF";
}

.flipswitch:checked:after {
left: 53%;
content: "ON";
color:#080;
}
     
/*-----------------------------------------------------*/

.pwdscad {
padding: 4px;
line-height: 1;
border-radius: 5px;
text-align: center;
width: 100%;
box-shadow: 0 0 13px 0 #888
}

div.change_password
{
max-width:700px;
margin:10px auto 0 auto;
padding:20px;
}

div.change_password form > div{
display:flex;
flex-direction:row;
flex-wrap:wrap;
align-items:center;
margin:10px 0;

}

div.change_password form > div label{
width:300px;
padding:0;
margin:0;
}

div.change_password form > div div {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
border: solid 1px #aaa;
border-radius: 4px;
background-color: #fff;
align-items: center;
padding: 0;
justify-content: center;
        
}


div.change_password form > div input {
border: none;
background-color: transparent;
margin: 0;
flex: 1;
padding: 4px 10px;
}

div.change_password form > div i {
flex: 0;
margin:0 4px;
color:#888;
cursor:pointer;
}

div.change_password form > div i:hover {
color: #000;
}



/*-----------------------------------------------------*/

div.fileselect {
display: flex;
flex-direction: row;
border: solid 1px #aaa;
border-radius: 4px;
height:36px;
background:#fff;
cursor:pointer;
}

div.fileselect div {
position: relative;
flex: 1;
}

div.fileselect span {
position: absolute;
margin: 0;
padding: 6px 0 6px 8px;
flex: 1;
width: 100%;
display: inline-block;
}

div.fileselect span::after {
content: "Browse";
font-size: 12pt;
margin: 0;
color: #059;
border-left: solid 1px #aaa;
border-radius:  0 4px 4px 0;
padding: 6px 10px;
background: linear-gradient(#ddd, #ccc);
display: inline-block;
text-decoration: none;
cursor: pointer;
position: absolute;
right: 0;
top: 0;
}


div.fileselect input {
opacity: 0;
width: 100%;
height:100%;
}


div.fileselect button {
font-size: 12pt;
margin: 0;
color: #059;
border: none;
border-left: solid 1px #aaa;
padding: 6px 10px;
background: linear-gradient(#ddd, #ccc);
display: inline-block;
text-decoration: none;
cursor: pointer;
}

/*-----------------------------------------------------*/
#waiting {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #fff7;
display: flex;
z-index: 9999;
flex-direction: column;
}

#waiting.loading {
background: #fffd;
}

#waiting.loading::before {
content: "Caricamento applicazione...";
text-align: center;
font-size: 14pt;
}

#waiting > svg {
margin: auto;
display: block;
width: 200px;
height: 200px;
}


div.layout_alert {
color:#8005;
font-size:8pt;
}


/*-----------------------------------------------------------------*/
div.imageEditor {
flex: 1;
padding: 0px;
display: none;
user-select: none;
position:absolute;
top:10px;
left:100px;
background:#eee;
border:solid 1px #aaa;
box-shadow:0 0 20px #ccc;
flex-direction:column;
flex-wrap:nowrap;
z-index:9999;
    
}

div.imageToolbar {
display:flex;
flex-direction:row;
flex-wrap:nowrap;
align-items:center;
background:#000;
color:#fff;
padding:0px 4px;
}
div.imageToolbar span {
flex: 1;
margin: 0 10px;
}

div.imageEditor .source {
position: relative;
cursor: default;
background: #f0f0f0;
border: solid 1px #ccc;
margin:4px;
flex:1;
overflow:hidden;
}

div.imageEditor .target {
padding: 6px;
background: #ddd;
border-top: solid 1px #888;
display:flex;
flex-wrap:nowrap;
align-items:flex-start;
gap:10px;
}


div.imageEditor .source img{
max-width:100%;
}
div.imageEditor .target img:nth-child(1) {
max-width: 30%;
max-height:100px;
}

div.imageEditor .target img:nth-child(2) {
    max-width: 70%;
    max-height: 100px;
}

div.imageEditor .draggable {
border: solid 2px #000;
position: absolute;
min-width: 40px;
min-height: 40px;
position: absolute;
cursor: move;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-end;
background:#fff5;
}

div.imageEditor .draggable.resize {
cursor: nwse-resize;
}
div.imageEditor .draggable i {
width:8px;
height:8px;
cursor: nwse-resize;
}



table.sticky {
    border-collapse:collapse;
}

table.sticky th {
    position:sticky;
    top:0;
    border:none;
    padding:0;
}
table.sticky th div {
    background-color:#000;
    color:#fff;
    border:solid 1px #444;
    padding:4px 10px;
}

table.sticky td {
    border-bottom: solid 1px #ddd;
    padding: 4px 10px;
    line-height:1;
}

table.sticky tr.scaduta {
    background: #f1e1e1;
    color: #800;
}

table.sticky tr.scaduta td{
    border-bottom-color: #dbb;
}

#ruler {
    user-select:none;
    border:solid 1px #aaa;
    height:22px;
    background-color:#eee;
    position:relative;
    overflow:hidden;
}
#ruler > span {
    font-size:8pt;
    padding:0 4px;
}
#ruler > div#ruleCursor {
    user-select:none;
    cursor:ew-resize;
    left:calc(100% - 10px);
    border: solid 1px #aaa;
    height: 20px;
    width:10px;
    display:inline-block;
    position:absolute;
    background-color: #ccc;
}


div.allegati {
    border:solid 1px #ddd;
    background:#fafafa;
}

div.allegati .bi-paperclip{
    float:right;
    font-size:50px;
    margin-top:-20px;
    color:#aaa;
    line-height:1;
    max-width:400px;
}

div.allegati h4 {
    background-color:#000;
    color:#fff;
    margin:4px;
    padding:0 10px;
}

div.allegati div.allegato {
    margin: 4px;
    border:solid 1px #aaa;
    background-color:#ddd;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
}

div.allegati div.allegato i {
    font-size:25px;
    padding:0 10px;
}
div.allegati div.allegato span {
    flex: 1;
    border-right: solid 1px #ccc;
    padding:10px;
    overflow:hidden;
    text-overflow:ellipsis;
}

div.list {
    margin: 10px 0;
    padding: 10px;
    background:#f4f4f4;

}


div.list h4 {
    margin:0;
    padding:0;
}

div.list::after {
    content: "";
    display: table;
    clear: both;
}

div.list div img {
    max-width: 120px;
    min-width: 80px;
    float:left;
    margin: 0 10px 10px 0;
}

div.list div.testo i {
    font-size: 60px;
    float: left;
    margin: 0 10px 10px 0;
    line-height:1;
    background:#000;
    color:#fff;
    padding:10px;
    border:solid 1px #ddd;

}

[data-article] {
    cursor:pointer;
}

[data-article]:hover {
    cursor: pointer;
}

div.article .header {
    background:#fff;
    position:sticky;
    top: 10px;
    z-index:9999;
}

div.article > img {
width:100%;
border:solid 1px #000;
}

div.article > div.testo {
    margin:20px 0px;
}
div.article h1.article {
    background: #000;
    color: #fff;
    font-size: 20pt;
    padding: 4px 10px;
    margin:0;
}
div.article h4.article {
    color: #888;
    font-size: 12pt;
    padding: 0;
    margin: 0 0 10px 4px;
}

.icona img {
    max-width:100%;
    max-height:100%;
}

.intestazione {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    background-color:#fff;
    color:#000; 
    padding:0 10px;
    border:solid 1px #000;
    margin-bottom:10px;
}

.intestazione .icona {
    font-size:40px;
}

.intestazione span {
    flex:1;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1;
    font-size:16pt;
    padding:0 10px;
}



div.login {
    margin: 40px;
    max-width: 400px;
    padding: 30px;
    text-align: left;
    display: flex;
    flex-direction: column;
}

.login > div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 20px 10px;
    align-items: center;
}

    .login > div > label {
        width: 100px;
    }

    .login > div > input {
        border: solid 1px #aaa;
        border-radius: 4px;
        font-size: 14pt;
        padding: 4px 10px;
    }



    div.login form div {
        margin-top: 20px;
        display: flex;
        flex-direction: row;
        align-items: center
    }

        div.login form div label {
            flex: 2;
            margin-right: 10px;
        }

    div.login ul {
        font-weight: bold;
        color: #fff;
        background: #800;
        list-style: none;
        display: block;
        width: 100%;
        border-radius: 5px;
        margin: 0;
    }

    div.login form div input {
        flex: 3;
    }

    div.login span {
        font-size: 10pt;
        text-align: right;
        color: #800;
        width: 100%;
        display: block;
        line-height: 1;
    }





.slider-compatto {
    width: 300px; /* Larghezza fissa richiesta */
    height: 100px; /* Altezza fissa richiesta */
    border: none;
    overflow: hidden; /* Nasconde tutto ciò che esce dai bordi */
    margin-top:10px;
}

    /* Impostiamo l'altezza interna al 100% (80px) */
    .slider-compatto .carousel-inner,
    .slider-compatto .carousel-item {
        height: 100%;
    }

/* Contenitore del testo per centrarlo verticalmente */
.contenitore-testo {
    height: 100%;
    display: flex;
    flex-direction: column; /* Impila il testo in verticale */
    justify-content: flex-start; /* Centra il testo in altezza */
    padding: 0 25px; /* Lascia spazio a destra e sinistra per le frecce */
    align-items:flex-end;
}

    /* Stile delle 3 righe di testo */
    .contenitore-testo * {
        margin: 0; /* Rimuove i margini di default */
        font-size: 14px; /* Testo piccolo per entrare in 80px */
        line-height: 1.3; /* Spazio tra le righe */
        text-align: right;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Stile delle 3 righe di testo */
    .contenitore-testo span:nth-child(1) {
        font-size: 18px; 
    }
    .default .contenitore-testo span:nth-child(1) {
        font-size: 18px;
        font-weight:bold;
        color:#400;
    }

        .contenitore-testo a {
            margin-top: 5px;
            font-size: 12px;
            line-height: 1;
            text-decoration:none;
        }

    .contenitore-testo a:hover {
        color:#00f;
    }

/* Rimpiccioliamo le frecce di Bootstrap per non coprire il testo */
.slider-compatto .carousel-control-prev,
.slider-compatto .carousel-control-next {
    width: 20px;
}

.slider-compatto .carousel-control-prev-icon,
.slider-compatto .carousel-control-next-icon {
    width: 12px;
    height: 12px;
}


.titoli.santo {
    gap:2px;
}


.titoli.santo > h4, .titoli.santo > h5, .titoli.santo > p {
    padding: 2px 10px;
    margin:0;
}

.santo img {
    width:30%;
    align-self:center;
    float:left;
    margin: 0 10px 10px 0
}


input.otp {
    font-size: 30px;
    font-family:monospace;
    letter-spacing: 10px;
}

