.hlb-cal *,
.hlb-cal *::before,
.hlb-cal *::after { box-sizing: border-box; } .hlb-cal {
--hlb-accent:   #2b3bd6;
--hlb-bg:       #ffffff;
--hlb-card-bg:  #ffffff;
--hlb-border:   rgba(0,0,0,.07);
--hlb-line:     rgba(0,0,0,.07);
--hlb-shadow:   0 4px 16px rgba(0,0,0,.05);
--hlb-text:     rgba(0,0,0,.86);
--hlb-sub:      rgba(0,0,0,.45);
--hlb-radius:   14px;
--hlb-cell-h:   110px;
--hlb-ev-h:     22px;
--hlb-ev-gap:   4px;
--hlb-ev-top:   28px;
--hlb-pill-radius: 6px;
}
.hlb-cal.hlb-theme-dark {
--hlb-bg:       #0b0f14;
--hlb-card-bg:  #0b0f14;
--hlb-border:   rgba(255,255,255,.10);
--hlb-line:     rgba(255,255,255,.10);
--hlb-text:     rgba(255,255,255,.92);
--hlb-sub:      rgba(255,255,255,.50);
--hlb-shadow:   0 8px 24px rgba(0,0,0,.35);
} .hlb-cal {
display: table !important;
width: 100%;
margin: 0 auto;
border-collapse: separate;
flex-direction: initial !important;
}
.hlb-cal-left {
display: table-cell !important;
width: 76%;
vertical-align: top;
background: var(--hlb-bg);
border: 1px solid var(--hlb-border);
border-radius: var(--hlb-radius);
box-shadow: var(--hlb-shadow);
position: relative;
overflow: hidden;
}
.hlb-cal-right {
display: table-cell !important;
width: 24%;
vertical-align: top;
background: var(--hlb-card-bg);
border: 1px solid var(--hlb-border);
border-radius: var(--hlb-radius);
box-shadow: var(--hlb-shadow);
padding: 16px 18px;
}
@media (max-width: 900px) {
.hlb-cal { display: block !important; border-spacing: 0; }
.hlb-cal-left,
.hlb-cal-right { display: block !important; width: 100%; }
.hlb-cal-right { margin-top: 16px; }
} .hlb-cal-header {
display: -webkit-flex;
display: flex;
-webkit-flex-direction: row !important;
flex-direction: row !important;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: space-between;
justify-content: space-between;
padding: 18px 12px 12px;
}
.hlb-cal-month {
font-weight: 900;
font-size: 20px;
color: var(--hlb-text);
letter-spacing: -.3px;
-webkit-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
.hlb-cal-nav {
-webkit-appearance: none;
appearance: none;
background: rgba(0,0,0,.04);
border: 1px solid var(--hlb-border);
border-radius: 999px;
width: 38px !important;
height: 38px !important;
min-width: 38px !important;
max-width: 38px !important;
-webkit-flex: none !important;
flex: none !important;
padding: 0 !important;
display: -webkit-inline-flex !important;
display: inline-flex !important;
-webkit-flex-direction: row !important;
flex-direction: row !important;
-webkit-align-items: center !important;
align-items: center !important;
-webkit-justify-content: center !important;
justify-content: center !important;
cursor: pointer;
color: var(--hlb-text);
font-size: 18px;
line-height: 1;
-webkit-user-select: none;
user-select: none;
-webkit-transition: background .15s, box-shadow .15s, -webkit-transform .06s;
transition: background .15s, box-shadow .15s, transform .06s;
outline: none;
}
.hlb-theme-dark .hlb-cal-nav { background: rgba(255,255,255,.07); }
.hlb-cal-nav:hover {
background: rgba(43,59,214,.10);
box-shadow: 0 4px 12px rgba(0,0,0,.10);
}
.hlb-cal-nav:active { -webkit-transform: translateY(1px); transform: translateY(1px); } .hlb-cal-weekdays {
display: table !important;
table-layout: fixed;
width: calc(100% - 24px);
margin: 0 12px;
border-collapse: collapse;
flex-direction: initial !important;
}
.hlb-cal-weekdays > div {
display: table-cell !important;
text-align: center;
font-size: 12px;
font-weight: 800;
color: var(--hlb-sub);
padding: 4px 0 8px;
-webkit-user-select: none;
user-select: none;
}
.hlb-cal-weekdays .sun { color: #ff5a7a; }
.hlb-cal-weekdays .sat { color: #6aa8ff; }
@media (max-width: 768px) {
.hlb-cal-weekdays {
width: calc(100% - 12px);
margin: 0 6px;
}
} .hlb-cal-grid {
display: table !important;
table-layout: fixed;
width: calc(100% - 24px);
margin: 0 12px 12px;
border-collapse: separate;
border-spacing: 2px 4px;
flex-direction: initial !important;
position: relative;
}
@media (max-width: 768px){
.hlb-cal-grid {
width: calc(100% - 12px);
margin: 0 6px 8px;
border-spacing: 1px 3px;
}
}
.hlb-cal-week-row {
display: table-row !important;
flex-direction: initial !important;
position: relative;
} .hlb-cal-day {
display: table-cell !important;
width: 14.2857%;
height: var(--hlb-cell-h);
vertical-align: top;
padding: 6px 4px 6px;
border-radius: 8px; border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
background: transparent !important;
cursor: pointer;
position: relative;
color: var(--hlb-text);
text-align: center;
-webkit-transition: background .12s, box-shadow .12s;
transition: background .12s, box-shadow .12s;
}
.hlb-theme-dark .hlb-cal-day {
background: transparent !important;
}
.hlb-cal-day:hover {
background: rgba(43,59,214,.035) !important;
box-shadow: none !important;
}
.hlb-theme-dark .hlb-cal-day:hover {
background: rgba(255,255,255,.07) !important;
}
.hlb-cal-day:active { -webkit-transform: scale(.98); transform: scale(.98); }
.hlb-cal-day.is-out {
opacity: .16;
cursor: default;
pointer-events: none;
border: 0 !important;
background: transparent !important;
box-shadow: none !important;
}
.hlb-cal-day.is-selected {
background: rgba(17,24,39,.05) !important;
border: 0 !important;
box-shadow: none !important;
}
.hlb-theme-dark .hlb-cal-day.is-selected {
background: rgba(43,59,214,.22) !important;
box-shadow: none !important;
} .hlb-cal-daynum {
display: inline-flex !important;
align-items: center;
justify-content: center;
min-width: 24px;
height: 24px;
margin: 0 auto 4px !important;
font-size: 13px;
font-weight: 700;
line-height: 1;
color: var(--hlb-text);
-webkit-user-select: none;
user-select: none;
}
.hlb-cal-day.is-today .hlb-cal-daynum {
display: inline-flex !important;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
border-radius: 999px;
background: var(--hlb-accent);
color: #fff;
font-size: 12px;
font-weight: 800;
margin: 0 auto 4px !important;
} .hlb-cal-day.is-sun .hlb-cal-daynum{
color:#E11D48 !important;
font-weight:900 !important;
}
.hlb-cal-day.is-sat .hlb-cal-daynum{
color:#2563EB !important;
font-weight:900 !important;
}
.hlb-cal-day.is-today.is-sun .hlb-cal-daynum,
.hlb-cal-day.is-today.is-sat .hlb-cal-daynum{
color:#fff !important;
} .hlb-cal-day.is-holiday .hlb-cal-daynum{
color:#E11D48 !important;
font-weight:900 !important;
}
.hlb-cal-day.is-holiday.is-sat .hlb-cal-daynum{
color:#E11D48 !important;
}
.hlb-cal-day.is-holiday.is-today .hlb-cal-daynum{
color:#fff !important;
} .hlb-cal-holidaybar{
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: calc(100% - 4px);
max-width: none;
margin: 0 auto var(--hlb-ev-gap) !important;
padding: 3px 6px 3px 10px;
border-radius: var(--hlb-pill-radius);
background: rgba(225, 29, 72, 0.10);
color: #C73C56;
font-size: 10px;
line-height: 1;
font-weight: 700;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
border: 0 !important;
box-shadow: none !important;
}
.hlb-cal-holidaybar::before,
.hlb-cal-holidaybar::after{
content: none !important;
display: none !important;
} .hlb-ribbon-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
z-index: 4;
}
.hlb-ribbon {
position: absolute;
height: var(--hlb-ev-h);
border-radius: 6px;
overflow: hidden;
pointer-events: none;
display: block;
}
.hlb-ribbon.is-start {
border-top-left-radius: 999px;
border-bottom-left-radius: 999px;
}
.hlb-ribbon.is-end {
border-top-right-radius: 999px;
border-bottom-right-radius: 999px;
}
.hlb-ribbon-label {
display: block;
text-align: center;
font-size: 11px;
font-weight: 700;
color: #fff;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: var(--hlb-ev-h);
padding: 0 8px;
} .hlb-cal-single-line {
position: relative;
display: block !important;
width: calc(100% - 4px) !important;
height: 22px !important;
border-radius: var(--hlb-pill-radius) !important;
overflow: hidden;
margin: 0 auto var(--hlb-ev-gap) !important;
padding: 0 6px 0 10px !important;
background: rgba(43,59,214,.10); }
.hlb-cal-single-line::before{
content: "";
position: absolute;
left: 0;
top: 2px;
bottom: 2px;
width: 3px;
border-radius: 0;
background: currentColor;
opacity: .95;
}
.hlb-cal-single-line span {
display: block;
width: 100%;
text-align: center;
font-size: 10px;
font-weight: 700;
line-height: 22px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} .hlb-cal-single-line[style*="#2b3bd6"],
.hlb-cal-single-line[style*="#272FD6"]{
background: rgba(43,59,214,.12) !important;
color: #5B6FCF !important;
}
.hlb-cal-single-line[style*="#E11D48"],
.hlb-cal-single-line[style*="#ff5a7a"]{
background: rgba(225,29,72,.10) !important;
color: #C73C56 !important;
}
.hlb-cal-single-line[style*="#2563EB"],
.hlb-cal-single-line[style*="#6aa8ff"]{
background: rgba(37,99,235,.12) !important;
color: #5A8AD9 !important;
}
.hlb-cal-single-line[style*="#F59E0B"],
.hlb-cal-single-line[style*="#f59e0b"]{
background: rgba(245,158,11,.14) !important;
color: #B7892A !important;
}
.hlb-cal-single-line[style*="#10B981"],
.hlb-cal-single-line[style*="#10b981"]{
background: rgba(16,185,129,.12) !important;
color: #36967B !important;
}
.hlb-cal-single-line[style*="#8B5CF6"],
.hlb-cal-single-line[style*="#8b5cf6"]{
background: rgba(139,92,246,.12) !important;
color: #7A61C7 !important;
} .hlb-cal-loading {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
display: none;
-webkit-align-items: center; align-items: center;
-webkit-justify-content: center; justify-content: center;
background: rgba(255,255,255,.70);
-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
z-index: 30;
border-radius: var(--hlb-radius);
}
.hlb-theme-dark .hlb-cal-loading { background: rgba(0,0,0,.35); }
.hlb-cal.is-loading .hlb-cal-loading {
display: -webkit-flex; display: flex;
-webkit-flex-direction: row !important; flex-direction: row !important;
}
.hlb-spinner {
width: 36px; height: 36px;
border-radius: 999px;
border: 3px solid rgba(0,0,0,.10);
border-top-color: var(--hlb-accent);
-webkit-animation: hlbspin .85s linear infinite;
animation: hlbspin .85s linear infinite;
}
.hlb-theme-dark .hlb-spinner { border-color: rgba(255,255,255,.15); border-top-color: #fff; }
@-webkit-keyframes hlbspin { to { -webkit-transform: rotate(360deg); } }
@keyframes hlbspin { to { transform: rotate(360deg); } } .hlb-cal-side-header {
display: -webkit-flex; display: flex;
-webkit-flex-direction: row !important; flex-direction: row !important;
-webkit-justify-content: space-between; justify-content: space-between;
-webkit-align-items: flex-end; align-items: flex-end;
border-bottom: 1px solid var(--hlb-border);
padding-bottom: 12px; margin-bottom: 14px;
}
.hlb-cal-side-title { font-weight: 900; font-size: 16px; color: var(--hlb-text); letter-spacing: -.2px; }
.hlb-cal-selected-date { font-size: 12px; color: var(--hlb-sub); white-space: nowrap; margin-left: 8px; }
.hlb-cal-events { display: block; min-height: 120px; }
.hlb-cal-events > * + * { margin-top: 10px; }
.hlb-cal-empty {
padding: 14px 16px; border-radius: 10px;
background: rgba(0,0,0,.03); color: var(--hlb-sub);
font-size: 13px; border: 1px dashed rgba(0,0,0,.10);
}
.hlb-theme-dark .hlb-cal-empty { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); }
.hlb-cal-event {
display: block;
border: 1px solid var(--hlb-border); border-radius: 12px;
padding: 11px 14px 11px 18px; position: relative;
background: var(--hlb-card-bg);
}
.hlb-theme-dark .hlb-cal-event { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.09); }
.hlb-cal-event::before {
content: ""; position: absolute;
left: 0; top: 11px; bottom: 11px;
width: 4px; border-radius: 4px; background: var(--hlb-accent);
}
.hlb-cal-event-title { font-weight: 800; font-size: 13px; margin-bottom: 5px; line-height: 1.35; color: var(--hlb-text); }
.hlb-cal-event-meta { font-size: 12px; color: var(--hlb-sub); line-height: 1.5; }
.hlb-cal-event-meta span { margin-right: 8px; }
.hlb-cal-event-cta { margin-top: 8px; }
.hlb-cal-apply { font-size: 12px; font-weight: 800; text-decoration: none; color: var(--hlb-accent); }
.hlb-cal-apply:hover { text-decoration: underline; } .hlb-cal-wrap{
width: 100%;
max-width: 1400px;
margin: 0 auto;
}
.hlb-cal-page-titlebar{
display:flex;
align-items:baseline;
gap:10px;
margin:10px 0 20px;
}
.hlb-cal-page-title{
display:block;
margin:0;
font-size:clamp(20px, 2.2vw, 30px);
font-weight:800;
line-height:1.2;
letter-spacing:-0.02em;
} @media (max-width: 768px){
.hlb-cal-header{
padding: 14px 8px 10px;
}
.hlb-cal .hlb-cal-day{
padding: 5px 2px 4px;
}
.hlb-cal-daynum{
margin: 0 auto 4px !important;
min-width: 22px;
height: 22px;
font-size: 12px;
}
.hlb-cal-single-line{
width: calc(100% - 2px) !important;
height: 18px !important;
margin: 0 auto 3px !important;
border-radius: 5px !important;
padding-left: 8px !important;
}
.hlb-cal-single-line::before{
top: 2px;
bottom: 2px;
width: 2px;
}
.hlb-cal-single-line span{
font-size: 9px;
line-height: 18px !important;
}
.hlb-cal-holidaybar{
width: calc(100% - 2px);
margin: 0 auto 3px !important;
border-radius: 5px;
font-size: 10px;
padding-left: 8px;
}
.hlb-cal-holidaybar::before{
top: 2px;
bottom: 2px;
width: 2px;
}
.hlb-cal-holidaytext{
display:block;
width:100%;
margin:0 auto 4px;
padding:0;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
text-align:center;
color:#E11D48 !important;
font-size:10px;
font-weight:800;
line-height:1.2;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
@media (max-width: 768px){
.hlb-cal-holidaytext{
font-size:9px;
margin:0 auto 3px;
}
}
}