

.m2m-ap-timeslots{display:flex;flex-wrap:wrap;position:relative;background:#fff;border:1px solid #ececec;padding:10px;margin:20px 0;min-height:150px;}
.m2m-ap-timeslots .placeholder{font-size:16px;font-style:italic;color:gray;}
.m2m-ap-timeslots:before{content:'';background-image:url(../images/loading.gif);background-repeat:no-repeat;background-size:auto;background-position:center;background-color:#fff;transition:all .5s ease-in-out;-webkit-transition:all .5s ease-in-out;
    position:absolute;top:0;right:0;bottom:0;left:0;
    opacity:0;visibility:hidden;
}
.m2m-ap-timeslots.loading:before{opacity:1;visibility:visible;}
.m2m-ap-timeslots label.m2m-ap-label{display:inline-block;cursor:pointer;padding:5px;background:gray;border:1px solid black;border-radius:3px;margin:0 5px 5px 0;}
.m2m-ap-timeslots input{display:none;}

.m2m-ap-timeslots label.m2m-ap-label.available{
    background-color: #02AF9C;
    border: 1px solid #02AF9C;
}
.m2m-ap-timeslots label.m2m-ap-label.limited-available{background-color:#9edac4;}
.m2m-ap-timeslots label.m2m-ap-label.not-available{
    background-color: #cfcfcf;
    border-color: #aaaaaa;
    color: #a5a5a5;
    cursor:not-allowed;
}


.m2m-ap-timeslots input:checked + label.m2m-ap-label{
    background: #28cfbd;
    border-color: #28cfbd;
    color: #fff;
}


.demo-user-login-wrapper{
    display:block;border:1px solid gray;background:#fff;padding:20px;
}

.demo-user-login-wrapper .demo-user-login-bar{font-weight:bold;display:block;}

.contact-us-form .m2m-appointment-wrapper label:before{content:none;}