/* (A) POPUP */ .picker-wrap { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transition: opacity 0.2s; } .picker-wrap.show { opacity: 1; visibility: visible; } .picker-wrap .picker { margin: 50vh auto 0 auto; transform: translateY(-50%); } /* (B) CONTAINER */ .picker { min-width: 280px; max-width: 280px; border: 1px solid var(--base-background-middle-bright); background: var(--base-background-ultra-bright); padding: 10px; display: flex !important; flex-wrap: wrap; } .picker select { margin-right: 5px; } /* (C) MONTH + YEAR */ .picker-m, .picker-y { padding: 5px; box-sizing: border-box; font-size: 16px; } .picker-m { width: calc(100% - 90px) !important; } .picker-y { width: 80px !important; } /* (D) DAY */ .picker-d table { color: #333; border-collapse: separate; width: 100%; margin-top: 10px; } .picker-d table td { width: 14.28%; /* 7 EQUAL COLUMNS */ padding: 5px; text-align: center; } /* HEADER */ .picker-d-h td { font-weight: bold; } /* BLANK DATES */ .picker-d-b { background: var(--base-background-ultra-bright); } /* TODAY */ .picker-d-td { background: #ffe0d4; } /* PICKABLE DATES */ .picker-d-d:hover { cursor: pointer; background: #2d68c4; color: #fff; } /* UNPICKABLE DATES */ .picker-d-dd { color: #aaa; background: #ddd; }