﻿/* Event Calendar Pro - Full Width
-------------------------------------------------- */
.eventcalendar {width:100%;margin-bottom:80px}
.eventcalendar .col-md-9 {width:100%;flex:0 0 100%;max-width:100%}

/* Calendar Tables
-------------------------------------------------- */
.eventcalendar .mpcalendarmain {display:table;width:100%;table-layout:fixed;border-collapse:collapse}
.eventcalendar .mpcalendarmain tbody {display:table-row-group}
.eventcalendar .mpcalendarmain tr {width:auto}
.eventcalendar .table-bordered td {border:1px solid #ddd}
.eventcalendar .table-bordered td {border-left:2px solid #ddd}
.eventcalendar .table-bordered {border:0 !important}
.eventcalendar .table-condensed > tbody > tr > td {padding:0}

/* Month Header and Navigation
-------------------------------------------------- */
.eventcalendar .ec-month-head {padding:5px;width:100%;background-color:#efefef;margin:10px 0 30px}
.eventcalendar .eventcalheader {display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:6px 20px;background-color:#efefef;box-sizing:border-box}
.eventcalendar .eventcalheader .ec-month-previous {grid-column:1;justify-self:start;min-width:0}
.eventcalendar .eventcalheader .currentMonth {grid-column:2;margin:0;text-align:center;font-size:21px;line-height:1.35;font-weight:600;color:#173e69}
.eventcalendar .eventcalheader .ec-month-next {grid-column:3;justify-self:end;min-width:0}
.eventcalendar .eventcalheader .eventNextPrevious {display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;max-width:100%;margin:0;padding:7px 10px;background-color:#f8f8f8;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;color:#333;font-size:14px;font-weight:400;line-height:1.35;text-align:center;text-decoration:none !important;white-space:nowrap;float:none;position:static}
.eventcalendar .eventcalheader .eventNextPrevious:hover,
.eventcalendar .eventcalheader .eventNextPrevious:focus {background-color:#fff;border-color:#aaa;color:#de5a10}

/* Calendar Days and Events
-------------------------------------------------- */
.eventcalendar a {text-decoration:none !important}
.eventcalendar .ec-day {border:1px solid #b6b6b6;background-color:#fff !important}
.eventcalendar .ec-other-month {background-color:#f5f5f5 !important}
.eventcalendar .ec-head {border-width:0 !important}
.eventcalendar .eventcontainer {background-color:#f7f4e8;padding-left:5px;margin:3px 3px 10px;border:1px solid #b9b295}
.eventcalendar .dayNumber {padding:5px}
.eventcalendar .dayNumber a {text-decoration:none !important}
.eventcalendar .ec-filler {height:60px}
.eventcalendar .mpcalendarweekendday,
.eventcalendar .mpcalendarday {border:1px solid #b6b6b6;background-color:#fff !important}
.eventcalendar .mpcalendarothermonth {border:1px solid #b6b6b6;background-color:#e2e0e0 !important}
.eventcalendar .mpcalendartoday {background-color:#e5f6df !important}
.eventcalendar .eventlink {font-size:12px;text-decoration:none !important;color:blue}
.eventcalendar .eventnamediv {background-color:#eee;padding:2px;margin-bottom:5px}

/* Print
-------------------------------------------------- */
.eventcalendar .calendar-pdfprint {text-align:center}
.eventcalendar .pdf-label {display:none}

/* Event Detail
-------------------------------------------------- */
.eventdetailview .timerow .settinglabel,
.eventdetailview .daterow .settinglabel,
.eventdetailview .localrow .settinglabel {width:110px;padding:0}
.eventdetailview .moduletitle {margin-top:20px}
.eventdetailview .eventmenu {display:none}
.eventdetailview {margin-bottom:100px}
.gmap {width:100% !important;margin-top:30px;height:450px !important}

/* Admin
-------------------------------------------------- */
.editgridcell {font-size:14px}

/* Responsive Calendar Header
-------------------------------------------------- */
@media(max-width:767px){
    .eventcalendar .eventcalheader {gap:8px;padding:8px}
    .eventcalendar .eventcalheader .currentMonth {font-size:17px}
    .eventcalendar .eventcalheader .eventNextPrevious {padding:7px 6px;font-size:12px;white-space:normal}
}

@media(max-width:520px){
    .eventcalendar .eventcalheader {grid-template-columns:1fr 1fr;gap:8px}
    .eventcalendar .eventcalheader .currentMonth {grid-column:1 / -1;grid-row:1}
    .eventcalendar .eventcalheader .ec-month-previous {grid-column:1;grid-row:2}
    .eventcalendar .eventcalheader .ec-month-next {grid-column:2;grid-row:2}
}

/* Event Editor - Recurring Weekday Checkboxes
-------------------------------------------------- */
/* Isolated from generic CMS checkbox/label styles. */
.recur-day-selection ul {display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:6px 0 12px;padding:0;list-style:none}
.recur-day-selection ul > li.checkbox {display:block;float:none;width:auto;min-height:0;margin:0;padding:0;list-style:none}
.recur-day-selection ul > li.checkbox::before,
.recur-day-selection ul > li.checkbox::after,
.recur-day-selection ul > li.checkbox > label::before,
.recur-day-selection ul > li.checkbox > label::after {content:none !important}
.recur-day-selection ul > li.checkbox > label {display:inline-flex;align-items:center;gap:6px;width:auto;min-height:0;max-width:none;margin:0;padding:4px 0;font-weight:400;line-height:1.4;cursor:pointer}
.recur-day-selection ul > li.checkbox > label > input[type="checkbox"] {appearance:auto !important;-webkit-appearance:checkbox !important;display:inline-block !important;position:static !important;visibility:visible !important;opacity:1 !important;float:none !important;width:16px !important;height:16px !important;margin:0 !important;padding:0 !important;vertical-align:middle;pointer-events:auto !important;accent-color:#de5a10;cursor:pointer}

/* Homepage Event Feed
-------------------------------------------------- */
#upcoming-events-908 {width:100%;padding:55px 24px 65px;box-sizing:border-box}
#upcoming-events-908 .moduletitle {margin:0 0 32px;padding:0;border:0;background:none;color:#fff;font-size:38px;font-weight:700;line-height:1.2;text-align:center;text-shadow:0 3px 12px rgba(0,0,0,.75),0 1px 3px rgba(0,0,0,.8)}
#upcoming-events-908 .modulecontent {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:1220px;margin:0 auto}
#upcoming-events-908 .vevent {display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);column-gap:14px;row-gap:5px;min-width:0;min-height:105px;margin:0;padding:16px;border:1px solid rgba(255,255,255,.85);border-top:3px solid #db5819;border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 5px 18px rgba(0,0,0,.22),0 1px 4px rgba(0,0,0,.12);box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#upcoming-events-908 .vevent:hover {border-color:#f1b391;border-top-color:#bd4410;box-shadow:0 12px 28px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.14);transform:translateY(-3px)}
#upcoming-events-908 .eventdate {grid-column:1;grid-row:1 / 4;align-self:start;display:block;width:66px;min-height:70px;padding:9px 5px 7px;border-radius:6px;background:linear-gradient(145deg,#ed6b22,#c8470e);color:#fff;font-size:29px;font-weight:800;line-height:1.12;text-align:center;text-transform:uppercase;box-shadow:0 3px 8px rgba(193,70,14,.25);box-sizing:border-box}
#upcoming-events-908 .eventdate::first-line {font-size:12px;font-weight:700;letter-spacing:1px;line-height:1.7}
#upcoming-events-908 .summary {grid-column:2;grid-row:1;display:block;min-width:0;margin:1px 0 0;color:#282828;font-size:16px;font-weight:700;line-height:1.35;text-decoration:none !important;overflow-wrap:break-word}
#upcoming-events-908 .summary:hover,
#upcoming-events-908 .summary:focus {color:#d95315}
#upcoming-events-908 .eventtime {grid-column:2;grid-row:2;min-width:0;color:#625b55;font-size:13px;font-weight:500;line-height:1.4}
#upcoming-events-908 .eventtime::before {content:"\f017";display:inline-block;margin-right:6px;color:#d95315;font-family:"Font Awesome 6 Free";font-weight:900}
#upcoming-events-908 .eventtime abbr {border:0;text-decoration:none;cursor:inherit}
#upcoming-events-908 .description {grid-column:2;grid-row:3;min-width:0;max-height:42px;overflow:hidden;color:#77716d;font-size:12px;line-height:1.4}
#upcoming-events-908 .description:empty {display:none}
#upcoming-events-908 .description p {margin:0}
#upcoming-events-908 .timezone {grid-column:1 / -1;display:block;margin:4px 0 0;color:#fff;font-size:11px;text-align:right;text-shadow:0 1px 4px rgba(0,0,0,.7)}

/* Responsive
-------------------------------------------------- */
@media(max-width:991px) {
    #upcoming-events-908 .modulecontent {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    #upcoming-events-908 .moduletitle {font-size:34px}
}

@media(max-width:600px) {
    #upcoming-events-908 {padding:40px 16px 45px}
    #upcoming-events-908 .moduletitle {margin-bottom:25px;font-size:30px}
    #upcoming-events-908 .modulecontent {grid-template-columns:1fr;gap:12px}
    #upcoming-events-908 .vevent {min-height:95px;padding:13px}
}

@media(prefers-reduced-motion:reduce){
    #upcoming-events-908 .vevent {transition:none}

    #upcoming-events-908 .vevent:hover {transform:none}
}
