body {
    height: 100%;
    margin: 0;
    color: #555555;
    font: 12px 'Open Sans', Arial, sans-serif;
    line-height: 16px;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: none;
    padding: 0px !important;
}

/* ====== COMMON STYLES ====== */
.hidden {
    display: none;
    visibility: visible !important; /*overriding the :hidden value of bootstrap*/
}

.clearfix,
.clear {
    clear: both;
    width: 100% !important;
    height: 1px !important;
    overflow: hidden;
    float: none !important;
}

.flex {
    display: flex;
}

.flex-row {
    display: flex !important;
    flex-direction: row;
    width: 100%;
    overflow: hidden;
}

.flex-column {
    display: flex !important;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.flex-grow {
    flex: auto;
}

.no-flex {
    flex: none;
}

/* select2 */
.select2-container .select2-choice > .select2-chosen {
    font-weight: bold;
}

.select2-container .select2-choice .select2-arrow {
    background: none;
    border-left: 0px none;
}

.select2-dropdown-open .select2-choice {
    background-color: #f0f0f0;
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fdfdfd), color-stop(0.5, #f0f0f0));
    background-image: -webkit-linear-gradient(center bottom, #fdfdfd 0%, #f0f0f0 50%);
    background-image: -moz-linear-gradient(center bottom, #fdfdfd 0%, #f0f0f0 50%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0f0f0', endColorstr='#fdfdfd', GradientType=0);
    background-image: linear-gradient(to top, #fdfdfd 0%, #f0f0f0 50%);
}

.select2-container-multi.select2-container-active .select2-choices,
.select2-drop-active,
.select2-container-active .select2-choice,
.select2-container-active .select2-choices,
.select2-dropdown-open.select2-drop-above .select2-choice,
.select2-dropdown-open.select2-drop-above .select2-choices {
    border: 1px solid #aaa;
}

.select2-drop.select2-drop-above.select2-drop-active {
    border-top: 1px solid #aaa;
    /* 1px solid #5897fb; */
}

.select2-results .select2-highlighted {
    background-color: #95D167;
}

.blue-edition .select2-results .select2-highlighted {
    background-color: #5EB5E0;
}

/* Input */
.search_box, .input_box {

    width: 198px !important;
    height: 28px !important;
    padding: 0px !important;
    margin: 0px !important;
    background: url(../images/search-198x28.png) no-repeat;
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    text-shadow: none !important;
    text-indent: 10px !important;
    font-size: 11px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    color: #212121 !important;
    outline: none !important;
}

input[type=text],
input[type=password],
input[type=file],
textarea {
    -webkit-appearance: none;
}

button, input {
    width: auto;
    overflow: visible;
}

input, textarea, select {
    font: 100% 'Open Sans', Arial, sans-serif;
    vertical-align: middle;
    color: #000;
    overflow: auto;
}

.input_box {
    background-position: 0 100%;
}

a {
    color: #555555;
    /*text-decoration: underline;*/
    outline: 0 none !important;
}

a:hover {
    color: #95d167;
}

:focus {
    outline: none !important;
}

::-moz-focus-inner {
    border: 0 !important;
}

.blue-edition a:hover {
    color: #5EB5E0;
}

.placeholder {
    color: #aaa !important;
}

/* system error */
.system-error {
    background-color: #fbfbfa;
}

.system-error .error-content {
    max-width: 800px;
    margin: 0 auto;
}

.system-error .error-content h2 {
    text-align: center;
}

.system-error .error-content .error {
    font-size: 14px;
    text-align: center;
}

.system-error .header {
    padding: 30px 0;
}

/* ====== HEADER ====== */
.header {
    margin: 0px;
    padding: 0px;
    display: block; /* IE fallback */
    width: 100%;
    background: #fbfbfa;
}

.header .logo {
    display: inline-block;
    width: 370px;
    height: 52px;
    background: url(../images/logo-370x52.png) no-repeat 0 0;
}

.blue-edition .header .logo {
    background-image: url(../images/logo-359x52-blue.png);
}

.header-wrapper {
    margin: 0 auto;
    padding: 15px 0;
    max-width: 950px;
}

.content-wrapper {
    margin: 0 auto;
    width: 950px;
}

/* = logo = */
.header-wrapper h1 {
    display: block;
    float: left;
    margin: 0 30px 0 0;
    position: relative;
}

.header-wrapper h1 a {
    display: block;
    text-align: center;
}

.header-wrapper a.logo:hover {
    text-decoration: none;
}

.logo-beta {
    color: #AAA;
    position: absolute;
    top: 0px;
    right: -30px;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 10px;
}

.blue-edition .logo-beta {
    top: 5px;
    right: -15px;
}

.Slots-view #dashboard_content {
    display: none;
}

.slots-day-hdr {
    position: relative;
}

/* ===== DateTime Controllers ===== */

.header-date-container {
    float: right;
    padding: 0px 20px 0 0;
}

.header-timezone-selection {
}

.more-timezones-wrapper {
    line-height: 12px;
    text-align: center;
}

.more-timezones {
    display: inline-block;
    font-size: 11px;
    text-align: left;
    width: 290px;
}

/* in iframe view, date/time stuff is moved from header */
.module-header .header-date-container {
    float: none;
}

.module-header #header_date {
    float: none;
    margin-top: 15px;
}

.module-header .header-timezone-selection {
    float: none;
    margin-top: 5px;
}

.module-header .selectBox.timeZoneChange {
    height: 28px;
}

.module-header .more-timezones {
    float: none;
    width: auto;
    text-align: center;
    margin: 0 0 5px 0;
}

/* === BOF select datetime box === */

#select_timezone {
    margin: 0;
}

.iframe-layout #select_timezone {
    text-align: center;
}

#select_timezone select {
    /*text-align: right;
    font-size: 20px;
    line-height: 25px;
    font-weight: 300;*/
}

#select_timezone span {
    color: #222222;
}

.form-control.select.timeZoneChange {
    width: 300px;
}

.form-control.select.view-type-guests {
    width: 100px;
}

#select_timezone #timezone_loader {
    float: none !important;
    font-size: 12px !important;
    margin-left: 30px !important;
    text-align: left !important;
}

#select_timezone .select-area {
    color: #212121;
    font: 11px 'Open Sans', Arial, sans-serif;
    line-height: 28px;
    font-weight: 700;
    background: url(../images/select-107x28.png) no-repeat;
    position: relative;
    cursor: pointer;
    height: 28px;
    float: left;
}

#select_timezone .select-area .center {
    float: left;
    padding: 0px 10px;
    color: #212121 !important;
}

#select_timezone .select-area .select-opener {
    position: relative;
    float: right;
    width: 39px;
    height: 28px;
}

.selectBox-label {
    width: 270px !important;
    overflow: hidden;
}

#select_timezone .jcf-hidden {
    display: block !important;
    position: absolute !important;
    left: -9999px !important;
}

.selectBox-dropdown {
    background: url(../images/select_box_body.png) no-repeat left top !important;
    font: 700 11px/28px 'Open Sans', Arial, sans-serif !important;
    color: #212121 !important;
    position: relative;
    margin-right: 30px;
}

.selectBox-dropdown .selectBox-label {
    padding: 0px 0 0 12px !important;
}

.selectBox-disabled .selectBox-label {
    color: gray !important;
}

.selectBox-dropdown .selectBox-arrow {
    background: url(../images/select_box_arrow.png) no-repeat right top !important;
    display: block;
    height: 28px;
    position: absolute;
    right: -23px;
    top: 0;
    width: 27px;
}

.selectBox-dropdown.selectBox-disabled .selectBox-arrow {
    opacity: 1 !important;
}

.selectBox-options li.selectBox-hover a {
    background-color: #95D167 !important;
    color: #fff !important;
}

.blue-edition .selectBox-options li.selectBox-hover a {
    background-color: #5EB5E0 !important;
}

ul.selectBox-dropdown-menu a {
    color: #555555 !important;

}

.selectBox-options li {
    padding: 0 0 0 0px !important;
    margin-bottom: 0px !important;
}

.selectBox-options li a {
    white-space: normal !important;
    cursor: pointer;
    padding: 0 0 0 6px !important;
}

.selectBox-disabled a {
    font-style: italic;
    color: gray;
}

.selectBox-options li.selectBox-hover.selectBox-disabled a {
    background-color: #eee !important;
    color: gray !important;
}

.timeZoneChange-selectBox-dropdown-menu {
    /*width: 250px !important;*/
}

.view_type_container {
    position: absolute;
    right: 5px;
    top: 7px;
}

.view_type_container .view_type_label {
    margin-right: 5px;
}

/* === EOF select datetime box === */

/* ===== EOF DateTime Controllers ===== */

/* = header date = */
#header_date {
    margin: 10px 0 0;
    color: #000;
    font-size: 14px;
    line-height: 25px;
    font-weight: 300;
}

.modules-wrapper .header_date_time_wrapper {
    line-height: 35px;
    text-align: center;
    font-weight: 300;
}

.header_date_time_wrapper .tz-label {
    font-size: 22px;
    vertical-align: middle;
    color: #000;
}

.modules-wrapper .header_date_time_wrapper {
    margin-right: 0px;
    height: auto;
}

.modules-wrapper .header_date_timezone_wrapper {
    display: inline-block;
    /*margin: 0 -60px 0 0;*/
    padding: 0;
    float: none;
    border: none;
}

.modules-wrapper .header_date_timezone_wrapper > div {
    /*width: 50px;
    line-height: 15px;*/
    line-height: 22px;
    padding: 3px;
    border: 1px solid transparent;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    cursor: pointer;
}

.modules-wrapper .header_date_timezone_wrapper > div:hover {
    border-color: #ccc;
}

.modules-wrapper .header_date_timezone_select_wrapper {
    width: 285px;
}

.modules-wrapper .header_date_timezone {
    font-size: 22px;
    /*font-variant: small-caps; */
    color: #000;
    vertical-align: middle;
}

.modules-wrapper .header_date_days {
    font-size: 18px;
    color: black;
}

.modules-wrapper .header_date_timezone_select_wrapper {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
}

.modules-wrapper .header_date_time {
    font-size: 22px;
    vertical-align: middle;
}

.modules-wrapper a.selectBox {
    height: 30px !important;
}

.modules-wrapper .timezone-alert {
    margin: 0 20px;
}

.iframe-layout .modules-wrapper .timezone-alert {
    margin: 0px;
}

/* ====== FOOTER ====== */
.footer {
    margin: 0px;
    padding: 0px;
    display: block;
    background: url('../images/bg-footer.png') #202020;
    color: #fff;
    line-height: 20px;
}

.footer-wrapper {
    margin: 0 auto;
    padding: 50px 0;
    max-width: 950px;
}

.footer p {
    clear: both;
}

.footer a {
    color: #fff;
    text-decoration: underline;
}

.footer h4 {
    font-weight: 700;
    font-size: 12px;
    padding-bottom: 20px;
}

/* tablet-phone navigation */
ul.nav-bottom {
    margin: 0px;
    padding: 0px;
    list-style: none;
}

ul.nav-bottom li {
    margin: 0px;
    padding: 0px;
    display: block;
    border-bottom: 1px solid #4d4d4d;
}

ul.nav-bottom li > a {
    width: 100%;
    display: block;
    line-height: 36px;
    height: 36px;
    font-size: 14px;
    text-align: center;
    vertical-align: middle; /* iOS loves this style */
    color: #fff;
    text-decoration: none;
}

/* EOF tablet-phone navigation */

/* footer-col styles */

.footer-col-1 img {
    margin-bottom: 20px;
}

/* ====== EOF FOOTER ====== */

/* ====== BODY ====== */

.modules {
    margin: 0px;
    padding: 0px;
    width: 100%;
}

.modules-wrapper {
    margin: 0px auto;
    padding: 0px;
    max-width: 950px;
    border-top: 1px solid #3b3b3b;
    background: #efefef;
    min-height: 250px;
}

#custom_header, #custom_footer {
    max-width: 950px;
    margin: 0px auto;
}

.SlotsV2-view .modules-wrapper, .SlotsV2-view #custom_header, .SlotsV2-view #custom_footer {
    max-width: 840px;
}

.book-form-wrap .gdpr_checkbox {
    margin-bottom: 20px;
}

.book-form-wrap .gdpr_checkbox label {
    font-size: 12px;
}

.book-form-wrap .gdpr_checkbox input[type=checkbox] {
    vertical-align: top;
}

.gdpr_checkbox a {
    text-decoration: underline;
}

.gdpr_checkbox a:hover {
    text-decoration: initial;
}

#custom_footer {
    margin-bottom: 20px;
}

.custom_confirmation_msg {
    margin: 20px;
}

.guest-custom-footer, .guest-custom-header {
    max-width: 950px;
    margin: 0px auto;
}

/* mobule header */
.module-header {
    min-height: 45px;
    max-width: 950px;
    position: relative;
    text-align: center;
}

.module-header h2 {
    font-size: 18px;
    line-height: 20px;
    text-transform: uppercase;
    color: #555;
    text-align: center;
    font-weight: 700;
    background: #efefef;
    display: inline;
    padding: 0 15px;
    position: relative;
    top: 12px;
    z-index: 5;
}

h2.list-slots-header {
    font-size: 18px;
    line-height: 20px;
    text-transform: uppercase;
    color: #555;
    text-align: center;
    font-weight: 700;
    background: #efefef;
    padding: 0 15px;
    position: relative;
    z-index: 5;
}

.list-slots-header-txt {
    width: 100%;
    position: absolute;
    display: inline-block;
    background-color: #efefef;
    z-index: 5;
}

.module-line {
    width: 100%;
    border-top: 1px solid #9f9f9f;
    position: absolute;
    top: 23px;
    z-index: 2;
}

.module-line-left-clear,
.module-line-right-clear {
    width: 15px;
    height: 1px;
    background: #efefef;
    position: relative;
    top: -1px;
}

.module-line-right-clear {
    float: right;
}

.module-line-left-clear {
    float: left;
}

/* EOF mobule header */

/* module loader */
.slotspage-loader {
    height: 70px;
    background: url(../images/ajax-loader-circle.gif) no-repeat center 20px;
    text-align: center;
    padding-top: 60px;
    font-weight: bold;
}

/* BOF Appt-Form-responcive
==============================================================================*/
.book-form-wrap {
    max-width: 950px;
    padding-bottom: 15px;
}

.book-form-wrap .box {
    max-width: 920px;
    margin: 0 auto;
    border-radius: 5px;
    border: 1px solid #cbcbcb;
    background: #ffffff;
    position: relative;
}

.book-form-wrap .inner {
    padding: 20px;
}

.book-form-wrap .left {
    width: 150px;
    display: inline-block;
    text-align: right;
    font-weight: 700;
    line-height: 15px;
    padding-top: 8px;
    vertical-align: top;
}

.book-form-wrap .right {
    padding-left: 20px;
    display: inline-block;
    width: 300px;
}

.book-form-wrap .left.no-control {
    padding-top: 0px;
}

.book-form-wrap .clearfix {
    height: 25px !important;
}

#appt_time_info_avail {
    background: url(../images/check-small.png) no-repeat left center;
    padding-left: 20px;
    margin-left: 20px;
    color: #7CC74E;
}

/* == appt-form-resp loaders + popups == */
#userinfo_appt_form .loader {
    background: url(../images/ajax-loader-circle.gif) no-repeat 50% 50% #fff;
    opacity: 0.8;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 920px;
    border-radius: 5px;
    z-index: 9998;
}

#userinfo_appt_form .booking-loader-backdrop {
    background: #fff;
    opacity: 0.8;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 920px;
    border-radius: 5px;
    z-index: 9998;
}

#userinfo_appt_form .booking-loader {
    position: absolute;
    width: 100%;
    height: 200px;
    top: 0;
    left: 0;
    z-index: 9999;
}

#userinfo_appt_form .booking-loader .loader-inner {
    position: relative;
    width: 200px;
    margin: 20px auto 0 auto;
    border-radius: 10px;
    border: 1px solid #ccc;
    box-shadow: 0 0 15px #aaa;
    background-color: #fff;
    padding: 15px 30px 30px 30px;
}

#userinfo_appt_form .booking-loader .loader-spinner {
    position: relative;
    height: 150px;
}

#userinfo_appt_form .booking-loader .loader-hdr1,
#userinfo_appt_form .booking-loader .loader-hdr2 {
    text-align: center;
}

#userinfo_appt_form .booking-loader .loader-hdr1 {
    font-weight: bold;
    font-size: 16px;
}

#userinfo_appt_form .booking-loader .loader-hdr2 {
    margin-top: 5px;
}

.book-form-wrap .email-msg {
    font-size: 14px;
    font-weight: bold;
    margin: 20px 0 30px 0;
    text-align: center;
}

.book-form-wrap .select2-container {
    width: 198px;
}

.book-form-wrap .phone-codes {
    width: 70px !important;
}

#ical_export .left {
    padding-top: 20px !important;
}

#ical_export .ical-item {
    float: left;
    width: 48px;
    padding-top: 55px;
    margin: 0 20px 10px 0;
    cursor: pointer;
    text-align: center;
}

#ical_export .ical-item:hover {
    color: #95d167;
}

.ii-ical {
    background: url(../images/icons/ical.png) no-repeat 0 0;
}

.ii-gcal {
    background: url(../images/icons/gcal.png) no-repeat 0 0;
}

.ii-outl {
    background: url(../images/icons/outlook.png) no-repeat 0 0;
}

/* BOF Freeslots-responcive
==============================================================================*/

/* slot loader */
#slot_select {
    position: relative;
}

#slotschoice_render_loader {
    background-color: #96CC68;
    color: #FFFFFF;
    display: inline-block;
    font-weight: normal;
    line-height: 16px;
    padding: 0px 5px;
    position: absolute;
    top: 0px;
    left: 0;
    z-index: 300;
    font-size: 12px;
}

.blue-edition #slotschoice_render_loader {
    background-color: #5EB5E0;
}

.slots-v2-container #slotschoice_render_loader {
    right: 0;
    left: inherit;
}

.slots-v2-container #slotschoice_render_loader .img {
    display: none;
}

#slotschoice_render_loader .txt {
    display: inline-block;
}

#slotschoice_render_loader .img {
    width: 16px;
    height: 11px;
    display: inline-block;
    margin-left: 10px;
    background: url(../images/ajax-loader-status.gif) 0 0 no-repeat #96CC68;
}

.blue-edition #slotschoice_render_loader .img {
    background-image: url(../images/ajax-loader-status-blue.gif);
}

/* warninbox */
.warningbox {
    background: #ff8080;
    border: 1px solid #d54141;
    border-radius: 5px;
    color: #fff;
    text-shadow: 1px 1px 1px #d54141;
    font-weight: bold;
    text-align: center;
    padding: 10px;
    margin-bottom: 10px;
}

.warningbox a {
    color: #fff;
    text-decoration: underline;
}

.warningbox a:hover {
    text-decoration: none;
}

/* dates range */
.slotspage-dates-range {

    display: none;

    text-align: center;
    padding: 10px 0 20px;
    font-size: 14px;
}

/* modules - slotspage */
.slot_day {
    position: relative;
}

.slot_day {
    margin-bottom: 20px;
}

.slot_day .prev-btn {
    top: 0;
    left: 0;
}

/*
.slot_day .prev-btn span.prev-btn-ico,
.slot_day .next-btn span.next-btn-ico {
    background: url("../images/arrows-8x9.png") no-repeat scroll 0 0 transparent;
    cursor: pointer;
    display: block;
    height: 9px;
    width: 8px; 
    margin: 17px 0 0 8px;
}

.slot_day .prev-btn span.prev-btn-txt,
.slot_day .next-btn span.next-btn-txt {
    color: #dfdfdf;
    float: right;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
}
.slot_day .next-btn span.next-btn-txt {
    float: left;
}

.slot_day .next-btn span.prev-btn-ico {
    background-position: 100% 100%;
}
*/

.slot_day .prev-btn, .slot_day .next-btn {
    position: absolute;
    display: block;
    height: 39px;
    width: 25px;
    cursor: pointer;
}

.slot_day .next-btn {
    top: 0;
    right: 0;
}

.slot_day .prev-btn, .slot_day .next-btn {
    position: absolute;
    display: block;
    height: 39px;
    width: auto;
    cursor: pointer;
}

.slot_day .prev-btn span, .slot_day .next-btn span {
    height: 39px;
    line-height: 39px;
    display: inline-block;
}

.slot_day .prev-btn .prev-btn-ico, .slot_day .next-btn .next-btn-ico {
    background: url("../images/arrows-8x9.png") no-repeat scroll 0 0 transparent;
    cursor: pointer;
    height: 9px;
    width: 8px;
    margin: 17px 8px 0 5px;
}

.slot_day .prev-btn .prev-btn-ico {
    margin: 17px 5px 0 8px;
}

.slot_day .prev-btn .prev-btn-txt,
.slot_day .next-btn .next-btn-txt {
    color: #dfdfdf;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
}

.slot_day .prev-btn:hover .prev-btn-txt, .slot_day .next-btn:hover .next-btn-txt {
    color: #fff;
}

.slot_day .next-btn .next-btn-ico {
    background-position: 100% 100%;
}

#slot_select h3 {
    margin: 0px;
    text-align: center;
    color: #dfdfdf;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    overflow: hidden;
    height: 34px;
    line-height: 34px;
    background: #393939;
    border-top: 5px solid #92d267;
    /*background: url(../images/bg-calhead.png) repeat-x;*/
}

.blue-edition #slot_select h3 {
    border-top-color: #5EB5E0;
}

.slots-page-overlay {
    background: none repeat scroll 0 0 #000000;
    height: 100%;
    left: 0;
    opacity: 0.3;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99990;
}

.slots-page-lightbox {
    background: none repeat scroll 0 0 #FFFFFF;
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 0 2px 2px #AAAAAA;
    left: 50%;
    margin-left: -200px;
    position: fixed;
    top: 200px;
    width: 400px;
    padding: 30px 0;
    z-index: 99991;
}

.slots-page-lightbox-txt {
    margin: 20px 20px 0px 20px;
    word-wrap: break-word;
    text-align: center;
}

.slots-page-loader-gif {
    display: block;
    margin: 10px auto 20px;
}

.appt {
    max-width: 950px;
    height: 78px;
    cursor: pointer;
    z-index: 95;
    border: 1px solid #9d9d9d !important;
    color: #555;
    text-shadow: none;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#ffffff');
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee',EndColorStr='#ffffff')";
    zoom: 1;
    background-image: -ms-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: -moz-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: -o-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #eee), color-stop(1, #fff));
    background-image: -webkit-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: linear-gradient(to bottom, #eee 0%, #fff 100%);
    border-radius: 5px;
    font-size: 14px;
    font-weight: bold;
}

.appt .appt-item {
    position: relative;
    top: 40%;
}

.appt .select-slot {
    top: 20% !important;
}

.appt-item {
    width: 33.33%;
    *width: 33.33%;
}

.slots-v2-view .appt.slotavail:hover:not(.disabled):not(.slot-clicked) {
    cursor: pointer;
    z-index: 100;
    text-align: center;
    font-size: 8px;
    border: 1px solid #95d167 !important;
    width: 94px;
    color: #fff;
    text-shadow: 1px 1px 1px #6a9546;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#b1d982', EndColorStr='#7dbf4e');
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#b1d982',EndColorStr='#7dbf4e')";
    zoom: 1;

    /* IE10 Consumer Preview */
    background-image: -ms-linear-gradient(top, #b1d982 0%, #7dbf4e 100%);

    /* Mozilla Firefox */
    background-image: -moz-linear-gradient(top, #b1d982 0%, #7dbf4e 100%);

    /* Opera */
    background-image: -o-linear-gradient(top, #b1d982 0%, #7dbf4e 100%);

    /* Webkit (Safari/Chrome 10) */
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #b1d982), color-stop(1, #7dbf4e));

    /* Webkit (Chrome 11+) */
    background-image: -webkit-linear-gradient(top, #b1d982 0%, #7dbf4e 100%);

    /* W3C Markup, IE10 Release Preview */
    background-image: linear-gradient(to bottom, #b1d982 0%, #7dbf4e 100%);
}

.blue-edition .slots-v2-view .appt.slotavail:hover:not(.disabled):not(.slot-clicked) {
    border: 1px solid #3b99d4 !important;
    text-shadow: 1px 1px 1px #3b99d4;
    background: -webkit-gradient(linear, left top, left bottom, from(#71c8e8), to(#3b99d4));
    background: -webkit-linear-gradient(top, #71c8e8, #3b99d4);
    background: -moz-linear-gradient(top, #71c8e8, #3b99d4);
    background: -ms-linear-gradient(top, #71c8e8, #3b99d4);
    background: -o-linear-gradient(top, #71c8e8, #3b99d4);
    background-image: -ms-linear-gradient(top, #71c8e8 0%, #3b99d4 100%);
}

.appt.slot-clicked {
    border: 1px solid #c2c2c2 !important;
    background: #c2c2c2 !important;
    background: -webkit-gradient(linear, left top, left bottom, from(#e6e6e6), to(#c2c2c2)) !important;
    background: -webkit-linear-gradient(top, #e6e6e6, #c2c2c2) !important;
    background: -moz-linear-gradient(top, #e6e6e6, #c2c2c2) !important;
    background: -ms-linear-gradient(top, #e6e6e6, #c2c2c2) !important;
    background: -o-linear-gradient(top, #e6e6e6, #c2c2c2) !important;
    background-image: -ms-linear-gradient(top, #e6e6e6 0%, #c2c2c2 100%) !important;
    cursor: default !important;
}

.appt.disabled {
    cursor: default !important;
}

.appt.slot-clicked {
    border: 1px solid #d2d2d2 !important;
    background: #d2d2d2 !important;
    background: -webkit-gradient(linear, left top, left bottom, from(#e6e6e6), to(#d2d2d2)) !important;
    background: -webkit-linear-gradient(top, #e6e6e6, #d2d2d2) !important;
    background: -moz-linear-gradient(top, #e6e6e6, #d2d2d2) !important;
    background: -ms-linear-gradient(top, #e6e6e6, #d2d2d2) !important;
    background: -o-linear-gradient(top, #e6e6e6, #d2d2d2) !important;
    background-image: -ms-linear-gradient(top, #e6e6e6 0%, #d2d2d2 100%) !important;
}

.appt.disabled {
    cursor: default !important;
}

.appt.disabled .btn_select_slot, .appt.slot-clicked .btn_select_slot {
    opacity: 0.5;
    cursor: default;
}

.appt .info {
    text-align: center;
}

.appt .time span {
    margin: 0 0 0 30px;
}

/* = bof btn = */
.slot_day .btn_select_slot,
.save-button,
.slot-btn,
.slot_day .disabled .btn_select_slot:hover,
.slot_day .slot-clicked .btn_select_slot:hover {
    height: 50px;
    padding: 0;
    margin: 0 20px 0 0;

    background: #7cc74e;
    background: -webkit-gradient(linear, left top, left bottom, from(#afdd80), to(#7cc74e));
    background: -webkit-linear-gradient(top, #afdd80, #7cc74e);
    background: -moz-linear-gradient(top, #afdd80, #7cc74e);
    background: -ms-linear-gradient(top, #afdd80, #7cc74e);
    background: -o-linear-gradient(top, #afdd80, #7cc74e);
    background-image: -ms-linear-gradient(top, #afdd80 0%, #7cc74e 100%);

    border-radius: 5px;
    border: none !important;
}

.blue-edition .slot_day .btn_select_slot,
.blue-edition .save-button,
.blue-edition .slot_day .disabled .btn_select_slot:hover,
.blue-edition .slot_day .slot-clicked .btn_select_slot:hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#71c8e8), to(#3b99d4));
    background: -webkit-linear-gradient(top, #71c8e8, #3b99d4);
    background: -moz-linear-gradient(top, #71c8e8, #3b99d4);
    background: -ms-linear-gradient(top, #71c8e8, #3b99d4);
    background: -o-linear-gradient(top, #71c8e8, #3b99d4);
    background-image: -ms-linear-gradient(top, #71c8e8 0%, #3b99d4 100%);
}

.slot-btn {
    white-space: nowrap;
}

.save-button {
    width: 100px;
}

.slot_day .btn_select_slot {
    width: 198px;
}

.slot_day .btn_select_slot:hover,
.slot-btn:hover,
.save-button:hover {
    background: #95d267;
    -moz-box-shadow: inset 1px 1px 5px rgba(000, 000, 000, 0.2);
    -webkit-box-shadow: inset 1px 1px 5px rgba(000, 000, 000, 0.2);
    box-shadow: inset 1px 1px 5px rgba(000, 000, 000, 0.2);
}

.blue-edition .slot_day .btn_select_slot:hover,
.blue-edition .save-button:hover {
    background: #4db0ef;
}

.slot_day .disabled .btn_select_slot:hover, .slot_day .slot-clicked .btn_select_slot:hover {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.slot_day .btn_select_slot span,
.slot-btn span,
.save-button span {
    display: inline-block;
    line-height: 50px;
    color: #fff;
    font-size: 13px;
    padding: 0 0 0 15px;
    text-shadow: 1px 1px 1px rgba(000, 000, 000, 0.2);
    font-weight: bold;
}

.slot_day .btn_select_slot .check-bg,
.slot-btn .check-bg,
.save-button .check-bg {
    height: 50px;
    width: 37px;
    display: inline-block;
    line-height: 50px;
    background: url(../images/btn-check.png) left center no-repeat scroll transparent;
    vertical-align: top;
    margin-left: 5px;
}

.blue-edition .slot_day .btn_select_slot .check-bg,
.blue-edition .slot-btn .check-bg,
.blue-edition .save-button .check-bg {
    background-image: url(../images/check-blue.png);
}

.slot-btn .check-bg {
    width: 20px;
}

.reschedule-action-btn-reschedule, .reschedule-action-btn-cancel {
    height: 40px;
    margin-right: 0;
}

.reschedule-action-btn-reschedule span, .reschedule-action-btn-cancel span {
    line-height: 40px;
}

.reschedule-action-btn-reschedule[disabled],
.reschedule-action-btn-reschedule[disabled]:hover,
.reschedule-action-btn-cancel[disabled],
.reschedule-action-btn-cancel[disabled]:hover {
    background: #ccc !important;
    box-shadow: none !important;
    cursor: default !important;
}

.reschedule-action-btn-cancel {
    background: #ed9f9f !important;
    background-image: -webkit-linear-gradient(top, #ed9f9f, #a64040) !important;
    background-image: -moz-linear-gradient(top, #ed9f9f, #a64040) !important;
    background-image: -ms-linear-gradient(top, #ed9f9f, #a64040) !important;
    background-image: -o-linear-gradient(top, #ed9f9f, #a64040) !important;
    background-image: linear-gradient(to bottom, #ed9f9f, #a64040) !important;
}

.modules-wrapper.cancellation {
    border-top: 0px none;
    background-color: transparent;
}

.cancellation .select-slot {
    width: 33%;
}

.cancellation .reschedule-button {
    width: 140px;
}

.cancellation .cancel-button {
    width: 110px;
}

.cancellation .appt {
    font-weight: normal;
    cursor: default;
    position: relative;
}

.cancellation .appt .appt-item {

}

.cancellation .appt .date {
    width: 40px;
    top: 0;
    height: 100%;
    border-right: 1px solid #C0C0C0;
    margin-right: 20px;
    border-radius: 5px 0 0 5px;
}

.cancellation .appt .date div {
    text-align: center;
}

.cancellation .appt .summary {
    top: 30%;
}

.cancellation .canceled-overlay, .cancellation .canceled-overlay-text {
    display: none;
}

.cancellation .appt.canceled .canceled-overlay {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background-color: #fff;
    top: 0;
    left: 0;
    z-index: 5;
    border-radius: 5px;
}

.cancellation .appt.canceled .canceled-overlay-text {
    position: absolute;
    display: block;
    width: 100%;
    background-color: transparent;
    text-align: center;
    top: 40%;
    left: 0;
    z-index: 6;
    text-transform: uppercase;
    font-size: 24px;
    font-weight: bold;
}

.cancellation .appt .summary-text {
}

.modules-wrapper.cancel-wrapper {
}

.cancel-wrapper #slot_select {
}

.select-time-btn {
    padding: 5px 10px;
}

/* = eof btn = */

.freeslsots-load-error, .page-error {
    color: red;
    font-size: 14px;
    margin: 0 auto;
    padding: 30px 10px;
    text-align: center;
    max-width: 500px;
}

/* EOF modules - slotspage */

/* SlotsV2 view */
.module-header, .book-form-wrap {
    margin: 0 auto;
    float: none;
}

#cal_side {
    margin-left: 10px;
    margin-bottom: 10px;
    width: 216px;
}

#datepicker_loader {
    text-align: center;
    padding-top: 5px;
}

.datepick-loader {
    background-color: #97CC68;
    color: #fff;
    bottom: 0;
    right: 0px;
    /* background-position: 280px 5px; */
    position: absolute;
    font-size: 12px;
    line-height: 16px;
    padding: 0px 5px;
}

.blue-edition .datepick-loader {
    background-color: #5EB5E0;
}

#calendar_main.slots-v2-view {
    background-color: transparent;
    width: 540px;
    float: right;
    margin-bottom: 10px;
}

.slots-v2-container {
    border: 1px solid silver;
    border-top: 6px solid #97CC68;
    margin-right: 10px;
    /*padding: 5px 10px 10px 15px;*/
    padding: 0;
    text-align: left;
    background-color: #fff;
    min-height: 50px;
    position: relative;
}

.blue-edition .slots-v2-container {
    border-top-color: #4DB2EF;
}

.slotsV2-inner-container {
    padding: 0 10px 10px 15px;
}

.slots-v2-container h3 {
    text-align: center;
    /*margin-bottom: 15px;*/
    margin: 0 0 15px 0;
    /*line-height: 25px;*/
    font-size: 14px;
    background: #393939;
    color: #fff;
    line-height: 34px;
}

.slots-v2-container .appt {
    display: inline-block;
    margin: 0 10px 10px 10px;
    position: relative;
    padding: 5px 10px;
    width: 125px !important;
    height: auto;
    white-space: nowrap;
    text-align: center;
}

.slots-v2-container .appt .time {
    padding: 0;
    font-size: 14px;
    font-weight: normal;
}

.slotsV2-nav-btn {
    /*display: inline-block;
    margin: 0 10px 10px 10px;
    width: 80px !important;
    position: relative;
    padding: 5px 10px;
    vertical-align: top !important;*/

    background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 0 none;
    color: #DFDFDF;
    cursor: pointer;
    display: block;
    font-weight: 700;
    height: 34px;
    padding: 0 15px;
    text-transform: uppercase;
    width: auto;
    position: relative;
}

.slotsV2-nav-btn .next-btn-ico, .slotsV2-nav-btn .prev-btn-ico {
    background: url(../images/arrows-8x9.png) no-repeat scroll -10px 0 transparent;
    cursor: pointer;
    height: 9px;
    margin: 0;
    position: absolute;
    top: 13px;
    right: 0;
    width: 8px;
    opacity: 0.7;
}

.slotsV2-nav-btn .prev-btn-ico {
    background-position: 0 0;
    top: none;
    left: 0;
}

.slotsV2-nav-btn:hover {
    color: #fff;
}

.slotsV2-nav-btn:hover .next-btn-ico, .slotsV2-nav-btn:hover .prev-btn-ico {
    opacity: 1;
}

.slotsV2-hdr .slotsV2-prev-btn {
    /*float:left;*/
    position: absolute;
    top: 0;
    left: 5px;
}

.slotsV2-hdr .slotsV2-next-btn {
    /*float:right;
    margin-right: 15px;*/
    position: absolute;
    top: 0;
    right: 5px;
}

.SlotsV2-view #cal_side {
    width: 270px;
}

.SlotsV2-view .minical.datepick td {
    width: 38px;
}

.SlotsV2-view .minical.datepick td a, .SlotsV2-view .minical.datepick td span {
    line-height: 36px;
}

.SlotsV2-view .minical.datepick .datepick-month-header {
    width: 200px;
}

.SlotsV2-view .minical.datepick .datepick-month-year {
    font-size: 12px;
}

.SlotsV2-view .minical.datepick .datepick-month-year {
    width: 70px;
}

.SlotsV2-view .minical.datepick .datepick-month-year:first-child {
    margin-right: 20px;
}

.SlotsV2 .minical.datepick th {
    font-size: 9px;
}

.SlotsV2-view .minical {

}

@media only screen and (max-width: 950px) {
    /* slotsV2 view */
    #calendar_main.slots-v2-view {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        float: none;
    }

    #cal_side {
        margin: 0px auto 10px auto;
        float: none;
    }

    .slots-v2-container {
        margin: 0;
    }
}

@media only screen and (max-width: 480px) {
    /*.slotsV2-nav-time {
        width: 100%;
        float: left;
    }*/
    /*.slotsV2-hdr .nav-btn-txt {
        display: none;
    }*/
    .slotsV2-nav-time {
        display: block;
        padding-top: 25px;
    }
}

#chooser-ul {
    margin: 40px 40px 10px 40px;
    padding: 0;
    list-style: none;

}

#chooser-ul li {
    cursor: pointer;
    border: 1px solid #9f9f9f;
    border-radius: 5px;
    padding: 10px;
    margin-top: 5px;
    font-size: 14px;
    line-height: 22px;
    color: #555;
    font-weight: 900;
    box-sizing: border-box;
}

#chooser-ul .circle {
    height: 100%;
    width: 100%;
    border-radius: 50%;
    box-sizing: border-box;
}

#chooser-ul li:hover {
    background: #ddd;
}

#chooser-ul li.selected .circle.inner-circle {
    background: #3596d3;
}

#chooser-ul li.selected:hover {
    background: inherit;
}

#slots_for_entity span {
    display: inline-block;
    background: #3a87ad;
    color: #fff;
    text-shadow: none;
    padding: 4px 8px;
    border-radius: 3px;
}

#slots_for_entity span:not(:last-child) {
    margin-right: 5px;
}

/* end of SlotsV2 view */

/* ===== input spinner ====== */
.input-spinner {
    display: table;
    border-collapse: separate;
}

.input-spinner .btn-group {
    /*margin: -1px 0 0 -4px;*/
    display: table-cell;
    vertical-align: top;
}

.input-spinner .btn-group button {
    padding: 2px 5px;
}

.input-spinner input {
    /*display: table-cell;*/
    vertical-align: top;
    border-radius: 4px 0px 0px 4px;
    border-right: 0px none;
}

.input-spinner .btn-group button {
    line-height: 10px;
}

.input-spinner .btn-group button span {
    display: inline-block;
    vertical-align: middle;
    width: 7px;
    height: 4px;
    background: url(../images/triangle.png) 0 0 no-repeat;
}

.input-spinner .btn-group button.btn-up span {
    background-position: 0 -4px;
}

.input-spinner .btn-group .btn-up {
    border-radius: 0px 4px 0px 0px;
}

.input-spinner .btn-group .btn-down {
    border-radius: 0px 0px 4px 0px;
}

/* ====== TOOLTIPS ====== */
.qtip {
    max-width: none !important;
    /*border-width: 1px !important;
    padding: 0 !important;*/
}

.qtip label {
    margin: 0;
}

.qtip-dark {
    background-color: #3a3a3a !important;
    color: #fff !important;
    font: 12px/16px 'Open Sans', Arial, sans-serif !important;
}

.qtip-dark .qtip-content {
    padding: 10px 15px;
}

.qtip-dark .qtip-content a {
    color: #95d167;
}

.qtip-dark .qtip-content a:hover {
    color: #fff;
}

.qtip-red {
    background-color: #FF8080 !important;
    color: #fff !important;
    font: 12px/16px 'Open Sans', Arial, sans-serif !important;
}

.qtip-red a {
    color: #fff;
    text-decoration: underline;
}

.qtip-red a:hover {
    text-decoration: none;
}

body.infusionsoft-edition .alert-edition {
    background-color: #DFF0D8;
    border-color: #D6E9C6;
    color: #468847;
}

body.blue-edition .alert-edition {
    background-color: #D9EDF7;
    border-color: #BCE8F1;
    color: #3A87AD;
}

/* RESCHEDULE */
#reschedule-table {
    width: 100%;
    border-collapse: collapse;
}

#reschedule-table tr {
    border: 1px solid #aaa;
    padding: 10px;

    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#ffffff');
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee',EndColorStr='#ffffff')";
    zoom: 1;
    background-image: -ms-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: -moz-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: -o-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #eee), color-stop(1, #fff));
    background-image: -webkit-linear-gradient(top, #eee 0%, #fff 100%);
    background-image: linear-gradient(to bottom, #eee 0%, #fff 100%);
}

#reschedule-table .reschedule-inner {
    width: 100%;
}

#reschedule-table .reschedule-inner tr {
    border: 0px none;
    background: none;
}

.prevent-reschedule {
    text-align: right;
    color: red;
    font-size: 12px;
    font-weight: bold;
}

.reschedule-date-wrapper {
    padding: 0;
    width: 60px;
    font-variant: small-caps;
    text-align: center;
    border: 1px solid #aaa;
}

.reschedule-date-day {
    padding: 3px 0;
    background-color: #efefef;
    border-bottom: 1px solid #aaa;
    font-size: 12px;
}

.reschedule-date-date {
    padding-top: 3px;
    font-size: 22px;
    line-height: 24px;
}

.reschedule-date-month {
    font-size: 12px;
    padding-bottom: 3px;
}

.reschedule-summary-wrapper {
    position: relative;
    padding: 0 15px;
}

.reschedule-summary-overlay-wrapper {
    position: relative;
}

.reschedule-item.cancel .reschedule-summary-detail {
    opacity: .2;
}

.reschedule-summary-cancel-overlay {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 40px;
    width: 100%;
    text-transform: uppercase;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    z-index: 5;
}

.reschedule-item.cancel .reschedule-summary-cancel-overlay {
    display: block;
}

.reschedule-summary-time {
    font-size: 14px;
    font-weight: bold;
}

.reschedule-summary-summary {
    font-size: 12px;
}

.reschedule-summary-summary a.mailto {
    color: #468847;
}

body.blue-edition .reschedule-summary-summary a.mailto {
    color: #3A87AD;
}

.reschedule-summary-summary a.mailto:hover {
    text-decoration: underline;
}

.reschedule-action-btn {
    width: 100px;
    text-align: center;
    padding-left: 5px;
}

.reschedule-item.cancel .reschedule-action-btn {
    opacity: .2;
}

.reschedule-cancel-loader {
    width: 20px;
    height: 20px;
}

.trigger-form-number {
    margin: 0 3px;
    padding: 3px;
    background: #f7f7f7;
    background: -moz-linear-gradient(
            top,
            #f7f7f7 0%,
            #fefefe 75%,
            #fefefe);
    background: -webkit-gradient(
            linear, left top, left bottom,
            from(#f7f7f7),
            color-stop(0.75, #fefefe),
            to(#fefefe));
    border: 1px solid #ddd;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

#payment-content {
    position: relative;
    width: 500px;
    border: 1px solid #999;
    padding: 20px;
    border-radius: 20px;
}

#payment-amount {
    font-size: 20px;
    background: #efefef;
    padding: 0px 10px;
    border-radius: 5px;
}

#payment-powered-by-stripe {
    display: block;
    position: absolute;
    width: 119px;
    height: 26px;
    right: 20px;
    bottom: 10px;
    background: url(../images/powered-by-stripe.png) no-repeat;
}

#payment-cc-status {
    display: inline-block;
    width: 46px;
    height: 28px;
    vertical-align: top;
    background: url(../images/cc-images.png) 0 -168px no-repeat;
}

#payment-cc-status.mastercard {
    background-position: 0 0;
}

#payment-cc-status.visa {
    background-position: 0 -28px;
}

#payment-cc-status.americanexpress {
    background-position: 0 -56px;
}

#payment-cc-status.discover {
    background-position: 0 -84px;
}

#payment-cc-status.dinersclub {
    background-position: 0 -112px;
}

#payment-cc-status.jcb {
    background-position: 0 -140px;
}

#payment-name-status, #payment-exp-status, #payment-cvc-status {
    display: inline-block;
    width: 28px;
    height: 28px;
    vertical-align: top;
    background: url(../images/cancel.png) 0 7px no-repeat;
}

#payment-submit-success {
    background: url("../images/check-small.png") no-repeat;
    text-indent: 18px;
    font-weight: bold;
}

.stripe-elm-container {
    width: 150px;
    border: 1px solid #ccc;
    padding: 5px 7px;
    border-radius: 4px;    
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);    
}
#card-expiry-elm {
    width: 60px;
}
#card-cvc-elm {
    width: 40px;
}
.stipe-elm-label {
    padding-top: 4px;
}

/* ====== MEDIA ====== */

@media only screen and (max-width: 979px) {
    a.logo img {
        max-width: 320px;
    }

    .box {
        box-shadow: 0 0 0 1px #cbcbcb; /* Epic border-overriding desicion for phones */
        border: none !important;
    }

}

@media only screen and (max-width: 768px) {

    a.logo img {
        max-width: 215px;
    }

    #header_date,
    .header-timezone-selection {
        margin-top: 5px;
    }

    #header_date {
        font-size: 14px;
    }

    .header-wrapper {
        /* padding:5px 0 0;*/
    }

    .header-wrapper h1 {
        float: none;
        text-align: center;
        width: 100%;
    }

    .header-wrapper h1 img {
        max-width: 75%;
        /*top-margin: 10px;*/
    }

    .header-date-container {
        float: none;
        width: 100%;
        text-align: center;
    }

    .header-date-container > div {
        float: none;
    }

    .header-date-container form {
        margin: 0px;
    }

    .footer-wrapper {
        padding-top: 0px;
    }

    .footer h4 {
        padding-top: 20px;
    }

    .footer-col-1,
    .footer-col-2,
    .footer-col-3 {
        text-align: center;
    }

    .footer-col-1 img {
        margin-top: 20px;
    }

    .module-header h2 {
        font-size: 14px;
    }

    #dates_range {
        font-size: 12px;
    }

    .slotspage-loader {
        height: 30px;
    }

    #slot_select h3 {
        font-size: 12px;
    }

    .appt {
        height: 58px;
        font-size: 12px;
        font-weight: bold;
        word-break: keep-all;
    }

    .cancellation .appt {
        height: 78px;
    }

    .slot_day .btn_select_slot, .slot-btn {
        height: 40px;
        width: 100px;
    }

    .slot_day .btn_select_slot .check-bg, .slot-btn .check-bg {
        height: 40px;
        line-height: 40px;
    }

    .hidden-phone {
        display: none !important;
    }

    .slot_day .btn_select_slot span.visible-phone {
        display: inline-block !important;
    }

    .slot_day .btn_select_slot span, .slot-btn span {
        line-height: 40px;
    }

    .more-timezones {
        float: none;
        width: auto;
        text-align: center;
        margin-bottom: 5px;
    }

    .logo-beta {
        display: none;
    }

    /* === APT FORM === */
    .book-form-wrap .span3 {
        display: none;
    }

    #select_timezone select.timeZoneChange {
        font-size: 10px;
        font-weight: bold;
    }

    .view_type_container {
        position: relative;
        text-align: center;
        margin: 5px 0 10px 0;
    }

}

@media only screen and (max-width: 480px) {
    .appt .time span {
        margin-left: 20px;
    }

    .slot_day .btn_select_slot,
    .slot-btn,
    .save-button {
        margin-right: 20px;
    }

    .appt .select-slot {
        top: 15% !important;
    }

    .appt .info {
        display: none;
    }

    .appt-item {
        width: 50%;
        *width: 50%;
    }

    .qtip {
        display: none;
    }

    /*.slot_day .next-btn .next-btn-txt, .slot_day .prev-btn .prev-btn-txt {
        display:none;
    }*/
    .module-header h2 {
        top: 3px;
    }

    .module-header #header_date {
        margin-top: 5px;
    }
}

.zip-search-address {
    width: 250px;
    margin: 0px auto 0 auto;
}

.zip-search-address input {
    width: 94%;
    font-size: 12px;
}

.zip-search-address label {
    font-weight: bold;
    font-size: 12px;
}

.zip-search-address .form-group {
    margin-bottom: 10px;
}

.zip_codes_navbar {
    width: 950px;
    margin: 0 15px;
}

.zip_codes_navbar ul {
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    padding: 0;
    font-size: 11px;
    line-height: 20px;
    border-width: 1px 1px 0 1px;
    border-bottom: 1px solid #e0e0e0;
}

.zip_codes_navbar li {
    border: 1px solid #e0e0e0;
    list-style-type: none;
    display: inline-block;
    border-bottom: 0px none;
}

.zip_codes_navbar li, .zip_codes_navbar li.nav_code_search a {
    border-right: 0px none;
}

.zip_codes_navbar li a {
    color: #555;
    display: inline-block;
    zoom: 1;
    text-decoration: none;
    font-size: 13px;
    height: 40px;
    line-height: 40px;
    padding: 0 33px;
    border: 1px solid #e0e0e0;
    border-width: 0 1px 0 0;
    text-align: center;

    background: #fbfbfa;
    background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfa), to(#efefef));
    background: -webkit-linear-gradient(top, #fbfbfa, #efefef);
    background: -moz-linear-gradient(top, #fbfbfa, #efefef);
    background: -ms-linear-gradient(top, #fbfbfa, #efefef);
    background: -o-linear-gradient(top, #fbfbfa, #efefef);
}

.zip_codes_navbar li a:hover, .zip_codes_navbar li.selected a {
    background: #fffffe;
}

#manage-appointments-grid-wrapper {
    position: relative;
}

#manage_appts_loader {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #97CC68;
    color: #fff;
    padding: 2px 4px;
    font-weight: bold;
}

#manage-appointments-filter {
    margin-bottom: 10px;
}

#manage-appointments-filter-switch {
    background: #f5f5f5;
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
}

#manage-appointments-filter-wrapper {
    margin-top: -8px;
    padding: 10px 20px;
    background: #f5f5f5;
    font-size: 10px;
    line-height: 40px;
    border-radius: 0 10px 10px 10px;
}

#manage-appointments-filter-wrapper input {
    box-sizing: border-box;
    border: 1px solid #aaa;
    border-radius: 4px;
    /*padding: 6px;*/
    vertical-align: middle;
    height: inherit;
    margin: 0;
    font-size: 10px;
}

.outcome-settings-datepicker,
.manage-appointments-datepicker {
    background: #fff url(../images/calendar.png) no-repeat scroll 7px 7px;
    padding-left: 25px !important;
    width: 95px;
}

.outcome-cancel-reschedule-form .outcome-form-group {
    margin-bottom: 10px;
}

.qtip-outcome-v2-cancel-reschedule {
    font-size: 12px;
}

#manage-appointments-content table {
    width: 100%;
}

#manage-appointments-content table thead th {
    background: #777777;
    color: #FFFFFF;
}

.grid-view table.items tbody tr:hover, .grid-view table.items tr.selected:hover {
    background: none repeat scroll 0 0 #e7e7e7;
}

.grid-view table.items tr.odd {
    background: none repeat scroll 0 0 #ffffff;
}

.grid-view table.items tr.even {
    background: #F8F8F8;
}

.grid-view table.items tr.selected {
    background: none repeat scroll 0 0 #ddd;
}

.manage-appointments-attendee-td {
    width: 200px;
}

.manage-appointments-attendee-td ul {
    margin: 0;
    padding: 0;
}

.attendee-tag {
    position: relative;
    /*float:left;*/
    display: inline-block;
    list-style: none;
    padding: 2px 18px 2px 4px;
    margin: 3px 2px;
    line-height: 13px;
    border: 1px solid #aaa;
    border-radius: 3px;
    box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
    background: #f9f9f9;
    cursor: default;
}

.attendee-tag.ui-sortable-placeholder {
    height: 0 !important;
}

.attendee-tag a {
    text-decoration: none;
}

.attendee-tag.last {
    padding: 2px 4px;
}

.attendee-tag.static {
    padding: 2px 4px;
}

.attendee-tag:hover {

}

.attendee-tag-delete {
    display: block;
    width: 12px;
    height: 13px;
    position: absolute;
    right: 2px;
    top: 2px;
    font-size: 1px;
    outline: none;
    background: url('../images/misc.png') right top no-repeat;
}

.attendee-tag.last .attendee-tag-delete {
    display: none;
}

.attendee-tag-delete:hover {
    background-position: right -11px;
}

.appt-user-select-wrapper {
    min-height: 35px;
    text-align: center;
}

.appt-user-select-wrapper .icon-user {
    margin-right: 7px;
    vertical-align: middle;
}

.appt-user-select-wrapper .appt-user-tag-wrapper {
    display: inline-block;
    vertical-align: middle;
}

.appt-user-type {
    background: #f9f9f9;
    margin: 8px 0;
    padding: 8px 20px;
    border-radius: 10px;
}

.appt-user-type.odd {
    /*background: none;*/
}

.appt-user-type.top {
    border-top: none;
}

.appt-user-type .appt-user-tag-wrapper {
    display: inline-block;
    vertical-align: middle;
}

.appt-user-tag-wrapper > ul {
    padding: 0;
    display: inline;
}

.appt-user-tag-wrapper > ul .attendee-tag {
    padding: 1px 4px 3px 4px;
}

.appt-user-type .appt-user-tag-wrapper > ul .attendee-tag {
    padding-right: 20px;
}

.appt-user-type.order .appt-user-tag-wrapper > ul .attendee-tag {
    padding: 1px 20px 3px 13px;
    background: #fff url(../images/drag9x17.png) 2px 1px no-repeat;
    cursor: move;
}

.appt-user-type .appt-user-tag-wrapper > ul .attendee-tag.static {
    padding-right: 5px;
}

.appt-user-type .attendee-tag .attendee-tag-delete {
    top: 3px;
}

.appt-user-select-wrapper .attendee-tag span {
    vertical-align: bottom;
}

.appt-user-tag-wrapper > ul .attendee-tag .icon-user {
    margin-right: 5px;
}

#appt-user-select, #s2id_appt-user-select {
    width: 200px;
    text-align: left;
}

#appt-scenario-select, #s2id_appt-scenario-select {
    width: 400px;
    text-align: left;
}

#appt-user-add-cancel, #appt-user-add-newuser {
    margin-left: 5px;
    font-size: 11px;
}

.appt.multiservice {
    height: auto;
    padding: 15px;
    cursor: default;
}

.appt.multiservice .appt-item {
    float: left;
}

.appt.multiservice .appt-item:first-child {
    width: 50% !important;
    /*width: auto !important;*/
}

.appt.multiservice .appt-item.img {
    width: auto !important;
    margin-right: 15px;
}

.appt.multiservice .select-slot {
    float: right;
}

.appt.multiservice .appt-item .img {
    float: left;
    margin: 0 15px 15px 0;
}

.appt.multiservice .descr {
    font-size: 12px;
    font-weight: normal;
}

.appt.multiservice .appt-item .name {
    margin-bottom: 10px;
}

.appt.multiservice .slot-btn span {
    padding: 0 15px;
}

@media only screen and (max-width: 768px) {
    .multiservice .btn_select_slot .txt {
        line-height: normal;
    }

    .multiservice .btn_select_slot .check-bg {
        display: none;
    }

    .multiservice .slot-btn {
        width: auto;
    }
}

.multiservice .all-links-wrapper .select2-container {
    width: 250px !important;
}

.inline {
    display: inline-block;
}

.form .expiration {
    width: 100px !important;
}

.modernForm .input_box {
    background: #fff !important;
    border-bottom: 1px solid gray !important;
    padding: 7px;
}

.modernForm .form .left {
    width: 100px;
}

.modernForm .generatedToken {
    display: block;
    padding: 7px;
}

.modernForm .generatedToken:hover {
    background: rgba(255,255,255,0.3);

}

.modernForm .tokenTime {
    opacity: 0.8;
    width: 120px;
    display: inline-block;
}

.modernForm .tokenTitle {
    width: 200px;
    display: inline-block;
}

.btn-big-green {
    padding:5px 20px;
}
.btn-big-green i {
    font-size:26px;
    font-weight:normal;
    color:white;
    vertical-align: middle;
}