:root {
    --color-date-selected: indianred;
    --color-date-marked: #1D637F;
    --color-date-booked: cornflowerblue;
}

.calendar-widget {
    background-color: #ffffff;
    width: 300px;
    border: 1px solid #c3c4c7;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
    font-size: 16px;
}

.calendar-widget header {
    position: relative;
    background-color: #1D637F;
    padding: 10px 10px 10px 10px;
}

.calendar-widget__navigation {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.calendar-widget__navigation a {
    width: 25px;
    display: flex;
    justify-content: center;
}

.calendar-widget .prev a span, .calendar-widget .next a span {
    display: none;
}

.calendar-widget__title {
    text-align: center;
    font-size: 1.4em;
    font-weight: 600;
    width: 210px;
    color: #ffffff;
}

.calendar-widget__body {
    padding: 10px 10px 10px 10px;
}

.calendar-widget__table {
    width: 100%;
}

.calendar-widget th, .calendar-widget td {
    font-size: 16px;
    text-align: center;
    line-height: 1.3em;
    padding: 0;
    margin: 0;
}

.calendar-widget th {
    padding: 0;
    width: 14.28%;
    color: #3D636C;
    font-weight: bold;
}

.calendar-widget td a {
    display: block;
    text-decoration: none;
    color: #333;
}

.calendar-widget td span {
    display: block;
    text-decoration: none;
    position: relative;
    padding: 8px;
    color: #333;
}

.calendar-widget td > span {
    cursor: default;
}

.calendar-widget td.today span {
    font-weight: bold;
    background-color: #e9e9e9;
}

.calendar-widget td.marked span {
    background-color: var(--color-date-marked);
    color: #fff;
}

.calendar-widget td.selected a span {
    background-color: var(--color-date-selected);
    color: #fff;
}

.calendar-widget td.selected.marked span {
    background-color: var(--color-date-marked);
}

.calendar-widget td.selected.marked span:after {
    content: "";
    width: 100%;
    height: 7px;
    position: absolute;
    background: var(--color-date-selected);
    bottom: 0;
    left: 0;
}

.calendar-widget td.booked span {
    background-color: var(--color-date-booked);
    color: #fff;
}

.calendar-widget td.selected.booked span {
    background-color: var(--color-date-booked);
}

.calendar-widget td.selected.booked span:after {
    content: "";
    width: 100%;
    height: 7px;
    position: absolute;
    background: var(--color-date-selected);
    bottom: 0;
    left: 0;
}

.calendar-widget td.marked.booked span {
    background: var(--color-date-marked);
}

.calendar-widget td.marked.booked span:before {
    content: "";
    width: 9px;
    height: 9px;
    position: absolute;
    background: var(--color-date-booked);
    top: 0;
    left: 0;
}

.calendar-widget .arrow-left {
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right:10px solid white;
}

.calendar-widget .arrow-right {
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid white;
}

.calendar-widget__footer {
    background-color: #3D636C;
    padding: 10px 10px 10px 10px;
}

.calendar-widget__footer p {
    margin: 5px 5px;
    color: #ffffff;
    text-align: center;
}

.calendar-widget__footer a {
    text-decoration: none;
    color: #fff;
}

.calendar-widget__duration-select {
    display: flex;
    justify-content: center;
    align-items: center;
}

.calendar-widget__duration-select .to {
    display: block;
    margin: 0 5px;
}

.section-availability .colour-swatch {
    width: 20px;
    height: 20px;
    display: inline-block;
}

.colour-swatch--selected {
    background-color: var(--color-date-selected);
}

.colour-swatch--marked {
    background-color: var(--color-date-marked);
}

.colour-swatch--booked {
    background-color: var(--color-date-booked);
}

