/* -----------------------------------------------------------------------------

  BOX SIZING RESET
  
----------------------------------------------------------------------------- */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}



/* -----------------------------------------------------------------------------

  ROOT ELEMENTS
  
----------------------------------------------------------------------------- */

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

html {
    overflow-x: hidden;
}

html.modal-lock{
    overflow:hidden;
    touch-action:none;
}

html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    height: 100%;
}

body {
    color: #666;
    background-color: #fff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    /*font-size: 14px;*/
    /*line-height: 1.8;8*/
}


.no-animate {
    -webkit-transition: none !important;
    -moz-transition:none !important;
    -o-transition:none !important;
    transition: none !important;
}

/*input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
}*/

/* -----------------------------------------------------------------------------

    Home Section
  
----------------------------------------------------------------------------- */

main#home {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    /* helps keeps footer at the bottom in Safari */
    flex: 1 0 auto;
    -webkit-box-flex: 1 0 auto;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;

    /* centers main wrap */
    align-self:center;
    -ms-align-self:center;
    -webkit-align-self:center;

    /* centers the rows */
    -webkit-justify-content:center; 
    justify-content:center;
    -ms-justify-content:center;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    max-width:100%;
    width:100%;
    min-height: 70vh;
    padding:30px;
    /*border:1px red solid;*/

    /*centers wrap in explorer*/
    margin: 0 auto;

/*    background:url(../images/hero-image-jcp.jpg);*/
    background-size:cover;
    background-position:center center;
}

.home-menu {
    /*border:1px red solid;*/
    padding:0px;
    /*max-width:500px;*/
    height:auto;

    /* centers main wrap */
    align-self:center;
    -ms-align-self:center;
    -webkit-align-self:center;

    /* centers the rows */
    -webkit-justify-content:center; 
    justify-content:center;
    -ms-justify-content:center;

    flex: 1;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;

    /*centers wrap in explorer*/
    margin: 0 auto;
}


.home-menu .logowrap {
    text-align:center;
}

.home-menu .logowrap img {
    max-width:250px;
    max-height:150px;
    border:none;
}

/*Needed for IE svg scaling*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .home-menu .logowrap img[src*=".svg"] {
    width: 100%; 
  }
}

.home-menu .logowrap h1 {
    color: #ffffff;
    font-size: 2em;
    font-weight: 700;
    padding: 0;
}

.home-menu .titlewrap {
    text-align:center;
    padding:15px 0px;
}

.home-menu .titlewrap h2 {
    color:#FFF;
    padding:0px;
    font-weight:300;
    font-size:1.5em;
    line-height:1.3em;
}

.home-menu .btnwrap {
    padding-bottom:10px;
}


a.btnhomewhite {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    max-width:250px;
    padding: 20px 20px;
    color: #000;
    background-color: rgba(255,255,255, .7);
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

a.btnhomewhite:hover {
    background-color:rgba(255,255,255, 1);
}

a.btnhomewhite:focus{
    background-color: rgba(255,255,255, .7);
    color:#000;
}

/* -----------------------------------------------------------------------------

  HEADING ELEMENTS
  
----------------------------------------------------------------------------- */
h1 {
    margin:0px; 
    padding:0px 0px 25px 0px;  
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    line-height:1.4em; 
    font-size:1.5em;	
    text-align:center;
}

h2 {
    margin:0px; 
    padding:0px;  
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    line-height:1.5em; 
    font-size:1.1em;	
}

h3 {
    margin:0px; 
    padding:0px; 
    text-transform:uppercase; 
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:900; 
    line-height:1.7em; 
    letter-spacing:2px; 
    font-size:.9em;
}

h4 {
    margin:0px; 
    padding:0px; 
    text-transform:uppercase; 
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700; 
    line-height:1.7em; 
    letter-spacing:1px; 
    font-size:.75em;
}

p {
    margin:0px; 
    padding:0px; 
    color:#999; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    line-height:1.6em; 
    font-size:.9em;		
}

h1,
h2,
h3,
h4,
h5,
h6 {

}

/* -----------------------------------------------------------------------------

  TEXT Links
  
----------------------------------------------------------------------------- */

a.bluelink {
    color: #00b9ff;
    text-decoration:none;
}

a.bluelink:hover {
    color:#0378ff;
}

a.bluelink:focus{
    color: #00b9ff;
}


a.blacklink {
    color: #999;
    text-decoration:none;
}

a.blacklink:hover {
    color:#000;
}

a.blacklink:focus{
    color: #999;
}

/* -----------------------------------------------------------------------------

  MEDIA ELEMENTS
  
----------------------------------------------------------------------------- 
img {
  max-width: 100%;
  height: auto;
}*/

/* -----------------------------------------------------------------------------

  WRAPPER OBJECT
  
----------------------------------------------------------------------------- */
.o-wrapper {
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition:transform 0.3s;
    -o-transition:transform 0.3s;
    transition: transform 0.3s;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    
/*     IE11 Fix */
    .o-wrapper {
        height: 1px;
    }
  
}

.o-wrapper.adminportal {
    background-color: #f5f5f5;
    height:auto;
}

/* -----------------------------------------------------------------------------

  NAV OBJECT
  
----------------------------------------------------------------------------- */

.navpadding{
    padding:0px;
    margin:0px;
}

nav {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex: 0 0 auto;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;

    /* make main-axis vertical */
    flex-direction: row; 
    -ms-flex-direction: row;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;

    /* align items vertically*/ 
    justify-content: center; 
    -ms-justify-content: center;
    -webkit-justify-content: center;

    /* align items horizontally */
    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;
    /*-ms-align-items: center;*/


    background-color: #000;
    color:#FFF;
    padding:10px 15px 10px 15px;
    margin:0px;
    min-height:auto;
}

nav .item {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    /*border: solid 1px red;*/
}

nav .item.one.back {
    text-align:left;
}

nav .item.one.map {
    text-align:center;
}

nav .item.two {
    text-align:center;
}

nav .item.three {
    text-align:right;
}

nav .item i {
    vertical-align:middle;
    font-size:1.5em;
}

nav .item i.icon-menu-2 {
    font-size:1.2em;
}

/* profile name */

.name {
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight: 700;
    font-size:.6em;
    line-height: auto;
    letter-spacing:2px;
    text-transform:uppercase;
    vertical-align:middle;
    padding-right:10px;
}


@media all and (max-width: 430px) {
    .name {
        display:none;
    }

    nav .item.one.back {
        text-align:left;
    }

    nav .item.one.map {
        text-align:right;
    }
}

/* nav icon links */

a.ilink {
    color:#FFF; text-decoration:none; 
    -webkit-transition:  color 0.3s ease-in-out;
    -moz-transition:  color 0.3s ease-in-out;
    -ms-transition:  color 0.3s ease-in-out;
    -o-transition:  color 0.3s ease-in-out;
    transition:  color 0.3s ease-in-out;
}
a.ilink:visited {color:#FFF; text-decoration:none;}
a.ilink:hover {color:#999; text-decoration:none;}


/* nav icon menu */

.ilinkmenu {
    color:#FFF; text-decoration:none; 
    -webkit-transition:  color 0.3s ease-in-out;
    -moz-transition:  color 0.3s ease-in-out;
    -ms-transition:  color 0.3s ease-in-out;
    -o-transition:  color 0.3s ease-in-out;
    transition:  color 0.3s ease-in-out;
    cursor:pointer;
}
.ilinkmenu:visited {color:#FFF; text-decoration:none;cursor:pointer;}
.ilinkmenu:hover {color:#999; text-decoration:none;cursor:pointer;}




/* -----------------------------------------------------------------------------

  HEADER OBJECT
  
----------------------------------------------------------------------------- */
header {
    display: flex; 
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex: 0 0 auto;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    justify-content: center; 
    -ms-justify-content: center;
    -webkit-justify-content: center;

    /* align items horizontally */
    align-items: center; 
    /*-ms-align-items: center;*/
    -webkit-align-items: center;
    -ms-flex-align: center;

    /* centers main wrap */
    align-self:center;
    -ms-align-self:center;
    -webkit-align-self:center;
    height: auto;
    width:100%;
    border-bottom: 1px solid black;
    border-top:1px #666 solid;
    background-color: #FFF; 
    padding:25px;
}

header .logo {
    flex: 1 0 auto;
    -webkit-box-flex: 1 0 auto;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    /*border: solid 1px #e7e7e7;*/
    text-align:center;
}

header .logo img {
    max-width:250px;
    max-height:80px;
/*    width:100%;*/
    border:none;
}

/*Needed for IE svg scaling*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  header .logo img[src*=".svg"] {
    width: 100%; 
  }
}

header .logo h1 {
    font-size:2em; 
    font-weight:700; 
    padding:0px;
}

header .logo h1 a {
    color:#000; 
    text-decoration:none;
}


header.admin {
    display: flex; 
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex: 0 0 auto;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    justify-content: center; 
    -ms-justify-content: center;
    -webkit-justify-content: center;

    /* align items horizontally */
    align-items: center; 
    /*-ms-align-items: center;*/
    -webkit-align-items: center;
    -ms-flex-align: center;

    /* centers main wrap */
    align-self:center;
    -ms-align-self:center;
    -webkit-align-self:center;
    height: auto;
    width:100%;
    border-bottom: 1px solid black;
    border-top:1px #666 solid;
    background-color: #333; 
    padding:25px;
}

header .adminlogo {
    flex: 1 0 auto;
    -webkit-box-flex: 1 0 auto;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    /*border: solid 1px #e7e7e7;*/
    text-align:center;
}

header .adminlogo img {
    width:90px;
    border:none;
}


/* -----------------------------------------------------------------------------

  TIMER OBJECT
  
----------------------------------------------------------------------------- */
.timerwrap {
    display: flex; 
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex: 0 0 auto;
    -webkit-box-flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    justify-content: center; 
    -ms-justify-content: center;
    -webkit-justify-content: center;

    /* align items horizontally */
    align-items: center; 
    /*-ms-align-items: center;*/
    -webkit-align-items: center;
    -ms-flex-align: center;

    /* centers main wrap */
    align-self:center;
    -ms-align-self:center;
    -webkit-align-self:center;
    height: auto;
    width:100%;
    border-bottom: 1px solid black; 
    /*background-color: #FDD2DC;*/
    padding:15px;
}

.timerwrap .timer {
    flex: 1 0 auto;
    -webkit-box-flex: 1 0 auto;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    /*border: solid 1px red;*/
    text-align:center;
}




/* -----------------------------------------------------------------------------

  MAIN OBJECT 
  
----------------------------------------------------------------------------- */
main {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    /* helps keeps footer at the bottom in Safari */
    flex: 1 0 auto;
    -webkit-box-flex: 1 0 auto;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;

    /* centers main wrap */
    align-self:center;
    -ms-align-self:center;
    -webkit-align-self:center;

    /* centers the rows */
    -webkit-justify-content:center; 
    justify-content:center;
    -ms-justify-content:center;

    /*border:1px solid red;*/
    max-width:1280px;
    width:100%;
    padding:30px;
    /*border:1px red solid;*/

    /*centers wrap in explorer*/
    margin: 0 auto;
}

.main-content {
    /*border:1px red solid;*/
    padding:20px;

    flex: 2;
    -webkit-box-flex: 2;
    -webkit-flex: 2;
    -ms-flex: 2;

    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
}

.sidebar {
    padding:20px;
    flex: 1.3;
    -webkit-box-flex: 1.3;
    -webkit-flex: 1.3;
    -ms-flex: 1.3;
}

.sidebar-left {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
}

.sidebar-right {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
}




@media all and (max-width: 850px) {

    main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding:20px;
        max-width:589px;
        width:100%;
    }

    .sidebar {
        padding:0;
        flex: 0 1 auto;
        -webkit-box-flex: 0 1 auto;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
    }

    .sidebar-right {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1;
    }

    .main-content {
        padding:20px 0px 20px 0px;
        flex: auto;
        -webkit-box-flex: auto;
        -webkit-flex: auto;
        -ms-flex: auto;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
    }

    .sidebar-left {
        visibility:collapse;
        padding:0px;
        flex: none ;
        -webkit-box-flex:  none ;
        -webkit-flex:  none ;
        -ms-flex:  none ;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3;
    }
}




/* -----------------------------------------------------------------------------

  FOOTER OBJECT
  
----------------------------------------------------------------------------- */

footer {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /* keep footer at the bottom in Safari */
    flex: 0 0 100%;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;

    /* align items horizontally */
    align-items: center; 
    /*-ms-align-items: center;*/
    -webkit-align-items: center;
    -ms-flex-align: center;

    padding: 10px;
    /*margin-top:100px;*/
    background-color: #FFF;
    border-top: solid 1px #000;

    min-height:110px;
}

footer .item {
    /*border: solid 1px red;*/
    padding:10px;
    flex: 0 0 auto;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
}

footer .item.msi {
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight: 400;
    font-size:.6em;
    text-align:center;
    color:#999;
}

footer .item.companyinfo {
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    text-align:center;
    text-transform:uppercase;
    font-weight: 700;
    font-size:.6em;
    line-height:2em;
    color:#000;
    letter-spacing:2px;
}

a.footer {
    color:#999; text-decoration:none; 
    -webkit-transition:  color 0.3s ease-in-out;
    -moz-transition:  color 0.3s ease-in-out;
    -ms-transition:  color 0.3s ease-in-out;
    -o-transition:  color 0.3s ease-in-out;
    transition:  color 0.3s ease-in-out;
}
a.footer:visited {color:#999; text-decoration:none;}
a.footer:hover {color:#000; text-decoration:none;}






/* -----------------------------------------------------------------------------

  SLIDE AND PUSH MENUS COMPONENT
  
----------------------------------------------------------------------------- */
.ng-pageslide {
    background: #FFFFFF;
}

body.ng-pageslide-body-open,
body.ng-pageslide-body-closed
{
    position: absolute;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-property: top, bottom, left, right;
    transition-property: top, bottom, left, right;
}

body.ng-pageslide-body-open::before {
    content: ".";
    display: block;
    position: absolute;
    top: 0;
    background-color: rgb(0,0,0);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    opacity: 0.7;
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
    transition: opacity 1s;
}
body.ng-pageslide-body-closed::before {
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
    transition: opacity 1s;
    opacity: 0;
    content: ".";
    display: block;
    position: absolute;
    top: 0;
    background-color: rgb(0,0,0);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
}




/**
 * Menu overview.
 */
.c-menu {
    position: fixed;
    z-index: 200;
    background-color: #FFF;
    height: 100%;
    overflow-y: auto;
    
    -moz-transition:transform 0.3s;
    -o-transition:transform 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
}

.c-menu__items {
    list-style: none;
    margin: 0;
    padding: 15px;
}

.c-menu--push-right {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}
@media all and (min-width: 320px) {
    .c-menu {
        width: 300px;
    }
}


.c-menu .c-menu__item {
    display: block;
    text-align: left;
    border-bottom: solid 1px #efefef;
}


.c-menu .c-menu__item:first-child {
    border-top: none;
}

.c-menu .c-menu__item:last-child {
    border-bottom: none;
}

.myaccount {
    width:100%; 
    padding:0px 15px 15px 15px; 
    text-align:center;
}

.myaccount h4 {
    color: #666;
    font-weight: 400;
}




.c-menu a.c-menu__link {
    display: block;
    padding: 30px 0px 10px 0px;
    color: #000;
    text-decoration:none;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    font-size:1.1em;
}

.c-menu a.c-menu__link:visited {
    color:#000; 
    text-decoration:none;
}

.c-menu a.c-menu__link:hover {
    color: #999;
    text-decoration:none;
}

.c-menu a.c-menu__link.active {
    font-weight:400;
}

.c-menu a.c-menu__link i {
    color: #CCC;
    padding: 0px 10px 0px 0px;
}

.c-menu .c-menu__close {
    display: block;
    height:55px;
    padding: 5px 15px 0px 15px;
    margin:0px;
    width: 100%;
    border:none;
}



/**
 * Slide/Push Menu Right.
 */
/*.c-menu--push-right {
  top: 0;
  right: 0;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}
@media all and (min-width: 320px) {
  .c-menu--push-right {
    -webkit-transform: translateX(300px);
        -ms-transform: translateX(300px);
            transform: translateX(300px);
  }
}

.c-menu--push-right.is-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}*/


/**
 * Wrapper states.
 *
 * Various wrapper states occur depending on if a menu is pushing into view, in
 * which case, the wrapper has to be pushed by the respective distance.
 */


/*.o-wrapper.has-push-right {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}
@media all and (min-width: 320px) {
  .o-wrapper.has-push-right {
    -webkit-transform: translateX(-300px);
        -ms-transform: translateX(-300px);
            transform: translateX(-300px);
  }
}*/


/**
 * Body states.
 *
 * When a menu is active, we want to hide the overflows on the body to prevent
 * awkward document scrolling.
 */
/*body.has-active-menu {
  overflow: hidden;
}*/

/**
 * Close button resets.
 */
.c-menu__close {
    color: #000;
    text-align:right;
    background-color: #FFF;
    font-size:1.2em;
    line-height:none;
    border: none;
    box-shadow: none;
    border-radius: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}

.c-menu__close:focus {
    outline: none;
}

/* -----------------------------------------------------------------------------

  MASK COMPONENT
  
----------------------------------------------------------------------------- */
.c-mask {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 0;
    height: 0;
    background-color: #000;
    opacity: 0;
    
    -moz-transition:opacity 0.3s, width 0s 0.3s, height 0s 0.3s;
    -o-transition:opacity 0.3s, width 0s 0.3s, height 0s 0.3s;
    -webkit-transition:opacity 0.3s, width 0s 0.3s, height 0s 0.3s;
    transition:opacity 0.3s, width 0s 0.3s, height 0s 0.3s;
}

.c-mask.is-active {
    width: 100%;
    height: 100%;
    opacity: 0.7;
    
    -moz-transition:opacity 0.3s;
    -o-transition:opacity 0.3s;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

/* -----------------------------------------------------------------------------

  BUTTONS
  
----------------------------------------------------------------------------- */

a.btnblue {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    max-width:250px;
    padding: 20px 20px;
    color: #FFF;
    background: #00b9ff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

a.btnblue:hover {
    background-color:#0378ff;
    color:#FFFFFF!important;
}


a.btnblue.disabled,
a.btnblue.disabled:hover{
    cursor:default;
    background-color:#d2d2d2;
}

a.btnblue.btn-processing,
a.btnblue.btn-processing:hover{
    background-color:#00b9ff;
    background-image:url('../images/ajax-load.gif');
    background-position: center center;
    background-repeat: no-repeat;
    text-indent:-9999px;
    cursor:default;
}

a.btnblueghost{
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    max-width:250px;
    padding: 20px 20px;
    color: #00b9ff;
    background: #ffffff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: border 0.3s ease;
    -moz-transition: border 0.3s ease;
    -o-transition: border 0.3s ease;
    transition: border 0.3s ease;
    -webkit-transition: color 0.3s ease;
    -moz-transition: color 0.3s ease;
    -o-transition: color 0.3s ease;
    transition: color 0.3s ease;
    border-radius: 5px;
    border: 1px solid #00b9ff;
}

a.btnblueghost:hover{
    border:1px solid #0378ff;
    color:#0378ff;
}

a.btnblueghost.disabled,
a.btnblueghost.disabled:hover{
    cursor:default;
    background-color:#d2d2d2;
    border:1px solid #ffffff;
    color:#ffffff;
}

input[type=submit].btnblue {
    appearance:none;
    -moz-appearance:none; 
    -webkit-appearance:none;
    margin: 0 auto;
    cursor:pointer;
    border:none;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    max-width:250px;
    padding: 20px 20px;
    color: #FFF;
    background: #00b9ff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

input[type=submit].btnblue:hover {
    background-color:#0378ff;
    color:#FFFFFF!important;
}


input[type=submit].btnblue:disabled{
    cursor:default;
    background-color:#d2d2d2;
}


a.btngreen {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    max-width:250px;
    padding: 20px 20px;
    color: #FFF;
    background: #19c235;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

a.btngreen:hover {
    background-color:#0ca225;
    color:#FFFFFF!important;
}

a.btngreen:focus{
    background-color:#0ca225;
    color:#FFFFFF;
}
a.btngreen.disabled,
a.btngreen.disabled:hover{
    cursor:default;
    background-color:#d2d2d2;
}


.infobtn { 
    padding-left:5px;
    color:#000;
    cursor:pointer
}

.infobtn:hover {
    color:#666!important;
}

.infobtn:focus{
    color:#000;
}



.c-buttons {
    margin-bottom: 48px;
    text-align: center;
}

.c-button {
    display: inline-block;
    margin: 4px;
    padding: 12px 24px;
    color: #67b5d1;
    background: none;
    font-size: 14px;
    border: solid 2px #67b5d1;
    box-shadow: none;
    border-radius: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}

.c-button:focus {
    outline: none;
}

.c-button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}







/* -----------------------------------------------------------------------------

 FORM CHECKBOX
  
----------------------------------------------------------------------------- */





form {
    padding:0px;
    margin:0px 0px 0px 0px;
    /*border:1px red solid;*/
    width:100%;
    display:block;
}

form h2 {
    border-bottom: 1px solid #000;
    padding-bottom:10px;
    width:100%;
    text-transform: capitalize;
}

form .reservebox h2{
    border-bottom:none;
    padding-bottom:0;
}

p.disclaimer {
    clear: both;
    font-size:.75em;
}

.formbox {
    clear: both;
    margin: 0;
    border-bottom: 1px solid #e1e1e1;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;
}

.formboxdivider {
    border-right:1px #e1e1e1 solid;
    flex:4;
    -webkit-box-flex:4;
    -webkit-flex:4;
    -ms-flex:4;
}
.formboxdivider.off{
    border:none;
}


/*More Info Icon*/

.infobox {
    float:right!important;
    flex:1;
    -webkit-box-flex:1;
    -webkit-flex:1;
    -ms-flex:1;
}

a.moreinfo {
    color:#999;
    text-decoration:none;
    display:block;
    text-align:center;
    width:42px;
    height:42px;
    line-height:42px;
    margin:0 auto;
    vertical-align:middle;
}

a.moreinfo:visited {
    color:#999; 
    text-decoration:none;
}

a.moreinfo:hover {
    color:#000; 
    text-decoration:none;
}


/*Service Provider*/

.pictureboxleft {
    float:left!important; 
    width:90px!important; 
    height:auto!important;
    line-height:80px!important;
    text-align:center!important;
    /*border:1px solid #E1e1e1;*/
    display:inline-block;
    margin-right:20px;
}

.picturebox {
    float:right!important; 
    width:90px!important; 
    height:auto!important;
    line-height:80px!important;
    text-align:center!important;
    border-left:1px solid #E1e1e1;
    border-right:1px solid #E1e1e1;
    border-bottom:none;
    border-top:none;
    display:inline-block;
}

.female-provider-thumb {
    background:url(../images/female-provider.svg);
    background-color:#FFF;
    background-repeat:no-repeat;
    background-position: bottom center;
    background-size:80px;
    height:80px;
    width:90px;
    position:relative;
    border:3px solid #FFF;
}

.male-provider-thumb {
    background:url(../images/male-provider.svg);
    background-color:#FFF;
    background-repeat:no-repeat;
    background-position: bottom center;
    background-size:80px;
    height:80px;
    width:90px;
    position:relative;
    border:3px solid #FFF;
}

.provider-thumb {
    background-size: cover; 
    background-position: center center; 
    width:100%; 
    height:80px;
    width:90px;
    position:relative;
    border:3px solid #FFF;
}

.bio-indicator {
    width:20px; 
    height:20px; 
    bottom:0; 
    right:0;
    margin:0px; 
    position:absolute; 
    background-image:url(../images/green-arrow.svg); 
    background-size:cover; 
    background-position:center;
}

.provider-bio-load{
    width:20px; 
    height:20px; 
    bottom:0; 
    right:0;
    margin:0px; 
    position:absolute; 
    background-image:url(../images/ajax-load.gif); 
    background-size:cover; 
    background-position:center;
}




/*
.infolabel {
width: 80%;
}*/

.providerwrapsize label {
    width: 80%;
}

label {
    width: 100%;
    /*border-bottom: 1px solid #e1e1e1;*/
    /*border:1px red solid;*/
    text-transform:uppercase; 
    color:#999; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    line-height:20px;
    padding:20px 0px 20px 50px;
    cursor: pointer;
}

label span.service {
    display:block;
}

label span.pricetime {
    color:#999;
    display:block;
    font-weight:400;
}

label span.provider {
    display:block;
}

label span.price {
    color:#999;
    display:block;
    font-weight:400;
}


/* hide input */
input.radio:empty {
    margin-left: -999px;
    display:none;
}

/* style label */
input.radio:empty ~ label {
    position: relative;
    float: left;
    /*text-indent: 5em;*/
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

input.radio:empty ~ label:before {
    position: absolute;
    display: block;
    top: 30%;
    bottom: 0;
    left: 0;
    content: '';
    width: 30px;
    height:30px;
    border-radius: 30px;
    border:2px solid #e1e1e1;
}

/* toggle hover */
input.radio:hover:not(:checked) ~ label:before {
    /*content:url(../images/check.svg);*/
}

input.radio:hover:not(:checked) ~ label {
    /*color: #000;*/
}

/* toggle on */
input.radio:checked ~ label:before {
    /*content:url(../images/check.svg);*/
    text-indent: 1em;
    background-color: #FFF;
    content: "";
    background: url("../images/check.svg") no-repeat 0 0;
    background-size: 100%;
    background-position:center;
    border:none;
}

input.radio:checked ~ label {
    color: #000;
    font-weight:700;
}


/* radio focus 
input.radio:focus ~ label:before {
box-shadow: 0 0 0 3px red;
}*/


input[type=text]::-webkit-input-placeholder {
    color: #CCC; opacity: 1 !important; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input[type=text]:-moz-placeholder {  
    color: #CCC; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input[type=text]::-moz-placeholder {  
    color: #CCC; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
}

input[type=text]::-webkit-input-placeholder {  
    color: #CCC; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
} 

input[type=text]:-ms-input-placeholder {  
    color: #CCC; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

/* remove the X from Explorer */
input[type=text]::-ms-clear {
    display:none;
}


input[type=text],
input[type=password],
input[type=tel]{
    width: 100%;
    border-bottom: 1px solid #e1e1e1;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0px;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
/*    text-transform:uppercase; */
    height:55px;
    padding:20px 0px 20px 0px;
    text-align:left;
}

input:focus{
    outline: 0;
}

input.custom-date-time{
    background-color:transparent !important;
    cursor: pointer;
}

.icon-calendar{
    background-image:url(../images/calendar.svg); 
    background-repeat: no-repeat; 
    background-position:left center;
    background-size:30px;
    width:35px;
    height:30px;
}

.icon-clock{
    background-image:url(../images/clock.svg); 
    background-repeat: no-repeat; 
    background-position:left center;
    background-size:30px;
    width:35px;
    height:30px;
}


/* Class Schedule */

input.classschedule[type=text]::-webkit-input-placeholder {
    color: #FFF; opacity: 1 !important; 
}

input.classschedule[type=text]:-moz-placeholder {  
    color: #FFF; opacity: 1 !important;  
}

input.classschedule[type=text]::-moz-placeholder {  
    color: #FFF; opacity: 1 !important;  
}

input.classschedule[type=text]::-webkit-input-placeholder {  
    color: #FFF; opacity: 1 !important;  
} 

input.classschedule[type=text]:-ms-input-placeholder {  
    color: #FFF; opacity: 1 !important;
}

/* remove the X from Explorer */
input.classschedule[type=text]::-ms-clear {
    display:none;
}

input.classschedule[type=text]{
    width: 100%;
    border-bottom: 1px solid #000;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0px;
    color:#FFF; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight: 400;
    line-height: auto;
    font-size: 1.5em;
    height:auto;
    padding:14px;
    text-align:left;
    text-transform:none;
    letter-spacing:normal;
    background-color:#000;
    word-wrap: break-word;
    word-break: break-word;

}

input.classschedule:focus{
    outline: 0;
}

.icon-calendar-white{
    background-image:url(../images/calendar-white.svg); 
    background-repeat: no-repeat; 
    background-position:10px center;
    background-size:30px;
}

/* End Class Schedule */


.btnselectinactive {
    width: 100%;
    display:block;
    border-bottom: 1px solid #e1e1e1;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0px;
    color:#ccc; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    font-size:1.1em;	
    height:55px;
    line-height:55px;
    padding:0px;
    text-align:left;
    text-decoration:none;
}

.policy {
    color: #00b9ff;
    text-decoration: none;
    cursor:pointer;
}

.policy-text{margin:10px 0;}

a.btnselectinactive div {
    text-align:right; 
    float:right;
    font-size:20px;
    height:55px;
}

a.btnselectinactive:focus{
    color:#ccc;
}

a.btnselect {
    width: 100%;
    display:block;
    border-bottom: 1px solid #e1e1e1;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0px;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    font-size:1.1em;	
    height:55px;
    line-height:55px;
    padding:0px;
    text-align:left;
    text-decoration:none;
}

a.btnselect div {
    text-align:right; 
    float:right;
    font-size:20px;
    height:55px;
}

a.btnselect:hover {
    color:#999!important;
}

a.btnselect:focus{
    color:#000;
}
a.btnselect.servicecats{
/*    text-transform: lowercase;*/
}

a.btnselect.servicecats:first-letter{
/*    text-transform: capitalize;*/
}



/* TEXT AREA */

form textarea {
    appearance:none;
    -moz-appearance:none; 
    -webkit-appearance:none;
}

textarea{
    width:100%;
    padding: 15px;
    margin-top: 10px;
    border:1px solid #CCC;
    border-radius:0px;
    margin-bottom: 0px;
    resize:none;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    line-height:1.6em; 
    font-size:.9em;	
}

textarea::-webkit-input-placeholder {
    color: #CCC; opacity: 1 !important; 
}

textarea:-moz-placeholder {  
    color: #CCC; opacity: 1 !important;  
}

textarea::-moz-placeholder {  
    color: #CCC; opacity: 1 !important;  
}

textarea::-webkit-input-placeholder {  
    color: #CCC; opacity: 1 !important;  
} 

textarea:-ms-input-placeholder {  
    color: #CCC; opacity: 1 !important;
}


/* CHECKBOX */

input[type="checkbox"] {
    display: none;
}

input[type="checkbox"] + label {
    border:none; 
    padding:0px; 
    color:#000;
}

input[type="checkbox"] + label span {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
    border:1px solid #000;
    margin-right:10px;
}

input[type="checkbox"]:checked + label span {
    background: url(../images/check.svg) center no-repeat;
}



/* CHECKBOX CLASS FILTER */

input.filter[type="checkbox"] {
    display: none;
}

input.filter[type="checkbox"] + label {
    border:none; 
    padding:0px; 
    color:#999;
}

input.filter[type="checkbox"] + label span {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    /*background: url(../images/check.svg) center no-repeat;*/
    border:1px solid #999;
    margin-right:10px;
}

input.filter[type="checkbox"]:checked + label span {
    background: url(../images/cross-mark.svg) center no-repeat;
}

input.filter[type="checkbox"]:checked + label {
    color:#000;
}

.filterwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    padding:5px 0px;
}

.filteritemcheckbox{
    flex:0 1 30px;
    -webkit-box-flex:0 1 30px;
    -webkit-flex:0 1 30px;
    -ms-flex:0 1 30px;
}

.filteritemchecktext{
    flex:1;
    -webkit-box-flex:1;
    -webkit-flex:1;
    -ms-flex:1;
}


/* -----------------------------------------------------------------------------

POLICY READ MORE / CLOSE LINK
  
----------------------------------------------------------------------------- */

a#policy {
    color:#00B9FF;
    text-decoration:none;
}

a#policy:visited {
    color:#00B9FF; 
    text-decoration:none;
}

a#policy:hover {
    color:#0378FF; 
    text-decoration:none;
}





/* -----------------------------------------------------------------------------

MORE INFO 
  
----------------------------------------------------------------------------- */


.infoButton {
    margin: 0;
    cursor: pointer;

}
.infoButton h4 {
    display:inline;
    font-weight:400; 
    color:#999;
    margin:0px;
    padding:0px;
}

.infoContent {
    display:block;
    padding:15px;
    width:100%;
    background:#f5f5f5;
    clear:both;
}

.infoContent .data h4 {
    font-weight:400;
}


.infoButton i {
    font-weight:normal;
    color:#999;
    padding:0px;
}

.infoButton.on {
    width:100%;
    color:#999;
    cursor:pointer;
}

.infoButton.on span {
    color:#999;
}

.infoButton.over {
    width:100%;
    cursor:pointer;
}

.infoButton.over span i {
    color:#000;
}



/* -----------------------------------------------------------------------------

Class Schedule 
  
----------------------------------------------------------------------------- */

.btncalwrap {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    text-align:center;  

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.btncalitems {
    flex:1 1 0;
    -webkit-box-flex:1 1 0;
    -webkit-flex:1 1 0;
    -ms-flex:1 1 0;
}


a.btnblackcaldate {
    display: block;
    font-family: "Lato",Helvetica,Arial,sans-serif,sans-serif;
    font-weight: 300;
    line-height: 1.4em;
    font-size: 1.5em;
    text-align: center;
    width: auto;
    padding: 25px 10px;
    color: #FFF;
    background-color:#000;
    text-decoration: none;
    border-radius: none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-bottom:1px solid #FFF;
}

a.btnblackcaldate:hover {
    background-color:#333;
}

a.btnblackcaldate:focus{
    background-color:#000;
}


a.btnblackcal {
    display: block;
    text-align: center;
    text-transform: uppercase;
    width: auto;
    padding: 8px 5px;
    color: #FFF;
    background-color:#000;
    font-family: 'Lato',Helvetica,Arial,sans-serif,sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 0.75em;
    text-decoration: none;
    border-radius: 0;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
}

a.btnblackcal:hover {
    background-color:#333;
}

a.btnblackcal:focus{
    background-color:#000;
}





/* -----------------------------------------------------------------------------

MENU ACCORDION
  
----------------------------------------------------------------------------- */


a.btnmenu {
    width: 100%;
    display:block;
    border-bottom: 1px solid #e1e1e1;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0px;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    font-size:1.1em;	
    height:auto;
    line-height:55px;
    padding:0px;
    text-align:left;
    text-decoration:none;
}

a.btnmenu div {
    text-align:right; 
    float:right;
    font-size:20px;
    height:auto;
}

a.btnmenu:hover {
    color:#999!important;
}

a.btnmenu:focus{
    color:#000;
}


.menuButton {
    width:100%;
    cursor: pointer;
    display:block;
    border-bottom: 1px solid #e1e1e1;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0px;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:300; 
    font-size:1.1em;	
    height:auto;
    line-height:55px;
    padding:0px;
    text-align:left;
    text-decoration:none;
    text-transform: lowercase;
}

.menuButton:first-letter{
    text-transform: uppercase;
}

.menuContent {
    max-height: 0;  
    padding-bottom:0;
    width:100%;
    overflow:hidden;
    -webkit-transition: max-height 0.5s ease-out;
    -moz-transition: max-height 0.5s ease-out;
    -ms-transition: max-height 0.5s ease-out;
    -o-transition: max-height 0.5s ease-out;
    transition: max-height 0.5s ease-out;
}
.menuContent.show{
    -webkit-transition: max-height 0.5s ease-in;
    -moz-transition: max-height 0.5s ease-in;
    -ms-transition: max-height 0.5s ease-in;
    -o-transition: max-height 0.5s ease-in;
    transition: max-height 0.5s ease-in;
    max-height:1000px;
    padding-bottom:20px;
    border-top:1px solid black;
    border-bottom:1px solid black;
}

.menuButton .on {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}

.menuButton .on span {
    /*color:#FFFFFF;*/
}
.menuButton .over {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.menuButton .over span {
    /*color:#FFFFFF;*/
}
.menuButton .plusMinus {
    font-weight:100;
    color:#000;
    float:right;
    padding-right:4px;
    content:"+";
    font-size:30px;
}



/* -----------------------------------------------------------------------------

REFINE BY DAY AND TIME DESKTOP MOBILE
  
----------------------------------------------------------------------------- */


.filterButtonMobile {
    width:100%;
    float:left;
    border:1px solid black;
    background-color:#FFF;
    cursor: pointer;
    padding:15px;
    display:none;
}
.filterButtonMobile h4 {
    display:inline;
}
.filterContentMobile {
    border-left:1px solid black;
    border-right:1px solid black;
    border-bottom:1px solid black;
    padding:15px 15px 0px 15px;
    width:100%;
    float:left;
    background:#FFF;
}
.filterContentMobile .data {
    padding-bottom:15px;
    display:block;
}
.filterContentMobile .data h4 {
    color:#999; 
    font-weight:400;
}
.filterButtonMobile .on {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.filterButtonMobile .on span {
    /*color:#FFFFFF;*/
}
.filterButtonMobile .over {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.filterButtonMobile .over span {
    /*color:#FFFFFF;*/
}
.filterButtonMobile .plusMinus {
    font-weight:normal;
    color:#000;
    float:right;
    padding-right:4px;
    content:"+";
}


@media all and (max-width: 850px) {
    .filterButtonMobile {
        display:block;
    }
}




/* -----------------------------------------------------------------------------

REFINE BY DAY AND TIME DESKTOP
  
----------------------------------------------------------------------------- */


.filterButtonDesktop {
    width:100%;
    float:left;
    border:1px solid black;
    background-color:#FFF;
    padding:15px;
}
.filterButtonDesktop h4 {
    display:inline;
}
.filterContentDesktop {
    border-left:1px solid black;
    border-right:1px solid black;
    border-bottom:none;
    padding:0 15px 0px 15px;
    width:100%;
    float:left;
    background:#FFF;

    max-height:0;
    overflow:hidden;
    -webkit-transition: max-height 1s;
    -moz-transition: max-height 1s;
    -ms-transition: max-height 1s;
    -o-transition: max-height 1s;
    transition: max-height 1s;

}
.filterContentDesktop.show{
    padding-top:15px;
    max-height:800px;
    border-bottom:1px solid black;
}


.filterContentDesktop .data {
    padding-bottom:15px;
    display:block;
}
.filterContentDesktop .data h4 {
    color:#999; 
    font-weight:400;
}
.filterButtonDesktop .on {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.filterButtonDesktop .on span {
    /*color:#FFFFFF;*/
}
.filterButtonDesktop .over {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.filterButtonDesktop .over span {
    /*color:#FFFFFF;*/
}
.filterButtonDesktop .plusMinus {
    font-weight:normal;
    color:#000;
    float:right;
    padding-right:4px;
    content:"+";
}








/* -----------------------------------------------------------------------------

CART ACCORDION
  
----------------------------------------------------------------------------- */

.cartButton {
    background-color: #f5f5f5;
    cursor: pointer;
    float: left;
    padding: 15px;
    width: 100%;
}
.cartButton h4{display:inline-block;}

.cartContent {
    display:none;
    border-top:1px solid black;
    padding:15px 15px 0px 15px;
    width:100%;float:left;
    background:#f5f5f5;
}
.cartContent .data {
    padding-bottom:15px;
    display:block;
}
.cartContent .data h4 {
    color:#999; 
    font-weight:400;
}

.cartContent.show{
    display:block;
}

/*.cartButton .on {
width:100%;
float:left;
background:#555555;
cursor:pointer;
}*/
.cartButton .on span {
    /*color:#FFFFFF;*/
}
.cartButton .over {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.cartButton .over span {
    /*color:#FFFFFF;*/
}
.cartButton .plusMinus {
    font-weight:normal;
    color:#000;
    float:right;
    padding-right:4px;
    content:"+";
    display:none;
}


@media all and (max-width: 850px) {
/*    .cartContent {
        display:none;
    }*/

    .cartButton .plusMinus {
        display:block;
    }

}


/* -----------------------------------------------------------------------------

Refine Search Button
  
----------------------------------------------------------------------------- */

.refinebox {
    padding-bottom:45px; 
    /*border:1px solid red;*/
    width:100%; height:auto;	
}

a.btnrefine {
    width: 100%;
    display:block;
    border: 1px solid #000;
    border-radius:0px;
    text-transform:uppercase; 
    color:#999; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:400;
    letter-spacing:1px; 
    font-size:.75em;
    height:auto;
    line-height:20px;
    padding:20px;
    margin: 0px;
    text-align:left;
    text-decoration:none;
    overflow:auto;
}

a.btnrefine div {
    text-align:right;
    display:block;
    float:right;
    font-size:20px;
}

a.btnrefine:hover {
    color:#000!important;
    background-color:#f5f5f5;
}

a.btnrefine:focus{
    color:#000;

}



/* -----------------------------------------------------------------------------

Reservation Editor
  
----------------------------------------------------------------------------- */

.refine-wrapper {
    width:100%; 
    margin-bottom:45px;
}

.refine-header {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    border-bottom:1px #000 solid; 
    padding:15px 0px;
}

.refine-service {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    border-bottom:1px #e1e1e1 solid; 
    padding:15px 0px;
}

.service-item {
    padding-right:5px;
    flex:2 1 auto;
    -webkit-box-flex:2 1 auto;
    -webkit-flex:2 1 auto;
    -ms-flex:2 1 auto;
}

.service-item h4 {
    color:#999; 
    font-weight:400;
    margin-bottom:10px;
}

.service-item strong {
    font-weight:700; 
    padding-right:10px;
}

.service-item .has-pic{
    display:block;
}

.changebox {
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;
}

.removebox {
    float:right; 
    padding:4px;
}

a.remove {
    color:#ff6666;
    font-weight:400;
    text-align:right;
    text-decoration:none;
}

a.remove:hover {
    color:#ed1f15!important;
}

a.remove:focus{
    color:#ed1f15;
}

a.change {
    color:#00b9ff;
    font-weight:400;
    text-align:right;
    text-decoration:none;
    float: right;
}
a.change:hover {
    color:#0378ff!important;
}

a.btneditor {
    width: 100%;
    display:block;
    border: 1px dotted #000;
    border-radius:0px;
    text-transform:uppercase; 
    color:#999; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:400;
    letter-spacing:1px; 
    font-size:.75em;
    height:auto;
    line-height:20px;
    padding:20px;
    margin: 10px 0px;
    text-align:left;
    text-decoration:none;
    overflow:auto;
}

a.btneditor div {
    text-align:right;
    display:block;
    float:right;
    font-size:20px;
}

a.btneditor:hover {
    color:#000!important;
    background-color:#f5f5f5;

}

a.btneditor:focus{
    color:#000;

}




a.btneditorprovider {
    width: 100%;
    display:block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #E1E1E1;
    border-radius:0px;
    text-transform:uppercase; 
    color:#999; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:400;
    letter-spacing:1px; 
    font-size:.75em;
    height:auto;
    line-height:20px;
    padding:20px 0px;
    margin: 0px 0px;
    text-align:left;
    text-decoration:none;
    overflow:auto;
}

a.btneditorprovider div {
    text-align:right;
    display:block;
    float:right;
    font-size:20px;
}


a.btneditorprovider:hover {
    color:#000!important;
}

a.btneditorprovider:focus{
    color:#000;
}



/* -----------------------------------------------------------------------------

Appt Openings
  
----------------------------------------------------------------------------- */


.servicebox {
    padding-right:5px;
    flex:2 1 auto;
    -webkit-box-flex:2 1 auto;
    -webkit-flex:2 1 auto;
    -ms-flex:2 1 auto;
}

.reservebox {
    flex:1 1 125px;
    -webkit-box-flex:1 1 125px;
    -webkit-flex:1 1 125px;
    -ms-flex:1 1 125px;
}

.btninactivereserve {
    display: block;
    float:right;
    text-align: center;
    text-transform:uppercase;
    width:auto;
    min-width:105px;
    padding: 10px 15px;
    color: #FFF;
    background: #999;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

a.btnreserve {
    display: block;
    float:right;
    text-align: center;
    text-transform:uppercase;
    width:auto;
    /*min-width:105px;*/

    padding: 10px 15px;
    color: #FFF;
    background: #00b9ff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

a.btnreserve:hover {
    background-color:#0378ff;
    color:#FFFFFF!important;
}

a.btnreserve:focus{
    background-color:#0378ff;
    color:#FFFFFF;
}

.resultbox {
    width:100%; 
    margin-bottom:45px;
}

.resultday {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    border-bottom:1px #000 solid; 
    padding:15px 0px;
}

.resultday h2.resultnumber {
    color:#999;
}

.resulttimes {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    border-bottom:1px #e1e1e1 solid; 
    padding:15px 0px;
}

.resulttimes h4.service {
    color:#999; 
    font-weight:400;
    margin-bottom:10px;
}


.noresults {
    color: #ff6666;
    text-align: center;
    font-weight:400;
}

.noresults p{
    margin:20px 0 0;
    font-weight:600;
}


/* -----------------------------------------------------------------------------

RESERVE
  
----------------------------------------------------------------------------- */

.reservebox {
    width:100%; 
    margin-bottom:25px;
}

.reserveheaders {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    border-bottom:1px #000 solid; 
    padding:15px 0px;
}

.reservecontent {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    border-bottom:1px #e1e1e1 solid; 
    padding:15px 0px;
}


.reserveitem {
    flex:1;
    -webkit-box-flex:1;
    -webkit-flex:1;
    -ms-flex:1;
}

.reserveitem .reservenotes{
    max-width: 478px;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

.reservecontent h4.service {
    color:#999; 
    font-weight:400;
    margin-bottom:10px;
}

.reservecontent .note-count.near-note-max{
    color:#ff6666;
}

.reservecontent .note-wrap{
    position: relative;
}

.reservecontent textarea{
    margin:0;
}

.reservecontent .note-count{
    background-color: #cccccc;
    color: #fafafa;
    font-weight: 400;
    padding: 0 5px;
    position: absolute;
    right: 0;
    top: 0;
}

a.editor {
    color:#999;
    text-decoration:none;
}

a.editor:hover {
    color:#000!important;
}

a.editor:focus{
    color:#000;
}


/* -----------------------------------------------------------------------------

PHONE NUMBER FOR DEVICES
  
----------------------------------------------------------------------------- */

.tel,.tel:visited { /*for small screens */
    color:#000;
    text-decoration:none;
}
.tel:hover,.tel:focus {
    color:#000;
    text-decoration:none;
}



/* -----------------------------------------------------------------------------

SCROLL
  
----------------------------------------------------------------------------- */

.providerscrollbox {
/*    max-height: 330px;*/
    border-bottom:1px black solid; 
    border-top:1px black solid;
/*    overflow-x: hidden;*/
}


::-webkit-scrollbar {
    width: 15px;
} /* this targets the default scrollbar (compulsory) */

::-webkit-scrollbar-track {
    background-color: #000;
} /* the new scrollbar will have a flat appearance with the set background color */

::-webkit-scrollbar-thumb {
    background-color: #FFF;
    border:#000 1px solid;
} /* this will style the thumb, ignoring the track */

::-webkit-scrollbar-button {
    background-color: #FFF;
} /* optionally, you can style the top and the bottom buttons (left and right for horizontal bars) */

::-webkit-scrollbar-corner {
    background-color: black;
} /* if both the vertical and the horizontal bars appear, then perhaps the right bottom corner also needs to be styled */



.scrollable {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
}

.scrollable-content {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 100%;
}

/* Enable the Classes below to have scrollbars not overlap the content */
/*
.scrollable-content.scrollable-right {
    margin-right: 15px;
}
.scrollable-content.scrollable-top {
    margin-top: 15px;
}
.scrollable-content.scrollable-left {
    margin-left: 15px;
}
.scrollable-content.scrollable-bottom {
    margin-bottom: 15px;
}
*/

/* if any element is fixed and displayed at full window size, this rule becomes handy */
.fullwindow .scrollable-content {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
}

.scrollable .scrollable-content,
.scrollable .scrollable-slider {
    -webkit-transition: background-color .2s linear, opacity .2s linear, -webkit-transform .2s ease-out;
       -moz-transition: background-color .2s linear, opacity .2s linear, -moz-transform .2s ease-out;
        -ms-transition: background-color .2s linear, opacity .2s linear, -ms-transform .2s ease-out;
         -o-transition: background-color .2s linear, opacity .2s linear, -o-transform .2s ease-out;
            transition: background-color .2s linear, opacity .2s linear, transform .2s ease-out;
}

/* disable transition to avoid flicker */
/*
.scrollable.active .scrollable-content,
.scrollable.active .scrollable-slider {
    -webkit-transition: none;
       -moz-transition: none;
        -ms-transition: none;
         -o-transition: none;
            transition: none;
}
*/
.scrollable .scrollable-bar {
    position: absolute;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 2px;
       -moz-border-radius: 2px;
            border-radius: 2px;
    opacity: 0;
    background-color: #f0f0f0;
    background-color: rgba(255,255,255,0.8);
    border: 2px solid transparent;
}

.scrollable:hover .scrollable-bar {
    opacity: 0.6;
}

.scrollable .scrollable-bar:hover {
    opacity: 1;
}

.scrollable.active .scrollable-bar {
    opacity: 1;
}

.scrollable .scrollable-slider {
    -webkit-border-radius: 2px;
       -moz-border-radius: 2px;
            border-radius: 2px;
    background-color: #000000;
    background-image: linear-gradient(to right, #ccc, #ddd);
    border: 1px solid #333;
    border: 1px solid rgba(0, 0, 0, 0.5);
}

.scrollable .scrollable-bar-x .scrollable-slider {
    height: 8px;
}

.scrollable .scrollable-bar-y .scrollable-slider {
    width: 5px;
}




/* -----------------------------------------------------------------------------

OVERLAYS
  
----------------------------------------------------------------------------- */


#overlay {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    /*align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;*/

    justify-content: center; 
    -webkit-justify-content: center;
    -ms-flex-pack:center;

    width: 100%;
    height: auto;
}


#wrapper {
    max-width:100%;
    min-width:300px;
    width: 600px;
    height: auto;
    background-color: #FFF;
}

.btnwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: rpw;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red;*/ 
    padding:0px 15px 15px 15px; 
    color:#FFF;
}

a.btnblueoverlay {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;

    padding: 20px 20px;
    color: #FFF;
    background: #00b9ff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

a.btnblueoverlay:hover {
    background-color:#0378ff;
    color:#FFFFFF!important;
}

a.btnblueoverlay:focus{
    background-color:#0378ff;
    color:#FFFFFF;
}



/* -----------------------------------------------------------------------------

CALENDAR OVERLAY
  
----------------------------------------------------------------------------- */

.calheader{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    height:50px; 
    padding:15px; 
    /*background-color:#19c235;*/ 
    color:#FFF;	
}

.calheader .back{
    flex:1 1 25px;
    -webkit-box-flex:1 1 25px;
    -webkit-flex:1 1 25px;
    -ms-flex:1 1 25px;

    /*border:1px solid red; */
    text-align:left;	
    font-size:1.5em
}

.calheader .title{
    flex:3 1 100%;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;

    /*border:1px solid red; */
    text-align:center;
}

.calheader .close{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red;*/ 
    text-align:right;
    font-size:1.5em
}


.calmonthwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red;*/ 
    padding:0px 15px 15px 15px; 
    background-color:#000; 
    color:#FFF;	
}

.calmonth{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid blue; */
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    height:100px; 
    padding:0px;	
}

.calmonth .back{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red;*/
    text-align:right;	
    font-size:1.5em
}

.calmonth .month{
    flex:3 1 auto;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;

    /*border:1px solid red; */
    text-align:center;
}

.calmonth .next{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red; */
    text-align:left;
    font-size:1.5em
}

.calweek{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid blue; */
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;	
}

.calweek .week{
    flex:1 0 35px;
    -webkit-box-flex:1 0 35px;
    -webkit-flex:1 0 35px;
    -ms-flex:1 0 35px;

    /*border:1px solid red;*/ 
    text-align:center;
    text-transform:uppercase; 
    font-size:.7em;
    letter-spacing:1px;
}


.caldaywrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:35px 15px; 
    background-color:#FFF;	
}

.caldaywrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid blue;*/ 
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;	
}

.caldayrow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    /*border:1px solid red;*/
    height:70px; 
    text-align:center; 
    padding:0px;
}

.caldayrow .item{
    flex:1 0 35px;
    -webkit-box-flex:1 0 35px;
    -webkit-flex:1 0 35px;
    -ms-flex:1 0 35px;

    /*border:1px solid red; */
}

.calday {
    border-radius:35px; 
    width:35px; 
    height:35px; 
    background-color:#FFF; 
    color:#000; 
    border:1px solid #FFF;  
    margin:0 auto; 
    line-height:33px;
    cursor:pointer;
}

.caldayothermonth {
    color:#999; 
}

.caldayclosed {
    border-radius:35px; 
    width:35px; 
    height:35px; 
    background-color:#FFF; 
    color:#ff6666; 
    border:1px solid #FFF;  
    margin:0 auto; 
    line-height:33px;
}



.caldaystart {
    border-radius:35px; 
    width:35px; 
    height:35px; 
    background-color:#19c235; 
    color:#FFF; 
    border:1px solid #19c235; 
    margin:0 auto; 
    line-height:33px;
    cursor:pointer;
}

.caldayselectrange {
    border-radius:35px; 
    width:35px; 
    height:35px; 
    background-color:#FFF; 
    color:#000; 
    border:1px solid #e1e1e1;  
    margin:0 auto; 
    line-height:33px;
    cursor:pointer;
}

.caldayend {
    border-radius:35px; 
    width:35px; 
    height:35px; 
    background-color:#ff6666; 
    color:#FFF; 
    border:1px solid #ff6666; 
    margin:0 auto; 
    line-height:33px;
    cursor:pointer;
}


.caldayclosedmarker {
    color:#ff6666; 
    /*border:1px red solid;*/
    font-size:.5em; 
    line-height:.5em; 
}


.caldayclassmarker {
    color:#0b9ff1;/* border:1px red solid; */
    font-size:.5em;}

.caldaytoday{
    font-weight:700;
}

.calfooterwrap {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    border-top:1px solid #e1e1e1;
    border-bottom:1px solid #e1e1e1;
    text-align:left; 
    padding:0px;
}

.calfooterwrap .items {
    flex:0 0 auto;
    -webkit-box-flex:0 0 auto;
    -webkit-flex:0 0 auto;
    -ms-flex:0 0 auto;
    padding:0px 10px 0px 0px;
    /*border:1px solid red;*/
}

.footertext {
    color:#999;
    text-transform:uppercase;
    font-size:.6em;
    font-weight:500;
    letter-spacing:1px;
    line-height:3em;
}


a.calilink {
    color: #fff; 
    text-decoration:none; 
    -webkit-transition:  opacity 0.3s ease-in-out;
    -moz-transition:  opacity 0.3s ease-in-out;
    -ms-transition:  opacity 0.3s ease-in-out;
    -o-transition:  opacity 0.3s ease-in-out;
    transition:  opacity 0.3s ease-in-out;
}
a.calilink:visited {color:#FFF; text-decoration:none;}
a.calilink:hover {text-decoration:none; opacity:.6;}



/* -----------------------------------------------------------------------------

TIMES OVERLAY
  
----------------------------------------------------------------------------- */

.timeheader{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    height:50px; 
    padding:15px; 
    /*background-color:#19c235;*/ 
    color:#FFF;	
}

.timeheader .back{
    flex:1 1 25px;
    -webkit-box-flex:1 1 25px;
    -webkit-flex:1 1 25px;
    -ms-flex:1 1 25px;

    /*border:1px solid red; */
    text-align:left;	
    font-size:1.5em
}

.timeheader .title{
    flex:3 1 100%;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;

    /*border:1px solid red; */
    text-align:center;
}

.timeheader .close{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red;*/ 
    text-align:right;
    font-size:1.5em
}


.timewrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:35px 15px; 
    background-color:#FFF;	
}

.timewrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid blue;*/ 
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;	
}

.timerow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    /*flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;*/

    /*border:1px solid red;*/
}

.timerow .item{
    flex:0 0 33%;
    -webkit-box-flex:0 0 33%;
    -webkit-flex:0 0 33%;
    -ms-flex:0 0 33%;

    margin:5px;
    color:#000;
    font-size:.8em;
    height: 35px; 
    line-height:33px; 
    background: #fff;
    border:1px solid #e1e1e1; 
    text-align:center;
    cursor:pointer;
    border-radius:5px;
    /*border:1px solid red; */}



.timerow .itemstart{
    color:#fff;
    background: #19c235;
    border:1px solid #19c235; 
}

.timerow .itemrange{
    color:#000;
    background: #F5F5F5;
    border:1px solid #e1e1e1; 
}


.timerow .itemend{
    color:#fff;
    background: #ff6666;
    border:1px solid #ff6666;
}

.timerow .itemempty{
    flex:1 0 20%;
    -webkit-box-flex:1 0 20%;
    -webkit-flex:1 0 20%;
    -ms-flex:1 0 20%;

    margin:5px;
    font-size:.8em;
    height: 35px; 
    line-height:33px; 
    background: #FFF;
    border:1px solid #FFF; 
    text-align:center;
    border-radius:5px;
    /*border:1px solid red; */
}

.timetitles{
    margin:5px;
}


a.timeilink {
    color:#FFF; text-decoration:none; 
    -webkit-transition:  opacity 0.3s ease-in-out;
    -moz-transition:  opacity 0.3s ease-in-out;
    -ms-transition:  opacity 0.3s ease-in-out;
    -o-transition:  opacity 0.3s ease-in-out;
    transition:  opacity 0.3s ease-in-out;
}
a.timeilink:visited {color:#FFF; text-decoration:none;}
a.timeilink:hover {text-decoration:none; opacity:.6;}


/* -----------------------------------------------------------------------------

LOGIN OVERLAY
  
----------------------------------------------------------------------------- */

.loginheader{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    height:50px; 
    padding:15px;
    background-color:#FFF;
    border-bottom:1px #000 solid;
}

.loginheader .back{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red; */
    text-align:left;	
    font-size:1.5em;
    min-width:25px;
}

.loginheader .title{
    flex:3 1 100%;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;

    /*border:1px solid red; */
    text-align:center;
}

.loginheader .close{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red; */
    text-align:right;
    font-size:1.5em
}


.newlogin{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    height:50px; 
    padding:15px;
    background-color:#000;
}

.newlogin .title{
    flex:3 1 100%;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;
    text-align:center;
}

.newlogin .title h4{
    color:#FFF;
}


.loginwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:35px 15px; 
    background-color:#FFF;	
}

.loginwrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid blue;*/ 
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;
}

form .errors,
.loginwrap .errors,
.profilewrap .errors{
    color:#ff6666;
    text-align:center;
    font-weight:400;
    padding-bottom:10px;
}

form .errors.ng-inactive,
.loginwrap .errors.ng-inactive,
.profilewrap .errors.ng-inactive{
    padding:0;
}

form .has-error input,
form .has-error .fake-input,
.loginwrap form .has-error input,
.loginwrap form .has-error .fake-select,
.loginwrap form .has-error .fake-input,
.profilewrap form .has-error input,
.profilewrap form .has-error .fake-select,
.profilewrap form .has-error .fake-input{
    border:1px solid #ff6666;
    background-color:#ffefef;
}

.loginwrap input.btnblueoverlay {
    appearance:none;
    -moz-appearance:none; 
    -webkit-appearance:none;
    
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    border:none;
    cursor:pointer;

    padding: 20px 20px;
    color: #FFF;
    background: #00b9ff;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

.loginwrap input.btnblueoverlay:hover {
    background-color:#0378ff;
    color:#FFFFFF!important;
}

.loginwrap input.btnblueoverlay:focus{
    background-color:#0378ff;
    color:#FFFFFF;
}



.loginrow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    padding:10px;

    /*border:1px solid red;*/
}





.loginrow .item{
    flex:1 0 auto;
    -webkit-box-flex:1 0 auto;
    -webkit-flex:1 0 auto;
    -ms-flex:1 0 auto;
    text-align:left;
    /*border:1px solid red;*/
}


.loginrow .item p{
    font-weight:400; 
    font-size:.85em; 
    color:#000;
}


/* headlines with lines */
.decorated{
    overflow: hidden;
    text-align: center;
}

.decorated > span{
    position: relative;
    display: inline-block;
}

.decorated > span:before, .decorated > span:after{
    content: '';
    position: absolute;
    top: 50%;
    border-bottom: 1px solid #000;
    width: 591px; /* half of limiter*/
    margin: 0 20px;
}

.decorated > span:before{
    right: 100%;
}

.decorated > span:after{
    left: 100%;
}



a.loginilink {
    color:#000;
    text-decoration:none; 
    -webkit-transition:  opacity 0.3s ease-in-out;
    -moz-transition:  opacity 0.3s ease-in-out;
    -ms-transition:  opacity 0.3s ease-in-out;
    -o-transition:  opacity 0.3s ease-in-out;
    transition:  opacity 0.3s ease-in-out;
}
a.loginilink:visited {color:#000; text-decoration:none;}
a.loginilink:hover {text-decoration:none; opacity:.6;}


a.btnbluefacebook {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    padding: 16px 20px;
    color: #FFF;
    background: #354f83;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
    vertical-align:middle;
}


a.btnbluefacebook img {
    vertical-align:middle; 
    padding-right:5px;
    border:none;
}


.trigger {
    color: #000;
    letter-spacing: 1px;
/*    text-transform: uppercase;*/
    font-weight: 700;
    font-size:.75em;
    font-family: "Lato",Helvetica,Arial,sans-serif,sans-serif;
    text-decoration:none;
    padding: 20px 35px 20px 15px;
    border-radius:0px;
    border: none;
    width: 100%;
    background: #f5f5f5 url(../images/select-arrow-close.svg) 97% center no-repeat;
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease; 
    transition: all 0.5s ease;
}

.admindrop .trigger{
    text-transform: none;
    font-weight:400;
    font-size:0.9em;
    letter-spacing:0;
    border:1px #e1e1e1 solid;
}

.blackdrop .trigger{
    background-color:#000000;
    color:#ffffff!important;
    background-image:url(../images/select-arrow-wht.svg);
}

.whitedrop .trigger{
    background-color:#fff;
    color:#000!important;
    background-image:url(../images/select-arrow-close.svg);
}

.trigger.noneselected{
    color:#999;
}

/*.trigger:hover {
color: #FFF!important;
}*/

.activetrigger {
    color: #000!important;
    letter-spacing: 1px;
/*    text-transform: uppercase;*/
    font-weight: 700;
    font-size:.75em;
    font-family: "Lato",Helvetica,Arial,sans-serif,sans-serif;
    text-decoration:none;
    padding: 20px 35px 20px 20px;
    border-radius:0px;
    border: none;
    width: 100%;
    background: #f5f5f5 url(../images/select-arrow-open.svg) 97% center no-repeat;
    display: block;
}

.activetrigger:hover {
    background: #f5f5f5 url(../images/select-arrow-open.svg) 97% center no-repeat;
    color: #000!important;
}

.activetrigger:active {
    background: #f5f5f5 url(../images/select-arrow-open.svg) 97% center no-repeat;
    color: #000!important;
}

.dropcontainer {
    position:relative;
}

.whitedrop .dropcontainer ul{
    border-left:1px #e1e1e1 solid;
    border-bottom:1px #e1e1e1 solid;
    border-right:1px #e1e1e1 solid;
}

.dropcontainer a{color: #000; text-decoration: none;}
.dropcontainer a:hover {color: #000;}

.dropcontainer ul {
    color:#fff;
    font-family: "Lato",Helvetica,Arial,sans-serif,sans-serif;
    letter-spacing: 0;
/*    text-transform: uppercase;*/
    font-weight: 700;
    font-size:0.9em;
    border: 1px solid #f5f5f5;
    background: #fff;
    list-style-type: none;
    border-bottom-right-radius:0;
    border-bottom-left-radius:0;
    border-top-left-radius:0;
    border-top-right-radius:0;
    padding: 10px 20px;
    margin: 0;
    width: 100%;
    z-index: 100;
}

.dropcontainer ul li {
    padding: 5px 0;
    -webkit-transition: all 0.5s ease; 
    -moz-transition: all 0.5s ease; 
    -o-transition: all 0.5s ease; 
    transition: all 0.5s ease;
}

.dropcontainer ul li:hover {
    outline: none;
    cursor:pointer;
}

.dropcontainer ul li:first-child {
    display: none;
}

.dropcontainer ul li:last-child {
    border-bottom: none;
}

.dropdownhidden {
    display: none;
}

/* -----------------------------------------------------------------------------

Error Overlay
  
----------------------------------------------------------------------------- */

#overlayerror {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    justify-content: center; 
    -webkit-justify-content: center;
    -ms-flex-pack:center;

    width: 100%;
    height: 100%;
    position:absolute;
    top:0;
    left:0;
}

#wrappererror {
    max-width:100%;
    min-width:300px;
    width: 350px;
    height: auto;
}


.errorwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    background-color: rgba(255,102,102, 1);

    border-radius:5px;

    padding:35px; 	
}


.errorwrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;
}

a.btnerror {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform:uppercase;
    width:100%;
    padding: 20px 20px;
    color: #FF6666;
    background: #FFFFFF;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    text-decoration:none;
    -webkit-transition: background 0.3s ease;
    -moz-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
    border-radius: 5px;
}

a.btnerror:hover {
    background-color:rgba(255,255,255,.7);
}

a.btnerror:focus{
    background-color:rgba(255,255,255,.7);
}

/* -----------------------------------------------------------------------------

My Account
  
----------------------------------------------------------------------------- */
div .apptwrap {
    padding:15px 0px 50px 0px;
    width:100%;
    background:#fff;
}

.wrapdivider{
    border-bottom:1px solid #e1e1e1; 
    padding:20px 0;
}

.wrapdivider h2 {
    margin-bottom: 20px;
}

wrapdivider .timeslot{
    margin-bottom: 10px;
}

.wrapdivider .timeslot:last-child {
    margin-bottom: 0;
}

.wrapdivider div{
    margin-bottom:10px;
}

.wrapdivider div:last-child{
    margin:0;
}

.wrapdivider h4.service {
    color: #999; 
    font-weight:400;
}

.spacer {
    clear:both; 
    padding:10px;	
}

.apptwrap ul {
    margin:0px;
    padding:0px;
    background-color:#fff;
    border-bottom:1px solid #000;
}

.apptwrap .tabs li {
    list-style:none;
    display:inline;
    margin:0px;
    padding:0px;
}



.apptwrap .tabs a {
    padding: 0 25px 0 0;
    display:inline-block;
    text-decoration:none;
    color: #000;
    font-family: "Lato",Helvetica,Arial,sans-serif,sans-serif;
    font-weight: 300;
    font-size: 1.1em;
    height:55px;
    line-height:55px;
}

.apptwrap .tabs a.active {
    color:#000;
    font-weight: 700;
}

.apptwrap .noresult{
    text-align: center;
    margin:10px 0;
    color:#ff6666;
}

.membercontainer{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    padding:0px;	
}

.memberwrap{
    border-bottom:1px #e1e1e1 solid; 
    width:100%; 

    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    padding:15px 17px;
}

.memberwrap .item{
    flex:1;
    -webkit-box-flex:1;
    -webkit-flex:1;
    -ms-flex:1;

    padding-right:5px;
}

.memberwrap .item p{
    color:#000;
}

.memberwrap .item strong{
    font-weight:700;
}

.memberwrap .item ul{
    margin:0px; 
    padding:0px 0px 0px 15px; 
    font-weight: 300; 
    color:#000; 
    font-size: 0.9em; 
    line-height: 1.6em;
}


/* -----------------------------------------------------------------------------

CREDIT CARDS
  
----------------------------------------------------------------------------- */

.credit{
    margin:0px 5px; 
    width:45px;	
}

.cards{
    border-bottom: 1px dashed #cdcdcd;
    padding: 20px 0;
}
.cards.last-card{
    border:none;
}




/* -----------------------------------------------------------------------------

MY PROFILE FIELDS
  
----------------------------------------------------------------------------- */
.btninactive {
    margin: 0 auto;
    display: block;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    max-width: 250px;
    padding: 20px 20px;
    color: #FFF;
    background: #999;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: .75em;
    text-decoration: none;
    border-radius: 5px;
    cursor: default;
}


.profilewrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:0px; 
    background-color:#FFF;	
}

.profilewrap form{position:relative;}

.profilewrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid blue;*/ 
    /*max-width:450px; */
    width:100%; 
    margin:0 auto; 
    padding:0px;
}


.profilerow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    padding:10px 17px;

    /*border:1px solid red;*/
}

.profilerow p{
    color:#000;
    padding-bottom:5px;
}


.profilerow .item{
    flex:1 0 auto;
    -webkit-box-flex:1 0 auto;
    -webkit-flex:1 0 auto;
    -ms-flex:1 0 auto;
    text-align:left;
    /*border:1px solid red;*/
}


.profilerow .item p{
    font-weight:400; 
    font-size:.85em; 
    color:#000;
}


/* -----------------------------------------------------------------------------

 FORM LOGIN
  
----------------------------------------------------------------------------- */

form {
    padding:0px;
    margin:0px 0px 0px 0px;
    /*border:1px red solid;*/
    width:100%;
    display:block;
}



.formwrap {
    clear: both;
    margin: 0;
    /*border-bottom: 1px solid #e1e1e1;*/
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;
}


label {
    width: 100%;
    text-transform:uppercase; 
    color:#999; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif !important;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
    line-height:20px;
    padding:20px 0px 20px 50px;
    cursor: pointer;
}


/* LOGIN INPUT EMAIL & LOGIN */


input[type=text]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder{
    color: #999; opacity: 1 !important; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input[type=text]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=tel]:-moz-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input[type=text]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=tel]::-moz-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
}

input[type=text]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
} 

input[type=text]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

/* remove the X from Explorer */
input[type=text]::-ms-clear,
input[type=password]::-ms-clear,
input[type=tel]::-ms-clear{
    display:none;
}


input.icon[type=text]::-webkit-input-placeholder,
input.icon[type=password]::-webkit-input-placeholder,
input.icon[type=tel]::-webkit-input-placeholder{
    color: #999; opacity: 1 !important; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input.icon[type=text]:-moz-placeholder,
input.icon[type=password]:-moz-placeholder,
input.icon[type=tel]:-moz-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input.icon[type=text]::-moz-placeholder,
input.icon[type=password]::-moz-placeholder,
input.icon[type=tel]::-moz-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
}

input.icon[type=text]::-webkit-input-placeholder,
input.icon[type=password]::-webkit-input-placeholder,
input.icon[type=tel]::-webkit-input-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
} 

input.icon[type=text]:-ms-input-placeholder,
input.icon[type=password]:-ms-input-placeholder,
input.icon[type=tel]:-ms-input-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

/* remove the X from Explorer */
input.icon[type=text]::-ms-clear,
input.icon[type=password]::-ms-clear,
input.icon[type=tel]::-ms-clear{
    display:none;
}


input.number[type=text]::-webkit-input-placeholder,
input.number[type=password]::-webkit-input-placeholder,
input.number[type=tel]::-webkit-input-placeholder{
    color: #999; opacity: 1 !important; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input.number[type=text]:-moz-placeholder,
input.number[type=password]:-moz-placeholder,
input.number[type=tel]:-moz-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

input.number[type=text]::-moz-placeholder,
input.number[type=password]::-moz-placeholder,
input.number[type=tel]::-moz-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
}

input.number[type=text]::-webkit-input-placeholder,
input.number[type=password]::-webkit-input-placeholder,
input.number[type=tel]::-webkit-input-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif; 
} 

input.number[type=text]:-ms-input-placeholder,
input.number[type=password]:-ms-input-placeholder,
input.number[type=tel]:-ms-input-placeholder{  
    color: #999; opacity: 1 !important;
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif;
}

/* remove the X from Explorer */
input.number[type=text]::-ms-clear,
input.number[type=password]::-ms-clear,
input.number[type=tel]::-ms-clear{
    display:none;
}


input[type=text],
input[type=password],
input[type=tel]{
    appearance:none;
    -moz-appearance:none; 
    -webkit-appearance:none;
    width: 100%;
    border: none;
    border-radius:0px;
    background-color:#F5F5F5;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif !important;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
/*    text-transform:uppercase; */
    height:55px;
    padding:20px;
    text-align:left;
}

input.number[type=text]{
    width: 35px;
    height:35px;
    border: 1px solid #999;
    border-radius:0px;
    background-color:#FFFFFF;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif !important;
    font-weight:300;
    letter-spacing:0px;
    font-size:1.4em;
    text-transform:uppercase; 
    padding:0px;
    text-align:center;
}

input.icon[type=text],
input.icon[type=password]{
    width: 100%;
    border: none;
    border-radius:0px;
    background-color:#F5F5F5;
    color:#000; 
    font-family: 'Lato', Helvetica, Arial, sans-serif, sans-serif !important;
    font-weight:700;
    letter-spacing:1px; 
    font-size:.75em;
/*    text-transform:uppercase; */
    height:55px;
    padding:20px 0px 20px 0px;
    text-align:left;
    text-indent: 4.5em;
}

input:focus{
    outline: 0;
}

.icon-email{
    background-image:url(../images/icon-email.svg); 
    background-repeat: no-repeat; 
    background-position:left 15px center;
    background-size:20px;
}

.icon-lock{
    background-image:url(../images/icon-lock.svg); 
    background-repeat: no-repeat; 
    background-position:left 15px center;
    background-size:20px;
}



/* LOGIN CHECKBOX Remember Me */

input.login[type="checkbox"] {
    display: none;
}

input.login[type="checkbox"] + label {
    border:none; 
    padding:0px; 
    color:#000;
    font-weight: 400;
    font-size: 0.85em;
    text-transform:none;
    letter-spacing:0px;
}

input.login[type="checkbox"] + label span {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    border:1px solid #000;
    margin-right:5px;
}

input.login[type="checkbox"]:checked + label span {
    background: url(../images/check-bold.svg) center no-repeat;
    background-size:12px;
    background-position:center center;
}



/* CHECKBOX NEW ACCOUNT SETTINGS */

input.settings[type="checkbox"] {
    display: none;
}

input.settings[type="checkbox"] + label {
    /*border:1px red solid;*/
    margin:0px;
    padding:0px; 
    color:#999;
    display: inline-block;
}

input.settings[type="checkbox"] + label span {
    display: inline-block;
    vertical-align: middle;
    width: 35px;
    height: 35px;
    border:1px solid #999;
    margin-right:0px;
}

input.settings[type="checkbox"]:checked + label span {
    background: url(../images/check.svg) center no-repeat;
    background-size:25px;
}

.settingswrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px red solid;*/
    width:100%;
    padding:0px 0px;
}

.settingsitemcheckbox{
    flex:0 1 30px;
    -webkit-box-flex:0 1 30px;
    -webkit-flex:0 1 30px;
    -ms-flex:0 1 30px;
}

.settingsitemchecktext{
    flex:1;
    -webkit-box-flex:1;
    -webkit-flex:1;
    -ms-flex:1;
    margin-left:20px;
}


.formsettings {
    clear: both;
    margin: 0;
    border-bottom: 1px solid #e1e1e1;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;
    padding:15px 0px; 
}

.formsettingstext {
    text-transform: uppercase;
    color: #999;
    font-family: "Lato",Helvetica,Arial,sans-serif,sans-serif !important;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 0.75em;
    line-height: 20px;
    margin-left:20px;
}

/* -----------------------------------------------------------------------------

PROFILE ACCORDION
  
----------------------------------------------------------------------------- */


.profileButton {
/*    width:100%;
    float:left;
    background-color:#fff;
    cursor: pointer;
    padding:17px 0 ;
    margin-bottom:15px;
    border-bottom:1px solid #e1e1e1;*/

    background-color: #fff;
    border-bottom: 1px solid #e1e1e1;
    color: #000;
    cursor: pointer;
    float: left;
    font-size: 1.1em;
    height: 55px;
    line-height: 55px;
    margin-bottom: 15px;
    padding: 0;
    width: 100%;
}
.profileButton h4 {
    display:inline;
    color:#000;
}
.profileContent {
    border:none;
    padding:0px;
    width:100%;
    float:left;
    background-color:#FFF;

    max-height:0;
    overflow:hidden;
    -webkit-transition: max-height 1s;
    -moz-transition: max-height 1s;
    -ms-transition: max-height 1s;
    -o-transition: max-height 1s;
    transition: max-height 1s;
}

.profileContent.show{
    margin-bottom:15px;
    max-height:2000px;/*needed for css transition*/
    /*    border-top:1px solid black;
        border-bottom:1px solid black;*/
}

.profileButton .on {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.profileButton .on span {
    /*color:#FFFFFF;*/
}
.profileButton .over {
    width:100%;
    float:left;
    /*background:#555555;*/
    cursor:pointer;
}
.profileButton .over span {
    /*color:#FFFFFF;*/
}
.profileButton .plusMinus {
    font-weight:normal;
    color:#000;
    float:right;
    padding-right:4px;
    font-weight: 300;
    content:"+";
}

.profile-updating-overlay{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    justify-content: center; 
    -webkit-justify-content: center;
    -ms-flex-pack:center;

    background-color:rgba(255, 255, 255, 0.60);
    width: 100%;
    height: 100%;
    position:absolute;
    top:0;
    left:0;
}

.profile-updating-overlay .spinner{
    background:transparent url(../images/ajax-load-ring.gif) no-repeat center center;
    height:60px;
    width:60px;
    position:fixed;
    top:50%;
    left:50%;
    margin:-30px 0 0 -30px;
}

/* -----------------------------------------------------------------------------

SERVICE PROVIDER OVERLAY
  
----------------------------------------------------------------------------- */

.providerheader{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    height:50px; 
    padding:15px;
    background-color:#000;
}

.providerheader .back{
    flex:1 1 25px;
    -webkit-box-flex:1 1 25px;
    -webkit-flex:1 1 25px;
    -ms-flex:1 1 25px;

    /*border:1px solid red; */
    text-align:left;	
    font-size:1.5em
}

.providerheader .title{
    flex:3 1 100%;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;

    /*border:1px solid red; */
    text-align:center;
}

.providerheader .close{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red;*/ 
    text-align:right;
    font-size:1.5em
}


.providerwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:35px 15px; 
    background-color:#FFF;	
}

.providerwrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;
    position:relative;

}

.providerwrap .no-bio{
    cursor:default;
}

.provider-bio-link{
    position:relative;
}


.providerrow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid red;*/
}


.providerrow .item{
    flex:1 0 auto;
    -webkit-box-flex:1 0 auto;
    -webkit-flex:1 0 auto;
    -ms-flex:1 0 auto;
    text-align:center;
    /*border:1px solid red;*/
}


.picturewrap {
    display:flex; 
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    justify-content: center; 
    -ms-justify-content: center;
    -webkit-justify-content: center;

    align-items:center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    height:auto; 
    padding-bottom:20px;
    /*border:1px red solid;*/ 
}

.pictureframe {
    flex:0 0 150px;
    -webkit-box-flex:0 0 150px;
    -webkit-flex:0 0 150px;
    -ms-flex:0 0 150px;
    height:auto; 
    /*border:1px solid #e1e1e1; */
    padding:3px;
}

.pictureprovider {
/*    background-image:url(../images/leo.jpg);  
    background-size: cover; 
    background-position: center center; */
    width:100%; 
    height:140px;
}




a.providerilink {
    color:#FFF; text-decoration:none; 
    -webkit-transition:  opacity 0.3s ease-in-out;
    -moz-transition:  opacity 0.3s ease-in-out;
    -ms-transition:  opacity 0.3s ease-in-out;
    -o-transition:  opacity 0.3s ease-in-out;
    transition:  opacity 0.3s ease-in-out;
}
a.providerilink:visited {color:#FFF; text-decoration:none;}
a.providerilink:hover {text-decoration:none; opacity:.6;}

#bio_wrapper{
    display:none;
    position:absolute;
    top:0;
    left:0;
}
#bio_wrapper.bio-show{
    display:block;
    position:static;
}


/* -----------------------------------------------------------------------------

INFO OVERLAY
  
----------------------------------------------------------------------------- */

.infoheader{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    height:50px; 
    padding:15px;
    background-color:#FFF;
}

.infoheader .close{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red;*/ 
    text-align:right;
    font-size:1.5em
}


.infowrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:0px 15px 40px 15px; 
    background-color:#FFF;	
}

.infowrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid blue;*/ 
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;

}


.inforow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid red;*/
}


.inforow .item{
    flex:1 0 auto;
    -webkit-box-flex:1 0 auto;
    -webkit-flex:1 0 auto;
    -ms-flex:1 0 auto;
    text-align:center;
    /*border:1px solid red;*/
}


a.infoilink {
    color:#000; text-decoration:none; 
    -webkit-transition:  opacity 0.3s ease-in-out;
    -moz-transition:  opacity 0.3s ease-in-out;
    -ms-transition:  opacity 0.3s ease-in-out;
    -o-transition:  opacity 0.3s ease-in-out;
    transition:  opacity 0.3s ease-in-out;
}
a.infoilink:visited {color:#000; text-decoration:none;}
a.infoilink:hover {text-decoration:none; opacity:.6;}



/* -----------------------------------------------------------------------------

About OVERLAY
  
----------------------------------------------------------------------------- */

.contactheader{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: row; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    height:50px; 
    padding:15px;
    background-color:#000;
    /*border-bottom:1px solid #000;*/
}

.contactheader .back{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red; */
    text-align:left;	
    font-size:1.5em;
    min-width:25px;
}

.contactheader .title{
    flex:3 1 100%;
    -webkit-box-flex:3 1 100%;
    -webkit-flex:3 1 100%;
    -ms-flex:3 1 100%;

    /*border:1px solid red; */
    text-align:center;
}

.contactheader .close{
    flex:1 1 auto;
    -webkit-box-flex:1 1 auto;
    -webkit-flex:1 1 auto;
    -ms-flex:1 1 auto;

    /*border:1px solid red;*/ 
    text-align:right;
    font-size:1.5em
}


.googlemap{
/*    background-image:url(../images/google-map.jpg); 
    background-size:cover; 
    background-position:center center;
    height:250px;*/
}
.googlemap img,
.googlemap a{max-width:600px; width:100%;border:none;}


.contactwrap{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    align-items: center; 
    -webkit-align-items: center;
    -ms-flex-align: center;

    /*border:1px solid red; */
    padding:35px 35px; 
    background-color:#FFF;	
}

.contactwrapsize{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid blue;*/ 
    max-width:450px; 
    width:100%; 
    margin:0 auto; 
    padding:0px;

}


.contactrow{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;

    flex-direction: column; 
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;

    /*border:1px solid red;*/
}


.contactrow .item{
    flex:1 0 auto;
    -webkit-box-flex:1 0 auto;
    -webkit-flex:1 0 auto;
    -ms-flex:1 0 auto;
    text-align:left;
    /*border:1px solid red;*/
}

.contactrow .item p{
    color:#000;
    line-height:1.7em;
}

.contactrow .item h4{
    text-transform:uppercase; 
    font-weight: 400; 
    letter-spacing: 1px; 
    font-size: 0.75em; 
    color:#999;
}

.contactrow a{
    text-decoration:none;
    color:#000;
}


a.contactilink {
    color:#FFF; text-decoration:none; 
    -webkit-transition:  opacity 0.3s ease-in-out;
    -moz-transition:  opacity 0.3s ease-in-out;
    -ms-transition:  opacity 0.3s ease-in-out;
    -o-transition:  opacity 0.3s ease-in-out;
    transition:  opacity 0.3s ease-in-out;
}
a.contactilink:visited {color:#FFF; text-decoration:none;}
a.contactilink:hover {text-decoration:none; opacity:.6;}



@media screen and (min-width:0\0) {
/*   IE SVG scaling fix*/
  .logowrap img[src*=".svg"],
  header .logo img[src*=".svg"]{
    width: 100%; 
  }
}