/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/

@font-face {
    font-family: pt_serif;
    font-style: normal;
    font-weight: 700;
    src: url("../../fonts/PTSerif-Bold.ttf") format('truetype');
}

@font-face {
    font-family: pt_serif;
    font-style: italic;
    font-weight: 700;
    src: url("../../fonts/PTSerif-BoldItalic.ttf") format('truetype');
}

@font-face {
    font-family: pt_serif;
    font-style: normal;
    font-weight: 400;
    src: url("../../fonts/PTSerif-Regular.ttf") format('truetype');
}

@font-face {
    font-family: pt_serif;
    font-style: italic;
    font-weight: 400;
    src: url("../../fonts/PTSerif-Italic.ttf") format('truetype');
}

@font-face {
    font-family: inter;
    font-style: normal;
    src: url("../../fonts/Inter-VariableFont.ttf") format('truetype');
}

@font-face {
    font-family: inter;
    font-style: italic;
    src: url("../../fonts/Inter-Italic-VariableFont.ttf") format('truetype');
}

.calendar,
.calendar_weekdays,
.calendar_content {
    max-width: 100%;
}

.calendar {
    margin: auto;
    font-weight: 400;
}

.calendar_content {
    background: #fff;
}

.calendar_weekdays {
}

.calendar_content,
.calendar_weekdays,
.calendar_header {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.calendar_weekdays div {
    display: inline-block;
    vertical-align: top;
    font-size: 10px !important;
    font-weight: 600;
    text-transform: uppercase;
    padding-bottom: 0;
}

.calendar_weekdays div,
.calendar_content div {
    width: calc(14.28571% - 4px);
    overflow: hidden;
    text-align: center;
    background-color: transparent;
    color: #000;
    font-size: 12px;
    margin: 2px;
}

.calendar_content div {
    border: 1px solid transparent;
    position: relative;
    z-index: 0;
    padding-bottom: calc(14.28571% - 4px);
}

.calendar_content div:hover {
    border: 1px solid #dcdcdc;
    cursor: default;
}

.calendar_content div.blank:hover {
    cursor: default;
    border: 1px solid transparent;
}

.calendar_content div.past-date {
    color: #d5d5d5;
}

.calendar_content div.appuntamento {
    background-color: #C0B3AF;
    color: #fff;
    transition: .3s;
}

.calendar_content div.appuntamento.filtrato {
    background-color: #BF3A1B;
    color: #fff;
    transition: .3s;
}

.calendar_content div.today {
    color: #fff;
    transition: .3s;
}

.calendar_content div.today:after {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    content: '';
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: #5A587A;
    z-index: -1;
    -webkit-box-shadow: 0px 5px 11px -9px rgba(0, 0, 0, 0.48);
    -moz-box-shadow: 0px 5px 11px -9px rgba(0, 0, 0, 0.48);
    box-shadow: 0px 5px 11px -9px rgba(0, 0, 0, 0.48);
}

.calendar_content div.appuntamento:hover,
.calendar_content div.appuntamento.filtrato:hover,
.calendar_content div.today:hover {
    opacity: .7;
}

.calendar_content div.selected {
    background-color: #f0f0f0;
}

.calendar_content div span {
    position: absolute;
    left: 5px;
    top: 5px;
    font-size: 10px;
}

.calendar_content div a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.calendar_header {
    width: 100%;
    text-align: center;
    background-color: #EBEDEF;
    display: flex;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: .5rem;
}

.calendar_header h2 {
    font-weight: 700;
    font-size: 16px;
    width: 70%;
    margin-bottom: 0;
    font-family: inter;
}

button.switch-month {
    background-color: transparent;
    padding: 0;
    outline: none;
    border: none;
    width: 15%;
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s;
}

button.switch-month:hover {
    color: grey;
}

.calendar_content div:not(.blank) {
    border: 1px solid grey;
}

/* Stile personalizzato per il tooltip */
.custom-tooltip .tooltip-inner {
    background-color: #fff;
    /* Colore di sfondo */
    color: #000;
    /* Colore del testo */
    font-size: 14px;
    /* Dimensione del testo */
    border-radius: 8px;
    /* Bordi arrotondati */
    padding: 8px 12px;
    /* Padding interno */
    max-width: 200px;
    /* Larghezza massima */
    border: 2px solid black;
}

.custom-tooltip .tooltip-arrow {
    border-top-color: #fff;
    /* Colore della freccia */
}

.legenda-calendario {
    padding: 20px;
    background-color: #dde1ed;
    border-radius: 8px;    
    margin-top: 2rem;
}

.legenda-calendario h4 {
    font-family: inherit;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.legenda-calendario ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.legenda-calendario ul li {
    margin-bottom: .5rem;
    display: flex;    
    align-items: center;
}

.legenda-calendario ul li:last-child {
    margin-bottom: 0;
}

.legenda-calendario ul li span {
    margin-right: .5rem;
    display: block;
    height: 15px;
    width: 15px;
    border-radius: 99px;
    border: 1px solid black;
    flex-shrink: 0;
}

.legenda-calendario ul li span.today {
    background-color: #5A587A;
}

.legenda-calendario ul li span.appuntamento-presente {
    background-color: #C0B3AF;
}

.legenda-calendario ul li span.filtrato {
    background-color: #BF3A1B;
}

/*--------------------------------------------------------------
# Visiting hours 
--------------------------------------------------------------*/
.visiting-hours .container-box {
    background: #F1F3F8;
    border-radius: 5px;
    opacity: 1;
}

.visiting-hours .container-box h6 {
    font-family: pt_serif !important;
    font-size: 18px;
    margin-bottom: 15px;
}

.visiting-hours .container-box .time-widget-container {
    display: flex;
    justify-content: start;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
}

.visiting-hours .container-box .time-widget {
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 4px;
    background-color: #FFFFFF;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    width: 100%;
    display: inline-block;
    font-weight: bold;
    margin-bottom: .5rem;
}

.visiting-hours .container-box .time-widget.selected {
    background-color: #194895;
    color: #FFFFFF;
}

.visiting-hours .container-box button {
    background-color: #C72017;
    border: none;
    color: #FFFFFF;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    padding: 10px 20px;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.visiting-hours .container-box button:hover {
    background-color: #A81B12;
}