/* SAVING STATES, ETC */
.savingState, .no-pending-message, .calendarSavingState, #timepickerTemplate { display:none; }
.topSavingState.savingState { top:31px; right:31px; font-size: 16px; color:rgba(255,255,255,0.75); position:absolute; z-index:1; }
.hide-in-admin { display:none !important; }
.faded { opacity:0.2; }
.bookedClearFix:after {
	content: " ";
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

body.booked-noScroll { position:fixed; width:100%; overflow:hidden; }

#wp-admin-bar-booked .ab-icon:before { content: "\f508"; top:1px; }

.update-nag .booked-icon { color:#888; }

/* GENERAL STYLES */
.booked-settings-prewrap { display:flex; justify-content:center; }
.booked-settings-wrap { max-width:1000px; min-width:1000px; background:#fff; border-radius:10px; overflow:hidden; padding:0; box-shadow:0 4px 4px rgba(0,0,0,.05),0 8px 8px rgba(0,0,0,.05),0 32px 32px rgba(0,0,0,.05),0 64px 64px rgba(0,0,0,.05); margin:40px 40px 40px 20px; position:relative; }
.booked-settings-wrap .booked-settings-title { position:relative; margin:0; padding:2rem 0 2.1rem 2rem; background:#0073AA; color:#fff; font-size:1.75rem; line-height:1rem; letter-spacing:0; text-align:left; }
.booked-settings-wrap .booked-settings-title .booked-icon { position:relative; top:-2px; }
body.booked_bookings_page_booked_plugin .settings-error code { display:block; margin:5px 0; }
#booked_plugin_booked_bookings_section .inside { margin:0; padding:40px; }
.booked-settings-wrap .booked-settings-title, table.booked-calendar th, table.booked-calendar td { font-weight:600; }


/* BOOKED SETTINGS PANELS */
#booked-admin-panel-container { position:relative; margin:0; }
#booked-admin-panel-container *:focus { box-shadow:none; outline:0; }
#booked-admin-panel-container .booked-admin-tabs { list-style:none; margin:0; padding:0; background:#005f8c; }
#booked-admin-panel-container .booked-admin-tabs li { float:left; display:inline-block; margin:0; padding:0; }
#booked-admin-panel-container .booked-admin-tabs li a { display:block; color:#fff; background:#005f8c; text-decoration:none; padding:0 15px; line-height:40px; }
#booked-admin-panel-container .booked-admin-tabs li a:hover { background:rgba(0,0,0,0.25); color:#fff; }
#booked-admin-panel-container .booked-admin-tabs li.active a, #booked-admin-panel-container .booked-admin-tabs li.active a:hover { background:#0073AA; color:#fff; cursor:default; }
#booked-admin-panel-container .booked-admin-tabs li a .savingState { opacity:0.5; }
#booked-admin-panel-container .form-wrapper { background:transparent; }
#booked-admin-panel-container .form-wrapper .tab-content { padding:40px; }
#booked-admin-panel-container .form-wrapper .tab-content .notice { margin-bottom:40px; }
#booked-admin-panel-container .view-import-export, #booked-admin-panel-container .view-uninstall { margin:0 0 0 10px; display:inline-block; padding:5px 10px 6px; background:#eee; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; color:#888; text-decoration:none; font-weight:600; }
#booked-admin-panel-container .view-uninstall { color:#f12804; }
#booked-admin-panel-container .view-import-export:hover { background:#888; color:#fff; }
#booked-admin-panel-container .view-uninstall:hover { background:#f12804; color:#fff; }
#booked-admin-panel-container input[type=text] { border:1px solid #ccc; padding:10px 12px; }
#booked-admin-panel-container p.submit { margin:0; padding:0; }
#booked-admin-panel-container .section-row { padding-bottom: 20px; }
#booked-admin-panel-container .section-row .section-head { padding-bottom: 20px; }
#booked-admin-panel-container .section-row p { line-height:1.65em; font-size:1em; }
#booked-admin-panel-container .section-row .section-head h3,
h3.booked-ct-date-heading { padding: 0; margin: 0; font-size: 16px; line-height: 20px; color: #0073AA; font-weight: 600; }
#booked-admin-panel-container .section-row .section-body { position: relative; }
#booked-admin-panel-container .section-row .hint-p { padding: 10px 5px; margin: 0; font-size: 13px; line-height: 1.7; color: #999999; }
#booked-admin-panel-container .section-row .hint-p a { color: #47aad1; text-decoration: none; font-weight: 600; }

#customTimeslotsContainer h3.booked-ct-date-heading { margin:30px 0 20px; }
#customTimeslotsContainer h3.booked-ct-date-heading:first-child { margin:10px 0 20px; }

#booked-admin-panel-container input[type=text].booked-color-field { padding:3px 5px; }
#booked-admin-panel-container label.booked-color-label { display:block; font-weight:600; margin:0 0 10px; }
#booked-admin-panel-container .wp-picker-container { margin:0 0 15px; }
#booked-admin-panel-container p.submit { margin:0; padding:0; }

#booked-admin-panel-container .section-row input.field { display:block; margin:0 0 20px; width: 50%; padding: 10px; font-size: 14px; line-height: 23px; }
#booked-admin-panel-container .section-row textarea.field { width: 100%; padding: 20px; resize: none; font-size: 14px; line-height: 23px; }
#booked-admin-panel-container .section-row textarea.field.small { height: 100px; }
#booked-admin-panel-container .section-row textarea.field.med { height: 240px; }
#booked-admin-panel-container .section-row textarea.field.large { height: 340px; }

#booked-admin-panel-container .section-row .checkbox-radio-label { padding:0 0 0 5px; position:relative; top:-2px; }
#booked_email_logo-img { display:block; max-width:600px; height:auto; margin:20px 0 0; }

#booked-admin-panel-container .booked-admin-subtabs { list-style:none; margin:0; padding:0; background:#ddd; border:1px solid #ccc; border-bottom:none; -moz-border-radius:3px 3px 0 0; -webkit-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; }
#booked-admin-panel-container .booked-admin-subtabs li { float:left; display:inline-block; margin:0; padding:0; }
#booked-admin-panel-container .booked-admin-subtabs li a { display:block; color:#888; background:#f2f2f2; text-decoration:none; padding:0 15px; line-height:40px; border-right:1px solid #ddd; }
#booked-admin-panel-container .booked-admin-subtabs li:first-child a { -moz-border-radius:3px 0 0 0; -webkit-border-radius:3px 0 0 0; border-radius:3px 0 0 0; }
#booked-admin-panel-container .booked-admin-subtabs li a:hover { background:#f5f5f5; color:#555; }
#booked-admin-panel-container .booked-admin-subtabs li.active a, #booked-admin-panel-container .booked-admin-subtabs li.active a:hover { background:#fff; color:#333; cursor:default; }
#booked-admin-panel-container .subtab-content { background:#fff; padding:30px 30px 0; margin:0 0 30px; border:1px solid #ccc; border-top:none; -moz-border-radius:0 0 3px 3px; -webkit-border-radius:0 0 3px 3px; border-radius:0 0 3px 3px; }

#booked-admin-panel-container input.readonly,
#booked-admin-panel-container input[readonly],
#booked-admin-panel-container textarea.readonly,
#booked-admin-panel-container textarea[readonly] { background:#e5e5e5; }


/* CUSTOM FIELDS */
#booked-cf-sortable-templates, #booked-cf-sortables { display:none; }
#booked-admin-panel-container .booked-cf-block { padding:30px; background:#f2f2f2; border:1px dashed #bbb; border-radius:10px; }
#booked-admin-panel-container #booked-cf-sortables { margin:0 0 30px; padding:0; list-style:none; width:100%; }
#booked-admin-panel-container #booked-cf-sortables li { box-shadow:0 4px 4px rgba(0,0,0,.02),0 8px 8px rgba(0,0,0,.02),0 32px 32px rgba(0,0,0,.02),0 64px 64px rgba(0,0,0,.02); position:relative; margin:0 0 2px; padding:20px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }
#booked-admin-panel-container #booked-cf-sortables li small { font-size:12px; font-weight:600; text-transform:uppercase; display:block; padding:0; margin:0 0 8px; color:#2EA2CC; }
#booked-admin-panel-container #booked-cf-sortables li small.help-text { margin-left: 41px; padding: 5px 0 0 0; color: #aaa; text-transform: none; font-weight: 400; }
#booked-admin-panel-container #booked-cf-sortables li i.main-handle, #booked-admin-panel-container #booked-cf-sortables li i.sub-handle { font-size: 20px; color: #888; display: block; float: left; margin: 1px 10px 0 -8px; width: 40px; height: 98px; line-height: 20px; text-align: center; cursor:move; cursor: -webkit-grab; }
#booked-admin-panel-container #booked-cf-sortables li.ui-sortable-helper { box-shadow:0 4px 4px rgba(0,0,0,.05),0 8px 8px rgba(0,0,0,.05),0 32px 32px rgba(0,0,0,.05),0 64px 64px rgba(0,0,0,.05); }
#booked-admin-panel-container #booked-cf-sortables input[type=text] { padding:7px 11px; font-size:13px; width:540px; }
#booked-admin-panel-container #booked-cf-sortables textarea { padding:12px 15px; height:200px; font-size:15px; line-height:1.6; width:540px; color:#555; }
#booked-admin-panel-container #booked-cf-sortables ul input[type=text] { width:475px; }
#booked-admin-panel-container #booked-cf-sortables li .cf-delete { cursor:pointer; opacity:0.4; color: #dd0000; font-size: 18px; line-height: 19px; position: absolute; top: 20px; right: 20px; width: 20px; height: 20px; text-align: center; }
#booked-admin-panel-container #booked-cf-sortables li:hover .cf-delete { opacity:1;  }
#booked-admin-panel-container #booked-cf-sortables li .cf-delete:hover { color:#880000; }
#booked-cf-sortables li label { color:#888; font-size:12px; }
#booked-cf-saveButton { float:left; }
.cf-updater.savingState { float:left; padding:5px 0 0 15px; color:#888; }
#booked-admin-panel-container #booked-cf-sortables ul, #booked-admin-panel-container #booked-cf-sortables button { display:block; margin:0 0 0 43px; }
#booked-admin-panel-container #booked-cf-sortables ul li .cf-delete { right:auto; left:30px; top:18px; }
#booked-admin-panel-container #booked-cf-sortables button { margin-top:10px; }
#booked-admin-panel-container #booked-cf-sortables ul li { box-shadow:none; margin:0; padding:10px 0 0; background:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; width:541px; }
#booked-admin-panel-container #booked-cf-sortables ul li i.sub-handle { font-size: 16px; margin: 1px 35px 0 -11px; height: 34px; line-height: 34px; }
#booked-admin-panel-container #booked-cf-sortables ul li.ui-sortable-helper { box-shadow:none; }

@media screen and (max-width:1060px){
	.booked-settings-wrap {
		margin: 0 0 0 -20px;
		max-width: calc( 100% + 20px );
		min-width: calc( 100% + 20px );
		width: calc( 100% + 20px );
	}
}

@media screen and (max-width:860px){
	#booked-admin-panel-container .booked-admin-tabs li .booked-tab-text { display:none; }
}

@media screen and (max-width:782px){
	.booked-settings-wrap { margin:0 0 0 -10px; }
}



/* TIMESLOTS TABLE */

table.booked-timeslots,
table.booked-timeslots table { border-collapse:collapse; }

table.booked-timeslots { border-top:2px solid #d5d5d5; margin:20px auto 0; font-weight:400; text-align:center; border-spacing: 0; width:1520px; }
table.booked-timeslots table { width:220px; }
table.booked-timeslots thead { background:#e5e5e5; text-transform:uppercase; }
table.booked-timeslots thead th { position:relative; padding:12px 15px 8px; text-align:center; color:#333; border:none; border-right:1px solid #d5d5d5; font-size:0.8rem; letter-spacing:0.03rem; width:14.285%; font-weight:700; }
table.booked-timeslots thead th .booked-add-timeslot { display:inline-block; width:65%; margin-top:8px; margin-bottom:7px; letter-spacing:0; text-transform:none; }
table.booked-timeslots thead th .booked-clear-timeslots { width:32%; margin-right:3%; display:inline-block; margin-top:8px; margin-bottom:7px; letter-spacing:0; text-transform:none; }
table.booked-timeslots tbody td { vertical-align:top; border:none; padding:0; }
table.booked-timeslots tbody td p small { color:#aaa; }
table.booked-timeslots tbody td .timeslot { margin-top:10px; font-weight:600; text-align:left; line-height:1.6; padding:7px 10px; display:block; position:relative; background:#f5f5f5; border:1px solid #ddd; border-bottom:2px solid #ddd; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
table.booked-timeslots tbody td .timeslot:first-child { margin-top:0; }
table.booked-timeslots tbody td:last-child { border-right:1px solid #e5e5e5; }
table.booked-timeslots > tbody > tr > td:last-child thead th,
table.booked-timeslots > tbody > tr > td:last-child tbody td:last-child { border-right:none; }
table.booked-timeslots tbody td .button-mobile { display:none; }
table.booked-timeslots tbody td .start { display:inline-block; text-align:left; }
table.booked-timeslots tbody td .end { display:inline-block; text-align:left; }
table.booked-timeslots tbody td .delete { cursor:pointer; position:absolute; right:11px; top:6px; text-align:right; color:#f59e9e }
table.booked-timeslots tbody td .delete:hover { color:#e35656; }
table.booked-timeslots tbody td .slotsBlock { text-align:left; width:100%; display:block; }
table.booked-timeslots tbody td .add { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; display:inline-block; cursor:pointer; color:#ccc; padding-left:5px }
table.booked-timeslots tbody td .add:hover { color:#888; }
table.booked-timeslots tbody td .count { display:inline-block; text-align:left; color:#aaa; padding-left:5px }
table.booked-timeslots tbody td .count em { font-style:normal; }
table.booked-timeslots tbody td .minus { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; display:inline-block; cursor:pointer; color:#ccc; }
table.booked-timeslots tbody td .minus:hover { color:#888; }
table.booked-timeslots tbody td .booked_slot_title { margin:0; display:block; color:#20A1CD; }
table.booked-timeslots tbody .addTimeslot { position:relative; overflow:hidden; }
table.booked-timeslots tbody .addTimeslot .setTimeslot { -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; margin:0 8% 5%; width:84%; box-sizing:border-box; padding:5px; text-align:center; background:#e5e5e5; border:1px solid #e5e5e5; }
table.booked-timeslots tbody .addTimeslot .setTimeslot:hover { background:#eee; cursor:pointer; }
table.booked-timeslots tbody .addTimeslot .cancel { display:none; }
table.booked-timeslots tbody .addTimeslot.active .cancel { display:inline-block; float:left; }
table.booked-timeslots tbody .addTimeslot.active .booked-add-timeslot { position:absolute; bottom:16px; right:15px; }
table.booked-timeslots tbody .addTimeslot .timeslotTabs { margin:0 0 14px; border:2px solid #213946; border-bottom:3px solid #213946; border-radius:3px; overflow:hidden; }
table.booked-timeslots tbody .addTimeslot .addTimeslotTab { float:left; box-sizing:border-box; display:inline-block; width:50%; font-size:0.65rem; background:#213946; color:#fff; color:rgba(255,255,255,0.65); padding:0; letter-spacing:0.03rem; line-height:24px; text-decoration:none; text-transform:uppercase; font-weight:700; }
table.booked-timeslots tbody .addTimeslot .addTimeslotTab:last-child { float:right; }
table.booked-timeslots tbody .addTimeslot .addTimeslotTab:hover { background:#254452; color:#fff; }
table.booked-timeslots tbody .addTimeslot .addTimeslotTab.active, table.booked-timeslots tbody .addTimeslot .addTimeslotTab.active:hover { cursor:default; background:#365768; color:#fff; }
table.booked-timeslots tbody .addTimeslot select { box-sizing: border-box; border-color:#ccc; width:100%; margin:0 0 7px; display:block; font-size:11px; }
table.booked-timeslots tbody .addTimeslot .tsTabContent select:last-child { margin-bottom:14px; }
table.booked-timeslots tbody .addTimeslot .allday-wrap { box-sizing: border-box; width:100%; margin:10px 0; text-align:center; display:block; font-size:11px; }
table.booked-timeslots tbody .addTimeslot .allday-wrap input { position:relative; top:2px; }
#booked-admin-panel-container table.booked-timeslots tbody .addTimeslot input { box-sizing: border-box; width:100%; padding:6px 7px; margin:0 0 7px; border-radius:3px; display:block; font-size:11px; }
table.booked-timeslots tbody .dayTimeslots { padding:10px; }


#timepickerTemplate { padding:0 15px 16px; background:#e5e5e5; margin:0; }
#timepickerTemplate form { width:100%; float:none; }
#booked-customTimePickerTemplates form { float:left; width:auto; }


/* PENDING APPOINTMENTS */
.booked-pending-headings { background:#015e8c; color:#fff; padding:11px 0; font-size:15px; font-weight:400; }
.booked-pending-headings .left { float:left; padding-left:30px; }
.booked-pending-headings .right { float:right; padding-right:30px; }
.booked-pending-cap { margin:0; padding: 25px; background: #f9f9f9; border:1px solid #ddd; border-top:0; border-bottom: 1px solid #e5e5e5; }
.booked-pending-appt-list { padding:20px 25px; margin:0; }
.booked-pending-appt-list .pending-appt { padding:15px 0; font-size:13px; box-sizing:border-box; line-height:1.8; border-top:1px solid #e5e5e5; }
.booked-pending-appt-list .pending-appt:first-child { border-top:0; padding-top:0; }
.booked-pending-appt-list .pending-appt a { font-size:15px; font-weight:600; text-decoration:none; display:inline-block; margin:0; }
.booked-pending-appt-list .pending-appt button.approve { float:right; margin:8px 0 0 10px; }
.booked-pending-appt-list .pending-appt button.delete { float:right; margin:8px 0 0 0; }
.booked-pending-appt-list .pending-appt .late-appt { color:#D54E21; }

/* Dashboard Widget */
.booked-pending-appt-list.booked-dashboard-widget { border:none; padding:0 5px; background:transparent; }
.booked-pending-appt-list.booked-dashboard-widget .pending-appt, .booked-pending-appt-list.booked-dashboard-widget .pending-appt a { font-size:13px; line-height:1.7 }


/* ADMIN CALENDAR STYLES */
#booked-plugin-page.booked-admin-calendar-page-wrap { max-width:1100px; }
#booked-plugin-page .booked-admin-calendar-wrap { padding:0 33px 0px 13px; }

.booked-calendarSwitcher {
	display: block;
    margin: 35px 33px 0px 13px;
    padding: 10px;
    background: #fafafa;
    background-color: #fdfdff;
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(253, 253, 255)), to(rgb(246, 245, 247)));
	background-image: -webkit-linear-gradient(top, rgb(253, 253, 255), rgb(246, 245, 247));
	background-image: -moz-linear-gradient(top, rgb(253, 253, 255), rgb(246, 245, 247));
	background-image: -o-linear-gradient(top, rgb(253, 253, 255), rgb(246, 245, 247));
	background-image: -ms-linear-gradient(top, rgb(253, 253, 255), rgb(246, 245, 247));
	background-image: linear-gradient(top, rgb(253, 253, 255), rgb(246, 245, 247));
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#fdfdff', EndColorStr='#f6f5f7');
    border-radius: 5px 5px 0 0;
    box-sizing: border-box;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
    text-align: left; }

.booked-calendarSwitcher p { line-height:1; margin:0; }
.booked-calendarSwitcher p i.booked-icon { font-size:17px; margin:0 8px 0 3px; position:relative; top:2px; }
.booked-calendarSwitcher select:active, .booked-calendarSwitcher select:focus { -moz-box-shadow:none; -webkit-box-shadow:none; box-shadow:none; }
.noCalendarsSpacer { height:23px; }

#booked-timeslotsSwitcher { line-height:1; display:inline-block; text-align:center; width:100%; margin:0 0 10px; padding:0; color:#555; }
#booked-timeslotsSwitcher p { margin:0 0 10px; font-size:17px; }
#booked-timeslotsSwitcher select { min-width:200px; border:1px solid #ddd; background:#f9f9f9; display:inline-block; margin:0 0 20px; }
#booked-timeslotsSwitcher select:active, #booked-timeslotsSwitcher select:focus { -moz-box-shadow:none; -webkit-box-shadow:none; box-shadow:none; }

#bookedTimeslotsWrap { position:relative; overflow-x:auto; padding: 0 25px 16px 25px; margin:0 -25px; }
#bookedTimeslotsWrap > table { z-index:98; position:relative; border-right:25px solid #ffffff; }
#booked-defaults:after { z-index:99; content:""; width:25px; height:calc( 100% - 41px ); display:block; position:absolute; top:40px; right:15px; }
#booked-defaults:before { z-index:99; content:""; width:25px; height:calc( 100% - 41px ); display:block; position:absolute; top:40px; left:15px; }
#booked-defaults:after {
	background-image: -webkit-gradient(linear, left center, right center, from(rgba(255,255,255, 0.00)), to(rgba(255,255,255, 1.00)));
	background-image: -webkit-linear-gradient(left, rgba(255,255,255, 0.00), rgba(255,255,255, 1.00));
	background-image: -moz-linear-gradient(left, rgba(255,255,255, 0.00), rgba(255,255,255, 1.00));
	background-image: -o-linear-gradient(left, rgba(255,255,255, 0.00), rgba(255,255,255, 1.00));
	background-image: -ms-linear-gradient(left, rgba(255,255,255, 0.00), rgba(255,255,255, 1.00));
	background-image: linear-gradient(left, rgba(255,255,255, 0.00), rgba(255,255,255, 1.00));
}

#booked-defaults:before {
	background-image: -webkit-gradient(linear, left center, right center, from(rgba(255,255,255, 1.00)), to(rgba(255,255,255, 0.00)));
	background-image: -webkit-linear-gradient(left, rgba(255,255,255, 1.00), rgba(255,255,255, 0.00));
	background-image: -moz-linear-gradient(left, rgba(255,255,255, 1.00), rgba(255,255,255, 0.00));
	background-image: -o-linear-gradient(left, rgba(255,255,255, 1.00), rgba(255,255,255, 0.00));
	background-image: -ms-linear-gradient(left, rgba(255,255,255, 1.00), rgba(255,255,255, 0.00));
	background-image: linear-gradient(left, rgba(255,255,255, 1.00), rgba(255,255,255, 0.00));
}


table.booked-calendar { background:#F1F1F1; text-align:center; border-spacing: 0; border-collapse: collapse; width:100%; }
table.booked-calendar thead { background:#0073AA; color:#fff; }
table.booked-calendar th { font-weight:400; position:relative; font-size:19px; width:14.285%; border:1px solid #0073AA;  padding:21px 0 21px; line-height:1; }
table.booked-calendar tr.days { background:#015e8c; color:#fff; text-transform:uppercase; }
table.booked-calendar tr.days th { padding:13px 0 12px; border:1px solid #015e8c; font-size:14px; }
table.booked-calendar th .monthName span { font-size:12px; position:relative; top:-3px; left:0; padding-right:20px; text-decoration:none; text-transform:none; color:#90a0a9; }
table.booked-calendar th .monthName span { padding-right:0; padding-left:20px; color:#fff; }
table.booked-calendar th .monthName a.backToMonth { font-size: 12px; position: absolute; top: -32px; right: 65px; padding-right: 20px; text-decoration: none; text-transform: none; font-weight: 600; color: #aaa; }
table.booked-calendar th .monthName a.backToMonth:hover { color:#555; right:66px; }
table.booked-calendar th .page-left { font-size:24px; color:#aaa; position:absolute; right:51px; top:-39px; }
table.booked-calendar th .page-right { font-size:24px; color:#aaa; position:absolute; right:15px; top:-39px; }
table.booked-calendar th .page-left:hover { right:52px; color:#666; }
table.booked-calendar th .page-right:hover { right:14px; color:#666; }
table.booked-calendar td { overflow:hidden; position:relative; font-size:20px; color:#888888; padding:0; border-left:1px solid #e5e5e5; border-right:1px solid #e5e5e5; }
table.booked-calendar tr:last-child td { border-bottom:1px solid #e5e5e5; }
table.booked-calendar td .date { background:#fff; display:block; width:100%; height: 100%; }
table.booked-calendar td .date .number { -moz-transform:scale(1); -webkit-transform:scale(1); transform:scale(1); font-size:19px; display:inline-block; -moz-border-radius:40px; -webkit-border-radius:40px; border-radius:40px; transform:scale(1); width: 50px; height: 50px; line-height: 48px; }
table.booked-calendar td.blur .date, table.booked-calendar td.blur:hover .date { cursor:default; background:#EEEEEE; color:#ccc; }
table.booked-calendar td.partial .date { background:#fffcf0; }

.booked-admin-calendar-wrap.noTopBar table.booked-calendar th .page-left { color:#fff; color:rgba(255,255,255,0.75); top:11px; right:55px; }
.booked-admin-calendar-wrap.noTopBar table.booked-calendar th .page-right { color:#fff; color:rgba(255,255,255,0.75); top:11px; right:20px; }
.booked-admin-calendar-wrap.noTopBar table.booked-calendar th .page-left:hover { color:#fff; right:56px; }
.booked-admin-calendar-wrap.noTopBar table.booked-calendar th .page-right:hover { color:#fff; right:19px; }
.booked-admin-calendar-wrap.noTopBar table.booked-calendar th .monthName a.backToMonth { color:#fff; color:rgba(255,255,255,0.75); top:24px; right:70px; }
.booked-admin-calendar-wrap.noTopBar table.booked-calendar th .monthName a.backToMonth:hover { color:#fff; right:71px; }

table.booked-calendar td.partial .date .number { border:2px solid #ffce59; color:#000; }
table.booked-calendar td.booked .date .number { border:2px solid #f15934; color:#000; }
table.booked-calendar td.today .date .number { border:2px solid #6dc3ee; color:#000; }
table.booked-calendar td.partial:hover .date .number { background:#ffce59; color:#fff; }
table.booked-calendar td.booked:hover .date .number { background:#f15934; color:#fff; }
table.booked-calendar td.today:hover .date .number { background:#6dc3ee; color:#fff; }

table.booked-calendar td.today.partial .date { background:#f0faff; color:#000; }
table.booked-calendar td:hover .date { background:#f9f9f9; cursor:pointer; color:#000; }
table.booked-calendar td.partial:hover .date { background:#fff7d8; }
table.booked-calendar td.booked:hover .date { background:#ffe4df; }
table.booked-calendar td.today:hover .date { background:#e1f3fc; }
table.booked-calendar td:hover .date .number {  }
table.booked-calendar td .count { cursor:pointer; position:absolute; top:-50px; left:0; background:#fff; padding:10px 0; font-size:11px; text-transform:uppercase; width:100%; display:block; border-top: 1px solid #e5e5e5; box-shadow: 0 1px 10px rgba(0,0,0,0.10); }
table.booked-calendar td:hover .count { top:0; }
table.booked-calendar tr.week td.active { border-bottom-color:#ddd; }
table.booked-calendar tr.week td.active .date { background:#ddd; color:#555; }
table.booked-calendar tr.week td.active .date .number { border:none; transform:scale(1.25); background:#fff; color:#000; }
table.booked-calendar tr.week td.active { background:#ddd; }
table.booked-calendar tr.entryBlock { background:#ddd; color:#fff; }
table.booked-calendar tr.entryBlock td { padding:2%; text-align:left; color:#fff; border-bottom-color:#ddd; }
table.booked-calendar tr.entryBlock.booked-loading td { height:132px; }

table.booked-calendar .booked-appt-list { transform:scale(0.95); display:none; color:#000; background:#fff; padding:30px 35px 10px; font-size:15px; line-height:1.7; }
table.booked-calendar .booked-appt-list.shown { transform:scale(1); }
table.booked-calendar .booked-appt-list h2 { color:#555; font-size:20px; margin:0 0 30px; font-weight:300; }
table.booked-calendar .booked-appt-list p { color:#888; font-weight:400; margin:0 0 20px; }
table.booked-calendar .booked-appt-list p a { text-decoration:none; }
table.booked-calendar .booked-appt-list .timeslot { box-sizing:border-box; line-height:1.6em; color:#888; border-top:1px solid #ddd; }
table.booked-calendar .booked-appt-list .timeslot.faded { opacity:0.25; }
table.booked-calendar .booked-appt-list .timeslot:hover { background:#f9f9f9; }
table.booked-calendar .booked-appt-list .timeslot:last-child { margin:0 0 20px; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-time { padding:12px 0 12px 15px; box-sizing:border-box; float:left; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-time i.booked-icon { color:#aaa; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-count { min-height:49px; padding:10px 0; box-sizing:border-box; float:left; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-people { padding:10px 10px 10px 0; box-sizing:border-box; float:right; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-time { width:30%; font-weight: 600; color: #333; font-size: 15px; letter-spacing:-0.03em; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-time .timeslot-title { color:#0073AA; font-size:0.9em; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-count { padding-left:15px; border-left:1px solid #ddd; width:40%; }
table.booked-calendar .booked-appt-list .timeslot.has-title .timeslot-count { min-height:76px; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-count.count-wide { width:70%; }
table.booked-calendar .booked-appt-list .timeslot .spots-available { text-transform:uppercase; font-size:11px; display:block; line-height:2.7; color:#aaa; }
table.booked-calendar .booked-appt-list .timeslot .spots-available.empty { color:#E35656; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-people { width:30%; }
table.booked-calendar .booked-appt-list .timeslot .timeslot-people button { float:right; margin:0 0 0 10px }
table.booked-calendar .booked-appt-list .timeslot a { font-weight:600; text-decoration:none; }

table.booked-calendar .timeslot-count strong { display:block; text-transform:uppercase; font-size:13px; letter-spacing:0.03em; margin:10px 0 10px; }
table.booked-calendar .appt-block { width:100%; border-top:1px solid #ddd; display:block; padding:10px 0; }
table.booked-calendar .timeslot-count .appt-block.appt-no-padding:first-child { border-top:none; padding-top:0; }
table.booked-calendar .timeslot-count .appt-block.appt-no-padding:last-child { padding-bottom:0; }
table.booked-calendar .timeslot-count button { float:right; margin:0 0 0 10px; }
table.booked-calendar .timeslot-count a.delete { float:left; margin:0 10px 0 0; font-size:13px; line-height:1.9em; color:#dd0000; }
table.booked-calendar .timeslot-count a.delete:hover { color:#880000; }
table.booked-calendar tr.week td.active:hover .count { top:-40px; }

table.booked-calendar .booked-appt-list .timeslot.booked-disabled { background:#eee; }
table.booked-calendar .booked-appt-list .timeslot.booked-disabled .timeslot-time { color:#888; }
table.booked-calendar .booked-appt-list .timeslot.booked-disabled .new-appt,
table.booked-calendar .booked-appt-list .timeslot.booked-disabled .spots-available { display:none; }


/* Appointment Tabs */
table.booked-calendar #bookedAppointmentTabs { border-bottom:2px solid #015e8c; width:100%; list-style:none; margin:0 0 30px; padding:0; }
table.booked-calendar #bookedAppointmentTabs li { margin:0 3px 0 0; padding:0; display:inline-block; float:left; }
table.booked-calendar #bookedAppointmentTabs li a { display:block; padding:10px 14px; background:#eee; color:#888; -moz-border-radius:3px 3px 0 0; -webkit-border-radius:3px 3px 0 0; border-radius:3px 3px 0 0; text-decoration:none; font-weight:400; font-size:13px; }
table.booked-calendar #bookedAppointmentTabs li a:active, table.booked-calendar #bookedAppointmentTabs li a:focus { -moz-box-shadow:none; -webkit-box-shadow:none; box-shadow:none; }
table.booked-calendar #bookedAppointmentTabs li.active a { background:#0073AA; color:#fff; }
table.booked-calendar #bookedAppointmentTabs li a span { background:#D54E21; color:#fff; min-height:18px; min-width:8px; padding:0 5px; display:inline-block; line-height:18px; margin:0 0 0 10px; position:relative; top:-1px; font-size:11px; font-weight:600; -moz-border-radius:20px; -webkit-border-radius:20px; border-radius:20px; text-align:center; }
table.booked-calendar #bookedAppointmentTabs li.active a span { background:#56C477; color:#fff; }

table.booked-calendar .bookedAppointmentTab { display:none; opacity:0; -webkit-transform:translateY(20px); -moz-transform:translateY(20px); transform:translateY(20px); }
table.booked-calendar .bookedAppointmentTab.active { opacity:1; -webkit-transform:translateY(0); -moz-transform:translateY(0); transform:translateY(0); }

table.booked-calendar .bookedAppointmentTab {
	-webkit-transition: all .2s ease-out;
	-moz-transition: all .2s ease-out;
	-o-transition: all .2s ease-out;
	transition: all .2s ease-out;
}

/* CUSTOM TIME SLOTS */
#booked-admin-panel-container .form-wrapper #booked-custom-timeslots.tab-content { padding:20px 40px 40px; }
#customTimeslotsWrapper { margin:1em 0 20px; padding:0; }
#booked-admin-panel-container .booked-customTimeslotTemplate { display:none; }
#booked-custom-timeslots .addCustomTimeslot { float:left; margin:0 10px 0 0; }

#customTimeslotsContainer .booked-customTimeslot { position: relative; margin: 0 0 10px; padding:25px; background:#e5e5e5; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
#customTimeslotsContainer .booked-customTimeslot:last-child { margin:0 0 25px; }
#customTimeslotsContainer .booked-customTimeslot > input[type="text"], #customTimeslotsContainer .booked-customTimeslot > select { width:150px; margin:0 10px 0 0; padding:6px 10px; font-size:12px; }
#customTimeslotsContainer .booked-customTimeslot > select { width:auto; max-width:200px; }
#customTimeslotsContainer .booked-customTimeslot > input[type="checkbox"] { margin:0 0 0 10px; }
#customTimeslotsContainer .booked-customTimeslot > button { display:inline-block; margin:25px 0 0 0; }
#customTimeslotsContainer .booked-customTimeslot > label { position:relative; top:0; left:5px; }
#customTimeslotsContainer .booked-customTimeslot > .deleteCustomTimeslot { opacity: 0.2; color: #fff; font-size: 0.6rem; line-height:24px; position: absolute; top:32px; right:27px; background: #dd0000; width:24px; height:24px; text-align: center; border-radius: 12px; }
#customTimeslotsContainer .booked-customTimeslot > .deleteCustomTimeslot:hover { opacity:1; }

#booked-customTimePickerTemplates { display:none; padding:10px; margin:15px 0 0 0; background:#fff; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
#booked-customTimePickerTemplates select { margin:0 10px 0 0; font-size:12px; }
#booked-customTimePickerTemplates #bulk-timeslot-form input,
#booked-customTimePickerTemplates #single-timeslot-form input { display: inline; padding: 4px 6px 6px 6px; margin:0 10px 0 0; font-size:11px; }
#booked-customTimePickerTemplates .allday-wrap { display:inline-block; padding:0 20px 0 10px; }
#booked-customTimePickerTemplates .allday-wrap input[type="checkbox"] { position:relative; top:2px; }
#booked-customTimePickerTemplates .button, #booked-customTimePickerTemplates .button-primary { float:right; margin:0 0 0 10px; }

#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .timeslot { font-weight: 600; padding: 10px; margin: 0; display: block; border-bottom: 1px solid #ddd; position: relative; background: #fff; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .timeslot:last-child { border:none; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .delete { cursor:pointer; position:absolute; right:12px; top:10px; text-align:right; font-size:0.8rem; color:#f59e9e }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .delete:hover { color:#e35656; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .slotsBlock { padding:0; width:200px; display:inline-block; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .add { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; display:inline-block; cursor:pointer; color:#ccc; padding-left:5px }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .add:hover { color:#888; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .count { display:inline-block; color:#aaa; padding-left:5px }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .count em { font-style:normal; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .minus { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; display:inline-block; cursor:pointer; color:#ccc; padding-left:0 }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .minus:hover { color:#888; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .title { padding: 0 10px 0 0; color: #20A1CD; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .cts-header { margin-top:25px; background:#0073AA; color:#fff; padding:10px; }
#customTimeslotsContainer .booked-customTimeslot .customTimeslotsList .cts-header .slotsTitle { width:200px; display:inline-block; }

.booked-new-tag { background:#d54e21; color:#fff; padding:0 5px; line-height:18px; height:18px; font-size:11px; margin:0 8px 0 0; position:relative; top:-1px; display:inline-block; font-weight:600; text-transform:uppercase; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
h3 .booked-new-tag { top:-2px; }
.booked-admin-tabs .booked-new-tag, .booked-admin-subtabs .booked-new-tag { font-size: 9px; height: 13px; line-height: 14px; padding: 0 4px 0 3px; margin: 0 0 0 7px; }

#booked-saveCustomTimeslots { float:left; }
.cts-updater.savingState { float:left; padding:5px 0 0 15px; color:#888; }

/* END CUSTOM TIME SLOTS */

/* CUSTOM DATE PICKER STYLING */
#ui-datepicker-div.booked_custom_date_picker { background:#fff; margin-top:2px; width:230px; border:1px solid #d5d5d5; padding:8px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0 1px 4px rgba(0,0,0,0.15); }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header { position:relative; background:#0073AA; color:#fff; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-prev,
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-next { cursor:pointer; top:9px; font-size:16px; position:absolute; display: inline-block; font-family:"BookedIcons"; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transform: translate(0, 0); color:#fff; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-prev .ui-icon,
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-next .ui-icon { display:none; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-prev { left:9px; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-next { right:9px; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-title { text-transform:uppercase; padding:9px 0 10px; text-align:center; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-prev:hover,
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-next:hover { opacity:0.7; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-prev:before { content: "\f017"; }
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header .ui-datepicker-next:before { content: "\f018"; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar { width:100%; border-collapse: collapse; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar thead, #ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar thead th { font-size:11px; font-weight:normal; background:#213946; color:#fff; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar thead th { width:14.285%; text-align:center; padding:5px 0; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody { border-top:8px solid #fff; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody, #ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td { font-size:12px; font-weight:normal; background:#fff; color:#888; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td { text-align:center; padding:0px; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td a { display:block; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; line-height:33px; text-decoration:none; color:#333; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td a:hover { background:#eee; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td span { display:block; line-height:33px;  }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td.ui-datepicker-unselectable span { color:#ddd; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td.ui-datepicker-week-end a { color:#888; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td.ui-datepicker-today a { background:#F0FAFF; color:#6DC3EE; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td.ui-datepicker-today a:hover { background:#DCEFF8; }
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td a.ui-state-active, #ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td a.ui-state-active:hover { background:#fff1cc; color:#bf9931; }
/* END CUSTOM DATE PICKER STYLING */


@media screen and (max-width:1100px){
	table.booked-calendar td .count { padding:5px 0; font-size:9px; }
	table.booked-calendar td .date .number { width:30px; height:30px; line-height:30px; font-size:14px; }
}

@media screen and (max-width:720px){

	table.booked-calendar thead th { font-size:16px; padding:13px 0 10px; }
	table.booked-calendar thead tr.days th { font-size:11px; padding:7px 0 5px; }
	table.booked-calendar td { font-size:13px; }
	table.booked-calendar thead th .page-left { left:10px; top:11px; font-size:15px; }
	table.booked-calendar thead th .page-right { right:10px; top:11px; font-size:15px; }
	table.booked-calendar thead th .page-left:hover { left:9px; }
	table.booked-calendar thead th .page-right:hover { right:9px; }
	table.booked-calendar th .monthName a { top:-2px; font-size:10px; }

	table.booked-calendar td .count { display:none; }
	table.booked-calendar td .date { height:100%; }
	table.booked-calendar td .date .number { border:none; display:inline-block; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; transform:scale(1); width:auto; height:auto; line-height:100%; }
	table.booked-calendar td.blur .date, table.booked-calendar td.blur:hover .date { cursor:default; background:#EEEEEE; color:#ccc; }
	table.booked-calendar td.partial .date { background:#FFF4CE; }
	table.booked-calendar td.booked .date { background:#FFE4DF; }
	table.booked-calendar td.partial .date .number { border:none; background:none; color:#555; }
	table.booked-calendar td.booked .date .number { border:none; background:none; color:#555; }
	table.booked-calendar td.today .date { background:#f0faff; color:#555; }
	table.booked-calendar td:hover .date { background:#f9f9f9; cursor:pointer; color:#000; }
	table.booked-calendar tr.week td.active .date .number { border:none; transform:scale(1.5); background:none; color:#000; }

}



/* ADMIN MODAL FORM */
form.booked-form { padding-top:5px; }
form.booked-form .field { margin:5px 0; }
form.booked-form .field:after { content: ""; display: table; clear: both; }
form.booked-form .field.booked-text-content { margin-bottom:0; margin-top:20px; }
form.booked-form .field.booked-text-content *:last-child { margin-bottom:0; }
body .booked-form .cf-block .field:first-child { margin-top:0; }
body .booked-form .cf-block .field:first-child > label.field-label { padding-top:0; }
form.booked-form input[type=radio], form.booked-form input[type=checkbox] { position:relative; top:2px; }
form.booked-form .field select, form.booked-form .field input[type=text], form.booked-form .field input[type=password], form.booked-form .field input[type=tel], form.booked-form .field input[type=email] { margin-right:1.4%; width:49%; float:left; }
form.booked-form .field .chosen-search input[type=text] { float:none; width:100%; margin:0; padding:4px 5px; }
form.booked-form .field input:last-child, form.booked-form .field select:last-child { margin-right:0; }
form.booked-form .field select, form.booked-form .field input[type=text], form.booked-form .field input[type=password], form.booked-form .field input[type=tel], form.booked-form .field input[type=email] { font-size:13px; padding:0 10px; color:#555; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
form.booked-form .field select { height:32px; line-height:32px; }
form.booked-form .field input.hasContent { color:#555; }
form.booked-form .field input.large, form.booked-form .field select.large { width:100%; margin-right:1px; width:99.8%; padding:0 10px; }
form.booked-form .spacer { padding:5px 0 0 0; margin:0; display:block; }
form.booked-form hr { border:none; border-top:1px solid #ddd; padding:20px 0 0 0; margin:25px 0 0 0; }
body .booked-form .condition-block, body .booked-settings-form .condition-block { display:none; }
body .booked-form .condition-block.default, body .booked-settings-form .condition-block.default { display:block; }
form.booked-form input[type=submit], form.booked-form button { float:left; margin:0 10px 0 0; }

form.booked-form select#userList { width:100%; float:none; }
form.booked-form .field label.field-label { display:block; font-weight:bold; padding: 15px 0 8px; text-transform: uppercase; font-size: 13px; }
form.booked-form .field textarea { height:100px; width:100%; }
form.booked-form .field .checkbox-radio-block { display:block; padding:0 0 7px 10px; }
form.booked-form .field .checkbox-radio-block label { color:#555; display:inline-block; padding-left:3px; position:relative; top:3px; }
form.booked-form .field .checkbox-radio-block input[type=radio], form.booked-form .field .checkbox-radio-block input[type=checkbox] { top:5px; position:relative; }

form.booked-form .cf-block { margin:0 0 25px; }
form.booked-form .cf-block select { font-size:13px; width:100%; height:33px; margin-right:0; padding:0 10px; }
form.booked-form .cf-block input, form.booked-form .cf-block textarea { background:#fff; }

form.booked-form .required-asterisk { color:#E35656; margin:-1px 0 0 7px; }

form.booked-form .booked_appt_date-formatted { font-size: 1.2em; line-height: 28px; display: inline-block; padding-right: 10px; padding-bottom:5px; font-weight:600; }
form.booked-form button.ui-datepicker-trigger { float:right; }

/* MODAL WINDOWS */
body .booked-modal { margin-top:-84px; min-height:168px; position: fixed; z-index:9999999; top:50%; right: 0; bottom: 0; left: 0; }
body .booked-modal hr { border-top:1px solid #ddd; background:none; }
body .booked-modal .bm-overlay { animation: booked-fadein 0.2s; -webkit-animation: booked-fadein 0.2s; -moz-animation: booked-fadein 0.2s; -ms-animation: booked-fadein 0.2s; -o-animation: booked-fadein 0.2s; -webkit-backface-visibility: hidden; position: fixed; background:#000; background: rgba(0, 0, 0, 0.65); top: 0; right: 0; bottom: 0; left: 0; }
body .booked-modal .bm-window { animation: booked-flyin 0.2s; -webkit-animation: booked-flyin 0.2s; -moz-animation: booked-flyin 0.2s; -ms-animation: booked-flyin 0.2s; -o-animation: booked-flyin 0.2s; -webkit-backface-visibility: hidden; padding:43px 0 25px; width:450px; position:relative; margin:0 auto; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; -moz-box-shadow:1px 1px 60px rgba(0,0,0,0.5); -webkit-box-shadow:1px 1px 60px rgba(0,0,0,0.5); box-shadow:1px 1px 60px rgba(0,0,0,0.5); }
body .booked-modal.bm-loading .bm-window { background:none; -webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none; }
body .booked-modal.bm-closing .bm-overlay { animation: booked-fadeout 0.2s; -webkit-animation: booked-fadeout 0.2s; -moz-animation: booked-fadeout 0.2s; -ms-animation: booked-fadeout 0.2s; -o-animation: booked-fadeout 0.2s; -webkit-backface-visibility: hidden; }
body .booked-modal.bm-closing .bm-window { animation: booked-flyout 0.2s; -webkit-animation: booked-flyout 0.2s; -moz-animation: booked-flyout 0.2s; -ms-animation: booked-flyout 0.2s; -o-animation: booked-flyout 0.2s; -webkit-backface-visibility: hidden; }
body .booked-modal .bm-window { background:#f5f5f5; max-height:100px; }
body .booked-modal .bm-window p { margin:0 0 15px; font-size:13px; line-height:1.7; }
body .booked-form .cf-block ul, body .booked-form .cf-block ol { font-size:13px; margin-left:30px; line-height:1.5; }
body .booked-form .cf-block ul { list-style:disc; }
body .booked-form .cf-block ol { list-style:decimal; }
body .booked-modal .bm-window p small { display:block; margin:0 0 15px; text-transform:uppercase; font-size:13px; font-weight:600; letter-spacing:0.03em; }
body .booked-modal .bm-window p.name { font-size:15px; margin:0 0 20px; line-height:1.7; }
body .booked-modal .bm-window p strong { font-size:13px; text-transform:uppercase; display:inline-block; padding-right:3px; font-weight:600; }
body .booked-modal .bm-window a { text-decoration:none; }
body .booked-modal .bm-window .close { line-height:1; color:#fff; color:rgba(255,255,255,0.5); font-size:20px; position:absolute; top:11px; right:14px; }
body .booked-modal .bm-window .close:hover { color:#fff; }
body .booked-modal .bm-window p i.booked-icon.booked-icon-clock { font-size: 18px; position: relative; top: 1px; }
body .booked-modal .bm-window p.booked-calendar-name { font-weight:600; font-size:15px; color:#0073aa; }
body .booked-modal .bm-window .booked-scrollable { max-height:100px; padding:25px 30px; overflow-y:scroll; background:#f5f5f5; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
body .booked-modal .bm-window p.booked-title-bar { background:#56c477; box-sizing: border-box; font-size: 13px; position: absolute; top: 0; left: 0; line-height:1; width: 100%; color: #fff; border-radius: 4px 4px 0 0; padding: 15px 30px 15px 15px; }
body .booked-modal .bm-window p.booked-title-bar small { margin:0; }
body .booked-modal .bm-window p.booked-modal-title { font-size: 15px; font-weight: 600; }
body .booked-modal .bm-window p.booked-modal-list-item { margin:0; }
body .booked-modal .bm-window p.bm-title-bordered { border-top: 1px solid #ddd; padding-top: 20px; margin-top: 20px; }

@media screen and (max-width:720px){

	body .booked-modal { padding:0; margin:20px; }
	body .booked-modal .bm-window { width:100%; padding:43px 0 0; box-sizing:border-box; -moz-border-radius:6px; -webkit-border-radius:6px; border-radius:6px; }
	body .booked-modal .bm-window .booked-scrollable { padding:30px 35px; }
	body .booked-modal .bm-overlay { background:rgba(0, 0, 0, 0.8); }
	body .booked-modal .bm-window p.name b { display:block; }

}



#booked-welcome-screen { padding:15px 50px 0 30px; position:relative; }
#booked-welcome-screen .booked-badge { position:absolute; top:-3px; right:0; }
#booked-welcome-screen .booked-badge img { border:none; width:150px; height:150px; display:block; margin:0; }
#booked-welcome-screen .about-wrap { margin:25px auto 0; max-width:1000px; }
#booked-welcome-screen #welcome-panel { padding:30px; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px; box-shadow:0 4px 4px rgba(0,0,0,.05),0 8px 8px rgba(0,0,0,.05),0 32px 32px rgba(0,0,0,.05),0 64px 64px rgba(0,0,0,.05); }
#booked-welcome-screen #welcome-panel img.booked-welcome-banner { border:none; display:block; margin:0 0 30px 0; padding:0; width:100%; box-sizing:border-box; border-radius:5px 5px 0 0; }
#booked-welcome-screen .welcome-panel-content { margin:0px; padding:10px 50px 20px; }
#booked-welcome-screen .welcome-panel .welcome-panel-column-container { display:flex; }
#booked-welcome-screen .welcome-panel-column { float:none; }
#booked-welcome-screen .welcome-panel-intro { text-align: center; margin: 0 50px 2rem; padding: 15px 0; border-bottom: 1px solid #e5e5e5; }
#booked-welcome-screen .welcome-panel-intro h1 { font-size: 1.75rem; margin: 0 0 1rem; padding: 0; font-weight:600; }
#booked-welcome-screen .welcome-panel-intro p { max-width: 600px; font-size: 1.1rem; line-height: 1.8rem; margin: 0 auto 2rem; padding: 0; }
#booked-welcome-screen .welcome-panel-column h3 { font-size:1.25rem; margin:0 0 20px; position:relative; }
#booked-welcome-screen .welcome-panel-column h3 a { position:absolute; top:0; right:0; font-size:12px; font-weight:400; }
#booked-welcome-screen .welcome-panel-column h3 a i.booked-icon { position:relative; top:1px; }
#booked-welcome-screen .welcome-panel-column { box-sizing:border-box; padding-right:40px; }
#booked-welcome-screen .welcome-panel-column.welcome-panel-last { width:64%; padding-right:0; }
#booked-welcome-screen .welcome-panel-column .booked-icon-sign-out { color:#888; }
#booked-welcome-screen ul.booked-whatsnew-list { margin-right:0; }
#booked-welcome-screen ul.booked-whatsnew-list li { line-height:1.7; position:relative; margin-right:0; border-top:1px solid #e5e5e5; padding:8px 0 4px 62px }
#booked-welcome-screen ul.booked-whatsnew-list li:first-child { border:none; padding-top:0; }
#booked-welcome-screen ul.booked-whatsnew-list strong.new,
#booked-welcome-screen ul.booked-whatsnew-list strong.tweak,
#booked-welcome-screen ul.booked-whatsnew-list em.fix { position:absolute; font-style:normal; display:inline-block; background:#aaa; text-transform:uppercase; top:11px; left:0; color:#fff; font-weight:600; -moz-border-radius:3px; -webkit-border-radius:3px; text-align:center; width:38px; border-radius:3px; font-size:10px; line-height:19px; height:19px; padding:0 6px; margin:0 6px 0 0; }
#booked-welcome-screen ul.booked-whatsnew-list li:first-child strong.new,
#booked-welcome-screen ul.booked-whatsnew-list li:first-child strong.tweak,
#booked-welcome-screen ul.booked-whatsnew-list li:first-child em.fix { top:3px; }
#booked-welcome-screen ul.booked-whatsnew-list strong.new { background:#56C477; }
#booked-welcome-screen ul.booked-whatsnew-list strong.tweak { background:#0073aa; }
#booked-welcome-screen ul.booked-whatsnew-list em.fix { background:#ffad10; }

@media screen and (max-width:870px){
	#booked-welcome-screen .welcome-panel-column { padding-right:0; }
	#booked-welcome-screen .welcome-panel-column.welcome-panel-last { width:100%; padding-top:20px; }
	#booked-welcome-screen .about-wrap { margin-top:0; }
	#booked-welcome-screen .welcome-panel .welcome-panel-column li { display:block; }
}

@media screen and (max-width:782px){
	#booked-welcome-screen { padding:15px 40px 0 30px; }
	#booked-welcome-screen .booked-badge { display:none; }
	#booked-welcome-screen .about-wrap h1,
	#booked-welcome-screen .about-text { margin-right:0; }
	#booked-welcome-screen .welcome-panel-column h3 a { display:block; position:relative; }
}

@media screen and (max-width:500px){
	#booked-welcome-screen #welcome-panel img.booked-welcome-banner { display:none; }
	#booked-welcome-screen .about-wrap h1 { font-size:1.8em; }
	#booked-welcome-screen .about-text { font-size:15px; }
}




/* ANIMATION */
.timeslot,
table.booked-calendar td .count,
table.booked-calendar thead th a,
.booked-appt-list .timeslot,
#booked-admin-panel-container #booked-cf-sortables li .cf-delete,
#booked-admin-panel-container .booked-admin-tabs li a {
	-webkit-transition: all 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-moz-transition: all 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-o-transition: all 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	transition: all 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
}

table.booked-calendar td .date {
	-webkit-transition: background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-moz-transition: background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-o-transition: background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	transition: background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
}

table.booked-calendar td .date .number {
	-webkit-transition: color 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), transform 200ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-moz-transition: color 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), transform 200ms cubic-bezier(0.420, 0.000, 0.150, 1.000)
	-o-transition: color 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), transform 200ms cubic-bezier(0.420, 0.000, 0.150, 1.000)
	transition: color 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), background 100ms cubic-bezier(0.420, 0.000, 0.150, 1.000), transform 200ms cubic-bezier(0.420, 0.000, 0.150, 1.000)
}

.booked-appt-list {
	-webkit-transition: transform 400ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-moz-transition: transform 400ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	-o-transition: transform 400ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
	transition: transform 400ms cubic-bezier(0.420, 0.000, 0.150, 1.000);
}
