* {
  box-sizing: var(--air-box-sizing, border-box);
}

:host {
  display: var(--air-datepicker-host-display, block);
}

.datepicker {
  display: var(--air-datepicker-display, block);
  width: var(--air-datepicker-width, var(--air-form-element-width, 576px));
  --air-dropdown-base-background: transparent;
}
.datepicker .datepicker * {
  box-sizing: var(--air-datepicker-box-sizing, var(--air-box-sizing, border-box));
}
.datepicker .datepicker-input {
  margin-bottom: var(--air-datepicker-input-margin-bottom, 0);
  --air-input-min-width: var(--air-datepicker-input-width, var(--air-datepicker-width, var(--air-form-element-width, 576px)));
}
.datepicker .datepicker {
  width: var(--air-datepicker-picker-width, 338px);
  height: var(--air-datepicker-picker-height, auto);
  border: var(--air-datepicker-picker-border, 1px solid var(--air-color-bright-gray, #545559));
  border-radius: var(--air-datepicker-picker-border-radius, var(--air-border-radius, 4px));
  padding: var(--air-datepicker-picker-padding, var(--air-spacing-03, 1rem));
  background-color: var(--air-datepicker-picker-background-color, var(--air-color-white, #ffffff));
}
.datepicker .datepicker-header {
  margin-bottom: var(--air-datepicker-picker-header-margin-bottom, var(--air-spacing-04, 1.5rem));
}
.datepicker .datepicker-header .datepicker-controls {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}
.datepicker .datepicker-header .datepicker-controls .button {
  display: flex;
  cursor: pointer;
  color: var(--air-datepicker-picker-controls-button-color, var(--air-body-color, var(--air-color-eclipse, #3a3a3a)));
  font-family: var(--air-datepicker-picker-controls-button-font-family, var(--air-body-bold-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"));
  font-size: var(--air-datepicker-picker-controls-button-font-size, var(--air-body-bold-font-size, 1rem));
  font-weight: var(--air-datepicker-picker-controls-button-font-weight, var(--air-body-bold-font-weight, 600));
  line-height: var(--air-datepicker-picker-controls-button-line-height, var(--air-body-bold-line-height, 1.5));
  padding: 0;
  border: none;
  background-color: transparent;
}
.datepicker .datepicker-header .datepicker-controls .button.prev-btn, .datepicker .datepicker-header .datepicker-controls .button.next-btn {
  padding: var(--air-datepicker-picker-controls-button-next-prev-padding, var(--air-spacing-02, 0.5rem));
  border-radius: var(--air-datepicker-picker-controls-button-next-prev-border-radius, 50%);
}
.datepicker .datepicker-header .datepicker-controls .button.view-switch {
  border-radius: var(--air-datepicker-picker-controls-button-view-switch-border-radius, 4px);
  padding: var(--air-datepicker-picker-controls-button-view-switch-padding, var(--air-spacing-02, 0.5rem) var(--air-spacing-03, 1rem));
}
.datepicker .datepicker-header .datepicker-controls .button:hover {
  background-color: var(--air-datepicker-picker-controls-button-hover-background-color, rgba(58, 58, 58, 0.05));
}
.datepicker .datepicker-header .datepicker-controls .button:focus {
  outline: none;
  box-shadow: 0 0 0 var(--air-datepicker-picker-controls-button-focus-outline-width, var(--air-focus-outline-width, 2px)) var(--air-datepicker-picker-controls-button-focus-outline-color, var(--air-focus-outline-color, var(--air-color-primary-outline, var(--air-color-denim, #2e71bd))));
}
.datepicker .datepicker-main .days-of-week {
  display: grid;
  gap: var(--air-datepicker-picker-days-of-week-gap, var(--air-spacing-01, 0.25rem));
  grid-template-columns: repeat(7, 1fr);
  justify-items: center;
  text-align: center;
  margin-bottom: var(--air-datepicker-picker-days-of-week-margin-bottom, var(--air-spacing-04, 1.5rem));
}
.datepicker .datepicker-main .days-of-week .dow {
  color: var(--air-datepicker-picker-days-of-week-color, var(--air-color-bright-gray, #545559));
  font-family: var(--air-datepicker-picker-days-of-week-font-family, var(--air-body-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"));
  font-size: var(--air-datepicker-picker-days-of-week-font-size, var(--air-body-font-size, 1rem));
  font-weight: var(--air-datepicker-picker-days-of-week-font-weight, var(--air-body-font-weight, 400));
  line-height: var(--air-datepicker-picker-days-of-week-line-height, var(--air-body-line-height, 1.5));
  width: var(--air-datepicker-picker-days-of-week-width, var(--air-spacing-04, 1.5rem));
}
.datepicker .datepicker-main .datepicker-grid {
  display: grid;
  gap: var(--air-datepicker-picker-grid-gap, var(--air-spacing-01, 0.25rem));
  grid-template-columns: repeat(7, 1fr);
  justify-items: center;
  text-align: center;
}
.datepicker .datepicker-main .datepicker-cell {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: var(--air-datepicker-picker-cell-width, 100%);
  height: var(--air-datepicker-picker-cell-height, 40px);
  color: var(--air-datepicker-picker-cell-color, var(--air-color-bright-gray, #545559));
  font-family: var(--air-datepicker-picker-cell-font-family, var(--air-body-bold-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"));
  font-size: var(--air-datepicker-picker-cell-font-size, var(--air-body-bold-font-size, 1rem));
  font-weight: var(--air-datepicker-picker-cell-font-weight, var(--air-body-bold-font-weight, 600));
  line-height: var(--air-datepicker-picker-cell-line-height, var(--air-body-bold-line-height, 1.5));
  border-radius: var(--air-datepicker-picker-cell-border-radius, var(--air-border-radius, 4px));
}
.datepicker .datepicker-main .datepicker-cell.selected {
  color: var(--air-datepicker-picker-cell-selected-color, var(--air-color-accent, #8a2be2));
  border: var(--air-datepicker-picker-cell-selected-border, 2px solid var(--air-color-accent, #8a2be2));
}
.datepicker .datepicker-main .datepicker-cell.selected:before {
  position: absolute;
  content: "";
  opacity: 0.05;
  width: 100%;
  height: 100%;
  background-color: var(--air-datepicker-picker-cell-selected-background-color, var(--air-color-accent, #8a2be2));
}
.datepicker .datepicker-main .datepicker-cell.today {
  border: var(--air-datepicker-picker-cell-today-border, 1px solid var(--air-color-gray, #b7b7b7));
}
.datepicker .datepicker-main .datepicker-cell.next, .datepicker .datepicker-main .datepicker-cell.prev {
  color: var(--air-datepicker-picker-cell-next-prev-color, var(--air-color-gray, #b7b7b7));
}
.datepicker .datepicker-main .datepicker-cell.disabled {
  color: var(--air-datepicker-picker-cell-disabled-color, var(--air-color-gray, #b7b7b7));
}
.datepicker .datepicker-main .datepicker-cell:not(.selected).focused {
  box-shadow: 0 0 0 var(--air-datepicker-picker-cell-focus-outline-width, var(--air-focus-outline-width, 2px)) var(--air-datepicker-picker-cell-focus-outline-color, var(--air-focus-outline-color, var(--air-color-primary-outline, var(--air-color-denim, #2e71bd))));
}
.datepicker .datepicker-main .datepicker-cell:hover:not(.disabled) {
  cursor: pointer;
  background-color: var(--air-datepicker-picker-cell-hover-background-color, rgba(58, 58, 58, 0.05));
}
.datepicker .datepicker-main .months,
.datepicker .datepicker-main .years,
.datepicker .datepicker-main .decades {
  display: grid;
  gap: var(--air-datepicker-picker-grid-period-gap, var(--air-spacing-02, 0.5rem));
  grid-template-columns: repeat(4, 1fr);
  justify-items: center;
  text-align: center;
}
.datepicker .datepicker-main .months .datepicker-cell,
.datepicker .datepicker-main .years .datepicker-cell,
.datepicker .datepicker-main .decades .datepicker-cell {
  height: var(--air-datepicker-picker-cell-months-hover-height, 56px);
}

@media (max-width: 992px) {
  .datepicker {
    width: var(--air-mobile-datepicker-width, var(--air-mobile-form-element-width, 100%));
  }
  .datepicker .datepicker-input {
    width: var(--air-mobile-datepicker-width, var(--air-mobile-form-element-width, 100%));
  }
  .datepicker .datepicker {
    width: var(--air-mobile-datepicker-width, var(--air-mobile-form-element-width, 100%));
    max-width: var(--air-mobile-datepicker-picker-max-width, 338px);
  }
}