 * { margin: 0; padding: 0; }

html,body { height: 100%; }
body { background: #fff; font: 14px/1.4 'Helvetica', 'Arial'; -webkit-font-smoothing:antialiased; -webkit-text-size-adjust: none; }

a { text-decoration: none; }
a,
button,
a.btn { transition: background-color 0.3s, color 0.3s; cursor: pointer; }

h1, h2, h3, h4, h5, h6 { line-height: 1.3; font-family: 'Helvetica', 'Arial'; }

h1 { font-size: 30px; }
h2 { font-size: 28px; }
h3 { font-size: 26px; }
h4 { font-size: 24px; }
h5 { font-size: 22px; }
h6 { font-size: 20px; }

input { border: 0; }

.shell:after,
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.shell { max-width: 1400px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

.ui-widget-header { background: #badce4; }
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { background: #20829a; color: #fff; border-color: #badce4; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { background: #badce4; color: #333; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { background: #3799b1; border-color: #badce4; color: #fff; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus { background: #3799b1; color: #fff; }

.schedule-wrapper { padding: 20px 0; }
.schedule-wrapper .filter-section { position: relative; }
.schedule-wrapper .filter-section .filter-row { position: relative; margin-bottom: 10px; }
.schedule-wrapper .filter-section .filter-row.main-row { position: relative; padding-right: 110px; }
.schedule-wrapper .filter-section > .filter-row:first-child { padding-bottom: 10px; border-bottom: 1px solid #ccc; }
.schedule-wrapper .filter-section .date-col { position: relative; display: inline-block; vertical-align: top; }
/*.schedule-wrapper .filter-section .date-col + .date-col { margin-left: 4%; }*/
.schedule-wrapper .filter-section .col { position: relative; display: inline-block; vertical-align: top; width: 32%; margin-left: 2%; margin-right: -4px; }
.schedule-wrapper .filter-section .col:first-child { margin-left: 0; }
.schedule-wrapper .filter-section .date-col input { display: block; padding: 8px 10px; width: 100%; box-sizing: border-box; background: #badce4; color: #333; border-radius: 3px; box-shadow: 1px 1px 3px rgba(0,0,0,0.4); border: 0; transition: background 0.3s; }
.schedule-wrapper .filter-section .date-col input:focus { outline: none; border: 0; background: #a1dcea; }
.schedule-wrapper .filter-section .date-col i { position: absolute; right: 10px; bottom: 8px; }
.schedule-wrapper .row-label { display: block; }
.schedule-wrapper .row-label { display: block; }

.schedule-wrapper .radio-field { position: relative; display: inline-block; vertical-align: top; margin-right: 10px; margin-bottom: 5px; }
.schedule-wrapper .radio-field input { position: absolute; visibility: hidden; opacity: 0; } 
.schedule-wrapper .radio-field label { display: block; padding: 9px 10px 7px; font: 12px/1.3 Helvetica; text-transform: uppercase; font-weight: 700; border-radius: 3px; background: #badce4; color: #757575; box-shadow: 1px 1px 3px rgba(0,0,0,0.4); cursor: pointer; transition: background-color 0.3s, color 0.3s; }
.schedule-wrapper .radio-field input:checked + label { background: #3799b1; color: #fff; } 
.schedule-wrapper .radio-field:hover label { background: #3799b1; color: #fff; }
.schedule-wrapper .filter-section .actions .button { position: absolute; bottom: 2px; right: 0; width: 100px; display: block; padding: 7.5px 10px 5.5px; text-align: center; background: #3799b1; color: #fff; border-radius: 3px; text-transform: uppercase; font-weight: 700; box-shadow: 1px 1px 1px rgba(0,0,0,0.5); text-shadow: 1px 1px 1px rgba(0,0,0,0.2); }
.schedule-wrapper .filter-section .actions .button:hover { background: #20829a; }

/*.schedule-wrapper .filter-section .advanced-filter { text-align: right; }*/
.schedule-wrapper .filter-section .advanced-filter .col { vertical-align: bottom; }
.schedule-wrapper .filter-section .button { width: 185px; display: inline-block; vertical-align: bottom; padding: 7.5px 10px 5.5px; margin-left: 20px; text-align: center; background: #3799b1; color: #fff; border-radius: 3px; text-transform: uppercase; font-weight: 700; box-shadow: 1px 1px 1px rgba(0,0,0,0.5); text-shadow: 1px 1px 1px rgba(0,0,0,0.2); }
.schedule-wrapper .filter-section .button:hover { background: #20829a; }
.schedule-wrapper .filter-section .filter-col-fixedwidth { width: 200px; }

.schedule-wrapper .filter-section .dd { position: relative; }
.schedule-wrapper .filter-section .dd-head { position: relative; padding: 9px 10px 7px; font: 12px/1.3 Helvetica; font-weight: 700; border-radius: 3px; background: #badce4; color: #757575; box-shadow: 1px 1px 3px rgba(0,0,0,0.4); cursor: pointer; transition: background 0.3s; }
.schedule-wrapper .filter-section .dd-head i { position: absolute; top: 1px; right: 5px; transition: transform 0.3s, right 0.3s, top 0.3s; color: #757575; font-size: 22px;  }
.schedule-wrapper .filter-section .dd-body { position: absolute; top: 100%; left: 0; width: 100%; transition: opacity 0.3s, transform 0.3s; opacity: 0; visibility: hidden; transform: translateY(20px); z-index: 9; background: #a1dcea; border-radius: 0 0 3px 3px; }
.schedule-wrapper .filter-section .dd .dd-body .dd-field { display: block; position: relative; }
.schedule-wrapper .filter-section .dd .dd-body .dd-field input { position: absolute; opacity: 0; visibility: hidden; }
.schedule-wrapper .filter-section .dd .dd-body .dd-field label { display: block; padding: 4px 10px; color: #757575; cursor: pointer; transition: background-color 0.3s, color 0.3s; }
.schedule-wrapper .filter-section .dd .dd-body .dd-field label:hover { background: rgba(255,255,255,0.5); }
.schedule-wrapper .filter-section .dd .dd-body .dd-field input:checked + label { color: #333; background: rgba(255,255,255,0.5); }

.schedule-wrapper .filter-section .dd-head:hover,
.schedule-wrapper .filter-section .dd.show .dd-head { background: #a1dcea; }
.schedule-wrapper .filter-section .dd.show .dd-head i { transform: rotateZ(-90deg); right: 8px; top: 3px; }
.schedule-wrapper .filter-section .dd.show .dd-head { box-shadow: none; border-radius: 3px 3px 0 0; }
.schedule-wrapper .filter-section .dd.show .dd-body { opacity: 1; visibility: visible; transform: translateY(0px); box-shadow: 0 1px 2px -1px rgba(0,0,0,0.4); }

.schedule-body .schedule-list { position: relative; overflow: hidden; background: #fff; box-shadow: 0 1px 3px 0 rgba(0,0,0,0.4); border-radius: 2px; }
.schedule-body .schedule-list .item-day { display: block; padding: 5px 10px; background: rgba(0,0,0,0.02); box-shadow: 0 1px 1px rgba(0,0,0,0.2); }
.schedule-body .schedule-list .item-day div { display: inline-block; font-weight: 700; font-size: 18px; color: #3799b1; }

.schedule-body .schedule-list .item { position: relative; padding: 5px; border-bottom: 1px solid #e0e0e0; color: #333; font-size: 14px; line-height: 1.3; transition: background 0.3s, color 0.3s, text-shadow 0.2s; 
	display: grid; grid-template-columns: 90px auto 127px; column-gap: 10px; align-items: center; }
.schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 90px auto 77px 20px 127px; }
.schedule-body .schedule-list .show-capacity-col .item.no-participant { grid-template-columns: 90px auto 77px 127px; }
.schedule-wrapper-list .schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 90px auto 60px 90px; }
/* .schedule-wrapper-list .schedule-body .schedule-list .show-capacity-col .item.waiting-list { grid-template-columns: 90px auto 60px 115px 90px; } */
.schedule-wrapper-list .schedule-body .schedule-list .show-capacity-col .item .waiting-label span { display: inline-block; padding: 0 5px; border-radius: 2px; line-height: 1.4; background: orange; color: #fff; }

.booking-false .schedule-body .schedule-list .item { grid-template-columns: 90px auto; }
.booking-false .schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 90px auto 77px 20px; }
.booking-false .schedule-body .schedule-list .show-capacity-col .item.no-participant { grid-template-columns: 90px auto 77px; }

.schedule-body .schedule-list .item:hover { background: #3799b1; color: #fff; text-shadow: 1px 1px 1px rgba(0,0,0,0.2); z-index: 3; }
.schedule-body .schedule-list .item .name { display: flex; justify-content: space-between; }
.schedule-body .schedule-list .item .name span { margin-left: 5px; border-left: 1px solid #e0e0e0; padding-left: 5px; }
.schedule-body .schedule-list .item .people { font-size: 12px; line-height: 20px; text-align: center; }

.schedule-body .schedule-list .item .time { /*left: 10px;*/ font-size: 14px; }
.schedule-body .schedule-list .item .time strong { font-size: 12px; display: inline-block; vertical-align: top; margin-top: 1px; margin-right: 5px; }
.schedule-body .schedule-list .item .time strong:after { content: '|'; margin-left: 8px; display: inline-block; vertical-align: middle; }
.schedule-body .schedule-list .item .actions { text-align: center; }
.schedule-body .schedule-list .item .actions span { display: inline-block; vertical-align: middle; text-align: center; font-size: 11px; text-transform: uppercase; transition: box-shadow 0.3s; border-radius: 2px; }
.schedule-body .schedule-list .item .actions i { display: inline-block; vertical-align: middle; margin-left: 2px; }

.schedule-body .schedule-list .item .att-clients { position: relative; z-index: 2; text-align: center; }
.schedule-body .schedule-list .item .att-clients .clients-icon { position: relative; display: block; padding: 3px; }
.schedule-body .schedule-list .item .att-clients .clients-icon i { transition: transform 0.3s; }
.schedule-body .schedule-list .item .att-clients .clients-icon:after { content: attr(tip); position: absolute; top: 100%; right: 0; width: 140px; padding: 5px; background: #fff; border-radius: 2px; box-shadow: 0 1px 1px rgba(0,0,0,0.5); color: #333; display:none; font-family: Arial, sans-serif; font-size: 70%; line-height: 1.3; text-shadow: none; }
.schedule-body .schedule-list .item .att-clients .clients-icon:hover:after { display: block; }
.schedule-body .schedule-list .item .att-clients .clients-icon:hover i { transform: scale(1.3); }
.schedule-body .schedule-list .item .link { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; }

.schedule-body .schedule-list .item.full-event { opacity: 0.5; pointer-events: none; }
.cancel-action { text-align: center; padding-top: 10px; }
.cancel-action h6 { margin-bottom: 10px; line-height: 1.2; font-size: 16px; }
/* .cancel-action a { display: inline-block; padding: 5px 10px; background: red; color: #fff; } */


.schedule-body .schedule-list .item-day { font-size: 18px; }
.schedule-body .schedule-list .item-day div { font-size: 24px; }

.schedule-list.hide .col { display: none; }
.schedule-list.hide .col.show { display: block; }

#scheduleEventInfo .shell,
#scheduleEventInfo .schedule-wrapper { position: relative; height: 100%; box-sizing: border-box; }
#scheduleEventInfo .schedule-wrapper { display: flex; flex-direction: column; justify-content: center; padding: 80px 0; }
#scheduleEventInfo .schedule-wrapper .footer { position: absolute; bottom: 10px; right: 0; }

.event-box { display: inline-block; vertical-align: middle; max-width: 600px; width: 100%; margin: 0 auto; border-radius: 2px; box-shadow: 0 0 4px 1px rgba(0,0,0,0.5); border-radius: 3px; box-sizing: border-box; text-align: center; color: #333; }
.event-box h2 { padding: 20px; background: #3799b1; color: #fff; font-size: 30px; }
.event-box h3 { padding: 10px; box-shadow: 0 1px 1px -1px rgba(0,0,0,0.5); font-size: 16px; text-align: left; }
.event-box h3 small { font-weight: 400; color: #8c8c8c; }
.event-box .actions { padding: 30px 10px; text-align: center; font-size: 16px; }
.event-box .actions h4 { padding: 0 30px; font-weight: 400; line-height: 1; font-size: 22px; margin-bottom: 10px; }
.event-box .actions a { display: inline-block; vertical-align: middle; padding: 5px 10px; font-size: 14px; font-weight: 700; text-transform: uppercase; line-height: 1.3; background: #e94124; color: #fff; box-shadow: 0 0 1px rgba(0,0,0,0.5); border-radius: 2px; border: 0; }

.event-box .actions.show-error a { opacity: 0.5; pointer-events: none; }
.event-box .actions .error { display: block; font-weight: 700; color: #e94124; text-align: center; padding-top: 10px; display: none; }

.event-box .actions.show-error .error { display: block; }
.event-box .actions.show-success p,
.event-box .actions.show-success a,
.event-box .actions.show-success .error { display: none; }
.event-box .actions.show-success .success { display: block; }
.event-box .actions .success { display: none; text-align: center; font-weight: 700; color: #3799b1; }

.popup-wrapper { display: none; }
.popup-wrapper.shown { display: block; }
.popup-wrapper h2 { color: #333; }
.popup-wrapper .popup-overlay { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.1); opacity: 0; visibility: hidden; transition: opacity 0.3s; }
.popup-wrapper .popup { position: absolute; top: 50%; left: 50%; box-sizing: border-box; max-width: 500px; width: 100%; padding: 10px 10px 20px; margin-left: -250px; background: rgba(255,255,255,0.9); box-shadow: 0 2px 5px rgba(0,0,0,0.4); border-radius: 5px; opacity: 0; visibility: hidden; transform: scale(0.32) translate3d(0,-100%,0); transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; -webkit-font-smoothing: antialised; backface-visibility: hidden; -webkit-font-smoothing: subpixel-antialiased;}
.popup-wrapper .popup .close { position: absolute; top: 0px; right: 5px; font-size: 22px; border-radius: 5px; color: #616161b3; transition: color 0.3s; }
.popup-wrapper .popup .close:hover { color: rgba(0,0,0,1); }

.popup-wrapper .popup { max-width: 600px; margin-left: -300px; }
.popup-wrapper .popup.no-photo { max-width: 500px; margin-left: -250px; }

.popup-wrapper.show { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9; }
.popup-wrapper.show .popup-overlay { opacity: 1; visibility: visible; background: rgba(0,0,0,0.5); }
.popup-wrapper .popup.show { opacity: 1; visibility: visible; transform: scale(1) translate3d(0,-50%,0); }

.shcedule-popup .popup { box-sizing: content-box; max-height: 95%; overflow-y: scroll; padding: 0; }
.shcedule-popup .popup .inner-popup-wrapper { position: relative; padding: 10px 0 20px 225px; }
.shcedule-popup .popup.no-photo .inner-popup-wrapper { position: relative; padding: 0; }

.shcedule-popup .popup .popup-bg { position: absolute; top: 0; left: 0; width: 225px; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center center; border-radius: 5px 0 0 5px; }
.shcedule-popup .popup form { padding: 20px 10px; transition: opacity 0.3s; }
.shcedule-popup .popup form.form-loading .form-field { pointer-events: none; }
.shcedule-popup .popup form.form-loading .form-actions .button { opacity: 0.1; pointer-events: none; }

.shcedule-popup .popup-head { margin-bottom: 10px; font-size: 16px; line-height: 1.5; padding-top: 0; }
.shcedule-popup .no-photo .popup-head { text-align: center; }
.shcedule-popup .popup-head h3 { margin-bottom: 10px; font-size: 18px; text-transform: uppercase; color: #525252; text-align: center; }
.shcedule-popup .popup-head p.desc { font-size: 14px; }
.shcedule-popup .popup-head span.time,
.shcedule-popup .popup-head span.date { display: inline-block; margin: 0 2px; font-size: 13px; font-weight: 700; }
.shcedule-popup .popup-head span.title { display: block; font-weight: 700; font-size: 16px; text-align: center; }
.shcedule-popup .popup-head small { font-weight: 700; }

.waiting-popup .popup-head { margin-bottom: 20px; text-align: center; }
.waiting-popup.popup-wrapper .popup { padding: 20px 10px; }

.popup-wrapper .form-field { margin-bottom: 7px; }
.popup-wrapper .form-field label { display: block; margin-bottom: 0px; font-size: 13px; }
.popup-wrapper .form-field input { display: block; width: 100%; height: 30px; padding: 5px 10px; font-size: 16px; line-height: 20px; border: 0; box-shadow: 0px 0px 1px rgba(0,0,0,0.4); border-radius: 3px; box-sizing: border-box; background: #fff!important; }
.popup-wrapper .form-field input.ng-invalid.ng-touched { border: 1px solid #e03358; background: #ffc8d4!important; }
.popup-wrapper .form-row.ta-right { text-align: right; }
.popup-wrapper .add-btn { display: inline-block; margin-bottom: 5px; padding: 5px 10px; border-radius: 2px; background: green; color: #fff; }
.popup-wrapper .add-btn.disabled { display: none; }

.popup-wrapper .form-group,
.event-single-box .box-actions .form-group { position: relative; border-bottom: 1px solid #ccc; margin-bottom: 10px; }
.popup-wrapper .popup .form-group .form-field,
.event-single-box .box-actions .form-group .form-field { float: left; width: 49%; margin: 0 0 10px 2%; }
.popup-wrapper .popup .form-group .form-field.full-width,
.event-single-box .box-actions .form-group .form-field.full-width { float: left; width: 100%; margin: 0 0 10px 0%; }
.popup-wrapper .popup .form-group .form-field-large,
.event-single-box .box-actions .form-group .form-field-large { width: 100%; margin-left: 0; }
.popup-wrapper .popup .form-group .form-field:nth-child(2n+1),
.event-single-box .box-actions .form-group .form-field:nth-child(2n+1) { margin-left: 0; }
.event-single-box .box-actions .form-group a,
.popup-wrapper.shcedule-popup .form-group a { position: absolute; top: 0; right: 0; color: red; font-weight: 700; }

.popup-wrapper .form-field.form-field-checkbox,
.event-single-box .box-actions .form-field.form-field-checkbox { text-align: left; padding: 2px 0 0 25px; margin-bottom: 3px; position: relative; }
.popup-wrapper .form-field.form-field-checkbox input,
.event-single-box .box-actions .form-field.form-field-checkbox input {position: absolute; top: 1px; left: 0; display: inline-block; vertical-align: middle; width: 20px; height: 20px; padding: 0; font-size: 14px; box-shadow: none; margin-right: 5px; }
.popup-wrapper .form-field.form-field-checkbox label,
.event-single-box .box-actions .form-field.form-field-checkbox label { display: inline-block; vertical-align: middle; margin: 0; }
.popup-wrapper .form-field.form-field-checkbox label a,
.event-single-box .box-actions .form-field.form-field-checkbox label a { color: red; }

.popup-wrapper .form-actions { padding-top: 15px; text-align: center; }
.popup-wrapper .form-actions .button { display: inline-block; padding: 7px 15px; font-size: 14px; line-height: 1.3; color: #fff; text-transform: uppercase; border-radius: 2px; background: #3799b1; cursor: pointer; transition: background-color 0.3s; font-weight: 700; }
.popup-wrapper .form-actions .button:hover { background: #12677b; }
.popup-wrapper .form-actions .button:disabled,
.popup-wrapper .form-actions .button.disabled { opacity: 0.2; pointer-events: none; }
.popup-wrapper .form-actions .alert { color: red; padding-bottom: 10px; }

.popup-wrapper .form-field select,
.popup-wrapper .form-field .dd-head { position: relative; display: block; width: 100%; height: 30px; padding: 5px 10px; font-size: 16px; line-height: 20px; border: 0; box-shadow: 0px 0px 1px rgba(0,0,0,0.4); border-radius: 3px; box-sizing: border-box; background: #fff; cursor: pointer; }
.popup-wrapper .form-field .dd-head:focus,
.popup-wrapper .form-field .dd-head:visited,
.popup-wrapper .form-field .dd-head:active,
.popup-wrapper .form-field .dd-head:hover { color: #333; }
.popup-wrapper .form-field .dd { position: relative; }
.popup-wrapper .form-field .dd-head:before { position: absolute; top: 50%; right: 5px; width: 0; height: 0; margin-top: -3px; display: block; content: ''; border-left: 3px solid transparent; border-right: 3px solid transparent; border-top: 7px solid #000; transition: transform 0.3s; }
.popup-wrapper .form-field .dd.show .dd-head:before { transform: rotate(-180deg); }
.popup-wrapper .form-field .dd.show .dd-head { background: #efefef; }
.popup-wrapper .form-field .dd-body { font-size: 14px; line-height: 20px; box-shadow: 0px 1px 2px rgba(0,0,0,0.4); border-radius: 3px; background: #fff; }
.popup-wrapper .form-field .dd-head:focus + .dd-body {display: block;}
.popup-wrapper .form-field .dd-body label { padding: 3px 10px; }

.shcedule-popup .dd-head img,
.shcedule-popup .dd-head span { display: inline-block; vertical-align: middle; }
.shcedule-popup .dd-head img { max-height: 20px; width: auto; margin-left: 5px; }

.shcedule-popup .form-field .dd-body img,
.shcedule-popup .form-field .dd-body span { display: inline-block; vertical-align: middle; }
.shcedule-popup .form-field .dd-body img { max-height: 20px; width: auto; }
.shcedule-popup .form-field .dd-body .dd-field:last-child label { box-shadow: none; }
.shcedule-popup .form-field .dd-body { position: absolute; bottom: 100%; left: 0; width: 100%; transition: opacity 0.3s, transform 0.3s, background 0.3s; opacity: 0; visibility: hidden; transform: translateY(20px); z-index: 9; background: #efefef; }
.shcedule-popup .form-field .dd.show .dd-body { opacity: 1; visibility: visible; transform: translateY(0px); box-shadow: 0 -1px 1px 1px rgba(0,0,0,0.2); }

.shcedule-popup .form-field .dd-field { position: relative; border-bottom: 1px solid #ccc; }
.shcedule-popup .form-field .dd-field:last-child { border-bottom: 0; }
.shcedule-popup .form-field .dd-field input { position: absolute; opacity: 0; visibility: hidden; }
.shcedule-popup .form-field .dd-field label { position: relative; }
.shcedule-popup .form-field .dd-field label:before { position: absolute; top: 50%; right: 10px; content: ''; width: 15px; height: 15px; margin-top: -8px; background: #f7f5cf; box-shadow: 0 0 1px 1px rgba(0,0,0,0.4); border-radius: 3px; }
.shcedule-popup .form-field .dd-field label:after { position: absolute; top: 50%; right: 13px; width: 9px; height: 9px; margin-top: -5px; content: ''; background: transparent; border-radius: 2px; transition: background-color 0.3s; }
.shcedule-popup .form-field .dd-field input:checked + label:after { background: #3799b1; }

.shcedule-popup .form-actions { position: relative; }
.shcedule-popup .form-actions .button.stripe-button { display: none; position: absolute; top: 15px; left: 50%; transform: translateX(-50%); }
.shcedule-popup .form-actions .button.stripe-button.show { display: block; }
.shcedule-popup .form-actions .button.stripe-button.disabled { opacity: 0.2; pointer-events: none; }
.shcedule-popup .form-actions.loading .spinner-wrap { display: block; }
.shcedule-popup .form-actions.loading button,
.shcedule-popup .form-actions.loading input,
.shcedule-popup .form-actions.loading a { opacity: 0.1; pointer-events: none; }

.shcedule-popup .form-row.stripe { padding-top: 10px; }
.shcedule-popup .form-row.stripe label { margin-bottom: 2px; }
.shcedule-popup .form-row.stripe #card-errors { color: red; padding-top: 2px; }

.StripeElement { background-color: white; padding: 10px 12px; border-radius: 4px; border: 1px solid transparent; box-shadow: 0 1px 3px 0 #e6ebf1; -webkit-transition: box-shadow 150ms ease; transition: box-shadow 150ms ease; }
.StripeElement--focus { box-shadow: 0 1px 3px 0 #cfd7df; }
.StripeElement--invalid { border-color: #fa755a; }
.StripeElement--webkit-autofill { background-color: #fefde5 !important; }
#payment-method-stripe .hidden { opacity: 0; visibility: hidden; position: absolute; }

.shcedule-popup .form-row table { width: 100%; padding-top: 10px; }
.shcedule-popup .form-row table td { padding: 5px; text-align: right; background: #fff; white-space: nowrap; }
.shcedule-popup .form-row table td:first-child { text-align: left; white-space: normal; }
.shcedule-popup .form-row table tr:last-child td { font-size: 15px; }
.shcedule-popup .form-row table tr:last-child td:last-child { color: red; }

.popup-wrapper .spinner-wrap { position: absolute; z-index: 99; top: 50%; left: 0; width: 100%; margin-top: -9px; text-align: center; display: none; }
.popup-wrapper .popup:before { position: absolute; top:  0; left: 0; width: 100%; height: 100%; content: ''; background: rgba(255,255,255,0.8); z-index: 98; border-radius: 5px; display: none; }
.popup-wrapper .spinner-wrap .spinner { margin: 0 auto; }

.popup-wrapper.modal-loading .popup:before,
.popup-wrapper.modal-loading .inner-popup-wrapper > .spinner-wrap { display: block; }

.clients-popup .popup-head { font-weight: bold; font-size: 20px; margin-bottom: 10px; }
.clients-popup p { text-align: center; padding-bottom: 5px; }
.clients-popup ul { list-style-type: none; margin: 0; text-align: left; }
.clients-popup ul li { position: relative; display: flex; justify-content: space-between; align-items: center; padding-bottom: 5px; margin-bottom: 5px; border-bottom: 1px solid #d2d2d2;}
.clients-popup ul li:last-child { padding-bottom: 0px; margin-bottom: 0px; border: 0; }

.error-msg,
.error-msg-block,
.success-msg { padding: 5px 10px; margin-top: 10px; border-radius: 4px; box-shadow: 1px 1px 2px rgba(0,0,0,0.4); color: #fff; font-size: 16px; display: none; cursor: pointer; }
.error-msg.show,
.error-msg-block { display: block; }
.success-msg.show { display: block; }
.success-msg { background: #3799b1; }
.success-msg.green { background: #15964f; }
.success-msg.red { background: red; }
.error-msg,
.error-msg-block { background: red; }

.schedule-wrapper .footer { width: 100%; box-sizing: border-box; text-align: right; padding: 35px 0 5px 20px; }
.schedule-wrapper .footer .powered { display: inline-block; color: #333; }
.schedule-wrapper .footer .powered img { max-height: 30px; }
.schedule-wrapper .footer .powered img,
.schedule-wrapper .footer .powered small { display: inline-block; vertical-align: middle; }
.schedule-wrapper .footer .powered small { margin-top: 5px; font-size: 12px; }

.myiframe { width: 100%; height: 320px; width: 320px; }

.banner-section { display: block; position: relative; margin-bottom: 20px; }
.banner-section img { display: block; width: auto; height: auto; max-height: 200px; max-width: 100%; margin: 0 auto; border-radius: 2px; }

.schedule-wrapper .filter-section .dd-body { height: 300px; overflow-y: scroll; }
.schedule-wrapper .filter-section .filter-col-fixedwidth .dd { margin-bottom: 5px; }
.schedule-wrapper .filter-section .filter-col-fixedwidth .dd-body { height: 200px; }

.schedule-wrapper .filter-section .filter-col { display: inline-block; vertical-align: middle; margin-right: 20px; }
.schedule-wrapper .filter-section select.mobile-el { width: 100%; border-color: transparent; height: 31px; border-radius: 2px; border-color: transparent; box-shadow: 1px 1px 2px 0 rgba(0,0,0,0.5); font-family: 'Roboto Condensed', 'Helvetica', 'Arial'; font-size: 16px; padding-left: 5px; background: rgba(0,0,0,0.15); }
.schedule-wrapper .filter-section select.mobile-el:focus { outline: none; }
.schedule-wrapper .filter-section .filter-col.filter-col-view { position: absolute; top: 0; right: 75px; margin-right: 0; }
.advanced-filter { position: relative; }
.schedule-wrapper .filter-section .advanced-filter .actions .button { right: -150px; }

.schedule-wrapper .filter-section .lang-nav { position: absolute; top: 8px; right: 0; }

.switch-field a { display: inline-block; vertical-align: middle; padding: 3px 5px; border-radius: 2px; box-shadow: 0 0 1px rgba(0,0,0,0.5); font-size: 18px; line-height: 23px; background: #badce4; color: #757575; box-shadow: 1px 1px 3px rgba(0,0,0,0.4); margin-bottom: 5px; }
.switch-field a.list { padding-top: 5px; padding-bottom: 1px; }
.switch-field a.active { background: #3799b1; color: #fff; }

.fc-toolbar.fc-header-toolbar { padding: 5px 10px; margin: 0; background: rgba(0,0,0,0.02); box-shadow: 0 1px 1px rgba(0,0,0,0.2); }
.fc-toolbar.fc-header-toolbar h2 { font-weight: 700; font-size: 24px; color: #3799b1; }
.fc-button { background: #badce4; color: #757575; box-shadow: 1px 1px 3px rgba(0,0,0,0.4); }
.fc-button:hover { background: #3799b1; color: #fff; }
.schedule-body .fc-row.fc-widget-header .fc-day-header.fc-widget-header { text-transform: uppercase; color: #3799b1; }

.spinner { width: 70px; text-align: center; }
.spinner > div { width: 18px; height: 18px; background-color: #3799b1; border-radius: 100%; display: inline-block; -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; animation: sk-bouncedelay 1.4s infinite ease-in-out both; }
.spinner .bounce1 { -webkit-animation-delay: -0.32s; animation-delay: -0.32s; }
.spinner .bounce2 { -webkit-animation-delay: -0.16s; animation-delay: -0.16s; }

.schedule-body .spinner-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 99; background: rgba(255,255,255,0.6); opacity: 1; visibility: visible; transition: opacity 0.3s, visibility 0.3s; }
.schedule-body .spinner-wrap .spinner { position: absolute; top: 50%; left: 50%; margin: -11px 0 0 -35px; }
.loaded-body .schedule-body .spinner-wrap { opacity: 0; visibility: hidden; }
body .mobile-el { display: none!important; }

#shcedule-not-popup .popup { padding-left: 0; width: 350px; max-width: 100%; margin-left: -175px; }
#shcedule-not-popup .popup-head { padding: 20px; margin: 0; }

.event-single-box { position: relative; max-width: 700px; margin: 0 auto; width: 100%; box-shadow: 0 5px 5px rgba(0,0,0,0.5); border-radius: 5px; padding-left: 300px; background: rgba(0,0,0,0.04); box-sizing: border-box; }
.event-single-box.no-photo { padding-left: 0; }
.event-single-box .box-bg { position: absolute; top: 0; left: 0; width: 300px; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center center; border-radius: 5px 0 0 5px; }
.event-single-box .box-wrap { padding: 20px; text-align: center; }
.event-single-box .box-title { margin-bottom: 20px; }
.event-single-box .box-body { font-size: 14px; }
.event-single-box .box-body p { margin-bottom: 5px; font-weight: 700; }
.event-single-box .box-body p small { font-weight: 400; }
.event-single-box .box-actions { max-width: 350px; margin: 0 auto; }
.event-single-box .box-actions .iti { width: 350px; }
.event-single-box .box-actions .form-field { margin-bottom: 10px; text-align: left; }
.event-single-box .box-actions .form-field label { display: block; }
.event-single-box .box-actions .form-field input,
.event-single-box .box-actions .form-field select { display: block; width: 100%; height: 30px; padding: 5px 10px; box-sizing: border-box; line-height: 20px; font-size: 16px; box-shadow: 0 0 1px rgba(0,0,0,0.4); border-radius: 2px; border: 0; }

.event-single-box .no-schedule { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; background: #f5f5f5; z-index: 99; }
.event-single-box .no-schedule h2 {  position: relative; top: 50%; transform: translateY(-50%); color: #333; }

.top-bar { padding: 10px 0; box-shadow: 0 3px 3px rgba(0,0,0,.3); line-height: 1.4; }
.top-bar a { display: inline-block; vertical-align: middle; border: 0; background: 0; margin-right: 5px; color: #333; }
.top-bar a + a { padding-left: 8px; border-left: 1px solid #333; }
.top-bar a:hover { color: #f09141; }
.top-bar a:focus { outline: none; }
.top-bar span { position: relative; cursor: pointer; padding-bottom: 2px; }
.top-bar span:before { position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; content: ''; background: #f09141; transition: all 0.3s; transform: scale(0); }
.top-bar span:hover:before { transform: scale(1); }

#login-popup .popup-head { padding: 10px; }
#login-popup .section-authorize .section-col, .section-authorize .section-col.login { margin-bottom: 0; }
.login-popup .popup { box-sizing: content-box; padding: 0; }

.popup-wrapper .popup .button-join { position: relative; width: 100px; text-align: center; margin-right: 20px; display: inline-block; vertical-align: middle; }
.popup-wrapper .popup .button-join .button { display: block; padding: 9px 10px 8px; }
.popup-wrapper .popup .button-join .button.stripe-button { position: absolute; top: 0; left: 0; right: 0; bottom: 0; transform: translateX(0); z-index: 2; display: none; }
.popup-wrapper .popup .button-join .button.stripe-button.show { display: block; }
.popup-wrapper .popup .form-actions .buttons-client .close { position: relative; top: auto; right: auto; display: inline-block; vertical-align: middle; background: grey; padding: 8px 5px; font-size: 14px; line-height: 1.2; color: #fff; width: 90px; text-align: center; border-radius: 2px; }

.popup-wrapper .popup .iti__country-list { width: 226px; }

.lang-nav {
	position: relative;
	display: inline-block;
	vertical-align: middle;
  }
  
  .lang-nav > a { line-height: 49px; }
  .lang-nav ul {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	z-index: 99;
  }
  .lang-nav ul li {
	display: block;
  }
  .lang-nav ul li a {
	padding: 5px 10px;
  }
  .lang-nav a {
	display: block;
	text-transform: uppercase;
	color: #000;
	padding: 0 10px;
	white-space: nowrap;
	user-select: none;
  }
  .lang-nav a i.flag {
	display: inline-block;
	vertical-align: middle;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
  }
  .lang-nav a i.flag.bg {
	background: url("../../../../Images/flags/flag-bg.jpg") no-repeat center center;
	background-size: cover;
  }
  .lang-nav a i.flag.en {
	background: url("../../../../Images/flags/flag-en.jpg") no-repeat center center;
	background-size: cover;
  }
  .lang-nav a i.flag.pl {
	background: url("../../../../Images/flags/flag-pl.jpg") no-repeat center center;
	background-size: cover;
  }
  .lang-nav a i.flag.es {
	background: url("../../../../Images/flags/flag-es.jpg") no-repeat center center;
	background-size: cover;
  }
  .lang-nav a i.flag.esc {
	background: url("../../../../Images/flags/flag-esc.jpg") no-repeat center center;
	background-size: cover;
  }
  .lang-nav a i.flag.pt {
	  background: url("../../../../Images/flags/flag-pt.jpg") no-repeat -5px center;
	  background-size: cover;
  }

@-webkit-keyframes sk-bouncedelay {
    0%, 80%, 100% { -webkit-transform: scale(0) }
    40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
    0%, 80%, 100% {  -webkit-transform: scale(0); transform: scale(0); } 
    40% { -webkit-transform: scale(1.0); transform: scale(1.0); }
}


@media (max-width: 1000px) {
	.schedule-wrapper .filter-section { padding-right: 0; margin-bottom: 20px; }
	.schedule-wrapper .filter-section .actions .button { position: static; }
	.membership-wrapper .schedule-wrapper .filter-section .actions .button { position: absolute; }
	.schedule-wrapper .filter-section .filter-row { margin-bottom: 5px; }
	.schedule-wrapper .filter-section .filter-row:first-child { margin-bottom: 10px; }
	.schedule-wrapper .filter-section .actions { text-align: right; }
	.schedule-wrapper .filter-section .actions .button { display: inline-block; }

	/* .schedule-wrapper .filter-section .filter-col.filter-col-view { right: 0; } */

	#scheduleEventInfo .schedule-wrapper { height: auto; padding: 20px 0 80px; }
}
@media (min-width: 767px) {
	.fs-mode .schedule-body .schedule-list .col .item .name { font-size: 18px;  }
	.fs-mode .schedule-body .schedule-list .col .item .name span { padding-left: 20px; margin-left: 20px;  }
	.fs-mode .schedule-body .schedule-list .col .item .time { font-weight: 700; font-size: 18px; text-align: center; }
	.fs-mode .schedule-body .schedule-list .col .item { font-size: 16px; grid-template-columns: 130px auto 115px; }
	.fs-mode .schedule-body .schedule-list .col .show-capacity-col .item { grid-template-columns: 130px auto 77px 25px 115px; }
	.fs-mode .schedule-body .schedule-list .col .show-capacity-col .item.no-participant { grid-template-columns: 130px auto 77px 115px; }
	
	.fs-mode .booking-false .schedule-body .schedule-list .col .item { grid-template-columns: 130px auto 25px; }
	.fs-mode .booking-false .schedule-body .schedule-list .col .show-capacity-col .item { grid-template-columns: 130px auto 77px 25px; }
	.fs-mode .booking-false .schedule-body .schedule-list .col .show-capacity-col .item.no-participant { grid-template-columns: 130px auto 77px; }
}

@media (max-width: 767px) {
	.schedule-wrapper { padding: 10px 0; }
	.schedule-wrapper .filter-section .col { width: 49%; margin-bottom: 10px; }
	.schedule-wrapper .filter-section .dd-col { width: 100%; margin: 0 -4px 0 0; }

	.schedule-wrapper .filter-section .actions .button { display: block; width: 100%; box-sizing: border-box; }

	.schedule-body .schedule-list .item .name,
	.schedule-body .schedule-list .item .name span { display: block; }
	.schedule-body .schedule-list .item .actions span { display: none; }

	.schedule-body .schedule-list .item { grid-template-columns: 90px auto 16px; }
	.schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 90px auto 50px 20px 16px; }
	.schedule-body .schedule-list .show-capacity-col .item.no-participant { grid-template-columns: 90px auto 50px 16px; }
	

	.booking-false .schedule-body .schedule-list .item { grid-template-columns: 90px auto; }
	.booking-false .schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 90px auto 50px 20px; }
	.booking-false .schedule-body .schedule-list .show-capacity-col .item.no-participant { grid-template-columns: 90px auto 50px; }

	.schedule-wrapper .filter-section .filter-row.main-row { padding-right: 0; padding-top: 25px; }
	.schedule-wrapper .filter-section .lang-nav { top: -10px; }
	.schedule-wrapper .filter-section .lang-nav > a { padding: 0; }
	.schedule-wrapper .filter-section .lang-nav ul { left: auto; right: 0; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 50%); }
	.public-schedule-wrapper .shell { padding: 0 5px; }

	.error-msg,
	.success-msg { font-size: 12px; }
	
	.schedule-body .schedule-list .item .name span { float: none; border: 0; padding-left: 0; display: block; margin-left: 0; }
	.schedule-wrapper .filter-section .filter-col { margin: 0; }

	.filter-col-view { display: none!important; }
	#calendar { display: none!important; }
	.schedule-body .schedule-list { display: block!important; }
	.membership-wrapper .schedule-wrapper .filter-section .actions .button { position: static; }
	.schedule-wrapper .filter-section .filter-col.filter-col-fixedwidth { width: 100%; margin-top: 10px; }
	.schedule-body .schedule-list .item-day div { font-size: 20px; }
	.schedule-wrapper .filter-section .filter-col { display: block; }
	.schedule-wrapper .filter-section .filter-col:first-child { margin-bottom: 10px; }

	.popup-wrapper .popup { width: 90%; margin-left: 0; left: 5%; max-width: 100%; box-sizing: border-box; }
	/*#shcedule-popup .popup { width: 260px; margin-left: -130px; }*/
	.schedule-wrapper .filter-section .advanced-filter { text-align: right; }
	.schedule-wrapper .filter-section .col { margin-right: -2px; text-align: left; }
	.shcedule-popup .popup,
	.shcedule-popup .popup.popup-event,
	#shcedule-not-popup.shcedule-popup .popup { width: 90%; margin-left: 0; left: 5%; max-width: 100%; box-sizing: border-box; }

	body .mobile-el { display: block!important; }
	body .desktop-el { display: none!important; }

	.schedule-wrapper .filter-section .filter-col-gym { padding-bottom: 5px; border-bottom: 5px solid #a112ab; }
	.schedule-wrapper .filter-section .filter-col-gym .row-label { text-transform: uppercase; }
	.schedule-wrapper .filter-section .filter-col-gym select.mobile-el { height: 40px; font-size: 20px; }

	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section .filter-col,
	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section .advanced-filter { opacity: 0.5; pointer-events: none; }
	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section.choosedGym .filter-col,
	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section.choosedGym .advanced-filter,
	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section .filter-col-gym { opacity: 1; pointer-events: auto; }
	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section + .schedule-section { opacity: 0; visibility: hidden; }
	.public-schedule-wrapper:not(.fs-mode) .schedule-wrapper .filter-section.choosedGym + .schedule-section { opacity: 1; visibility: visible; }

	.event-single-box { padding-left: 0; }
	.event-single-box .box-bg { position: relative; display: block; top: auto; left: auto; width: 100%; height: 300px; background-position: center 0; border-radius: 5px 5px 0 0; }
	.schedule-wrapper .filter-section .button { width: 49%; box-sizing: border-box; min-width: 185px; }
	.login-popup .popup { max-height: 95%; overflow-y: scroll; }
}

@media (max-width: 520px) {
	.shcedule-popup .popup .inner-popup-wrapper { padding: 0; }
	.shcedule-popup .popup .popup-bg { display: none; }
	.schedule-wrapper .filter-section .button { width: 100%; margin: 0; }

	.schedule-body .schedule-list .item { grid-template-columns: 73px auto 16px;  column-gap: 5px; min-height: 35px; }
	.schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 73px auto 20px 16px; }
	.schedule-body .schedule-list .show-capacity-col .item.no-participant { grid-template-columns: 73px auto 16px; }

	.booking-false .schedule-body .schedule-list .item { grid-template-columns: 73px auto; }
	.booking-false .schedule-body .schedule-list .show-capacity-col .item { grid-template-columns: 73px auto 20px; }
	.booking-false .schedule-body .schedule-list .show-capacity-col .item.no-participant { grid-template-columns: 73px auto; }

	.schedule-body .schedule-list .item .people { position: absolute; bottom: 5px; left: 5px; }
	.schedule-body .schedule-list .item .time { font-size: 12px; line-height: 20px; align-self: start; }
	/* .schedule-wrapper-list .schedule-body .schedule-list .show-capacity-col .item.waiting-list { grid-template-columns: 90px auto 115px 90px; } */
}

@media (max-height: 500px) {
	#shcedule-popup .popup form { padding: 5px 10px 10px; }
	#shcedule-popup .popup-head { font-size: 12px; margin-bottom: 5px; }
	#shcedule-popup .form-field { margin-bottom: 5px; }
	#shcedule-popup .form-field label { font-size: 12px; }
	#shcedule-popup .form-field input { height: 26px; font-size: 12px; line-height: 16px; }
	#shcedule-popup .form-actions { padding-top: 5px; }
	#shcedule-popup .form-actions input { display: block; font-size: 12px; padding: 6px 15px 4px; width: 100%; }
	.popup-wrapper .popup .close { font-size: 16px; top: 5px; right: 10px; }
	.shcedule-popup .form-field select, .shcedule-popup .form-field .dd-head { height: 26px; font-size: 12px; line-height: 16px; }
}

@media (max-height: 320px) {
	#shcedule-popup .form-field { display: inline-block; vertical-align: top; width: 49%; margin-right: -4px; margin-left: 2%; }	
	#shcedule-popup .form-field:nth-child(2n+1) { margin-left: 0; }
	#shcedule-popup .popup-head span.time,
	#shcedule-popup .popup-head span.date { display: inline-block; vertical-align: middle; margin-right: 10px; }
	#shcedule-popup .popup-head span.title { font-weight: 700; }
}