/******************************************************************************************/
/* Single Calendar Resets
/******************************************************************************************/
.wpsbc-container { position: relative; visibility: hidden; }
.wpsbc-container .wpsbc-calendars-wrapper { position: relative; }

.wpsbc-container .wpsbc-calendars:after { content: ''; display: block; clear: both; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table { table-layout: fixed; min-width:auto; width: 100%; border-collapse: collapse; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table thead,
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tbody,
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr th,
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td { position: relative; border: 0 !important; padding: 0 !important; margin: 0 !important; vertical-align: middle; background: transparent; text-shadow: none; box-shadow: none; box-sizing: border-box; }




/******************************************************************************************/
/* Single Calendar Default Styles
/******************************************************************************************/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar { position: relative; border: 1px solid #f1f1f1; background: #fff; margin-bottom: 1em; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table thead tr th {padding-bottom: 8px !important; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;}
.wpsbc-container .wpsbc-calendars .wpsbc-calendar-wrapper { padding: 8px 7px 7px 7px; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }

/******************************************************************************************/
/* Calendar Loading Overlay
/******************************************************************************************/
.wpsbc-container .wpsbc-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba( 255,255,255,0.6 ); }

.wpsbc-overlay-spinner { position: absolute; top: 50%; left: 50%; margin-top: -6px; margin-left: -35px; width: 70px; text-align: center; }
.wpsbc-overlay-spinner > div { width: 12px; height: 12px; background-color: #333; border-radius: 100%; display: inline-block; -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; animation: sk-bouncedelay 1.4s infinite ease-in-out both; }
.wpsbc-overlay-spinner .wpsbc-overlay-bounce1 { -webkit-animation-delay: -0.32s; animation-delay: -0.32s; }
.wpsbc-overlay-spinner .wpsbc-overlay-bounce2 { -webkit-animation-delay: -0.16s; animation-delay: -0.16s; }
@-webkit-keyframes sk-bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0) } 40% { -webkit-transform: scale(1.0) } }
@keyframes sk-bouncedelay { 0%, 80%, 100% { -webkit-transform: scale(0); transform: scale(0); } 40% { -webkit-transform: scale(1.0); transform: scale(1.0); } }

/******************************************************************************************/
/* Single Calendar Header
/******************************************************************************************/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header { text-align: center; padding: 8px; background: #f5f5f5 }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation { position: relative; padding: 0 30px; min-height: 26px; font-size: 13px; line-height: 26px; }

/******************************************************************************************/
/* Single Calendar Header Button Navigation
/******************************************************************************************/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-prev,
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-next { position: absolute; display: block; top: 50%; height: 26px; width: 26px; line-height: 26px; margin-top: -13px; text-decoration: none; border: 0; box-shadow: none; color: #fff; background: #bdc3c7; border-radius: 2px; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-prev { left: 0; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-next { right: 0; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-next .wpsbc-arrow,
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-prev .wpsbc-arrow { position: absolute; top: 50%; margin-top: -5px; display: inline-block; width: 0; height: 0; border-style: solid; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-next .wpsbc-arrow { right: 50%; margin-right: -5px; border-width: 5px 0 5px 8.7px; border-color: transparent transparent transparent #ffffff; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-prev .wpsbc-arrow { left: 50%; margin-left: -5px; border-width: 5px 8.7px 5px 0; border-color: transparent #fff transparent transparent; }

/******************************************************************************************/
/* Single Calendar Header Select Navigation
/******************************************************************************************/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-select-container select {border:1px solid #bdc3c7; width: 100%; height: 26px; line-height: 26px; margin: 0; padding: 0 10px; vertical-align: top; font-size: 13px; box-sizing: border-box !important; }

/******************************************************************************************/
/* Single Calendar Table Week Numbers
/******************************************************************************************/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table td .wpsbc-week-number { background: #e8e8e8; height: 32px; }

/******************************************************************************************/
/* Single Calendar Table Dates
/******************************************************************************************/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr th,
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td { text-align: center; padding: 1px !important; font-size: 13px; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table th { font-weight: bold; color: inherit; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date { position: relative; width: 100%; height: 100%; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date-inner { position: relative; width: 100%; height: 32px; }
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date-inner .wpsbc-date-number { position: absolute; z-index: 0; top: 0; left: 0; width: 100%; height: 100%; font-size: 13px; }

.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date.wpsbc-gap { background: #f7f7f7; }

/******************************************************************************************/
/* Legend: Legend Item
/******************************************************************************************/
.wpsbc-legend { text-align: left; margin: 1em 0; padding: 8px 8px 0; border: 1px solid #f1f1f1; background: #fff; box-sizing: border-box !important; line-height:0; }

.wpsbc-legend .wpsbc-legend-item { display: inline-block; margin-bottom: 8px; margin-right: 8px;}
.wpsbc-legend .wpsbc-legend-item-icon { position: relative; display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 5px; box-sizing: border-box; overflow: hidden; }
.wpsbc-legend .wpsbc-legend-item-name { display: inline-block; vertical-align: middle; font-size: 13px; }

/* Legend position: side */
.wpsbc-calendars-wrapper.wpsbc-legend-position-side { padding-right: 165px; box-sizing: content-box !important; }
.wpsbc-calendars-wrapper.wpsbc-legend-position-side .wpsbc-legend { position: absolute; top: 0; right: 0; width: 155px; margin-top: 0;  }
.wpsbc-calendars-wrapper.wpsbc-legend-position-side .wpsbc-legend .wpsbc-legend-item { display: block; margin-right: 0; line-height: 18px; } 

/******************************************************************************************/
/* Calendar: Legend Item Icon
/******************************************************************************************/
.wpsbc-calendars .wpsbc-legend-item-icon { position: absolute; z-index: 0; top: 0; left: 0; display: inline-block; width: 100%; height: 100%; box-sizing: border-box; overflow: hidden; }

.wpsbc-legend-item-icon[data-type="single"] div { display: none; }
.wpsbc-legend-item-icon[data-type="single"] div:first-of-type { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; }


.wpsbc-legend-item-icon[data-type="split"] div svg {position:absolute; width:100%; height:100%; left: 0;top: 0;}

.wpsbc-legend-item-icon[data-type="blank"] {background-color: #f3f3f3; height: 100%;}


/******************************************************************************************/
/* Calendar Columns
/******************************************************************************************/
.wpsbc-container[data-columns] .wpsbc-calendars .wpsbc-calendar { float: left; margin-left: 5px; margin-right: 5px; box-sizing: border-box !important; }
.wpsbc-container[data-columns] .wpsbc-calendars { margin-left: -5px; margin-right: -5px; }

.wpsbc-container[data-columns="6"] .wpsbc-calendars .wpsbc-calendar { width: calc( 16.6666% - 10px ); }
.wpsbc-container[data-columns="4"] .wpsbc-calendars .wpsbc-calendar { width: calc( 25% - 10px ); }
.wpsbc-container[data-columns="3"] .wpsbc-calendars .wpsbc-calendar { width: calc( 33.3333% - 10px ); }
.wpsbc-container[data-columns="2"] .wpsbc-calendars .wpsbc-calendar { width: calc( 50% - 10px ); }


/******************************************************************************************/
/* Media Queries
/******************************************************************************************/
@media screen and (max-width: 420px){
    .wpsbc-calendars-wrapper.wpsbc-legend-position-side {padding-right: 0;}
    .wpsbc-calendars-wrapper.wpsbc-legend-position-side .wpsbc-legend {position: relative; top: auto; right: auto; width: auto;}
    .wpsbc-calendars-wrapper.wpsbc-legend-position-side .wpsbc-legend .wpsbc-legend-item {display: inline-block; margin-right: 8px;}
}

/* Datepicker */
.ui-datepicker.wpsbc-datepicker {padding: 0; margin: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; border: 1px solid #ccc; border-top: none; -webkit-border-bottom-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075); min-width: 17em; width: auto; z-index: 1000 !important; max-width: 360px; overflow: hidden; background:#fff;}
.ui-datepicker.wpsbc-datepicker * {padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
.ui-datepicker.wpsbc-datepicker table {font-size: 13px; margin: 0; border: none; border-collapse: collapse; width: 100%;}
.ui-datepicker.wpsbc-datepicker .ui-widget-header,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-header {background: #fff; border: none; color: #333; font-weight: normal;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-header .ui-state-hover {background: transparent; border-color: transparent; cursor: pointer;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-title {margin: 0; padding: 10px 0; color: #333; font-size: 14px; line-height: 14px; text-align: center;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next {position: relative; top: 0; height: 34px; width: 34px;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev.ui-state-disabled,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next.ui-state-disabled {opacity:0.3;}
.ui-datepicker.wpsbc-datepicker .ui-state-hover.ui-datepicker-prev,
.ui-datepicker.wpsbc-datepicker .ui-state-hover.ui-datepicker-next {border: none;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev-hover {left: 0;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next-hover {right: 0;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next span,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev span {display: none;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev {float: left;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next {float: right;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev:before,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next:before {font: normal 20px/34px 'dashicons'; padding-left: 7px; color: #333; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; width: 34px; height: 34px; position: relative; top: 8px;}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev:before {content: '\f341';}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next:before {content: '\f345';}
.ui-datepicker.wpsbc-datepicker .ui-datepicker-prev-hover:before,
.ui-datepicker.wpsbc-datepicker .ui-datepicker-next-hover:before {opacity: 0.7;}
.ui-datepicker.wpsbc-datepicker select.ui-datepicker-month,
.ui-datepicker.wpsbc-datepicker select.ui-datepicker-year {width: 33%; border: 1px solid #ccc; padding: 5px;}
.ui-datepicker.wpsbc-datepicker select.ui-datepicker-month {border-right: none;}
.ui-datepicker.wpsbc-datepicker thead {color: #333; font-weight: 600;}
.ui-datepicker.wpsbc-datepicker th {padding: 12px 13px; border: 1px solid #f7f7f7; background: #f7f7f7;}
.ui-datepicker.wpsbc-datepicker td {padding: 0; border: 1px solid #f4f4f4;}
.ui-datepicker.wpsbc-datepicker td.ui-datepicker-other-month {background: #f9f9f9; opacity: 1;}
.ui-datepicker.wpsbc-datepicker tr:first-of-type td {border-top: 1px solid #f0f0f0;}
.ui-datepicker.wpsbc-datepicker td.ui-datepicker-current-day {background: #7f7f7f; }
.ui-datepicker.wpsbc-datepicker td.ui-datepicker-current-day a {color:#fff;}
.ui-datepicker.wpsbc-datepicker td .ui-state-default {background: transparent; border: none; text-align: center; text-decoration: none; width: auto; display: block; padding: 12px 13px; color: #333;}
.ui-datepicker.wpsbc-datepicker td .ui-state-default.ui-state-hover {box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075); background:#aaa; color:#fff;}
.ui-datepicker.wpsbc-datepicker td.ui-state-disabled .ui-state-default {opacity: 0.3;}
