.slogan {
    font-size: 42px;
}
.dates{
    line-height:1.2;
}

.dates span:first-child{
    font-size:1.6rem;
    font-style:italic;
}
.dates span {
    display:block;
    font-family:"TodaySHOP-Light","Montserrat",sans-serif;
    font-size:1.9rem;
    letter-spacing:.22rem;
    text-transform:uppercase;
    font-weight:400;
    color:#17472b;
}

.events-program{
    max-width:1200px;
    margin:auto;
    padding:10px 30px 30px 30px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(430px,1fr));
    gap:0px 64px;
    color:#17472b;
}

.program-month{
    --accent:#8d4474;
}

.program-month.luglio{
    --accent:#8d4474;
}

.program-month.agosto{
    --accent:#e48739;
}

.program-month.settembre{
    --accent:#5fa15f;
}

.program-month-header{
    margin:0 0 22px;
    line-height:.95;
    color:var(--accent);
}

.program-month-header span{
    /* display:block; */
    font-family:"TodaySHOP-Light","Montserrat",sans-serif;
    letter-spacing:.22rem;
    text-transform:uppercase;
    font-weight:400;
    color:var(--accent);
}

.program-month-header h2{
    margin:0;
    font-family:"TodaySHOP-Medium","Montserrat",sans-serif;
    font-size:2.5rem;
    line-height:.9;
    font-weight:700;
    color:var(--accent);
}

.program-day{
    margin:0 0 30px;
}

.program-day h3{
    margin:0 0 8px;
    font-size:1.75rem;
    line-height:1.05;
    font-weight:800;
    text-transform:uppercase;
    color:var(--accent);
}

.program-day h3 small{
    display:inline-block;
    margin-left:6px;
    font-size:1.05rem;
    line-height:1;
    font-style:italic;
    font-weight:600;
    text-transform:none;
    color:var(--accent);
}

.program-day-events{
    margin:0;
}

.program-event{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:10px;
    margin:0 0 8px;
}

.program-event time{
    display:block;
    padding-top:1px;
    font-size:1.08rem;
    line-height:1.25;
    font-weight:600;
    color:var(--accent);
}

.program-event-body{
    font-size:1.05rem;
    line-height:1.35;
    color:#17472b;
}

.program-event-titleline{
    color:#17472b;
}

.program-event-titleline i{
    display:inline-block;
    width:20px;
    margin-right:5px;
    color:var(--accent);
    font-size:.95rem;
    text-align:center;
}

.program-event-category{
    font-weight:700;
    color:#17472b;
}

.program-event-titleline strong{
    font-weight:800;
    color:#17472b;
}

.program-event-speaker{
    font-weight:400;
    color:#17472b;
}

.program-event-meta{
    margin-top:1px;
    color:#17472b;
}

.program-event p{
    margin:1px 0 0;
    color:#17472b;
}

.map{
    padding:0 0 4rem;
    background-color:#009999;
    border-radius:0 0 20px 20px;
    overflow:hidden;
}

.map h2{
    font-size:24px;
    text-align:center;
    text-transform:uppercase;
    color:white;
    padding:24px 20px 0;
}

.map h3{
    font-size:15px;
    line-height:1.5;
    text-align:center;
    color:white;
    padding:18px 20px 24px;
    font-weight:400;
}

.map iframe{
    display:block;
    width:100%;
    height:420px;
    border:0;
}

.map-link{
    text-align:center;
    padding:22px 20px 0;
}

.map-link a{
    display:inline-block;
    background:#415d35;
    color:white;
    text-decoration:none;
    padding:12px 22px;
    border-radius:999px;
    font-weight:600;
}

.map-link a:hover{
    background:#abbb2d;
}

@media(max-width:900px){
    .events-program{
        grid-template-columns:1fr;
        gap:38px;
        padding:24px;
    }

    .program-month-header span{
        font-size:1.55rem;
    }

    .program-month-header h2{
        font-size:3rem;
    }

    .program-day h3{
        font-size:1.5rem;
    }

    .program-event{
        grid-template-columns:54px 1fr;
    }
}

@media(max-width:560px){
    .events-program{
        padding:22px 16px;
    }

    .program-month-header span{
        font-size:1.25rem;
        letter-spacing:.16rem;
    }

    .program-month-header h2{
        font-size:2.45rem;
    }

    .program-day{
        margin-bottom:26px;
    }

    .program-day h3{
        font-size:1.35rem;
    }

    .program-day h3 small{
        display:block;
        margin:3px 0 0;
    }

    .program-event{
        grid-template-columns:48px 1fr;
        gap:8px;
    }

    .program-event time{
        font-size:.98rem;
    }

    .program-event-body{
        font-size:1rem;
    }
}

