html, body {
    height: 100%;
    padding: 0;
    margin: 0;
}
body {
    font-family: 'Lato', Calibri, Arial, sans-serif;
    /*overflow: hidden;Danh commented to fix invisible buttons*/
}
h3
{
    padding:5px 0px;
    margin:0px;    
}
textarea
{
    font-family:inherit;
}
.left
{
    float:left;    
}
.right
{
    float:right;    
}
.clear
{
    clear:both;    
}
.hide
{
    display:none;    
}
.pt-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.pt-page {
    width: 100%;
    height: 100%;
    position: absolute;
    visibility: hidden;
    margin:60px 0px;
}

.pt-page-current, .no-js .pt-page {
    visibility: visible;
    z-index: 1;
}

.no-js body {
    overflow: auto;
}

.pt-trigger-container {
    position: absolute;
    width: 100%;
    background:#e6e6e6;
    border-radius: 5px 5px 0px 0px;
}

.pt-trigger {
    border: none;
    padding: 0 20px;
    line-height: 35px;
    height: 40px;
    cursor: pointer;
    display: block;
    float:left;
    background:none;
}
.pt-trigger.active
{
    background-color:#f5f5f5;
    border-radius: 5px 5px 0px 0px;
    font-weight:bold;
}
.pt-trigger-container span
{
    float:left;
    background:url(../images/next.png) no-repeat;
    width:16px;
    height:16px;
    margin:12px 6px 0px 0px;
}

.service
{
    padding:10px;
    border:1px solid #e6e6e6;
    margin-bottom:5px;
    min-height:40px;
    margin:10px;
    cursor:pointer;
    display:table;
    width:98%;
    box-sizing:border-box;
    font-size:14px;
}
.service .name
{
    float:left;
    width:50%;
}
.service .name input
{
    width:20px;
    clear:both;
    margin:15px 5px 0px 0px;
    float:left;
}
.service .name div
{
    margin:0px 0px 0px 25px;
    font-style:italic;
    color:#808080;
}
.service .time
{
    float:left;
    width:40%;
    line-height:35px;
}
.service .price
{
    float:left;
    width:10%;
    line-height:35px;
}
#servicegroups .service
{
    font-size:14px;
    font-family:"Lato",Calibri,Arial,sans-serif;    
}
.buttons
{
    margin:10px 5px 0px 5px;
}
.button
{
    border:none;
    background:#e6e6e6;
    padding:10px 10px;
    cursor:pointer;
    font-weight:bold;
    min-width:100px;
    line-height:13px;
}
.button.prev
{
    background:url(../images/prev.png) #e6e6e6 no-repeat 5% 10px;
}
.button.next
{
    background:url(../images/next.png) #e6e6e6 no-repeat 95% 10px;
}
#btnDoBooking
{
    background:#60d1c7;
    color:White;
    font-size:16px;
    padding:20px 70px;    
}
#btnDoBooking:hover
{
    background:#3fb4aa;    
}
/*
tip on confirm
*/
.confirmtip
{
    background: #60d1c7 !important;
    color:White !important;
    border:0px !important;
}
.confirmtip .arrow:after {
    background: #60d1c7;
} 
.confirmtip .arrow {
    width: 70px;
    height: 16px;
    overflow: hidden;
    position: absolute;
    left: 50%;
    margin-left: -35px;
    bottom: -16px;
}
.confirmtip .arrow.top {
    top: -16px;
    bottom: auto;
}
.confirmtip .arrow.left {
    left: 20%;
}
.confirmtip .arrow:after {
    content: "";
    position: absolute;
    left: 20px;
    top: -20px;
    width: 25px;
    height: 25px;
    box-shadow: 6px 5px 9px -9px black;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.confirmtip .arrow.top:after {
    bottom: -20px;
    top: auto;
}
/*end*/
.calendar
{
    padding:10px;
    border:1px solid #e6e6e6;
    margin-bottom:5px;
    height:40px;
    margin:10px;
}
.calendar .name
{
    float:left;
    line-height:35px;
}
.calendar .select
{
    float:right;    
}
.calendar.active
{
    background-color:#00b8e5;
}
#datepicker
{
    float:left;    
}
.availabletimes
{
    float:left;
    margin: 10px 10px 0px 50px;
    width:50%;  
}
#times
{
    margin: 20px 10px;    
}
#times .time
{
    margin: 0px 10px 5px 0px;
    border:1px solid #e6e6e6;
    border-radius:2px;
    padding:2px 5px;
    cursor:pointer;
    float:left;
}
#times .time.active
{
    background-color:#00b8e5;
    color:White;
}
#times .time.pass, #times .time.busy
{
    background:#d4d4d4;
    cursor:default;
    font-style:italic;
    color:#6a6a6a;   
}
.textbox
{
    border:1px solid #e6e6e6;
    width:300px;
    height:30px;
    font-size:18px;
    padding-left:5px;
}
#yourdatadetails
{
    display:none;    
}
.error
{
    background: #bd362f none repeat scroll 0 0;
    bottom: 0;
    -moz-box-shadow: 0 0 12px #999999;
    -webkit-box-shadow: 0 0 12px #999999;
    box-shadow: 0 0 12px #999999;
    color: white;
    margin: 0 0 0 40%;
    padding: 10px 20px;
    position: fixed;
    text-align: center;
    max-width: 50%;
    z-index: 1;
    display:none;  
}
.pt-errors
{
    color:Red;
    padding:20px;
    border:1px solid red;
    display:none;   
}
.pt-errors a
{
    font-weight:bold;
    text-decoration:underline;
    cursor:pointer;    
}
.minhour-errors
{
    color:Red;
    padding:20px;
    border:1px solid red;
    display:none;   
}
#booking-failed
{
    border:1px solid #e6e6e6;
    color:Red;
    padding:20px;
}

/*responsive*/
@media handheld, screen and (max-width: 640px)
{
	#OnlinebookingColorBox {
		top:0 !important;
		left:0 !important;
		right:0 !important;
		bottom:0 !important;
		width:auto !important;
		height:auto !important;
	}
	.error
	{
	    margin: 0 0 0 10px;
	    max-width: 100%;
	}
	.pt-trigger {
		display:none;		
	}
	.pt-trigger.active{
		display:block;		
	}
	.pt-trigger-container span {
		display:none;
	}	
	.service .name div, #service .time {
		display:none;
	}
	.service .price {
		width:20%;
	}
	.service .name {
		width:80%;
		line-height:35px;
	}
	.pt-wrapper {
		overflow:auto;
	}
	.pt-page {
		height:auto;
	}
}