.visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
.fc-event {
cursor: pointer;
}
.piecal-wrapper {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
--piecal-darkblue: #194570; --fc-event-bg-color: var(--piecal-darkblue);
--fc-event-border-color: var(--piecal-darkblue);
--accent: var(--piecal-darkblue);
}
.piecal-wrapper :is(.fc-daygrid-body, .fc-timegrid-body, table) {
width: 100% !important;
}
.piecal-wrapper #calendar {
width: 100%;
} .piecal-controls.fc {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 8px 0px;
position: relative;
gap: 16px;
}
.piecal-controls.fc .piecal-controls__view-title {
margin-block-end: 0;
font-size: 1.25rem;
font-weight: bold;
width: 100%;
}
.piecal-controls.fc .piecal-controls__view-chooser {
max-width: calc(50% - 8px);
}
.piecal-controls.fc .piecal-controls__back-to-month {}
.piecal-controls.fc .piecal-controls__navigation-button-group {
display: flex;
gap: 0;
margin-left: auto;
}
.piecal-controls.fc .piecal-controls__today-button {
justify-content: center;
margin-right: 8px;
text-transform: capitalize;
max-width: 150px;
}
.piecal-controls.fc :is(.piecal-controls__prev-button, .piecal-controls__next-button) {
min-width: 64px;
}
.piecal-controls.fc .piecal-controls__prev-button {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.piecal-controls.fc .piecal-controls__next-button {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.piecal-controls.fc .piecal-controls__skip-calendar {
position: absolute;
inset: 0 0 4px 0;
min-height: 48px;
}
.piecal-controls.fc .piecal-controls__skip-calendar:not(:focus) {
clip: rect(1px, 1px, 1px, 1px);
} .piecal-popover {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.25);
backdrop-filter: blur(3px);
display: flex;
align-items: center;
justify-content: center;
z-index: 100;
}
.piecal-popover__inner {
position: relative;
background: white;
border-radius: 8px;
padding: 32px;
gap: 16px;
margin: 0 32px;
max-width: 400px;
width: 100%;
max-height: 75%;
overflow: auto;
}
.piecal-popover__title {
font-size: 2rem;
margin-block-start: 0;
margin-block-end: 0;
}
.piecal-popover__meta {
font-size: 14px;
font-style: italic;
display: grid;
grid-template-columns: 50% 50%;
grid-column-gap: 8px;
grid-row-gap: 8px;
}
.piecal-popover__meta > p {
margin-block-start: 0;
margin-block-end: 0;
}
.piecal-popover__close-button {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
position: sticky;
top: 0px;
left: 100%;
border: none;
background: rgba(255,255,255,0.15);
backdrop-filter: blur(5px);
border-radius: 100%;
cursor: pointer;
padding: 8px;
}
.piecal-popover__close-button::after {
content: "";
position: absolute;
width: 2px;
height: 80%;
background: black;
transform: rotate(45deg);
}
.piecal-popover__close-button::before {
content: "";
position: absolute;
width: 2px;
height: 80%;
background: black;
transform: rotate(-45deg);
} .piecal-wrapper.piecal-wrap-event-titles .fc-event {
flex-direction: row;
flex-wrap: wrap;
white-space: normal;
} .piecal-info p {
margin-block-start: 0;
margin-block-end: 0;
margin-bottom: 0;
} .piecal-footer {
text-align: center;
font-size: 0.75rem;
} .piecal-wrapper:not([data-view='listDay']) .piecal-controls__back-to-month {
display: none;
} @media only screen and (min-width: 768px) {
.piecal-wrapper:not(.piecal-wrapper--widget) .piecal-controls__back-to-month {
display: none;
}
} .piecal-wrapper--widget .piecal-controls label {
display: none;
}
.piecal-wrapper--widget .fc-header-toolbar.fc-toolbar {
display: grid;
grid-template-columns: 1fr;
grid-row-gap: 8px;
}
.piecal-wrapper--widget .fc-header-toolbar .fc-toolbar-title {
text-align: center;
}
.piecal-wrapper--widget .fc-header-toolbar .fc-toolbar-chunk:last-child {
display: grid;
grid-row-gap: 8px;
}
.piecal-wrapper--widget .fc-header-toolbar .fc-toolbar-chunk:last-child .fc-button-group {
margin-left: 0;
}
.piecal-wrapper--widget .fc-col-header-cell a {
font-size: 0.75rem;
text-decoration: none;
}
.piecal-wrapper--widget .fc-daygrid-day-frame {
aspect-ratio: 1 / 1;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.piecal-wrapper--widget .fc-daygrid-day-frame:has(.fc-daygrid-event-harness)::after {
content: "";
position: absolute;
width: 32px;
height: 32px;
border-radius: 100%;
box-shadow: 0px 0px 0px 1px var(--fc-event-bg-color);
}
.piecal-wrapper--widget .fc-daygrid-day-top {
font-size: 12px;
margin-left: 6px;
}
.piecal-wrapper--widget .fc-daygrid-day-events .fc-daygrid-event-harness a {
display: none;
}
.piecal-wrapper--widget[data-view="listDay"] .fc-today-button {
display: none;
}
.piecal-wrapper--widget .fc-list-event {
display: flex;
flex-direction: column;
}
.piecal-wrapper--widget .fc-list-event > td {
width: 100%;
}
.piecal-wrapper--widget .fc-list-event > td:first-child {
padding-bottom: 0px;
border-bottom: 0px;
}
.piecal-wrapper--widget .fc-list-event > td:last-child {
padding-top: 0px;
border-top: 0px;
}
.piecal-wrapper--widget .fc-list-event-graphic {
display: none;
}
.piecal-wrapper--widget .fc-list-empty-cushion {
margin-top: 0px;
margin-bottom: 0px;
}
.piecal-wrapper--widget :is(.piecal-grid-day-header-text--full, .piecal-grid-day-header-text--short) {
display: none;
}
.piecal-wrapper--widget .piecal-grid-day-header-text--single-letter {
display: inline;
} @media only screen and (max-width: 768px) {
.piecal-wrapper--responsive-widget .piecal-controls label {
display: none;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-header-toolbar.fc-toolbar {
display: grid;
grid-template-columns: 1fr;
grid-row-gap: 8px;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-header-toolbar .fc-toolbar-title {
text-align: center;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-header-toolbar .fc-toolbar-chunk:last-child {
display: grid;
grid-row-gap: 8px;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-header-toolbar .fc-toolbar-chunk:last-child .fc-button-group {
margin-left: 0;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-col-header-cell a {
font-size: 0.75rem;
text-decoration: none;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-daygrid-day-frame {
aspect-ratio: 1 / 1;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-daygrid-day-frame:has(.fc-daygrid-event-harness)::after {
content: "";
position: absolute;
width: 32px;
height: 32px;
border-radius: 100%;
box-shadow: 0px 0px 0px 1px var(--fc-event-bg-color);
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-daygrid-day-top {
font-size: 12px;
margin-left: 6px;
}
.piecal-wrapper--responsive-widget[data-view="dayGridMonth"] .fc-daygrid-day-events .fc-daygrid-event-harness a {
display: none;
}
.piecal-wrapper--responsive-widget[data-view="listDay"] .fc-today-button {
display: none;
}
.piecal-wrapper--responsive-widget :is(.piecal-grid-day-header-text--full, .piecal-grid-day-header-text--short) {
display: none;
}
.piecal-wrapper--responsive-widget .piecal-grid-day-header-text--single-letter {
display: inline;
}
} .piecal-grid-day-header-text--short,
.piecal-grid-day-header-text--single-letter {
display: none;
}
@media only screen and (max-width: 768px) { .piecal-controls__view-title {
width: 100%;
text-align: center;
}
.piecal-controls__view-chooser {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
max-width: 100%;
}
.piecal-controls .piecal-controls__navigation-button-group {
width: 100%;
}
.piecal-controls .piecal-controls__today-button {
flex-grow: 1;
max-width: 100%;
} .piecal-wrapper .fc-list-event {
display: flex;
flex-direction: column;
}
.piecal-wrapper .fc-list-event > td {
width: 100%;
}
.piecal-wrapper .fc-list-event > td:first-child {
padding-bottom: 0px;
border-bottom: 0px;
}
.piecal-wrapper .fc-list-event > td:last-child {
padding-top: 0px;
border-top: 0px;
}
.piecal-wrapper .fc-list-event-graphic {
display: none;
} .piecal-grid-day-header-text--full {
display: none;
}
.piecal-grid-day-header-text--short {
display: inline;
}
}