.container { --header-height: 72px; --sticky-button-height: 124px; display: grid; grid-template-areas: "header" "content"; grid-template-rows: var(--header-height) calc(100dvh - var(--header-height)); position: relative; } .container.noHeader { grid-template-areas: "content"; grid-template-rows: auto; } .root { display: grid; grid-area: content; } .header { align-self: flex-end; background-color: var(--Main-Grey-White); grid-area: header; padding: 0 var(--Space-x2) 0; position: sticky; top: 0; z-index: 10; display: flex; justify-content: flex-end; } .select { justify-self: center; min-width: 100px; transform: translateX(24px); } .close { align-items: center; background: none; border: none; cursor: pointer; display: flex; justify-self: flex-end; } div.months { display: grid; overflow-y: scroll; scroll-snap-type: y mandatory; } .month { display: grid; justify-items: center; padding-top: var(--Space-x3); scroll-snap-align: start; } .month:last-of-type { padding-bottom: calc(var(--sticky-button-height) + var(--Space-x2)); } .monthCaption { justify-content: center; color: var(--Text-Default); } .captionLabel { text-transform: capitalize; } .footer { align-self: flex-start; background: linear-gradient( 180deg, rgba(255, 255, 255, 0) 7.5%, #ffffff 82.5% ); display: flex; padding: var(--Space-x1) var(--Space-x2) var(--Space-x7); position: fixed; bottom: 0; right: 0; left: 0; z-index: 10; } .footer .button { width: 100%; color: var(--UI-Opacity-White-100); } td.day, td.rangeEnd, td.rangeStart { font-family: var(--Body-Paragraph-Font-family), var(--Body-Paragraph-Font-fallback); font-size: var(--Body-Paragraph-Size); font-weight: var(--Body-Paragraph-Font-weight-2); letter-spacing: var(--Body-Paragraph-Letter-spacing); line-height: 1.5; text-decoration: none; } td.rangeEnd, td.rangeStart { background: var(--Background-Primary); } td.rangeEnd[aria-selected="true"]:not([data-outside="true"]) { border-radius: 0 50% 50% 0; } td.rangeStart[aria-selected="true"] { border-radius: 50% 0 0 50%; } td.rangeEnd[aria-selected="true"] button.dayButton:hover, td.rangeStart[aria-selected="true"] button.dayButton:hover { background: var(--Primary-Light-On-Surface-Accent); border-radius: 50%; } td.rangeEnd[aria-selected="true"]:not([data-outside="true"]) button.dayButton, td.rangeStart[aria-selected="true"]:not([data-outside="true"]) button.dayButton, td.day[aria-selected="true"] button.dayButton { background: var(--Primary-Light-On-Surface-Accent); border: none; color: var(--Base-Button-Inverted-Fill-Normal); } td.day, td.day[data-today="true"] { color: var(--UI-Text-High-contrast); height: 40px; padding: var(--Space-x05); width: 40px; } td.day[data-outside="true"] button.dayButton { border: none; } td.day.rangeMiddle[aria-selected="true"], td.rangeMiddle[aria-selected="true"] button.dayButton { background: var(--Background-Primary); border: none; border-radius: 0; color: var(--UI-Text-High-contrast); } td.day[data-disabled="true"], td.day[data-disabled="true"] button.dayButton, td.day[data-outside="true"] ~ td.day[data-disabled="true"], td.day[data-outside="true"] ~ td.day[data-disabled="true"] button.dayButton, .week:has(td.day[data-outside="true"] ~ td.day[data-disabled="true"]) td.day[data-outside="true"] button.dayButton { background: none; color: var(--Base-Text-Disabled); cursor: not-allowed; } .weekDay { color: var(--Text-Tertiary); font-family: var(--Title-Overline-sm-Font-family), var(--Title-Overline-sm-Font-fallback); font-size: var(--Title-Overline-sm-Size); font-style: normal; font-weight: var(--Title-Overline-sm-Font-weight); line-height: 1.5; letter-spacing: var(--Title-Overline-sm-Letter-spacing); text-transform: var(--Title-Overline-sm-Text-Transform); text-decoration: none; } @media screen and (min-width: 1367px) { .container { display: none; } }