.relative-wrap{ position:relative; }

.form-group{
	height:auto;
	background:none;
	border:0;
	border-radius:0;
}

.field-inline-block {
	display: inline-block;
	margin-right: 5px;
	margin-left: 5px; 
}

form.delete-inline-text button{
	background: none;
	font-size: 12px;
	padding: 0;
	margin: 0;
	color: #78909c;
	position: absolute;
	right: 0;
	bottom: 8px;
	border: none;
}

form.delete-inline-text button:hover{
	color: #888;
	background: none;
}

.card-item{
	height:100%;
}

/*----------------------------------- 
        Sidebar
------------------------------------*/
#sidebar{
	z-index:221;
	width:240px;
	height:100%;
	position:fixed;
	left:-240px;
	top:0;
	overflow:hidden;
	-webkit-transition:-webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition:-webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition:transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition:transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#sidebar.open{
  -webkit-transform:translateX(240px);
  -ms-transform:translateX(240px);
  transform:translateX(240px);
}

#sidebar .navpanel{
	width:100%;
	height:100%;
	background:#31373d;
	position:absolute;
	left:0;
	top:0;
	overflow-x:hidden;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
}

#sidebar-logo{
	text-align:center;
	padding:10px 0;
	border-bottom:1px solid #212529;
	margin-bottom:15px;
	height:70px;
}

#sidebar-logo svg{
	width:auto;
	height:50px;
}

#sidebar ol{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
}

#sidebar ol li{
	min-height:36px;
	display:block;
	margin-bottom:0;
}

#sidebar ol li a{
	font-size:14px;
	font-weight:300;
	padding:0 10px 0 20px;
	color:#d3dbe2;
	height:36px;
	display:flex;
	align-items:center;
	background-color:transparent;
	line-height:normal;
	letter-spacing:0.05em;
}

#sidebar ol li a i{
	width:15px;
}

#sidebar ol li a span{
	margin-left:12px;
	flex-basis:0%;
	flex-grow:1;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

#sidebar ol li a em{
	position: absolute;
	right:10px;
	width: 15px;
	height: 15px;
	color: #fff;
	text-align: center;
	line-height: 14px;
	font-size: 11px;
	border-radius: 10px;
	background: red;
	font-style: normal;
}

#sidebar ol li a:hover{
	color:#fff;
	text-decoration:none;
}

#sidebar ol li a.active{
	color:#fff;
	background-color:#454e57;
}

#sidebar ol li a.btn{
	margin:0 10px 0 20px;
	padding:0;
	text-align:center;
	height:48px;
	line-height:48px;
	background:#40ae49;
	color:#fff;
	text-transform: none;
	display:block;
}

.sidebar-bar{
	margin:20px 10px 20px 20px;
	height:3px;
	background:rgba(0,0,0,0.14);
}


/*----------------------------------- 
        Sidebar Desktop Setup
------------------------------------*/
@media (min-width: 769px) {
	body.logged-in{
		padding-left:240px;
	}

	#sidebar{
		left:0;
	}

	#menu-close{
		display:none;
	}
}

/*----------------------------------- 
        Sidebar Desktop Setup - Alternative
------------------------------------*/
@media (min-width: 769px) {
	body.logged-in.desktop-hidemenu{
		padding-left:0;
	}

	.desktop-hidemenu #sidebar{
		left:-240px;
	}

	.desktop-hidemenu #menu-close{
		display:block;
	}
}


/*----------------------------------- 
        Login
------------------------------------*/
#login-logo{
	margin-bottom:20px;
}

#login-logo svg{
	max-width:150px;
	height:auto;
}

#login-logo .a, #login-logo .b{
	fill: #aebcc7 !important;
}

#login .intro{
	font-weight: 400;
}

.login-form{
	max-width:340px;
	margin:0 auto;
}

.login-formbox{
	border-radius:8px;
	box-shadow:0 0 2px rgba(49,55,61,0.2);
	color:#95a7b7;
}

.login-form .form-group{
	margin:0;
}

.login-form input{
	padding:24px 24px 24px 70px;
	color:#31373d;
	font-size:18px;
	border:none;
	border-bottom:1px solid #e5e5e5;
	outline:none;
	width:100%;
	height:100%;
	box-shadow:none !important;
}

.login-form .form-group:first-of-type input{
	border-radius:8px 8px 0 0;
}

.login-form input:focus{
	background:#fafcfc;
	border-color:#e5e5e5;
}

.login-form i{
	position:absolute;
	top:50%;
	margin-top:-12px;
	left:30px;
	display:inline-block;
	width:20px;
	height:20px;
}

.login-form .btn{
	width:100%;
	border-radius:0 0 8px 8px;
	padding:24px;
	height:auto;
	line-height:18px;
	font-size:18px;
}

#login .small a{
	color:#8f8f87;
	font-size: 0.85em;
}

#login .small a:hover{
	color:#101820;
	text-decoration: none;
}

.login-form label.invalid{ display:none !important; }
.login-form input.invalid ~ i { color:#CC3333; }

/*----------------------------------- 
       Avatar Initials
------------------------------------*/
.avatar-initials{
	display:block;
	width:40px;
	height:40px;
	color:#fff;
	text-transform:uppercase;
	font-size:12px;
	font-weight:500;
	line-height:40px;
	text-align:center;
}


/*----------------------------------- 
       Admin Headers
------------------------------------*/
.admin-wrap header{
	margin-bottom:30px;
}

.admin-wrap img{
	max-width:100%;
	height:auto;
}


/*----------------------------------- 
       Admin Roll
------------------------------------*/
.roll-item{
	padding:14px 20px;
	border-bottom:2px solid #ebeef0;
}

.roll-items .roll-item:last-of-type{
	border:none;
}

@media (min-width: 763px) {
	.roll-item{
		padding:14px 30px;
	}
}

.roll-item-headers{
	font-size:0.85em;
}

@media (max-width: 762px) {
	.roll-item-headers{
		display:none;
	}
}

.roll-item-avatar{
	width:40px;
	height:40px;
	border-radius:50%;
	overflow:hidden;
	display:none;
	margin-right:20px;
	position:absolute;
	left:0;
	top:50%;
	margin-top:-20px;
}

@media (min-width: 763px) {
	.roll-item-avatar{
		display:inline-block;
	}
}

.roll-item a{
	position:relative;
}

/*----------------------------------- 
       User Roll
------------------------------------*/
@media (min-width: 763px) {
	.user-roll .roll-item{
		min-height:68px;
	}

	.user-roll .roll-item.roll-item-headers{
		min-height:0;
	}

	.user-roll span.roll-ufname{
		padding-left:60px;
	}
}



/*----------------------------------- 
       Admin Forms
------------------------------------*/
.form-info{
	color:#707070;
	padding:2em 2em 2em 0;
	font-size:0.85em;
}

.form-info h2{
	font-weight:600;
	font-size:1.1em;
	margin-bottom:2em;
}





/*----------------------------------- 
        Date Switcher
------------------------------------*/
#dateswitcher-wrap{
	position:relative;
}

#dateswitcher-wrap .ui-datepicker-trigger{
	position:absolute;
	right:12px;
	top:12px;
}


/*----------------------------------- 
        Booking Accordion
------------------------------------*/
.btn-book-time, .btn-book-time-disabled{
  display:block;
	height:50px;
	line-height:50px;
	border-radius:4px;
	border:1px solid #666;
	cursor:pointer;
	text-align:center;
	padding:0 15px;
	background:#fff;
  min-width:100px;
  -webkit-transition: all 0.24s cubic-bezier(0.645,  0.045,  0.355,  1);
  -moz-transition: all 0.24s cubic-bezier(0.645,  0.045,  0.355,  1);
  -o-transition: all 0.24s cubic-bezier(0.645,  0.045,  0.355,  1);
  transition: all 0.24s cubic-bezier(0.645,  0.045,  0.355,  1);
}


.btn-book-time:hover{
	background:#eee;
}

.btn-book-time.active{
	background:#00bcb4;
	color:#fff;
}

.btn-book-time-disabled{
	opacity:0.2;
	background:#cb4347;
	border-color:#cb4347;
	color:#fff;
}


/*----------------------------------- 
        Date Range
------------------------------------*/
#daterange{
	position:relative;
}

#daterange img:first-of-type{
	position:absolute;
	left:125px;
}

#daterange img:last-of-type{
	position:absolute;
	left:280px;
}



/*----------------------------------- 
        Booking Portal
------------------------------------*/
.book-appt-accordion{
	border-radius: 8px;
	background: #fff;
	margin-bottom: 10px;
	/*box-shadow:0 2px 4px rgba(0,0,0,0.1);*/
	border: 1px solid #d9d9d6;
	padding-bottom: 10px;
}

.book-appt-header{
	padding: 10px 20px 0;
}

.book-appt-body{
	padding: 5px 10px 0px;
	height:0;
	visibility: hidden;
	overflow:hidden;
	opacity: 0;
	backface-visibility:hidden;
	transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.book-appt-active .book-appt-body{
	padding: 10px 20px;
	visibility:visible;
	height:auto;
	opacity:1;
	transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.book-appt-accordion h2{
	font-size: 1em;
	font-weight: 600;
	margin: 0;
}

.book-appt-accordion h3{
	font-size: 1em;
}


.book-appt-accordion textarea{
	height: 100px;
}

.booking-summary h4{
	font-size: 1em;
	font-weight: 500;
}

.booking-summary .booking-item{
	border-bottom: 3px solid #d9d9d6;
	margin-bottom: 1em;
	padding-bottom: 1em;
}

.list-inline,
.book-service-list,
.book-provider-list,
.book-time-list{
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.list-inline li{
	margin: 0 5px 5px 0;
}

.book-service-list li,
.book-provider-list li,
.book-time-list li{
  flex: 1 0 46%;
  margin: 5px 10px 5px 0;
}

.book-time-list li{
	flex: 1 0 30%;
}

.book-service-list.singles-list li,
.book-provider-list.singles-list li{
	flex: 1 0 97%;
}

@media (min-width: 763px) {
	.book-service-list li,
	.book-provider-list li,
	.book-time-list li{
  	margin: 5px 10px 5px 0;
	}

	.book-time-list li{
		flex: 1 0 21%;
	}

	#book-appt-edit .book-service-list li{
		flex: 1 0 95%;
	}

	.book-service-list.triplets-list li{
		flex: 1 0 30%;
	}

}

.book-service-list input,
.book-provider-list input,
.book-time-list input{
	margin-right: 7px;
}

.book-pay-list iframe{
	height:40px !important;
}

.book-pay-list .input-errors,
#card-response{
	color:#CC3333;
	font-size: 0.8em;
}

#booking-services-summary{
	list-style: none;
	padding: 0;
	margin: 0;
}

#booking-services-summary li{
	border-bottom: 2px dotted #d8dee1;
	margin-bottom: 7px;
	padding-bottom: 7px;
}

#booking-services-summary li:last-of-type{
	border: none;
	padding: 0;
	margin-bottom: 0;
}


.clover-footer{ display:none !important; }

.book-time-list .slot-has-booking label{
	background: #fff7cf;
}

.book-time-list .slot-has-booking .input-as-btn input:checked + label{
	background: #d77;	
}

.book-time-list .slot-active label{
	border-bottom: 4px solid #a9c4eb !important;
}


.book-service-list-details,
.book-provider-list-designation,
.book-provider-list-bio{
	font-size: 0.85em;
	opacity: 0.65;
}

a.book-client-forgot{ color:#101820; font-size:14px; }
a.book-client-forgot:hover{ color:#0078bd; text-decoration:none; }

/*----------------------------------- 
        Basic Tabs
------------------------------------*/
.tabs-basic-body-item{
	display: none;
}

.tabs-basic-body-item.active{
	display: block;
}


/*----------------------------------- 
        Layout - FAQ/Readmore
------------------------------------*/
.readmore-body{
    height:0;
    visibility: hidden;
    overflow:hidden;
    opacity: 0;
    backface-visibility:hidden;
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.readmore-btn{
    padding:11px 0 11px 20px;
    cursor:pointer;
    position: relative;
}

.readmore-icons{
    position:absolute;
    width:12px;
    height:12px;
    transform: translateY(-50%);
    left:0;
    top:16px;
    display:block;
}

.readmore-btn .icon{
    width:12px;
    height:12px;
    transition: all 0.1s ease-in;
}

.readmore-btn .icon-minus{
    margin-top:8px;
    display:none;
}

.readmore-active .readmore-body{
    visibility:visible;
    height:auto;
    opacity:1;
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.readmore-active .icon-plus{
    display:none;
}

.readmore-active .icon-minus{
    display:block;
}


/*----------------------------------- 
        Layout - Appointments
------------------------------------*/
.appt-list{
	list-style:none;
	padding: 0;
}

.appt-list li{
	border-top: 3px solid #d8dee1;
	margin-top: 1em;
	padding-top: 1em;
}

@media (min-width: 62em) {
	.appt-list li{
		border-top: none;
		border-bottom: 3px solid #d8dee1;
		margin-top: 0;
		padding-top: 0;
		margin-bottom: 1em;
		padding-bottom: 1em;
	}
}

.appt-list a{
	color: #444;
	text-decoration: none;
}

.appt-list a:hover h4{
	color: #0078bd;
}


.appt-list h4{
	font-weight: bold;
}



/*----------------------------------- 
        Item Cards
------------------------------------*/
.item-card{
	border-radius: 8px;
	background: #fff;
	margin-bottom: 10px;
	/*box-shadow:0 2px 4px rgba(0,0,0,0.1);*/
	border: 1px solid #d9d9d6;
	padding-bottom: 10px;
	position: relative;
}

a.item-card{
	display: block; 
	color: #101820;
}

a.item-card:hover{
	text-decoration: none;
	border-color: #86867c;
}

.item-card-header{
	padding: 10px 20px 0;
}

.item-card-body{
	padding: 10px 20px;
}


.item-card h2{
	font-size: 20px;
	font-weight: 600;
}

.item-card h3{
	font-size: 1em;
	font-weight: 500;
}


.item-card ul, .item-card ol{
	list-style: none;
	padding: 0;
}



.item-card-accordion .item-card-body{
	padding: 5px 10px 0px;
	height:0;
	visibility: hidden;
	overflow:hidden;
	opacity: 0;
	backface-visibility:hidden;
	transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.item-card-active .item-card-body{
	padding: 10px 20px;
	visibility:visible;
	height:auto;
	opacity:1;
	transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.item-card-labeldot{ 
	position:absolute; 
	right: 5px;
	top: 5px;
	line-height: 0;
	display: flex;
}

.item-card-labeldot span{
	width: 5px;
	height: 5px;
	border-radius: 5px;
	margin-left: 2px;
}


.equal-height-cards .item-card{
	height: 100%;
}

.item-card-labeldot span.item-card-labelstatus{
	width: auto;
	height: auto;
	font-size: 10px;
	line-height: 4px;
	margin-right:4px;
	text-transform: capitalize;
}

/*----------------------------------- 
        Waivers
------------------------------------*/
.waivers-item{
	color: #444;
	border-bottom: 3px solid #d8dee1;
	margin-bottom: 1em;
	padding-bottom: 1em;
	display: block;
}

@media (min-width: 48em) {
	.waivers-item{
		border-bottom: 1px solid #d8dee1;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
}

.waivers-content{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.waivers-content span{
	margin-right: 7px;
}

.waiver-icons.signed-user,
.waiver-icons.signed-witness{
	color: #ddd;
}

.signed-user-active .waiver-icons.signed-user,
.signed-witness-active .waiver-icons.signed-witness{
	color: #0078bd;
}

.waiver-label{
	line-height: 1.5;
}

/*----------------------------------- 
        Clients
------------------------------------*/
.client-letters{
	text-transform: uppercase;
}

.clients-list-item{
	color: rgba(0,0,0,.75);
	border-bottom: 3px solid #d8dee1;
	margin-bottom: 1em;
	padding-bottom: 1em;
	display: block;
}

.item-card .clients-list-item{
	border-bottom: 0;
	padding: 10px;
	margin-bottom: 0;
	background: linear-gradient(to right, #c0c0c0 10%, rgba(186, 186, 186, 0.001) 0%);
	background-repeat: repeat-x;
	background-position: bottom left;
	background-size: 8px 1px;
}

.item-card .clients-list-item:last-of-type{
	background: none;
}


@media (min-width: 48em) {
	.clients-list-item{
		border-bottom: 1px solid #d8dee1;
		margin-bottom: 10px;
		padding-bottom: 10px;
		font-size: 0.85em;
	}
}

.clients-list-item:hover{
	color: rgba(0,0,0,1);
	text-decoration: none;
}

.client-list-name{
	font-weight: 400;
}

.booking-album,
.client-notes .client-notes-item,
.client-bookings .client-bookings-item{
	border-bottom: 1px solid #e8e8e6;
	margin-bottom: 1em;
	padding-bottom: 1em;
}

.booking-album{
	position: relative;
}

.booking-media .booking-album:last-of-type{
	border: none;
}


.client-notes-content{
	margin-bottom: 3px;
}

.meta-info,
.meta-del-btn{
	font-size: 0.8em;
	color: #bbb;
}

.meta-del-btn{
	position: absolute;
	top: 0;
	right: 0;
	padding-left: 10px;
	cursor: pointer;
}

.meta-del-btn:hover{
	color:#CC3333;
}

.meta-edit-btn{
	color: #bbb;
}

.meta-edit-btn:hover{
	color: #888;
	text-decoration: none;
}

/*----------------------------------- 
        Links List
------------------------------------*/
.links-list-item{
	color: rgba(0,0,0,.75);	
	border-bottom: 0;
	padding: 10px;
	margin-bottom: 0;
	background: linear-gradient(to right, #c0c0c0 10%, rgba(186, 186, 186, 0.001) 0%);
	background-repeat: repeat-x;
	background-position: bottom left;
	background-size: 8px 1px;
}

.links-list-item a{
	color: rgba(0,0,0,.75);	
}

.links-list-item a:hover{
	color: rgba(0,0,0,1);	
	text-decoration: none;
}

.links-list .links-list-item:last-of-type{
	background: none;
}

/*----------------------------------- 
        Waivers
------------------------------------*/
.scroll-box{
	height: 325px;
	overflow-y: scroll;
	padding: 15px;
  background: #f4f4f4;
	border: 2px solid rgba(0, 0, 0, 0.1);
	font-size: 12px;
}

.scroll-box ul{
	list-style: disc;
	padding: 15px;
}

.scroll-box li{
	margin-bottom: 1em;
}


/*----------------------------------- 
        Waivers - Signature Box
------------------------------------*/
.signature-pad {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 10px;
  width: 100%;
  height: 360px;
  max-width: 600px;
  max-height: 460px;
  border: 1px solid #e8e8e8;
  background-color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.08) inset;
  border-radius: 4px;
  padding: 16px;
}

.signature-pad::before,
.signature-pad::after {
  position: absolute;
  z-index: -1;
  content: "";
  width: 40%;
  height: 10px;
  bottom: 10px;
  background: transparent;
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.4);
}

.signature-pad::before {
  left: 20px;
  -webkit-transform: skew(-3deg) rotate(-3deg);
          transform: skew(-3deg) rotate(-3deg);
}

.signature-pad::after {
  right: 20px;
  -webkit-transform: skew(3deg) rotate(3deg);
          transform: skew(3deg) rotate(3deg);
}

.signature-pad--body {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid #f4f4f4;
}

.signature-pad--body
canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.02) inset;
}

.signature-pad--footer {
  color: #C3C3C3;
  text-align: center;
  font-size: 1.2em;
  margin-top: 8px;
}

.signature-pad--actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 8px;
}


/*----------------------------------- 
        Modal Forms
------------------------------------*/
#modal-form,
.modal-wrap{
	display: none;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
}

.modal-skin{
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);

	display: flex;
	justify-content: center; /* horizontal */
	align-items: center; /* vertical */

	width: 90%;
	max-width: 448px;
	background: #fff;
	padding: 10px;
	border-radius: 6px;
}

.modal-close{
	position: absolute;
	top: 10px;
	right: 10px;
	color: #bbb;
}

.modal-close:hover{
	color: #888;
	text-decoration: none;
}

.modal-form-box{
	width: 100%;
}

#modal-form h3{
	font-weight: 500;
	font-size: 15px;
	margin-bottom: 7px;
}

/*----------------------------------- 
        Accordions
------------------------------------*/
.accordion-trigger{ position:relative; padding-right:15px; }
.accordion-trigger .material-icons{ position:absolute; right:0; top:-2px; }
.accordion-trigger:hover{ color:#0078bd; cursor:pointer; }

@media (min-width: 48em) {
	.accordion-trigger .material-icons{ top:1px; }
}

.accordion-box .accordion-body{
	height:0;
	visibility: hidden;
	overflow:hidden;
	opacity: 0;
	backface-visibility:hidden;
	transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);	
}

.accordion-box.accordion-active .accordion-body{
	visibility:visible;
	height:auto;
	opacity:1;
	transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}


/*----------------------------------- 
        Medical History
------------------------------------*/
.med-history-subitem{
	border-bottom: 1px solid #d8dee1;
	margin-bottom: 1em;
	padding-bottom: 1em;
}

.med-history-subitem-header{
	position: relative;
}

.med-history-add-btn {
	position: absolute;
	right: 0;
	top: 0;
	cursor: pointer;
}

.mh-item {
	border-bottom: 1px dashed #d9d9d6;
	padding-bottom: 7px;
	margin-bottom: 7px;
	font-size: 0.9em;
}

.med-history-subitem-body .mh-item:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border: 0;
}

/*----------------------------------- 
        Client Search List
------------------------------------*/
.client-search-list{
	list-style: none;
	margin: 0 0 2em;
	padding: 0;
}

.client-search-list li{
	margin-bottom: 0;
}


/*----------------------------------- 
        Client Before After Images
------------------------------------*/
.booking-album-images li{
	position: relative;
	display: inline-block;
	margin: 16px 16px 0 0;
	padding: 0;
	vertical-align: top;
	width: 33.33333333%;
	width: calc(33.33333333% - 16px);
}

@media (min-width: 48em) {
	.booking-album-images li{
		width: 25%;
		width: calc(25% - 16px);
	}
}

.booking-album-images img{
	border-radius: 6px;
}


/*----------------------------------- 
        Content Tabs
------------------------------------*/
.tabs-wrapper{
	display: block;
	border-bottom: 1px solid #d9d9d6;
}

.tabs-btns{
	display: inline-flex;
	vertical-align: top;
	flex-direction: row;
	width: 100%;
}

.tabs-btns div{
	margin-right: 24px;
	display: block;
	font-size: 16px;
	position: relative;
	align-items: center;
	justify-content: center;
	line-height: 20px;
	font-weight: 400;
	padding: 16px 0;
	display: flex;
	cursor: pointer;
}

.tabs-btns div.active{
	font-weight: 500;
}

.tabs-btns div.active::after{
	content: "";
	position: absolute;
	right: 0px;
	bottom: 0px;
	left: 0px;
	height: 4px;
	border-radius: 8px 8px 0px 0px;
	opacity: 1;
	transition: opacity 0.25s ease 0s;
	background: rgb(16, 24, 32) none repeat scroll 0% 0%;
}

.tabs-content{ display: none; }
.tabs-content-active{ display: block; }

.tabs-btns-links a{
	color: #101820;
	text-decoration: none;
}

/*----------------------------------- 
        Preview Boxes
------------------------------------*/
.emails-preview-box,
.builder-box-content{
	font-size: 0.9em;
	max-width: 500px;
	font-weight: 400;
}

.emails-preview-box h1,
.emails-preview-box h2,
.emails-preview-box h3,
.builder-box-content h1,
.builder-box-content h2,
.builder-box-content h3 {
	font-weight: 900;
}

.emails-preview-box p,
.emails-preview-box ul,
.emails-preview-box ol,
.builder-box-content p,
.builder-box-content ul,
.builder-box-content ol{
	margin-bottom: 1.25em;
}

.emails-preview-box ul,
.emails-preview-box ol,
.builder-box-content ul,
.builder-box-content ol{
	list-style:initial;
	margin-left: 2em;
	padding-right: 2em;
}

.emails-preview-box ol,
.builder-box-content ol{
	list-style: numeric;
}

.emails-preview-box li,
.builder-box-content li{
	margin-bottom: 1em;
}


/*----------------------------------- 
        Builder Box
------------------------------------*/
.builder-box{ overflow: hidden; }

.builder-box-header{
	background: rgb(247, 247, 247);
	font-size: 14px;
	font-weight: 500;
	border-bottom: 1px solid #d9d9d6;
	padding-top: 5px;
	padding-bottom: 5px;
}

.builder-tools{
	text-align: right;
}

.builder-tools button{
	line-height: 1;
	padding: 2px 8px;
	text-transform: uppercase;
}

.builder-box-content p:last-of-type{
	margin: 0;
}

.builder-li-item{
	position: relative;
	border-bottom: 1px dashed #d9d9d6;
	padding-bottom: 1em;
	margin-bottom: 1em;
	padding-left: 20px;
}

.builder-li-item::after{
	position: absolute;
	left: 0;
	top: 11px;
	content: '';
	width: 5px;
	height: 5px;
	background: #101820;
	border-radius: 10px;
}

.builder-box-styles{
	display: flex;
}

.builder-box-style-item{
	border-radius: 6px;
	text-align: center;
	padding: 20px;
	cursor: pointer;
	color: #aaa;
	border: 1px solid rgba(0,0,0,.08);
	margin: 0 5px 5px 0;
	line-height: 1;
}

.builder-box-style-item:hover{
	border-color: #101820;
}

.builder-box-meta{
	border-top: 1px solid #d9d9d6;
	padding: 8px 20px 0;
	position: relative;
	line-height: 1;
}

.builder-box-del-btn{
	cursor: pointer;
}

.builder-box-del-btn:hover{
	color:#CC3333;
}


/*----------------------------------- 
        Slick Slider
------------------------------------*/
.slick-list,
.slick-slider,
.slick-track {
    position: relative;
    display: block
}

.slick-loading .slick-slide,
.slick-loading .slick-track {
    visibility: hidden
}

.slick-slider {
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    top: 0;
    left: 0
}

.slick-track:after,
.slick-track:before {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.carousel-slider{ position:relative; }

/*----------------------------------- 
        Look Book
------------------------------------*/
.lookbook-images{ 
    list-style: none; 
    padding: 0;
    margin: 0;
}

#lb-filters h4,
#lb-counter h4{
  color: #1a202c;
  font-weight: 700;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f8f3fc;
}

.lb-filter-item{
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f8f3fc;
}

.lb-filter-title{
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #1a202c;
  padding-bottom: 8px;
}


#lb-filters .input-as-btn{ position:relative; overflow: hidden; }
#lb-filters .input-as-btn input{ position:absolute; left:-100px; }
#lb-filters .input-as-btn label{ position:relative; display:block; border-radius:3px; padding:6px 8px 8px 28px; cursor:pointer; pointer-events:initial; line-height:1; height:auto; color:#1A202C; border:none; }
#lb-filters .input-as-btn label:hover{ border-color:#888; }
#lb-filters .input-as-btn input:checked + label{ background:none; }
#lb-filters .input-as-btn label:before{ content:'\e835'; font-family:'Material Icons'; position:absolute; left:0px; top:3px; font-size:20px; color:rgb(217, 217, 214) }
#lb-filters .label-sml .input-as-btn label:before{ top: 2px; }
#lb-filters .input-as-btn input:checked + label:before{ content:'\e834'; color:#4881d5; }

.lb-slider-nav{ position: relative; }

#lb-filter-toggle{
  position: absolute;
  left: 50%;
  top: 9px;
  margin-left: -11px;
  cursor: pointer;
}

#lb-counter{ position: relative; }

#lb-counter #lb-filter-toggle{
  left: initial;
  right: 0;
  top: 0;
  margin-left: 0;
}

#lb-filters{
  position: fixed;
  left: -230px;
  top: 0;
  bottom: 0;
  z-index: 999;
  width: 240px;
  overflow-x: hidden;
  overflow-y: scroll;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 20px;
  background: #fff;
}

#lb-filters.active{
  transform: translateX(230px);
}


#lb-filter-close{
  position: absolute;
  right: 20px;
  top: 22px;
  line-height: 1;
  cursor: pointer;
}

@media screen and (min-width:62em){
  #lb-filter-toggle,
  #lb-filter-close{
    display: none;
  }

  #lb-filters{
    position: relative;
    left: 0;
    z-index: 1;
    padding: 0;
    background: none;
  }

  #lb-filters.active{
    transform: translateX(0px);
  }

}


/*----------------------------------- 
        Survey Single
------------------------------------*/
.survey-question-item{
	padding: 10px 0;
}

.survey-question{
	font-weight: 500;
	font-size: 0.9em;
}

.survey-options, .survey-options span{
	font-size: 0.85em;
}

.survey-options ul{
	padding:0 25px;
	margin: 0;
}

.survey-options li{
	margin-bottom: 4px;
}


/*----------------------------------- 
        Survey Single Responses List
------------------------------------*/
.survey-list-item{
	display: block;
}

.survey-list-item:hover{
	text-decoration: none;
}

.survey-list-name{
	font-weight: 400;
}

@media (min-width: 48em) {
	.survey-list-item{
		font-size: 0.85em;
	}
}

/*----------------------------------- 
        Survey New Response
------------------------------------*/
.survey-new-section .survey-question-item{
	padding-top: 40px;
	padding-bottom: 40px;
	padding-left: 10px;
	padding-right: 10px;
}

.survey-new-section .survey-question-item:hover{
	background: #f7fdfe;
}

.survey-new-accordion h2{
	font-size: 1em;
	font-weight: 600;
	margin: 0;
}

.survey-new-accordion h3{
	font-size: 1em;
}


.survey-new-accordion textarea{
	height: 100px;
}

.survey-new-accordion ul{
	padding-left: 0;
	padding-right: 0;
}


.survey-yesno-list li{
  flex: 1 0 46%;
  margin: 5px 10px 5px 0;
}

.survey-range-list{
	display: flex;
	width: 100%;
	word-wrap: break-word;
}

.survey-range-list label{
	padding: 0;
}

.survey-range-txt,
.survey-range-num{
	box-align: stretch;
	align-items: stretch;
	display: flex;
	box-flex: 1;
	flex-grow: 1;
	flex-direction: column;
	text-align: center;
}

.survey-range-txt.survey-range-txt-min{ text-align: left; }
.survey-range-txt.survey-range-txt-max{ text-align: right; }

.survey-range-txt span{
	height: 21px;
	margin-bottom: 7px;
	display: block;
}

@media screen and (max-width:47.999em){
	.survey-range-list{ display: block; }
	.survey-range-txt{ display:block; }
	.survey-range-num{ flex-direction:row; }
	.survey-range-num label{ width: 50px; }
	.survey-range-txt.survey-range-txt-max{ text-align: left; }
	.survey-range-txt span{ display: none; }
}

.survey-new-section .input-as-btn label{
	border: none;
	padding-left: 28px;
}

.survey-new-section .input-as-btn input:checked + label{
	color: #4881d5;
	background: none;
}

.survey-new-section .input-as-btn label::before{
	left: 0;
}

.survey-multiple-list .input-as-btn label::before,
.survey-yesno-list .input-as-btn label::before{
	content: '\e836';
}

.survey-multiple-list .input-as-btn input:checked + label::before,
.survey-yesno-list .input-as-btn input:checked + label::before{
	content: '\e86c';
}

.survey-new-stepper{
	padding-top: 20px;
}

/*----------------------------------- 
        Survey Response Single
------------------------------------*/
.survey-response-summary h4{
	font-size: 1em;
	font-weight: 500;
}

.survey-response-summary .survey-response-summary-item{
	border-bottom: 3px solid #d9d9d6;
	margin-bottom: 1em;
	padding-bottom: 1em;
}



/*----------------------------------- 
        Plugin BM Skincare for Survey Response Single
------------------------------------*/
.bm-skincare-goals-table  tbody tr td:first-of-type,
.bm-skincare-profiles-table  tbody tr td:first-of-type{
	font-weight: 600;
	background: rgb(247, 247, 247);
	width: 150px;
}

.bm-skincare-profiles-table  tbody tr td:first-of-type,
.bm-skincare-goals-table  tbody tr td:first-of-type,
.bm-skincare-products-table tbody tr td:first-of-type,
.bm-skincare-programs-table tbody tr td:first-of-type{
	padding-left: 5px;
	padding-right: 5px;
}


.bm-skincare-profiles-table,
.bm-skincare-goals-table,
.bm-skincare-products-table,
.bm-skincare-programs-table{
	max-width: 620px;
	border: 0;
}

.bm-skincare-profiles-table tbody tr:first-of-type td,
.bm-skincare-goals-table tbody tr:first-of-type td{
	border-top: 0;
}


.bm-skincare-products-table img{
	max-width: 100px;
	height: auto;
}

.bm-skincare-goals-services-list{
	font-size: 0.9em;
}

.bm-skincare-goals-services-title{
	border-bottom: 2px solid;
}

.bm-skincare-programs-table small{
	text-decoration: line-through;
}

.bm-skincare-programs-quanties-title{
	background: rgb(247, 247, 247);
}

.bm-skincare-programs-quanties-price td:first-of-type,
.bm-skincare-programs-quanties-save td:first-of-type,
.bm-skincare-programs-quanties-title td:first-of-type{
	font-weight: 600;
}


.bm-skincare-goals-table tbody .span-breaks span:first-of-type{
	font-weight: 600;
}

.bm-skincare-goals-services-description{
	line-height: 1.4;
}

/*----------------------------------- 
        Plugin BM Skincare for Public Survey
------------------------------------*/
@media print {
	.bm-skincare-goals-services-list img{
		max-width: 200px;
	}
}


.survey-report-public tr td{
	font-size: 14px;
}

@media (min-width: 48em) {
	.survey-report-public .bm-skincare-profiles-table  tbody tr td:first-of-type,
	.survey-report-public .bm-skincare-goals-table  tbody tr td:first-of-type{
		padding-left: 10px;
		padding-right: 5px;
		line-height: 1.25;
	}
}

.survey-report-public .item-card h2{
	color: #663e78;
}


.survey-report-public .bm-skincare-goals-table tbody .span-breaks span:first-of-type,
.survey-report-public .bm-skincare-goals-services-label{
	color: #C99EE8;
}

/*----------------------------------- 
        Admin Calendar Weekly
------------------------------------*/
#admin-weekly-cal .item-card-header,
#admin-weekly-cal .item-card-body{
	padding-left: 5px;
	padding-right: 5px;
	line-height: 1;
}

#admin-weekly-cal .item-card-body p{
	line-height: 1.4;
}


#admin-weekly-cal .item-card{
	font-size: 0.8em;
}

.admin-weekly-day-label{
	font-weight: 600;
	font-size: 12px;
	line-height: 1.2;
	padding-bottom: 10px;
}

@media (min-width: 75em) {
	.admin-weekly-day-label{
		text-align: center;
	}
}


/*----------------------------------- 
        Booking Item Cards
------------------------------------*/
.item-card-booking .item-card-header{
	line-height: 1;
}

/*----------------------------------- 
        Booking Provider Filter
------------------------------------*/
.filteron{ opacity:1; }
.filteroff{ opacity:0.2; }
