.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(--typography-Body-Bold-fontFamily); font-size: var(--typography-Body-Bold-fontSize); font-weight: 500; letter-spacing: var(--typography-Body-Bold-letterSpacing); line-height: var(--typography-Body-Bold-lineHeight); text-decoration: var(--typography-Body-Bold-textDecoration); } 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(--Base-Text-Medium-contrast); opacity: 1; font-family: var(--typography-Caption-Labels-fontFamily); font-size: var(--typography-Caption-Labels-fontSize); font-weight: var(--typography-Caption-Labels-fontWeight); letter-spacing: var(--typography-Caption-Labels-letterSpacing); line-height: var(--typography-Caption-Labels-lineHeight); text-decoration: var(--typography-Caption-Labels-textDecoration); text-transform: uppercase; } @media screen and (min-width: 1367px) { .container { display: none; } }