/* Styles for KTP Scheduling
----------------------------------------*/
:root {
  --dark-blue: #0F457A;
  --green: #339900;
  --dark-yellow: #ffcc00;
  --red: #cc0000;
  --light-blue: #468BCE;
  --gray-blue: #c3dae3;
  
}

.page-header .entry-title {
	margin-top:30px;
	margin-bottom:0px;
	padding:0 10px 30px;
}

.daily-appt::-webkit-scrollbar {
    height: 7px;
    width: 7px;
    background: #ccc;
}

.daily-appt::-webkit-scrollbar-thumb {
    background: #004477;
   
}


/* clear fix
----------------------------------------*/

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

.required{
	color:#cc0000;
}

a.ktp-btn {
	padding:15px 25px;
	color:#fff;
	background:var(--dark-blue);
	text-decoration:none;
	font-size:14px;
	font-weight:bold;
	margin:0;
	text-transform:uppercase;
	display:inline-block;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	border-radius:3px;
}

a.ktp-btn:hover{
	color:#fff;
	background:var(--light-blue);
	text-decoration:none;
	
}

/* gravity forms
----------------------------------------*/

.gform_wrapper.gravity-theme .ginput_complex label {
	padding-bottom: 15px;
}

/* top menu
----------------------------------------*/
.top-menu{
	text-align:right;
	color:#fff !important;
	font-size:18px;
	padding:5px 0;
}

.top-menu .logged-out a{
	margin:0 0 0 10px;
}
 
.top-menu a.logout{
	margin:0 0 0 10px;
}

.top-menu a.calendar{
	margin:0 10px 0 0;
}

.top-menu a{
	color:var(--gray-blue) !important;
	font-size:18px !important;
}

.top-menu a:hover{
	color:var(--light-blue) !important;
}


/* scheduleing
----------------------------------------*/
.ktp-scheduling {
	position:relative;
	padding:25px;
	-moz-box-shadow: 0 0 8px rgba(0,0,0, .25);
	-webkit-box-shadow: 0 0 8px rgba(0,0,0, .25);
	box-shadow: 0 0 8px rgba(0,0,0, .25);
}

/* start over
----------------------------------------*/

.start-over i{
	font-weight:bold;
}

/* steps
----------------------------------------*/
.ktp-shceduling-steps {
	display:none;
}

.ktp-shceduling-steps.active {
	display:flex;
	padding:0 0 25px;
	justify-content:space-between;
}

.ktp-shceduling-steps.active a{
	font-size:16px;
	color:
}

.ktp-continue-btn{
	width:100%;
	padding:25px 0 0;
	text-align:center;
	display:none;
}

.ktp-continue-btn.active{
	display:block;
}

.ktp-continue-btn a{
	padding:15px 25px;
	color:#fff;
	background:var(--dark-blue);
	text-decoration:none;
	font-size:14px;
	font-weight:bold;
	margin:0;
	text-transform:uppercase;
	display:inline-block;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	border-radius:3px;
}

.ktp-continue-btn a:hover{
	color:#fff;
	background:var(--light-blue);
	text-decoration:none;
	
}

.ktp-continue-btn a i.fa-angle-left{
	padding:0 5px 0 0;
}

#ktp-appt-details-submit.hidden{
	display: none;
}

#ktp-appt-details-submit.show{
	display: inline-block;
}

.ktp-continue-btn a i.fa-angle-right{
	padding:0 0 0 5px;
}

.ktp-service-category, .ktp-services, .ktp-calendar, .ktp-details, .ktp-review {
	 display:none;
	position:relative;
}

.ktp-service-category.active {
	display:block;
}

.ktp-services.active {
	display:block;
}

.ktp-calendar.active {
	display:flex;
	flex-wrap:wrap;
}

.ktp-details.active {
	display:block;
}

.ktp-review.active {
	display:block;
}

/* service cats
----------------------------------------*/

.ktp-service-cats{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}

.ktp-service-cats .ktp-service-cat {
	flex-basis:25%;
	display:flex;
	justify-content:center;
	align-items:stretch;
}

.ktp-service-cat a{
	padding:25px 10px;
	margin:10px;
	border:solid 1px #ccc;
	color:#333;
	text-align:center;
	line-height:1.2em;
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}

.ktp-service-cat a:hover{
	background:var(--light-blue);
	color:#fff;
}

.ktp-service-cat a.active{
	background:var(--dark-blue);
	color:#fff;
}
 
/* service options
----------------------------------------*/

.ktp-service {
	display:flex;
	width:100%;
	justify-content:space-between;
	padding:25px;
	margin:10px 0;
	border:solid 1px #ccc;
}

.ktp-service:hover {
	border:solid 1px var(--light-blue);
}

.ktp-service.active {
	background:var(--gray-blue);
}

.ktp-service-select-btn a{
	padding:10px 15px;
	color:#fff;
	background:var(--dark-blue);
	text-decoration:none;
	font-size:14px;
	font-weight:bold;
	margin:0;
	text-transform:uppercase;
	display:inline-block;
}

.ktp-service-select-btn a:hover{
	color:#fff;
	background:var(--light-blue);
	text-decoration:none;
	
}

.ktp-service-select-btn a i.fa-angle-left{
	padding:0 5px 0 0;
}

.ktp-service-select-btn a i.fa-angle-right{
	padding:0 0 0 5px;
}

#ktp-service-select-btn {
	display:block !important;
	padding:0 !important;
}

.ktp-service-title
 {
	font-size:18px;
	font-weight:bold;
}

.ktp-service-price {
	font-size:14px;
}

/* Calendar
----------------------------------------*/
.ktp-calendar-days-hours {
	display:flex;
	width:100%;
}

.prev-next-month {
	width:100%;
	display:flex;
	justify-content:space-between;
}

.prev-next-month a.inactive{
	color:#ccc;
	cursor:default;
}

.ktp-calendar .ktp-service-data {
	width:100%;
	padding:0 0 15px;
	margin:0 0 15px;
	border-bottom:solid 1px #eee;
}

.ktp-calendar .ktp-calendar-days,.ktp-calendar .ktp-calendar-hours{
	flex-basis:50%;
	padding:15px;
	display:flex;
	flex-wrap:wrap;
	position:relative;
	justify-content:flex-start;
	align-content: start;
	min-height:373px;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day {
	width:14.285%;
	text-align:center;
	color:#ccc;
	padding:10px 10px;
	font-size:14px;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.heading {
	font-weight:bold;
	color:#333;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.active {
	color:#333;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day .day-num {
	display:inline-block;
	line-height:35px;
	width:35px;
	border-radius:50px;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.first-day .day-num, .ktp-calendar .ktp-calendar-days .ktp-calendar-day.selected .day-num {
	color:#fff;
	background:var(--dark-blue);
	cursor:pointer;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.active.holiday .day-num {
	color:#fff;
	background:#e6b801;
	cursor:pointer;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.active.selected.holiday .day-num {
	color:#fff;
	background:var(--dark-blue);
	cursor:pointer;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.active.blackout .day-num,
.ktp-calendar .ktp-calendar-days .ktp-calendar-day.active.blackout:hover .day-num {
	color:#333;
	background:#ddd;
	cursor:not-allowed;
}

.ktp-calendar .ktp-calendar-days .ktp-calendar-day.active:hover .day-num {
	color:#333;
	background:#c3dae3;
	cursor:pointer;
}

.ktp-calendar .ktp-calendar-hours .appt-date {
	flex-basis:100%;
	padding:0 0 10px 5px;
}

.ktp-calendar .ktp-calendar-hours .appt-timezone {
	font-size:12px;
	font-weight:bold;
	padding:15px 0 0 0;
}

.ktp-calendar .ktp-calendar-hours .ktp-calendar-hour {
	flex-basis:33.33%;
}

.ktp-calendar .ktp-calendar-hours .ktp-calendar-hour .ktp-calendar-hour-inner {
	padding:10px;
	border:solid 1px #ccc;
	margin:5px;
	text-align:center;
	cursor:pointer;
	font-size:14px;
	font-weight:bold;
}

.ktp-calendar .ktp-calendar-hours .ktp-calendar-hour .ktp-calendar-hour-inner:hover {
	color:#333;
	background:#c3dae3;
}

.ktp-calendar .ktp-calendar-hours .ktp-calendar-hour .ktp-calendar-hour-inner.selected {
	color:#fff;
	background:var(--dark-blue);
}

/* supervisor calendar
----------------------------------------*/
.ktp-sup-calendar {
	padding:0 0 20px;
}

.ktp-sup-calendar .ktp-calendar-days {
	display:flex;
	flex-wrap:wrap;
	position:relative;
	justify-content:flex-start;
	align-content: start;
}

.ktp-sup-calendar .ktp-calendar-days .ktp-calendar-day.heading {
	font-weight:bold;
	color:#fff;
	background:var(--dark-blue);
	height:auto;
	min-height:1px;
	text-align:left;
	margin-top:15px;
	border:none;
}

.ktp-sup-calendar .ktp-calendar-days .ktp-calendar-day {
	width:14.285%;
	min-height:100px;
	text-align:left;
	color:#ccc;
	padding:10px 10px;
	font-size:14px;
	border:solid 1px #fff;
	background:#fafafa;
}

.ktp-sup-calendar .ktp-calendar-days .ktp-calendar-day.active {
	color:#333;
}

.ktp-supervisor-cal .ktp-calendar-days .ktp-calendar-day.active.selected, .ktp-supervisor-cal .ktp-calendar-days .ktp-calendar-day.active.selected:hover{
	color:#fff;
	background:var(--light-blue);
	border:solid 1px #fff;
}

.ktp-sup-calendar .ktp-calendar-days .ktp-calendar-day.active:hover {
	background:#efefef;
}

.ktp-sup-calendar .ktp-calendar-days .ktp-calendar-day .day-num {
	display:inline-block;
}

.availability-btns {
	text-align:center;
	margin:10px 0 0 0;
}

.availability-btns a {
	display:inline-block;
	padding:10px 20px;
	margin:0 5px;
	background:var(--dark-blue);
	color:#fff;
	text-decoration:none;
}

.availability-btns a:hover {
	background:var(--light-blue);
	color:#fff;
	text-decoration:none;
}


.ktp-edit-selected-availability a:hover {
	display:inline-block;
	padding:15px 30px;
	background:var(--light-blue);
	color:#fff;
	text-decoration:none;
}

.ktp-sup-availabilty-dates {
	font-size:16px;
	padding:0 50px 0 0;
}

.ktp-sup-availabilty-dates span{
	font-size:14px;
	font-weight:bold;
}

.ktp-calendar-days .sup-time {
	padding:10px 0 0 0;
	font-weight:bold;
	font-size:12px;
}

.ktp-sup-admin-time {
	padding:5px;
	border-radius:3px;
	color:#fff;
}

.num-appt-icon {
	text-align:right;
	padding:10px 0 0 0;
}

.num-appt-icon a {
	font-size:16px;
	color:#fff;
	background:var(--green);
	border: solid 1px var(--green);
	border-radius:20px;
	width:25px;
	line-height:25px;
	display:inline-block;
	text-align:center;
}

.num-appt-icon a:hover {
	color: #333;
	background:#fff;
	border: solid 1px var(--green);
}

.num-appt-icon.warning a {
	background:var(--dark-yellow);
	border: solid 1px var(--dark-yellow);
}

.num-appt-icon.warning a:hover {
	background:#fff;
	border: solid 1px var(--dark-yellow);
}

.num-appt-icon.alert a {
	background:var(--red);
	border: solid 1px var(--red);
}

.num-appt-icon.alert a:hover {
	background:#fff;
	border: solid 1px var(--red);
}

.num-appt-icon.alert.warning a {
	background: var(--red);
	background: linear-gradient(180deg,rgba(255, 204, 0, 1) 0%, rgba(204, 0, 0, 1) 100%);
	border: solid 1px var(--red);
}

.num-appt-icon.alert.warning a:hover {
	background:#fff;
	border: solid 1px var(--red);
}




/* sup dashboard
----------------------------------------*/

.ktp-sup-dashboard{
	padding:0 0 50px 0;
}

.ktp-dahboard-name {
	font-weight:bold;
	border-bottom:1px solid #ccc;
	margin:0 0 30px;
	padding:0 0 10px;
}

.ktp-sup-dashboard-columns{
	display:flex;
}

.ktp-sup-dashboard-left-col{
	flex-basis:25%;
	background:#efefef;
}

.ktp-sup-dashboard-links{
}

.ktp-sup-dashboard-right-col{
	flex-basis:75%;
}

.ktp-dashboard-section {
	padding:0 0 0 25px;
	display:none;
}

.ktp-dashboard-section.active {
	display:block;
}

a.ktp-sup-dashboard-link {
	color:#333;
	display:block;
	padding:15px;
	position:relative;
}

a.ktp-sup-dashboard-link.active, a.ktp-sup-dashboard-link:hover {
	background:var(--light-blue);
	color:#fff;
}

a.ktp-sup-dashboard-link.active:after{
	right: 0;
	top: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 255, 255, 0);
	border-right-color: #fff;
	border-width: 10px;
	margin-top: -10px;
}

.sup-appt-grid {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
}

.sup-appt-grid-item {
	flex-basis:31.33%;
	margin:1%;
	padding:15px;
	border:solid 10px #eee;
}

/* review 
----------------------------------------*/

.ktp-review .review-appt-details {
	padding: 0 0 25px 0;
}

.appt-label{
	font-weight: bold;
}

.fee-label{
	font-weight: bold;
}

#field_24_1,
#field_25_1 {
	display:flex;
	padding:5px 0 0 0;
	align-items:center;
}
#field_24_1 .gform-field-label, 
#field_24_1 #input_24_1,
#field_25_1 .gform-field-label, 
#field_25_1 #input_25_1{
	font-weight:bold;
	font-size:24px;
	padding:0px 10px 0 0 !important;
	margin:0px !important;
}

/* daily appts
----------------------------------------*/
.ktp-daily-cal-back i{
	font-size: 18px;
	margin:0 5px 0 0;
}

.daily-avail-sups {
	padding:0 0 20px 0;
}


.ktp-daily-appt-title {
	display: flex;
	align-items:center;
	justify-content: space-between;
	padding: 10px 0;
	
}

.ktp-daily-appt-title h3 {
	font-size:24px;
	margin: 0;
}

.ktp-daily-appt-view {
	display: flex;
	justify-content: flex-end;
	font-size: 14px;
	align-items: center;
}

.ktp-daily-appt-view > div {
	margin:0 0 0 10px;
}

.ktp-daily-appt-title .ktp-daily-appt-view-btn a {
	display:flex;
	gap: 5px;
	padding:3px;
	border: solid 1px #ccc;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	border-radius:3px;
	background: #fafafa;
}

.ktp-daily-appt-title .ktp-daily-appt-view-btn a span{
	background: #0F457A;
}

.ktp-daily-appt-title .ktp-daily-appt-view-btn a.active, 
.ktp-daily-appt-title .ktp-daily-appt-view-btn a:hover {
	background: #0F457A;
}

.ktp-daily-appt-title .ktp-daily-appt-view-btn a.active span, 
.ktp-daily-appt-title .ktp-daily-appt-view-btn a:hover span {
	background: #fff;
}


.ktp-daily-appt-title .ktp-daily-appt-view-wide a {
	gap: 5px;
	
}

.ktp-daily-appt-title .ktp-daily-appt-view-wide a span {
	width:5px;
	height:23px;
	display:inline-block;
}



.ktp-daily-appt-title .ktp-daily-appt-view-narrow a {
	display:flex;
	gap: 4px;
}

.ktp-daily-appt-title .ktp-daily-appt-view-narrow a span {
	width:3px;
	height:23px;
	display:inline-block;
}

.ktp-daily-appt-title .ktp-daily-appt-view-column a {
	display:flex;
	flex-direction: column;
	gap: 4px;
}

.ktp-daily-appt-title .ktp-daily-appt-view-column a span {
	height: 5px;
	width: 25px;
	display:inline-block;
}

.page-id-844 .grecaptcha-badge {
	display: none;
}

.daily-appts-list.column-view .ktp-grid-time,
.daily-appts-list.column-view .ktp-daily-appt-collapsed-name-inner,
.daily-appts-list.column-view .ktp-daily-appt-icons,
.daily-appts-list.column-view .ktp-daily-appt-collapsed-name, 
.daily-appts-list.column-view .ktp-daily-appt-col-name-inner, 
.daily-appts-list.narrow-view .ktp-column-view-collape-all,
.daily-appts-list.wide-view .ktp-column-view-collape-all,
.daily-appts-list.narrow-view .ktp-daily-appt-name-col,
.daily-appts-list.wide-view .ktp-daily-appt-name-col {
	display: none;
}

.daily-appts-list.column-view .ktp-column-view-collape-all {
	padding: 15px 0;
}


.daily-appts-list.column-view .ktp-column-view-collape-all a{
	font-size: 14px;
	font-weight: bold;
	color: #333;
}

.daily-appts-list.column-view .ktp-column-view-collape-all.closed .close-all {
	display:none;
}

.daily-appts-list.column-view .ktp-column-view-collape-all.closed .open-all {
	display:block;
}

.daily-appts-list.column-view .ktp-column-view-collape-all.open .close-all {
	display:block;
}

.daily-appts-list.column-view .ktp-column-view-collape-all.open .open-all {
	display:none;
}

.daily-appts-list.column-view .ktp-daily-appt-name-col {
	font-size: 18px;
	font-weight: bold;
	display: flex;
	align-items: center;
}


.daily-appts-list.column-view .ktp-daily-appt-col-time {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.daily-appts-list.column-view .daily-appt.closed .ktp-daily-appt-col-name-inner {
	display: block;
	margin: 0 10px 0 0;
}

.daily-appts-list.column-view a.ktp-appt-col-single-collapse {
	margin: 0 20px 0 0;
	line-height: 1em;
}

.daily-appts-list.column-view a.ktp-appt-col-single-collapse .fas {
	font-size: 24px;
	line-height: 1em;
}

.daily-appts-list.column-view .daily-appt.column .fa-angle-up{
	display: inline-block;
}

.daily-appts-list.column-view .daily-appt.column .fa-angle-down{
	display: none;
}

.daily-appts-list.column-view .daily-appt.column.closed .fa-angle-up{
	display: none;
}

.daily-appts-list.column-view .daily-appt.column.closed .fa-angle-down{
	display: inline-block;
}

.daily-appts-list.column-view .daily-appt.column .daily-appt-inner {
	margin: 15px 0 0 0;
}

.daily-appts-list.column-view .daily-appt.column.closed .daily-appt-inner {
	display:none;
}

.daily-appts-list.column-view .daily-appt.column.closed .ktp-daily-appt-collapsed-name-inner {
	display:block;
	padding:0 15px 0 0;
}



.daily-appts-list.column-view .daily-appts,
.daily-appts-list.column-view .daily-appts-bars,
.daily-appts-list.column-view .daily-appts-inner {
	margin: 0;
	width: 100%;
	display: block;
}


.daily-appts-list.column-view .daily-appts-bars .daily-appt { 
	height: auto !important;
	width: 100% !important;
	padding: 15px;
	font-size:16px;
	margin: 0 0 15px !important;
}

.ktp-expand-collapse-appts {
	padding:0 0 15px 0;
}

.ktp-expand-collapse-appts a{
	display:none;
	color:#cc0000;
	text-decoration:none;
	font-size:14px;
}

.ktp-expand-collapse-appts a.active{
	display:inline-block;
}

.ktp-cal-grid {
	border-top:solid 1px #eee;
	display:flex;
	flex-direction: column;
	position: relative;
	margin: 20px 0;
}

.daily-appts {
	display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  margin: 0 0 0 50px;
  z-index:999;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
}

.column-view .daily-appts {
	position: relative;
}

.daily-appts-inner {
	flex: 0 0 auto;
}

.daily-appts-bars {
	display:flex;
	position:relative;
}

	
.ktp-grid-time{
	height:50px;
	font-size:12px;
	width:100%;
	border-top: 1px solid #ccc;
}

.ktp-grid-time:nth-child(even) {
	background-color: #edf2f7;
}

.ktp-grid-time .ktp-grid-time-inner {
	line-height:1em;
	padding: 3px 0 0 0;
}

.daily-avail-sups .sup-time {
	padding:0 0 10px;
	font-weight:bold;
	font-size:16px;
}

.daily-appt {
	margin:0 5px;
	position:relative;
	overflow:auto;
	z-index:9999;
	background:#e4edf4;
	font-size:13px;
	padding:0 5px 5px;
}

.ktp-daily-appt-icons {
	text-align:right;
}

.ktp-daily-appt-icons a, .ktp-daily-appt-icons span {
	color: #468BCE;
}

.ktp-daily-appt-icons i {
	font-size:16px;
	padding: 5px;
}


.daily-appt.wide {
	width:175px;
}

.daily-appt.narrow {
	width:25px;
	overflow:hidden;
}

.daily-appt.narrow .daily-appt-inner {
	display:none;
	
}

.daily-appt.wide .daily-appt-inner {
	display:block;
}

.daily-appt.wide .ktp-daily-appt-collapsed-name {
	display:none;
}

.daily-appt.narrow .ktp-daily-appt-collapsed-name {
	position: absolute;
  top: 10px;
  left: 0;
	width:25px;
	font-size:12px;
	height:200px;
	white-space: nowrap;
}

.daily-appt.narrow .ktp-daily-appt-collapsed-time {
	display: none;
}


.daily-appt.narrow .ktp-daily-appt-collapsed-name-inner {
	
	transform: rotate(90deg);
	
}

.ktp-daily-appt-admin {
	display:flex;
	flex-wrap: wrap;
	padding:15px 0 0 0;
}

.ktp-daily-appt-admin a {
	text-decoration:none;
	font-size:14px;
	margin:0 10px 5px 0;
}

.ktp-daily-appt-admin a:hover {
	text-decoration:none;
	font-size:14px;
}

.ktp-daily-appt-admin a i{
	text-decoration:none;
	font-size:1opx;
}

.back-to-cal {
	margin:0 0 15px 0;
}

.back-to-cal a{
	color:#cc0000;
	text-decoration:none;
	font-size:14px;
}

/* forms
----------------------------------------*/
.acct-details-form {
	max-width:100%;
}

.ktp-form-row {
	padding:0 0 15px;
	display:flex;
	flex-wrap:wrap;
}

.ktp-form-row.col-2 {
	justify-content:space-between;
}

.ktp-form-row label {
	padding:10px 0 8px;
	width:100%;
	display:block;
	font-weight:600;
	font-size:16px;
}

.ktp-form-row .ktp-form-field {
	width:100%;
}

.ktp-form-row.col-2 .ktp-form-field {
	width:49%;
}

.ktp-form-row .ktp-form-field-instructions {
	font-size: 14px;
	color: #333;
}

.ktp-form-field input[type='text'], .ktp-form-field input[type='email'] {
	width:100%;
}

.acct-details-form .payment-option {
 display:none;
}

.acct-details-form .payment-option.active {
 display:block;
}

.ktp-appt-details-payment-option option {
	
  background: #eee;
  
}

/* utilites
----------------------------------------*/

/* loader
----------------------------------------*/
.ellipse-overlay {
	position:fixed;
	z-index:9999;
	height:100%;
	width:100%;
	background:rgba(255,255,255,.8);
}

.css-loader{
	position:absolute;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ellipsis div {
  position: absolute;
  top: 33px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--light-blue);
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}

/* ktp messages
----------------------------------------*/

.ktp-msg {
	display:none;
	padding:10px;
	background:#f3f3f3;
	margin:0 0 20px;
	box-shadow: 2px 2px 2px #bbb;
	position:relative;
}

.ktp-msg.success {
	display:block;
	border-left:solid 3px #00cc00;
}

.ktp-msg.warning {
	display:block;
	border-left:solid 3px #FFC107;
}

.ktp-msg.error {
	display:block;
	border-left:solid 3px #cc0000;
}

.ktp-msg a.close-ktp-msg {
	color:#cc0000;
	position:absolute;
	right:10px;
	top:50%;
	transform:translateY(-50%);
}

.ktp-mileage-note{
	border-left:solid 3px #00cc00;
	display:block;
	padding:10px;
	background:#f3f3f3;
	margin:0 0 20px;
	box-shadow: 2px 2px 2px #bbb;
	position:relative;
}

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}

/* my account
----------------------------------------*/

h3.hello-name {
	padding:0 0 25px;
	margin:0px;
	font-size:18px;
}

.account-tabs {
	display:flex;
	border-bottom:3px solid #eee;
}

.account-tabs a{
	padding:5px 15px;
	margin:0 2px 0 0;
	background:#eee;
	color:#333;
}

.account-tabs a:hover, .account-tabs a.active{
	padding:5px 15px;
	margin:0 2px 0 0;
	background:var(--light-blue);
	color:#fff;
}

.account-tab-content{
	display:none;
}

.account-tab-content.active{
	display:block;
	padding:25px 0;
}

.my-appointments-list {
	
}

.my-appointment-list {
	margin:0 0 25px 0;
	padding:0 0 25px 0;
	border-bottom:solid 1px #ccc;
}

.my-appointment-list-title {
	font-weight:bold;
}

/* pagination
----------------------------------------*/
.pagination{
	padding:25px 0 25px 0;
	justify-content:center;
}
.wp-pagenavi{
	text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: 0;
    background:#eee;
    padding: 5px 10px;
    margin: 0 3px;
    color:#333;
    display:inline-block;
}
.wp-pagenavi a:hover ,.wp-pagenavi span.current {
    background:var(--light-blue);
    color:#fff;
}

/* single appointment page
----------------------------------------*/

.ktp-appointment-single-footer {
	padding:25px 0;
	margin:25px 0 0 0;
	border-top:solid 1px #ccc;
}

.ktp-appointment-single-footer a.edit, .ktp-appointment-single-footer a.cancel {
	padding:0 15px 0 0;
}

.ktp-appointment-single-footer a.cancel {
	color:#cc0000;
}


.ktp-rules hr{
	margin:25px 0 !important;
}

/* thank you page
----------------------------------------*/

.ktp-thank-you-btns {
	border-top: solid 1px #ccc;
	padding:25px 0;
	margin: 25px 0 0 0;
	text-align: center;
}

.ktp-thank-you-btns a {
	display: inline-block;
	margin:0 10px 10px;
}

/* tiny MCE
----------------------------------------*/

.ktp-notes .wp-editor-tabs button {
	padding:5px 10px !important;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	-o-border-radius:0;
	border-radius:0;
	background:#F6F7F7 !important;
	color:#333 !important;
	
}

.ktp-notes .wp-editor-tabs button[aria-pressed="true"]{
	background:#1871C8 !important;
	color:#fff !important;
	
}




.ktp-notes button,
.ktp-notes input {
	background:#fff !important;
	color:#333 !important;
}

.ktp-notes .wp-editor-container {
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	-o-border-radius:2px;
	border-radius:2px;
	
}

/* responsive media queries
----------------------------------------*/

h2.single-appointment-payments {
	margin-top:25px;
}

.single-appointment-payments-table th, .single-appointment-payments-table td {
	width:33.33%;
	font-size:14px;
	padding:10px;
}

.single-appointment-total {
	font-size:16px;
	padding:0;
	margin:0;
}

.single-appointment-amount-due {
	font-size:16px;
	padding:0;
	margin:0;
	color:#cc0000;
}

.single-appointment-over-payment {
	font-size:16px;
	padding:0;
	margin:0;
	color:#009900;
}

.over-pay-note {
	font-size:12px;
	color:#333;
}

/* responsive media queries
----------------------------------------*/
@media (min-width: 1800px){

}

@media (max-width: 1440px){

}

@media (min-width: 1240px) {

}

@media (max-width: 1239px) {

}

@media (min-width: 1024px) and (max-width: 1239px) {

}

@media (max-width: 1023px) {

}

@media (min-width: 960px) {

}

@media (max-width: 959px) {

}

@media (min-width: 768px ) and (max-width: 959px) {

}

@media (min-width: 481px ) and (max-width: 979px) {

}

@media (min-width: 768px){

}

@media (max-width: 767px) {
	
	.ktp-service-cats{
		display:block;
	}
	
	.ktp-service-cats .ktp-service-cat {
		width:100%
	}
	
	.ktp-service-cat a{
		width:100%;
	}
	
	.ktp-calendar-days-hours {
    display: block;
    width: 100%;
	}

	.ktp-calendar .ktp-calendar-days, .ktp-calendar .ktp-calendar-hours {
    width: 100%;
    min-height: 1px;
    height: auto
	}
	
	.ktp-service-options .ktp-service-data {
		padding: 0 15px 0 0;
	}
	
	.ktp-appt-details-calc-mileage {
		margin: 0 0 15px;
	}

}

@media (min-width: 581px ) and (max-width: 959px) {

}

@media (max-width: 580px){

}

@media (min-width: 481px ) and (max-width: 767px) {

}

@media (min-width: 481px){

}

@media (max-width: 480px) {
	
	.ktp-shceduling-steps.active > div {
    width:50%;
    line-height:1.1em;
	}
	
	.ktp-shceduling-steps.active > div.start-over {
    text-align:right;
	}
	
	.ktp-service {
    display: block;
	}
	
	.ktp-service-select {
		margin:15px 0 0 0;
	}
	
	.ktp-service-select .ktp-service-select-btn.ktp-continue-btn {
		text-align:left;
	}

}

@media (max-width : 320px) {
	.ktp-shceduling-steps.active  {
    display:block;
	}
	
	.ktp-shceduling-steps.active > div {
    width:100%;
   	margin:0 0 10px;
	}
	
	.ktp-shceduling-steps.active > div.start-over {
    text-align:left;
	}
	
}

/* height queries
----------------------------------------*/
@media (max-height: 900px) {

}

@media (max-height: 800px) {

}

@media (max-height: 720px) {

}

@media (max-height: 640px) {

}

@media (max-height: 450px) {

}