/* ----- Start - Kursübersicht ----- */
.booker-wrapper {}

.bk-kurs {
    float: left;
    width: 100%;
}
.bk-kurs-item {
    border-bottom: 1px solid rgba(84, 90, 102, 0.75);
    margin: 0.5rem 0;
    padding: 0.5rem 0 1.5rem 0;
}
.bk-kurs-item:last-child {
    border-bottom: none;
}
.bk-kurs-item .bk-kurs-date,
.bk-kurs-item .bk-kurs-place,
.bk-kurs-item .bk-kurs-time,
.bk-kurs-item .bk-kurs-price {
    float: left;
    width: 50%;
}
.bk-link-left {
    float: left;
    width: 50%;
}
.bk-link-right {
    float: left;
    width: 50%;
}
.bk-label {
    font-weight: 900;
    margin-right: 15px;
}
.bk-kurs-item-inner > div {
    margin: .3rem 0;
}
.bk-kurs-title > h3 {
    margin: 0rem 0 0 0;
}
.booker-wrapper h3 {
    height: auto;
}
.booker-wrapper h4 {
    border-bottom:1px solid #999;
    margin-top:0.8em;
}
.booker-wrapper ul {
    margin-left:1em;
}
.bk-number {
    font-weight: bold;
    /*font-size: 0.8em;*/
}
.bk-day {
    display: inline-block;
    font-size: 1.5em;
}
.bk-kurs-btn-spacer {
    width: 10px;
    display: inline-block;
}
.bk-fieldset {
    padding:0;
    margin:0 0 15px 0;
    /*border:1px solid #D6D6D6;*/
    border:1px solid #333;
    padding-bottom:1.2em;
}
.bk-fieldset input{
    margin-bottom: 0;
}
.bk-legend {
    font-size: 1.2em;
    display: block;
    /*width: auto;*/
    color: inherit;
    padding:0;
    line-height: 1.2em;
    margin-bottom:1.5em;
    /*border-bottom: 1px solid #333;*/
    font-weight: bold;
    /*padding-bottom: 2px;*/
    padding-bottom: 0px;
}
.bk-filter {
    float: right;
    display: inline-block;
    margin: 10px 0;
}

.bk-button-bar div {
    display: inline-block;
}

.bk-modal {
  display: none;
  position: fixed;
  z-index: 999;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.4);
}

.bk-modal-wrapper {
  overflow-y: scroll;
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 40%;
}

.bk-modal-close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.bk-modal-close:hover,
.bk-modal-close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}

.bk-title-lead {/*white-space: nowrap;*/width: 80%;/* overflow:hidden;*/} /* TODO: AEG > check who this should appear, disabled on mobile */

@media screen and (max-width: 768px) {
    .bk-kurs-item .bk-kurs-date,
    .bk-kurs-item .bk-kurs-place,
    .bk-kurs-item .bk-kurs-time,
    .bk-kurs-item .bk-kurs-price {
        width: 100%;
    }
    .bk-title-lead {white-space: normal;width: unset; overflow: unset;}
}
/* ----- End - Kursübersicht ----- */


/* ----- Start - Anmeldeformular ----- */
.booker-wrapper .kl-fancy-form {
    float: left;
    min-height: 42px;
}
.booker-wrapper form p:not(.clear) {
    padding-bottom:15px;
}
.booker-wrapper form p.clear{
    clear: both;display: block !important;margin: 0;padding: 0;
}

.booker-wrapper.booker-kurs-detail p, .booker-wrapper.booker-kurs-detail li {
    line-height: 1.5em;
}

.booker-wrapper .zn_form_field.titel, 
.booker-wrapper div.zn_form_field {
    line-height: 22px !important;
    padding-top:10px;
    padding-bottom:10px;
}
.booker-wrapper .wpcf7-list-item {
    white-space: nowrap;
}
.booker-wrapper .wpcf7-list-item-label {
    line-height: 42px;
    max-width: calc(100% - 20.7px);
}
.booker-wrapper .wpcf7-list-item-label label {
    display: inline-block;
    font-weight: normal;
    white-space: normal;
    line-height: 22px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.booker-content .wpcf7-form-control {
    border-radius: 0px !important;
}
.booker-wrapper .wpcf7-form-control.wpcf7-checkbox,
.booker-wrapper .wpcf7-form-control.wpcf7-radio {
    padding:0;
}
.booker-wrapper .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label,
.booker-wrapper .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label {
    padding-right: 10px;
}
.booker-wrapper .wpcf7-form-control.wpcf7-checkbox input,
.booker-wrapper .wpcf7-form-control.wpcf7-radio input {
    height: 20px;
    margin-top:11px;
    vertical-align: top;
}
.booker-wrapper .spacer {
    height: 42px;
}
.booker-wrapper .input-disabled {
    background-color:#ffaaaa;
}
.booker-wrapper .input-read-only {
    background-color:#efefef;
}
.booker-wrapper .input-admin-only {
    border:1px solid #f00 !important;
}
.booker-wrapper .submit-wrap {
    margin: 0 15px 0 0;
}
/* ----- End - Anmeldeformular ----- */

.booker-wrapper .forward-button { 
    right: 0px;
}
.booker-wrapper .back-button img, .booker-wrapper .forward-button img {
    height: 20px;
    margin: 10px;
}
.booker-wrapper .back-button, .booker-wrapper .forward-button {
    position: absolute !important;
    width: 40px;
    height: 40px;
    border: 1px solid #D6D6D6;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display:block;
}

.booker-wrapper input[type="text"], .booker-wrapper input[type="password"], .booker-wrapper input[type="email"], .booker-wrapper input[type="url"], .booker-wrapper input[type="tel"], .booker-wrapper input[type="number"], .booker-wrapper input[type="date"], .booker-wrapper input[type="search"], .booker-wrapper input[type="range"], .booker-wrapper textarea, .booker-wrapper select {
    padding: 0 0.8rem;
    width: 100%;
    /*border-radius: 0.3rem;*/
    /*box-shadow: 0 0 0 2px transparent, 0 1px 0 rgba(0,0,0,0.08) inset;*/
    /*transition: all 0.3s;*/
    border:1px solid #D6D6D6;
    font:inherit;
}
.booker-wrapper input[type="text"], .booker-wrapper input[type="password"], .booker-wrapper input[type="email"], .booker-wrapper input[type="url"], .booker-wrapper input[type="tel"], .booker-wrapper input[type="number"], .booker-wrapper input[type="date"], .booker-wrapper input[type="search"], .booker-wrapper input[type="range"], .booker-wrapper select {
    -webkit-appearance: none;
    height: 2.8rem;
    line-height: 2.8rem;
}
.booker-wrapper input.wpcf7-form-control[type="submit"], .booker-wrapper input.wpcf7-form-control[type="button"] {
    -webkit-appearance: none;
    width: auto;
    height: inherit;
}

.booker-wrapper textarea {
    line-height: 1.5em;
    padding-top:0.65em; /*diff: (2.8-1.5)/2 */
    padding-bottom:0.65em; /*diff: (2.8-1.5)/2 */
    box-sizing: border-box;
    height: calc(5.8em + 2px);
}

.generic-form > p:first-child, .generic-form > legend + p, .generic-form > input[type="hidden"] + p, .generic-form > p.clear + p, .generic-form > p.col-sm-12,
.generic-form > div:first-child, .generic-form > legend + div, .generic-form > p.clear + div, .generic-form > div.col-sm-12 {
    /*background-color:red;*/
    padding-left:0;
}

/* overview */
.booker-wrapper .form-overview .input-value{font-weight:bold;display:inline-block;}/*line-height:20px;padding:11px 0;*/
.booker-wrapper .form-overview .kl-fancy-form, 
.booker-wrapper .form-overview .zn_form_field.titel {min-height: auto;line-height: inherit;padding-top: 0;padding-bottom: 5px;}
/*.booker-wrapper .form-overview .bk-legend {line-height:15px;margin-bottom:15px;}*/
.booker-wrapper form p:not(.clear) { padding-bottom:5px;}
.booker-wrapper .form-overview .spacer {height: auto;}
.booker-wrapper .costs-item {}
.booker-wrapper .costs-item-price {/*text-align:right;*/}
.booker-wrapper .costs-total {font-weight: normal;}
.booker-wrapper .costs-to-pay {font-weight: bold;/*font-size:1.2em;*/}
.booker-wrapper input.btn-small {padding: 0 3px; line-height: 15px; height: auto; font-size: 12px;display: inline;margin-left:5px;}
.booker-wrapper .zn_text input[type=submit] {margin-top:0;margin-bottom: 0;}

.booker-wrapper .form-overview span.wpcf7-form-control:not(.wpcf7-checkbox):not(.wpcf7-radio) { /*mkta: override wpcf7 styles for overview */
    background-color: transparent;
    border:none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    padding:0 !important;
}
.booker-wrapper .form-overview .zn_form_field.zn_text.titel,
.booker-wrapper .form-overview .zn_form_field.zn_text.spacer { /*mkta: override wpcf7 styles for overview */
    line-height: inherit !important;
}

/* parts if text above and with border-box */
/*.bk-fieldset {padding-top: 1.2em; margin-top: calc(1.2em + 15px);}*/
/*.bk-legend {position: absolute; margin-top: calc(-1.2em + -1.2em);}*/

/* parts if text above and no border ****only border-top */
/*.bk-fieldset {padding-top: 1.2em; margin-top: calc(1.2em + 15px); border-width: 1px 0 0 0;}*/
.bk-fieldset {padding-top: 1.2em; margin-top: calc(1.2em + 15px); border-width: 0;}
.bk-legend {position: absolute; margin-top: calc(-1.2em + -0.6em);}
.bk-fieldset > p:first-child, .bk-fieldset > legend + p, .bk-fieldset > input[type="hidden"] + p, .bk-fieldset > p.clear + p, .bk-fieldset > p.col-sm-12,
.bk-fieldset > div:first-child, .bk-fieldset > legend + div, .bk-fieldset > p.clear + div, .bk-fieldset > div.col-sm-12 {
    /*background-color:red;*/
    padding-left:0;
}

/* new definition with ABSOLUTE positioning; for new button-small for "change" */
.booker-wrapper .has-section-btn span {position: relative;}
.booker-wrapper input.btn-small {padding: 0 3px; line-height: 14px; height: 16px !important; font-size: 12px;
    position:absolute;
    top:4px;
    right:0;margin-right:-60px;
    margin-top:0;
    border-style: solid;
    border-width:2px 0 1px 0;
    box-sizing: border-box;
}
.booker-wrapper a.btn-change {
    display: inline-block;
    padding: 0 3px;
    line-height: 14px;
    font-size: 12px;
    position:absolute;
    bottom:2px;
    right:0;margin-right:-60px;
    margin-top:0;
    border:none;
    box-sizing: border-box;
    text-decoration: underline;
    cursor: pointer;
}
body.default .booker-wrapper a.btn-change {
    bottom:4px;
}

/* start: subdate selection */
.booker-wrapper .wrapper-subdate-item { margin: 0 50px; text-align: center; display:block; }
.subdate-container { padding-left:1px;display: block;}
.subdate-item { display:none; width: 80px;margin:5px 0 5px -1px;}
.subdate-item.checked.active { display: inline-block; }
.booker-kurs-overview .subdate-item.checked { display: inline-block; }
.subdate-item.checked { background-color: #6c757d;color:#fff;}
.subdate-item span {display: block; text-align: center;}
    .subdate-label {padding: 10px; border:1px solid #D6D6D6;border-bottom-color: #EFEFEF;}
        .subdate-wd {font-size: 0.9em; text-transform: uppercase;}
        .subdate-day {font-size: 1.8em; padding: 0.1em 0; font-weight: bold;}
        .subdate-mon {}
    .subdate-input {padding: 10px; border:1px solid #D6D6D6;border-top-width: 0;}
        .subdate-input input {padding: 10px 0;}
.subdate-has-notes .subdate-input {padding-bottom:20px;position: relative;}
.subdate-has-notes .subdate-note {bottom:3px;position: absolute;font-size:0.8em;}

.generic-form .wpcf7-form-control-wrap {
    position: unset;
}
.generic-form .wpcf7-form-control-wrap[data-size-left].has-focus::after {
    content:attr(data-size-left);
    position:absolute;
    right:20px;
    top:5px;
    color:#D6D6D6;
    font-size:0.8em;
}
.generic-form .wpcf7-form-control-wrap[data-size-left="0"].has-focus::after {
    color:#f00;
}

@media screen and (max-width:768px){/* was 720px - equal to mobile-menu*//* ipad portrait=768 */
    .booker-wrapper .col-sm-1, .booker-wrapper .col-sm-2, .booker-wrapper .col-sm-3 {
        padding-left:0;
        /*padding-right:0;*/
    }
    /*.col-sm-1, .col-sm-2, .col-sm-3,*/ .booker-wrapper .col-sm-4, .booker-wrapper .col-sm-5, .booker-wrapper .col-sm-6, .booker-wrapper .col-sm-7, .booker-wrapper .col-sm-8, .booker-wrapper .col-sm-9, .booker-wrapper .col-sm-10, .booker-wrapper .col-sm-11, .booker-wrapper .col-sm-12 {
        padding-left:0;
        padding-right:0;
    }
    .generic-form .wpcf7-form-control-wrap[data-size-left].has-focus::after {right:5px;}
    .generic-form .wpcf7-form-control-wrap[data-size-left].has-focus input {padding-right: 20px;}
    .booker-wrapper .zn_text.spacer {display: none;}
    .bk-legend {margin-bottom: 0;position: relative;}
    .booker-wrapper a.btn-change {position: unset;margin-right: 0;}
}


@media screen and (min-width:560px) {
    .subdate-item.active { display: inline-block !important; }
    .booker-wrapper .back-button-mobile, .booker-wrapper .forward-button-mobile { display: none !important; }
}
@media screen and (max-width:560px) {
    .booker-wrapper .wrapper-subdate-item { margin: 0px; }
    .booker-wrapper .back-button, .booker-wrapper .forward-button { display: none !important; }
    .subdate-container { padding-left:0; border-top:1px solid #D6D6D6;}
    .booker-kurs-overview .subdate-item { display: none !important; }
    .booker-kurs-overview .subdate-item.checked { display: block !important; }
    .subdate-item.active { display: block !important;width: auto;margin:0; }
    .subdate-item { display:none; width: auto;margin:0;}
    .subdate-item span {display: inline-block;vertical-align:bottom;}
        .subdate-label {border-color:#D6D6D6; border-top-width: 0; border-right-color: #EFEFEF;width: 80%;}
        .subdate-label span {height:30px;line-height: 30px;}
            .subdate-wd {}
            .subdate-day {padding:0 10px;font-size: 1.2em;}
            .subdate-mon {}
            .subdate-time { padding-left: 10px; }
        .subdate-input {border-width: 0px 1px 1px 0;width: 20%; height:50px;line-height: 30px;padding: 10px;padding-top:17px;}
            .subdate-input input {}
    .subdate-has-notes .subdate-input {padding-bottom:20px;padding-top:10px;position: relative;}
    .subdate-has-notes .subdate-note {bottom:0;left:0;width: 100%;}
    .bk-day { font-size: 13px; }
    .course-information { font-size: 13px; }
}
/* end: subdate selection */

/* Mozilla Firefox */
@-moz-document url-prefix() {
    .booker-wrapper input.btn-small {height: 17px !important;}
}

/* IE9, IE10 */
@media screen and (min-width:0\0) {
    .booker-wrapper input.btn-small {height: 17px !important;}
}
/* IE 10+ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .booker-wrapper input.btn-small {height: 17px !important;}
}
@media screen and (min-width: 768px) {
    .on-mob-m { 
        display: none; 
    }
}
@media screen and (max-width: 767px) {
    .no-mob-m {
        display: none;
    }
    .bk-filter {
        width: 100%;
        display: block;
        float: left;
    }
    .bk-button-bar {
        width: 100%;
        display: block;
        float: left;
    }
}

.booker-kalender .ckb-day { margin: 2px; vertical-align: baseline; }
.booker-kalender .table-header th { padding: 5px 5px; }
.booker-kalender .table-row.colored  { background-color: white; }
.booker-kalender .table-row td { padding: 5px 5px; vertical-align: middle; text-align: left !important; }
.booker-kalender td { vertical-align: top; }
.booker-kalender .anmelde-button { padding: 0.2em 1em;}
.bk-entry { min-height: 140px; }
.bk-entry .bk-entry-cours p { margin: 0px; }
.bk-entry .bk-entry-cours { padding: 5px; margin: 5px; }

.booker-kalender input[type="checkbox"] {display:none;}
.booker-kalender input[type="checkbox"] + label {line-height: initial;}
.booker-kalender input[type="checkbox"] + label::before {
  width: 15px;
  height: 15px;
  background-color: white;
  display: block;
  content: "";
  float: left;
  margin-right: 5px;
  line-height: initial;
  box-sizing: unset;
}
.booker-kurs-anmeldung select:not([disabled]) {
    background-image: url('https://www.booker360.ch/login/App_Themes/easyTennis/icons/chevron-down.svg');
    background-position: calc(100% - 20px);
    background-size: 10px;
    background-repeat: no-repeat;
}