.elementor-2037 .elementor-element.elementor-element-80bb613{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2037 .elementor-element.elementor-element-80bb613.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2037 .elementor-element.elementor-element-412b0a5{width:100%;max-width:100%;}.elementor-2037 .elementor-element.elementor-element-a85fb4e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2037 .elementor-element.elementor-element-3312ec5{width:100%;max-width:100%;}.elementor-2037 .elementor-element.elementor-element-8d9b707{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2037 .elementor-element.elementor-element-f28e64c{width:100%;max-width:100%;}.elementor-2037 .elementor-element.elementor-element-4f2df36{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2037 .elementor-element.elementor-element-8de7af2{width:100%;max-width:100%;}@media(min-width:768px){.elementor-2037 .elementor-element.elementor-element-80bb613{--width:102.716%;}}/* Start custom CSS for shortcode, class: .elementor-element-3312ec5 *//* ===== DIVE FOR FUN - CALENDARIO PULITO ===== */

.dff-calendar-box,
.dff-calendar-box *{
  box-sizing:border-box;
}

.dff-calendar-box{
  --dff-blue:#0f4a92;
  --dff-blue-dark:#0b3770;
  --dff-yellow:#ffe600;
  --dff-text:#24313f;
  --dff-line:rgba(12,55,112,.10);
  --dff-shadow:0 14px 40px rgba(10,43,85,.12);

  width:100% !important;
  max-width:1200px !important;
  margin:50px auto !important;
  padding:30px !important;
  background:#fff !important;
  border:1px solid var(--dff-line) !important;
  border-radius:32px !important;
  box-shadow:var(--dff-shadow) !important;
  overflow:hidden !important;
}

.dff-calendar-box .elementor-widget-container,
.dff-calendar-box .simcal-calendar,
.dff-calendar-box .simcal-default-calendar,
.dff-calendar-box .simcal-default-calendar-grid,
.dff-calendar-box table{
  width:100% !important;
  max-width:100% !important;
}

.dff-calendar-box .simcal-calendar{
  margin:0 !important;
  border:none !important;
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:none !important;
  font-family:inherit !important;
}

.dff-calendar-box .simcal-calendar-head{
  background:linear-gradient(180deg, var(--dff-blue) 0%, var(--dff-blue-dark) 100%) !important;
  color:#fff !important;
  border:none !important;
}

.dff-calendar-box .simcal-current h3{
  margin:0 !important;
  color:#fff !important;
  font-size:34px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

.dff-calendar-box .simcal-nav-button{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border:none !important;
  border-radius:12px !important;
}

.dff-calendar-box .simcal-nav-button:hover{
  background:var(--dff-yellow) !important;
  color:#111 !important;
}

.dff-calendar-box .simcal-week-day{
  background:var(--dff-yellow) !important;
  color:var(--dff-blue-dark) !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  padding:16px 10px !important;
  border:none !important;
}

.dff-calendar-box .simcal-day{
  background:#fff !important;
  border:1px solid #edf2f7 !important;
  min-height:145px !important;
  height:145px !important;
  vertical-align:top !important;
  padding:10px !important;
}

.dff-calendar-box .simcal-day:hover{
  background:#fafcff !important;
}

.dff-calendar-box .simcal-day-number{
  color:var(--dff-blue-dark) !important;
  font-size:16px !important;
  font-weight:900 !important;
  background:transparent !important;
}

.dff-calendar-box .simcal-today{
  background:#f4f9ff !important;
  position:relative !important;
}

.dff-calendar-box .simcal-today::after{
  content:"";
  position:absolute;
  inset:0;
  border:3px solid var(--dff-yellow);
  pointer-events:none;
}

/* RIMUOVE BARRA NERA / ORARIO */
.dff-calendar-box .simcal-event-start,
.dff-calendar-box .simcal-event-end,
.dff-calendar-box .simcal-event-time,
.dff-calendar-box .simcal-event-address,
.dff-calendar-box .simcal-event-location,
.dff-calendar-box .simcal-time,
.dff-calendar-box .simcal-start,
.dff-calendar-box .simcal-end{
  display:none !important;
}

/* EVENTO */
.dff-calendar-box .simcal-event{
  display:block !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  cursor:pointer !important;
}

/* FORZA EVENTO GIALLO */
.dff-calendar-box .simcal-event > *,
.dff-calendar-box .simcal-event .simcal-event-title,
.dff-calendar-box .simcal-event .simcal-event-title *,
.dff-calendar-box .simcal-event a{
  background:var(--dff-yellow) !important;
  color:#111 !important;
  border:none !important;
  box-shadow:0 8px 18px rgba(255,230,0,.22) !important;
  border-radius:10px !important;
}

.dff-calendar-box .simcal-event a,
.dff-calendar-box .simcal-event-title{
  display:block !important;
  padding:8px 10px !important;
  color:#111 !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}

.dff-calendar-box .simcal-event::before,
.dff-calendar-box .simcal-event::after,
.dff-calendar-box .simcal-event *::before,
.dff-calendar-box .simcal-event *::after{
  display:none !important;
  content:none !important;
  background:transparent !important;
}

.dff-calendar-box .simcal-event:hover a,
.dff-calendar-box .simcal-event:hover .simcal-event-title{
  transform:translateY(-2px);
  box-shadow:0 14px 22px rgba(255,230,0,.35) !important;
}

/* MOBILE */
@media(max-width:767px){

  .dff-calendar-box{
    margin:30px auto !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .dff-calendar-box .simcal-current h3{
    font-size:22px !important;
  }

  .dff-calendar-box .simcal-week-day{
    font-size:10px !important;
    padding:10px 2px !important;
  }

  .dff-calendar-box .simcal-day{
    min-height:95px !important;
    height:95px !important;
    padding:5px !important;
  }

  .dff-calendar-box .simcal-day-number{
    font-size:13px !important;
  }

  .dff-calendar-box .simcal-events-dots,
  .dff-calendar-box .simcal-event-dots,
  .dff-calendar-box .simcal-event-dot,
  .dff-calendar-box .simcal-dot,
  .dff-calendar-box .simcal-day-has-events::after{
    display:none !important;
  }

  .dff-calendar-box .simcal-event{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .dff-calendar-box .simcal-event a,
  .dff-calendar-box .simcal-event-title{
    display:block !important;
    font-size:9px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-height:32px;
    padding:5px 6px !important;
    border-radius:8px !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-f28e64c *//* ===== DFF - CALENDARIO LISTA MOBILE PREMIUM ===== */

.dff-calendar-mobile,
.dff-calendar-mobile-box{
  display:none !important;
}

@media(max-width:767px){

  .dff-calendar-desktop{
    display:none !important;
  }

  .dff-calendar-mobile,
  .dff-calendar-mobile-box{
    display:block !important;
    width:100% !important;
  }

  .dff-calendar-mobile-box{
    margin:24px auto 34px !important;
    padding:12px !important;
    background:#fff !important;
    border:1px solid rgba(12,55,112,.10) !important;
    border-radius:22px !important;
    box-shadow:0 10px 28px rgba(10,43,85,.10) !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .dff-calendar-mobile-box,
  .dff-calendar-mobile-box *{
    box-sizing:border-box !important;
  }

  .dff-calendar-mobile-box .simcal-calendar{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }

  .dff-calendar-mobile-box .simcal-default-calendar-list{
    padding:0 !important;
    min-height:0 !important;
  }

  .dff-calendar-mobile-box dl.simcal-month,
  .dff-calendar-mobile-box .simcal-events-list-container{
    margin:0 !important;
    padding:0 !important;
  }

  .dff-calendar-mobile-box dd.simcal-day{
    margin:0 !important;
    padding:0 !important;
  }

  .dff-calendar-mobile-box .simcal-calendar-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:linear-gradient(180deg,#0f4a92 0%,#0b3770 100%) !important;
    border-radius:16px !important;
    margin-bottom:14px !important;
    padding:8px !important;
  }

  .dff-calendar-mobile-box .simcal-current h3{
    margin:0 !important;
    color:#fff !important;
    font-size:22px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
  }

  .dff-calendar-mobile-box .simcal-nav-button{
    width:38px !important;
    height:38px !important;
    border:none !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.16) !important;
    color:#fff !important;
  }

  .dff-calendar-mobile-box dt.simcal-day-label{
    display:block !important;
    border:none !important;
    margin:10px 0 6px !important;
    padding:0 !important;
    background:transparent !important;
  }

  .dff-calendar-mobile-box dt.simcal-day-label span,
  .dff-calendar-mobile-box dt.simcal-day-label span .simcal-date-format{
    display:inline-block !important;
    width:auto !important;
    padding:5px 10px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:#0f4a92 !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
  }

  .dff-calendar-mobile-box ul.simcal-events{
    margin:6px 0 0 !important;
    padding:0 !important;
  }

  .dff-calendar-mobile-box ul.simcal-events li.simcal-event,
  .dff-calendar-mobile-box .simcal-event{
    list-style:none !important;
    background:#fff !important;
    border:1px solid rgba(15,74,146,.10) !important;
    border-left:5px solid #ffe600 !important;
    border-radius:14px !important;
    margin:0 0 8px !important;
    padding:10px 12px !important;
    box-shadow:0 5px 14px rgba(10,43,85,.06) !important;
    overflow:hidden !important;
    word-wrap:break-word !important;
  }

  .dff-calendar-mobile-box .simcal-event *,
  .dff-calendar-mobile-box .simcal-event-details{
    box-shadow:none !important;
  }

  .dff-calendar-mobile-box .simcal-event-details{
    font-size:13px !important;
    line-height:1.45 !important;
    overflow:visible !important;
  }

  .dff-calendar-mobile-box .simcal-event-title,
  .dff-calendar-mobile-box .simcal-event-title a{
    display:block !important;
    color:#0b3770 !important;
    font-size:17px !important;
    font-weight:900 !important;
    line-height:1.22 !important;
    text-decoration:none !important;
    margin:0 0 5px !important;
    padding:0 !important;
  }

  .dff-calendar-mobile-box .simcal-event p,
  .dff-calendar-mobile-box .simcal-event-details p{
    display:block !important;
    margin:4px 0 0 !important;
    color:#6f7d8b !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .dff-calendar-mobile-box .simcal-event strong{
    color:#0b3770 !important;
    font-weight:900 !important;
  }

  .dff-calendar-mobile-box .simcal-event-start-date,
  .dff-calendar-mobile-box .simcal-event-start-time,
  .dff-calendar-mobile-box .simcal-event-end-time,
  .dff-calendar-mobile-box span[itemprop="startDate"],
  .dff-calendar-mobile-box span[itemprop="endDate"]{
    display:inline !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#6f7d8b !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.45 !important;
  }

  .dff-calendar-mobile-box .simcal-event-address{
    display:inline !important;
    color:#6f7d8b !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .dff-calendar-mobile-box .simcal-event-description,
  .dff-calendar-mobile-box .simcal-event-description p{
    margin:5px 0 0 !important;
    color:#6f7d8b !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .dff-calendar-mobile-box .simcal-event-details-link{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:8px !important;
    padding:8px 13px !important;
    border-radius:999px !important;
    background:#0f4a92 !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:800 !important;
  }

  .dff-calendar-mobile-box .simcal-event-details-link:hover{
    background:#0b3770 !important;
  }
}

.dff-calendar-mobile-box .simcal-event-description,
.dff-calendar-mobile-box .simcal-event-description p{
  margin-top:3px !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8d9b707 *//* ===== DFF MOBILE LISTA - VERSIONE PULITA ===== */

@media(max-width:767px){

  .dff-calendar-mobile-box{
    padding:12px !important;
  }

  /* DATA */
  .dff-calendar-mobile-box .simcal-day-label,
  .dff-calendar-mobile-box .simcal-day-label span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    background:#0b3770 !important;
    color:#fff !important;
    padding:10px 16px !important;
    margin:18px 0 12px !important;
    border-radius:999px !important;
    font-size:14px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    line-height:1 !important;
  }

  /* CARD EVENTO */
  .dff-calendar-mobile-box .simcal-event{
    background:#fff !important;
    border:1px solid rgba(15,74,146,.10) !important;
    border-left:5px solid #ffe600 !important;
    border-radius:20px !important;
    padding:18px !important;
    margin:0 0 14px !important;
    box-shadow:0 10px 26px rgba(10,43,85,.10) !important;
    min-height:auto !important;
  }

  /* TITOLO */
  .dff-calendar-mobile-box .simcal-event-title,
  .dff-calendar-mobile-box .simcal-event-title a,
  .dff-calendar-mobile-box .simcal-event a{
    color:#0b3770 !important;
    font-size:20px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-decoration:none !important;
    margin:0 0 8px !important;
    padding:0 !important;
  }

  /* DESCRIZIONE */
  .dff-calendar-mobile-box .simcal-event-description,
  .dff-calendar-mobile-box .simcal-event-description p{
    margin:6px 0 0 !important;
    color:#6f7d8b !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  /* BOTTONE DETTAGLI */
  .dff-calendar-mobile-box .simcal-event-details-link,
  .dff-calendar-mobile-box .simcal-event a[href*="google"],
  .dff-calendar-mobile-box .simcal-event a[href*="calendar"]{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#ffe600 !important;
    color:#111 !important;
    padding:10px 16px !important;
    border-radius:999px !important;
    font-size:13px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    margin-top:12px !important;
  }

  /* NASCONDE ORARI */
  .dff-calendar-mobile-box .simcal-event-start,
  .dff-calendar-mobile-box .simcal-event-end,
  .dff-calendar-mobile-box .simcal-event-time,
  .dff-calendar-mobile-box .simcal-time{
    display:none !important;
  }
}/* End custom CSS */