input.needed.empty {
    border: solid 2px #F84036;
}
div.cnt_smartsearch,
ul.cnt_smartsearch_filters_headers,
#termin_pobytu-dp,
#termin_pobytu_individual,
.vybrat-apartman,
#cnt_smartsearch_filter_appartments,
ul.quick_info,
.individualni-pobyt label,
.inputBox.osobniUdaje label,
.inputBox.souhlas label,
.inputBox span.checkbox label,
.cnt-box-rpt span.checkbox label,
.reservation-success,
ul.ap__vybava,
.r2_termin_pobytu_potvrzeni,
#r2_akce,
.flex {
    display: -webkit-box;
    display: flex;
    display:-ms-flexbox;
    width: 100%;
}
.cnt-rekapitulace__payment {
    justify-content: space-between;
    align-items: center;
    background-color: rgb(110 187 32 / 0.1);
    padding: .4rem .8rem;
}
.cnt-rekapitulace__payment-card {
    display: -webkit-box;
    display: flex;
    display:-ms-flexbox;
    align-items: center;
}
#r2_celkova_cena-payment-card .btn-paycard,
#r2_celkova_cena-final {
    margin-left: 1rem;
}
#r2_celkova_cena-payment-card .btn-paycard a,
#r2_celkova_cena-final {
    padding: .6rem .8rem;
    border-radius: .25rem;
    font-weight: 600;
}
#r2_celkova_cena-final {
    background-color: #ffffff;
    color: #6ebb20;
}
.cnt-rekapitulace__payment-card span.cnt__name {
    color: #213382;
}
.cnt-rekapitulace span.cnt__name {
    color: #6ebb20; 
}
.cnt-rekapitulace__payment-card span.cnt__name,
.cnt-rekapitulace span.cnt__name {
    font-size: 1.2em;
}
#r2_celkova_cena-payment-card .btn-paycard a {
    background-color: #213382;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid transparent;
}
#r2_celkova_cena-payment-card .btn-paycard a:hover {
    box-shadow: none;
    text-decoration: none;
    border: 1ps solid #ffffff;
}
span.svg-icons--payment {
    padding-right: 1rem;
    display: flex;
}
.blink {
    animation: blink 2s steps(5, start) infinite;
    -webkit-animation: blink 2s steps(5, start) infinite;
}
  @keyframes blink {
    to {
      visibility: hidden;
    }
  }
  @-webkit-keyframes blink {
    to {
      visibility: hidden;
    }
  }

ul.ap__vybava {
    margin-bottom: 1rem;
    margin-top: 1rem;
    background-color: rgba(110, 187, 32, .05);
    padding-top: .3rem;
    padding-bottom: .3rem;
}
ul.ap__vybava li {
    padding: .2rem .2rem;
    display: -webkit-box;
    display: flex;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    line-height: 1.2em;
    width: auto;
}
ul.ap__vybava li span {
    width: 100%;
}
ul.ap__vybava li::before {
    content: "";
    width: 2em;
    height: 2em;
    position: relative;
    display: block;
    margin-bottom: .4rem;
}
ul.ap__vybava li.ap__vybava-osoby::before {
    background: url(/images/svg/single-user.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-postele::before {
    background: url(/images/svg/bed-double.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-gauc::before {
    background: url(/images/svg/sofa.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-velikost::before {
    background: url(/images/svg/size.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-wifi::before {
    background: url(/images/svg/wifi.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-parking::before {
    background: url(/images/svg/parking.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-zakaz-koureni::before {
    background: url(/images/svg/zakaz-koureni.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-zakaz-psu::before {
    background: url(/images/svg/zakaz-psu.svg) center no-repeat;
}
ul.ap__vybava li.ap__vybava-pes::before {
    background: url(/images/svg/pes.svg) center no-repeat;
}
#cnt_smartsearch_filter_appartments,
ul.quick_info,
#r2_akce,
ul.ap__vybava {
    flex-wrap: wrap;
}
ul.ap__vybava {
    justify-content: space-between;
}
#cnt_smartsearch_filter_appartments .radioBox.checkBox {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}
div.cnt_smartsearch .btn {
    background-color: #6ebb20;
    border: 1px solid transparent;
}
div.cnt_smartsearch .btn:hover,
div.cnt_smartsearch .btn:focus, 
div.cnt_smartsearch .btn.active, 
div.cnt_smartsearch .btn.selected {
    color: #6ebb20;
    background-color: #ffffff;
    border-color:#6ebb20;
}
div.cnt_smartsearch fieldset.one, 
div.cnt_smartsearch fieldset.two {
    background-color: transparent;
    margin: 0;
}
.cnt_smartsearch_filters {
    width: 100%;
    padding: 10px;
    border: 1px solid #c5cbd5;
    background-color: rgba(0, 0, 0, 0.03);
}
#termin_pobytu_individual {
    padding-top: 10px;
    align-items: center;
    padding-bottom: 10px;
}
.r2_vyber_apartmanu_potvrzeni,
.r2_termin_pobytu_potvrzeni,
.r2_vyber_pobytovych_sluzeb {
    width: 100%;
    margin-top: 1rem;
    text-align: right;
}
ul.quick_info li {
    display: grid;
    display: -ms-flexbox;
    grid-template-columns: 40% auto;
    width: 100%;
    background-color: #dddddd;
    border-bottom: 1px solid #ffffff;
}
select.currency {
    margin: 0;
    padding: .4rem;
    height: auto;
    border: none;
    box-shadow: none;
}
/****/
#datum-prijezdu-box,
#datum-odjezdu-box {
    width: 50%;
}
#datum-prijezdu-box {
    margin-right: 15px;
}
#datum-prijezdu-top,
#datum-odjezdu-top {
    font-weight: 600;
    color: #6ebb20;
    padding-bottom: .8rem;
}
#datum-prijezdu-box td.ui-datepicker-current-day .ui-state-active::before,
#datum-odjezdu-box td.ui-datepicker-current-day .ui-state-active::before {
    bottom: 25%;
    content: " ";
    border: solid transparent;
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    margin-left: 0px;
    display: block;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
#datum-prijezdu-box td.ui-datepicker-current-day .ui-state-active::before {
    left: 0;
    border-left: 10px solid #ffffff;
}
#datum-odjezdu-box td.ui-datepicker-current-day .ui-state-active::before {
    right: 0;
    border-right: 10px solid #ffffff;
}
#datum-prijezdu-box td.vcasnarezervace a {
    position: relative;
}
#datum-odjezdu-box td.nightsCorrection.ui-datepicker-current-day .ui-state-active::after,
#datum-prijezdu-box td.vcasnarezervace a::after {
    position: absolute;
    font-size: 1em;
    width: 100%;
}
#datum-odjezdu-box td.nightsCorrection.ui-datepicker-current-day .ui-state-active::after {
    content: "7=6";
    left: 0;
    top: -15px;
    color: #6ebb20;
    background-color: #ffffff;
    border: 1px solid #6ebb20;
}
#datum-prijezdu-box td.vcasnarezervace a::after {
    content: "-15%";
    left: 0;
    top: -12px;
    color: #ffffff;
    background-color: #6ebb20;
    border: none;
}

#datum-prijezdu-box td.last-minute a,
#datum-prijezdu-box td.first-minute a {
    position: relative;
}

#datum-prijezdu-box td.last-minute a::after,
#datum-prijezdu-box td.first-minute a::after {
    position: absolute;
    font-size: 1em;
    width: 100%;
}

#datum-prijezdu-box td.last-minute a::after,
#datum-prijezdu-box td.first-minute a::after {
    content: "-15%";
    left: 0;
    top: -12px;
    color: #ffffff;
    background-color: #6ebb20;
    border: none;
}

#datum-prijezdu-box td.last-minute25 a::after {
    position: absolute;
    font-size: 1em;
    width: 100%;
}

#datum-prijezdu-box td.last-minute25 a::after {
    content: "-25%";
    left: 0;
    top: -12px;
    color: #ffffff;
    background-color: #6ebb20;
    border: none;
}

#datum-prijezdu-box td.last-minute10 a::after {
    position: absolute;
    font-size: 1em;
    width: 100%;
}

#datum-prijezdu-box td.last-minute10 a::after {
    content: "-25%";
    left: 0;
    top: -12px;
    color: #ffffff;
    background-color: #6ebb20;
    border: none;
}

#datum-prijezdu-box td.last-minute-percentage-5 a::after,
#datum-prijezdu-box td.first-minute-percentage-5 a::after {
    content: "-5%";
}

#datum-prijezdu-box td.last-minute-percentage-10 a::after,
#datum-prijezdu-box td.first-minute-percentage-10 a::after {
    content: "-10%";
}

#datum-prijezdu-box td.last-minute-percentage-15 a::after,
#datum-prijezdu-box td.first-minute-percentage-15 a::after {
    content: "-15%";
}

#datum-prijezdu-box td.last-minute-percentage-20 a::after,
#datum-prijezdu-box td.first-minute-percentage-20 a::after {
    content: "-20%";
}

#datum-prijezdu-box td.last-minute-percentage-25 a::after,
#datum-prijezdu-box td.first-minute-percentage-25 a::after {
    content: "-25%";
}

.cnt_smartsearch_filter .dp-range-date a.ui-state-default {
   background-color: rgba(110, 187, 32,0.5); 
   border: 1px solid transparent;
   color: #ffffff;
}
.ui-datepicker-current-day.dp-range-date {
    background-color: transparent;
}
.cnt_smartsearch_filter table th {
    color: #808588;
}
.cnt_smartsearch_filter .ui-state-default, 
.cnt_smartsearch_filter .ui-widget-content .ui-state-default, 
.cnt_smartsearch_filter .ui-widget-header .ui-state-default, 
.cnt_smartsearch_filter .ui-button, html .ui-button.ui-state-disabled:hover, 
.cnt_smartsearch_filter html .ui-button.ui-state-disabled:active {
    border-color: #c5cbd5;
    background-color: transparent;
    color: #555555;
    padding: .6rem;
    text-align: center;
}
.cnt_smartsearch_filter .ui-state-default .ui-state-active,
.cnt_smartsearch_filter .ui-widget-content .ui-state-active,
.cnt_smartsearch_filter .dp-range-date a.ui-state-default.ui-state-active {
    background-color: #6ebb20;
    border-color: #ffffff;
    color: #fff;
    position: relative;
}
.reservation-success {
    color: #6ebb20;
    border: 1px solid;
    padding: 10px 20px;
    margin: 10px;
    background-color: #fff;
}
/*****/
ul.cnt_smartsearch_filters_headers li a,
ul.cnt_smartsearch_filter {
    display: grid;
    display: -ms-flexbox;
}
ul.cnt_smartsearch_filter {
    grid-template-columns: 1fr 1fr 20rem;
    grid-gap: 1rem;
}
ul.cnt_smartsearch_filter li:nth-child(1),
ul.cnt_smartsearch_filter li:nth-child(3) {
    height: 4.5rem;
}
ul.cnt_smartsearch_filter li {
    padding: 10px;
    border: 1px solid #c5cbd5;
    background-color: #ffffff;
    border-radius: .25rem;
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    -ms-border-radius: .25rem;
    -o-border-radius: .25rem;
}
ul.cnt_smartsearch_filter li:last-child {
    border: none;
    background-color: transparent;
    text-align: right;
    grid-column: 3;
}
ul.cnt_smartsearch_filters_headers li a {
    color: #808588;
}
ul.cnt_smartsearch_filters_headers li a.active {
    color: #6ebb20;
}
ul.cnt_smartsearch_filters_headers li.cnt_li-6 .svg-icon {
    display: none;
}
ul.cnt_smartsearch_filters_headers li.cnt_li-6 span.cnt_li-span {
    margin-left: 0;
    padding-right: 15px;
    font-size: 1em;
    line-height: 1.1em;
    padding-top: .2rem;
    padding-bottom: .2rem;
}
#r2_pocet_ubytovanych,
#r2_termin_pobytu,
#r2_apartman,
#r2_celkova_cena,
.cnt_smartsearch_filters_headers #r2_pocet_noci {
    padding-left: 15px;
    grid-column: 2;
    padding-top: .2rem;
    padding-bottom: .2rem;
    font-weight: 600;
    font-size: .8em;
    align-self: center;
}
#r2_celkova_cena {
    color: #fe9102;
    font-size: 1.2em;
}
ul.cnt_smartsearch_filters_headers li a:hover,
ul.cnt_smartsearch_filters_headers li a:focus {
    text-decoration: none;
}
ul.cnt_smartsearch_filters_headers li {
    margin-right: 1.5rem;
}
ul.cnt_smartsearch_filters_headers li.cnt_li-6,
ul.cnt_smartsearch_filters_headers li ul li {
    margin-right: 0;
}
ul.cnt_smartsearch_filters_headers li ul li span.cnt_li-span{
    justify-content: left;
    padding-left: 15px;
    border-radius: .25rem;
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    -ms-border-radius: .25rem;
    -o-border-radius: .25rem;
}
ul.cnt_smartsearch_filters_headers li .active span.cnt_li-span {
    background-color: #6ebb20;
}
ul.cnt_smartsearch_filters_headers li span.cnt_li-span {
    background-color: #808588;
    border-bottom-right-radius: .25rem;
    border-top-right-radius: .25rem;
}
ul.cnt_smartsearch_filters_headers li span.cnt_li-span {
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
    align-items: center;
    font-size: 1.4em;
}
li span.svg-icon {
    background-color: #808588;
    padding: .5rem;
    border-bottom-left-radius: .25rem;
    border-top-left-radius: .25rem;
}
li span.svg-icon span.inner-icons{
    display: flex;
    width: 100%;
    height: 50px;
}
li .active span.svg-icon {
    background-color: #6ebb20;
}
li.cnt_li-1 span.svg-icon span.inner-icons {
    background: url(/images/svg/multiple-actions-add.svg) no-repeat center;
}
li.cnt_li-2 span.svg-icon span.inner-icons {
    background: url(/images/svg/calendar-1.svg) no-repeat center;
}
li.cnt_li-3 span.svg-icon span.inner-icons {
    background: url(/images/svg/hotel-bedroom-1.svg) no-repeat center;
}
li.cnt_li-4 span.svg-icon span.inner-icons {
    background: url(/images/svg/tags-add.svg) no-repeat center;
}
li.cnt_li-5 span.svg-icon span.inner-icons {
    background: url(/images/svg/task-list-approve.svg) no-repeat center;
}

.cnt_smartsearch_filter_appartment .appartment_bottom_container {
    display: flex;
    align-items: flex-start;
    margin-top: 10px;
}

.cnt_smartsearch_filter_appartment .appartment_bottom_container .right-side {
    text-align: right;
}

.cnt_smartsearch_filter_appartment .appartment_bottom_container .left-side {
    display: flex;
    grid-template-columns: auto;
    gap: 10px;
    flex-grow: 1;
    flex-wrap: wrap;
}

.nightsCorrectionDiscount {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: #f49326;
    border: solid 2px #f49326;
    border-radius: 50%;
    padding-top: 5px;
    font-size: 22px;
    font-weight: 700;
    pointer-events: none;
}

span.discount.first-minute { 
    width: 3rem;
    height: 3rem;
    background: url(/images/svg/discount-circle-15.svg) no-repeat left;
    display: inline-block;
}

span.discount.last-minute { 
    width: 3rem;
    height: 3rem;
    background: url(/images/svg/discount-circle-15.svg) no-repeat left;
    display: inline-block;
}

span.discount.last-minute25 { 
    width: 3rem;
    height: 3rem;
    background: url(/images/svg/discount-circle-25.svg) no-repeat left;
    display: inline-block;
}

span.discount.extra-last-minute.last-minute-cervenec-22 { 
    width: 3rem;
    height: 3rem;
    background: none;
    display: inline-block;
}

span.discount.extra-last-minute.last-minute-cervenec-22::after {
    content: "30%";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: #f49326;
    border: solid 2px #f49326;
    border-radius: 50%;
    padding-top: 5px;
    font-size: 19px;
    font-weight: 700;
}

span.discount.last-minute20 { 
    width: 3rem;
    height: 3rem;
    background: none;
    display: inline-block;
}

span.discount.last-minute20::after {
    content: "20%";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: #f49326;
    border: solid 2px #f49326;
    border-radius: 50%;
    padding-top: 5px;
    font-size: 19px;
    font-weight: 700;
}

span.discount.last-minute10 { 
    width: 3rem;
    height: 3rem;
    background: none;
    display: inline-block;
}

span.discount.last-minute10::after {
    content: "10%";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: #f49326;
    border: solid 2px #f49326;
    border-radius: 50%;
    padding-top: 5px;
    font-size: 19px;
    font-weight: 700;
}

span.discount.last-minute-percentage-10,
span.discount.last-minute-percentage-15,
span.discount.last-minute-percentage-20,
span.discount.last-minute-percentage-25,
span.discount.first-minute-percentage-10,
span.discount.first-minute-percentage-15,
span.discount.first-minute-percentage-20,
span.discount.first-minute-percentage-25 { 
    width: 3rem;
    height: 3rem;
    background: none;
    display: inline-block;
}

span.discount.last-minute-percentage-10::after,
span.discount.last-minute-percentage-15::after,
span.discount.last-minute-percentage-20::after,
span.discount.last-minute-percentage-25::after,
span.discount.first-minute-percentage-10::after,
span.discount.first-minute-percentage-15::after,
span.discount.first-minute-percentage-20::after,
span.discount.first-minute-percentage-25::after {
    content: "10%";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    color: #f49326;
    border: solid 2px #f49326;
    border-radius: 50%;
    padding-top: 5px;
    font-size: 19px;
    font-weight: 700;
}

span.discount.last-minute-percentage-15::after,
span.discount.first-minute-percentage-15::after {
    content: "15%";
}

span.discount.last-minute-percentage-20::after,
span.discount.first-minute-percentage-20::after {
    content: "20%";
}

span.discount.last-minute-percentage-25::after,
span.discount.first-minute-percentage-25::after {
    content: "25%";
}

span.discount.csob { 
    width: 4rem;
    height: 4rem;
    background: url(/images/svg/csob.svg) no-repeat left;
    background-size: 4rem;
    display: inline-block;
}

span.discount.avast,
span.discount.avast-first-minute { 
    width: 6rem;
    height: 3rem;
    background: url(/images/svg/avast.svg) no-repeat left;
    background-size: 6rem;
    display: inline-block;
}

#r2_celkova_puvodni_cena {
    font-size: 60%;
    text-decoration: line-through;
    color: #808588;
}
.basicprice {
    font-size: 70%;
    color: #555;
    text-align: right;
    position: relative;
}
.basicprice span.price {
    margin-right: .2rem;
}
.cnt_smartsearch_filters_headers li span:last-child {
    grid-column: 1 / span 2;
    line-height: 1.2em;
    padding-top: .8rem;
    padding-bottom: .8rem;
}
.cnt_smartsearch_filters_headers li ul li span:last-child {
    grid-column: 2;
}
.cnt_smartsearch_filters_headers li ul li span#r2_pocet_psu {
    grid-column: 3;
    align-self: center;
}
.cnt_smartsearch_filters_headers #r2_pocet_noci {
    background-color: #dddddd;
    border: none;
    box-shadow: none;
}
#termin_pobytu_individual input {
    display: none;
}
#termin_pobytu_individual label {
    position: relative;
    padding-left: 30px;
}
#termin_pobytu_individual input[type='checkbox']+label::before {
    font-family: 'FontAwesome';
    color: #6ebb20;
    font-size: 26px;
    line-height: 36px;
}
#termin_pobytu_individual input[type='checkbox']+label::before {
    content: "\f096";
    position: absolute;
    left: 0;
    top: -4px;
}
#termin_pobytu_individual input[type="checkbox"]:checked+label::before {
    content: "\f046";
}
#cnt_smartsearch_filter_vlastnosti_apartmanu {
    display: none;
}
.vybrat-apartman input {
    display: none;
}
.vybrat-apartman {
    align-self: flex-end;
    justify-content: flex-end;
}
.vybrat-apartman label {
    height: 40px;
    border: 1px solid rgba(110, 187, 32, 1);
    border-radius: 2px;
    background: rgba(110, 187, 32, 1);
    color: #ffffff;
    cursor: pointer;
    display: inline-block;
    font-family: 'IntroBoldAlt';
    font-size: 16px;
    line-height: 18px;
    outline: none;
    padding: 10px 15px;
    text-align: center;
}
.vybrat-apartman label:hover {
    color: rgba(110, 187, 32, 1);
    background-color: #ffffff;
    border: 1px solid rgba(110, 187, 32, 1);
}
.vybrat-apartman input[type="checkbox"]:checked+label::before {
    background: url(/images/svg/check-square.svg) no-repeat center;
    content: "";
    left: 15px;
    width: 3em;
    height: 3em;
    position: absolute;
    bottom: 1.1rem;
}
.individualni-pobyt input,
.inputBox.osobniUdaje input,
.inputBox.souhlas input,
.inputBox span.checkbox input,
.cnt-box-rpt span.checkbox input{
    display: none;
}
.individualni-pobyt,
.inputBox.osobniUdaje,
.inputBox.souhlas,
.inputBox span.checkbox,
.cnt-box-rpt span.checkbox {
    position: relative;
}
.inputBox.osobniUdaje label,
.inputBox.souhlas label,
.inputBox span.checkbox label,
.cnt-box-rpt span.checkbox label {
    align-items: center;
    margin-top: 1rem;
}
.individualni-pobyt label {
    margin-top: .5rem;
    margin-bottom: .5rem;
    align-items: center;
}
.individualni-pobyt input[type="checkbox"]+label::before,
.inputBox.osobniUdaje input[type="checkbox"]+label::before,
.inputBox.souhlas input[type="checkbox"]+label::before,
.inputBox span.checkbox input[type="checkbox"]+label::before,
.cnt-box-rpt span.checkbox input[type="checkbox"]+label::before  {
    background: url(/images/svg/layout-none.svg) no-repeat center;
    content: "";
    width: 1.5em;
    height: 1.5em;
    position: relative;
    margin-right: 1rem;
    background-color: #ffffff;
}
.individualni-pobyt  input[type="checkbox"]:checked+label::before,
.inputBox.osobniUdaje input[type="checkbox"]:checked+label::before,
.inputBox.souhlas input[type="checkbox"]:checked+label::before,
.inputBox span.checkbox input[type="checkbox"]:checked+label::before,
.cnt-box-rpt span.checkbox input[type="checkbox"]:checked+label::before {
    background: url(/images/svg/check-2.svg) no-repeat center;
    background-color: #ffffff;
}
.inputBox.souhlas label a {
    padding-left: .4rem;
}
.cnt-box-rpt span.checkbox {
    margin-right: 1rem;
}
.cnt_smartsearch_filter_appartment h3 {
    margin-bottom: .3rem;
}
.cnt_smartsearch_filter_appartment h3 span {
    display: block;
    color: #6ebb20;
}
.cnt_smartsearch_filter_appartment .popis-ap p {
    line-height: 20px;
    padding-bottom: 10px;
}
.cnt_smartsearch_filter_appartment .radioBox:hover, 
.cnt_smartsearch_filter_appartment .radioBox.active,
.cnt_smartsearch_filter_appartment.active > .radioBox {
    border-color: rgba(110, 187, 32, 1);
}
.cnt_smartsearch_filter_appartment .popis-ap {
    font-size: .9em;
}
.cnt_smartsearch_filter_appartment div.price {
    color: rgba(110, 187, 32, 1);
    font-weight: 600;
    text-align: right;
    font-size: 1.8em;
    padding: .1rem;
    line-height: 1.2;
    margin-bottom: 0.75rem;
}
.cnt_smartsearch_filter_appartment div.price .currency {
    padding-left: 5px;
}
.cnt_smartsearch span.descriptionSluzby {
    line-height: 1.4em;
}
/***/
#r2_form label,
.value span.value-1 {
    font-size: 16px;
    line-height: 24px;
}
.value span.value-1,
.counter span.number,
li.r2_pobyt-nabidka span.r2_pobyt_cena {
    color: #555555;
    font-weight: 600;
}
.value span.value-2 {
    font-size: 14px;
    line-height: 18px;
}
.value span.value-2,
.counter,
li.r2_pobyt-nabidka span {
    display: flex;
}
.counter {
    justify-content: center;
}
#deti_veky {
    grid-column:  1 / span 2;
    display:-webkit-flex;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}
#deti_veky div {
    margin-top: .6rem;
    border-top: 1px solid #c5cbd5;
    padding-right: .4rem;
    padding-left: .4rem;
    width: 50%;
    text-align: center;
}
#deti_veky select {
    height: 2.4rem;
    font-size: .9em;
    padding: .3rem .8rem;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.15);
    border-radius: .25rem;
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    -ms-border-radius: .25rem;
    -o-border-radius: .25rem;
}
#deti_veky label {
    padding-top: .8rem;
    padding-bottom: .4rem;
    line-height: 1em;
    font-size: .8em;
    text-align: left;
}
span.krat,
span.rovnaSe {
    padding: 0 .4rem;
}
.r2_obsazeni,
.r2_pocet_osob_celkem,
#r2_pocet_noci,
.grid,
.ui-datepicker-calendar tr,
.grid-box1,
.grid-box2 {
    display: grid;
}

li.r2_pobyt-nabidka span {
    padding: 0;
    line-height: 1.4;
    text-align: inherit;
}

li.r2_pobyt-nabidka span.r2_pobyt_cena {
    font-size: 16px;
    justify-content: flex-end;
}

.r2_obsazeni,
#r2_pocet_noci {
    grid-template-columns: 1fr 1fr;
}

.grid-box1 {
    grid-template-columns: 1fr 8rem;
}

.r2_pocet_osob_celkem,
.grid {
    grid-template-columns: auto 1fr;
}

ul.r2_pocet_osob_zadani {
    grid-row: 2 /span2;
}

.ui-datepicker-calendar tr {
    grid-template-columns: repeat(7, 1fr);
}

.r2_pocet_osob_celkem,
.r2_obsazeni,
.grid,
.grid-box {
    grid-gap: .8em;
}

.ui-datepicker-calendar tr {
    grid-gap: .2em;
}

.grid,
.grid-box1,
.grid-box2,
.counter,
.r2_pocet_osob_celkem {
    align-items: center;
}
.counter {
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.15);
    border-radius: .25rem;
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    -ms-border-radius: .25rem;
    -o-border-radius: .25rem;
}
.cenaSluzby .counter {
    box-shadow: none;
    margin-right: 1rem;
}
.cenaSluzby .counter i::before {
    color: #6ebb20;
}

ul.r2_pobyt-nabidky,
ul.quick_info {
    margin-bottom: 0;
}

#r2_pocet_osob,
#r2_pocet_noci,
.r2_pocet_osob_zadani {
    padding: 5px 15px;
    background-color: #ffffff;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.15);
}

.ui-widget.ui-widget-content,
#r2_pocet_osob,
#r2_pocet_noci,
ul.r2_pocet_osob_zadani,
#r2_kalendar_detail {
    border: 1px solid #D0D0CE;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
}
td.dp-date {
    border: 1px solid transparent;
}
#r2_kalendar_detail,
ul.r2_pocet_osob_zadani {
    box-shadow: 2px 2px 15px 1px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    z-index: 1;
}

#r2_pocet_osob span.value {
    color: #6ebb20;
    font-weight: 600;
}

ul.r2_pocet_osob_zadani {
    position: absolute;
    top: 15px;
    max-width: 500px;
    left: 0px;
}

.r2_obsazeni,
.r2_pocet_osob_prehled,
.grid-box2 label.r2_individualni_termin {
    position: relative;
}

ul.r2_pocet_osob_zadani::before {
    bottom: 100%;
    content: " ";
    border: solid transparent;
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-bottom-color: #6ebb20;
    border-width: 15px;
    margin-left: 0px;
    display: block;
    left: 50%;
}

ul.r2_pocet_osob_zadani li {
    border-bottom: 1px solid #D0D0CE;
    padding: 5px 0;
}

ul.r2_pocet_osob_zadani li:last-of-type,
li.r2_pobyt-nabidka:last-of-type {
    border: none;
    margin-top: 10px;
}

button.minus,
button.plus {
    border: 0;
    background-color: transparent;
    outline: none;
}

.grid-box2 input[type='checkbox'],
.ui-datepicker-multi .ui-datepicker-buttonpane {
    display: none;
}

.grid-box2 label.r2_individualni_termin {
    padding-left: 30px;
}

.r2_pocet_osob_prehled::after,
button.minus::before,
button.plus::before,
.grid-box2 input[type='checkbox']+label::before {
    font-family: 'FontAwesome';
    color: #6ebb20;
    font-size: 22px;
    line-height: 32px;
}

.grid-box2 input[type='checkbox']+label::before {
    content: "\f096";
    position: absolute;
    left: 0;
    top: -4px;
}

.grid-box2 input[type="checkbox"]:checked+label::before {
    content: "\f046";
}

button.minus::before,
button.plus::before {
    position: relative;
    top: 50%;
}

.r2_pocet_osob_prehled::after {
    content: "\f0d7";
    position: absolute;
    right: 10px;
    top: 50%;
}

button.minus::before {
    content: "\f068";
}

button.plus::before {
    content: "\f067";
}

.counter span.number,
.counter button {
    padding: 0px 10px;
}

#r2_form select {
    margin: 0;
    height: 40px;
    padding: 0 20px;
    box-shadow: none;
}

.ui-datepicker-inline {
    width: 100% !important;
}

.ui-datepicker-multi-2 .ui-datepicker-group,
.ui-datepicker-multi .ui-datepicker-group table {
    width: 100%;
}
li.r2_pobyt-nabidka {
    margin-bottom: 5px;
}
.ui-datepicker-calendar tr {
    margin-bottom: 1rem;
}
.ui-datepicker-calendar tr:last-of-type {
    margin-bottom: 0;
}

li.r2_pobyt-nabidka {
    padding: 3px 5px;
    border-bottom: 1px solid #D0D0CE;
}

li.r2_pobyt-nabidka:hover {
    background-color: #f6f6f6;
}

li.r2_pobyt-nabidka:hover span.r2_pobyt_cena {
    color: #fe9102;
}

td.dp-date span.ui-state-default,
.ui-widget-header {
    background-color: transparent;
    border: none;
    text-align: center;
}

#r2_kalendar {
    position: relative;
}

#r2_kalendar .ui-state-disabled,
#r2_kalendar .ui-widget-content .ui-state-disabled,
#r2_kalendar .ui-widget-header .ui-state-disabled {
    box-shadow: none;
    border: 1px solid #D0D0CE;
}

#r2_kalendar td.dp-date a.ui-state-default {
    background-color: #f6f6f6;
    color: #fe9102;
    font-weight: 700;
    text-align: center;
    border: none;
    margin-bottom: 5px;
}

#r2_kalendar td.dp-date {
    border-bottom: 2px solid;
}

#r2_kalendar td.dp-date a.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 {
    color: #ffffff;
}

#r2_kalendar_detail {
    position: absolute;
    width: 100%;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    -moz-transition: -moz-transform 0.2s ease-out;
    -o-transition: -o-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    padding: 15px;
}

#r2_kalendar_detail h4 {
    padding: 10px;
    margin-bottom: 0;
}

li.r2_pobyt-nabidka span.r2_pobyt_cena::after,
span.r2_kapacita_popis::before {
    font-family: 'FontAwesome';
    position: relative;
    font-weight: 400;
}

li.r2_pobyt-nabidka span.r2_pobyt_cena::after {
    content: "\f25a";
    padding-left: 5px;
}

span.r2_kapacita_popis::before {
    content: "\f236";
    padding-right: 5px;
}

#ui-id-3:before,
#ui-id-7:before,
#ui-id-9:before,
#ui-id-11:before,
#loadApartmany:before,
#loadTerminy:before,
#loadOsoby:before,
#loadRekap:before,
#loadSluzby:before {
    display: none;
}

#sluzby .cenaSluzby {
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
}
.radioBox:hover, .radioBox.active {
    box-shadow: none;
    border-color: #6ebb20;
}
div.cnt_smartsearch_filter_appartment .button-ap {
    display:none;
}

#r2_form {
    display: block;
}

.easySelect {
    width: 80%;
}
/* ajax loader */

.ajaxInProcess {
    background-color: rgba(0,0,0,0.1);
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
}
.ajaxInProcess .ajaxProcess {
    margin: auto;
    display: block;
    margin-top: calc( 50vh - 100px );
}
.ajaxInProcess .ajaxProcess .ajaxProcessIcon {
    display: block;
    margin: auto;
    font-size: 200px;
    color: rgba(255,255,255,0.5);
}
    
h2 {
    margin: 30px 0 0 0;
}
fieldset {
    transition: all 1s ease;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
}

/* select with custom icons */
.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item-wrapper {
    padding: 0.5em 0 0.5em 3em;
}
.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item .ui-icon {
    height: 24px;
    width: 24px;
    top: 0.1em;
}
.ui-icon.video {
    background: url("images/24-video-square.png") 0 0 no-repeat;
}
.ui-icon.podcast {
    background: url("images/24-podcast-square.png") 0 0 no-repeat;
}
.ui-icon.rss {
    background: url("images/24-rss-square.png") 0 0 no-repeat;
}
.counterPlus {
    cursor: pointer;
}
.counterMinus {
    cursor: pointer;
}
input.dp::-webkit-calendar-picker-indicator{
    display: none;
}
input.dp::-webkit-inner-spin-button{
    display: none;
}
.cnt-headline {
    line-height: 1.2;
}
.cnt-headline h3 {
    color: #6ebb20;
    margin-bottom: .4rem;
}
.cnt-headline span.popis {
    color: #808588;
    font-size: .9em;
}
.cnt-headline.step2,
.cnt-headline.step5 {
    border-bottom: 1px solid #c5cbd5;
    margin-bottom: .4rem;
}
.cnt-headline.step3 {
    width: 100%;
}
.vyber_apartmanu_sleva_headline {
    margin-bottom: .5rem;
    border-bottom: 1px solid;
    padding-bottom: 1rem;
}
.vyber_apartmanu_slevovy_kod {
    position: relative;
} 
.vyber_apartmanu_sleva_headline,
.vyber_apartmanu_slevovy_kod {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.vyber_apartmanu_slevovy_kod input {
    width: 12rem;
    height: 2.4rem;
    margin-right: 1rem;
    padding: .4rem .8rem;
}
.vyber_apartmanu_slevovy_kod button.btn {
    min-width: 6rem;
    height: 2.4rem;
    margin-bottom: 0;
    padding: .4rem .8rem;
}
.vyber_apartmanu_slevovy_kod_label {
    margin-right: 1rem;
}
#apt-galerie {
    width: 100%;
    height: auto;
}
.galerie-slide .slides {
    padding: 0;
    max-width: 33rem;
    height: 18.625rem;
    display: block;
    position: relative;
}

.galerie-slide .slides * {
    user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.galerie-slide .slides input { display: none; }
.galerie-slide .slide-container { display: block; }

.galerie-slide .slide {
    top: 0;
    opacity: 0;
    max-width: 100%;
    display: block;
    position: absolute;
    transform: scale(0);
    transition: all .7s ease-in-out;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    -webkit-transition: all .7s ease-in-out;
    -moz-transition: all .7s ease-in-out;
    -ms-transition: all .7s ease-in-out;
    -o-transition: all .7s ease-in-out;
}
.galerie-slide .slide img {
    width: 100%;
    height: 100%;
}
.galerie-slide .nav {
    margin-bottom: 0;
}
.galerie-slide .nav label {
    width: 5rem;
    height: 100%;
    display: none;
    position: absolute;
    opacity: 0;
    z-index: 9;
    cursor: pointer;
    transition: opacity .2s;
    color: #FFF;
    font-size: 10em;
    text-align: center;
    line-height: 19.5rem;
    background-color: rgba(255, 255, 255, .3);
    text-shadow: 0px 0px 15px rgb(119, 119, 119);
    -webkit-transition: opacity .2s;
    -moz-transition: opacity .2s;
    -ms-transition: opacity .2s;
    -o-transition: opacity .2s;
}

.galerie-slide .slide:hover + .nav label { opacity: 0.5; }
.galerie-slide .nav label:hover { opacity: 1; }
.galerie-slide .nav .next { right: 0; }
.galerie-slide input:checked + .slide-container  .slide {
    opacity: 1;
    transform: scale(1);
    transition: opacity 1s ease-in-out;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

.galerie-slide input:checked + .slide-container .nav label { 
    display: block; 
}

.galerie-slide .nav-dots {
	width: 100%;
	bottom: 9px;
	height: .8rem;
	display: block;
	position: absolute;
	text-align: center;
}

.galerie-slide .nav-dots .nav-dot {
	top: -5px;
	width: .8rem;
	height: .8rem;
	margin: 0 4px;
	position: relative;
	display: inline-block;
	background-color: rgba(255, 255, 255, 0.5);
}

.galerie-slide .nav-dots .nav-dot:hover {
	cursor: pointer;
	background-color: rgba(110, 187, 32, 1);
}

.galerie-slide input#img-1:checked ~ .nav-dots label#img-dot-1,
.galerie-slide input#img-2:checked ~ .nav-dots label#img-dot-2,
.galerie-slide input#img-3:checked ~ .nav-dots label#img-dot-3,
.galerie-slide input#img-4:checked ~ .nav-dots label#img-dot-4,
.galerie-slide input#img-5:checked ~ .nav-dots label#img-dot-5,
.galerie-slide input#img-6:checked ~ .nav-dots label#img-dot-6 {
	background: rgba(110, 187, 32, 1);
}
.radioBox.checkBox .galerie-slide {
    width: 100%;
}
.webhidden {
    display: none !important;
}
.fakturace-block,
.rekapitulace-rezervace {
    margin-bottom: 1rem;
}
#osobniUdaje,
.fakturace-block,
.rekapitulace-rezervace {
    border-bottom: 1px solid #c5cbd5;
    padding-bottom: 1rem;
}
ul.cnt-rekapitulace,
ul.cnt-platby,
ul.cnt-rekapitulace__services,
ul.cnt-rekapitulace__payment,
ul.cnt-rekapitulace__services li ul {
    display: flex;
    flex-wrap: wrap;
} 
ul.cnt-rekapitulace__payment {
    justify-content: flex-end;
}
ul.cnt-rekapitulace,
ul.cnt-rekapitulace__services,
ul.cnt-rekapitulace__payment,
.cnt-rekapitulace ul {
    margin-bottom: .4rem;
}
ul.cnt-platby li {
    width: 12rem;
    display: flex;
}
ul.cnt-platby li span.radio {
    padding-right: .6rem;
    float: none;
}
li span.cnt-rekapitulace_block {
    display: block;
}
ul.cnt-rekapitulace li,
ul.cnt-rekapitulace__services li,
ul.cnt-rekapitulace__payment li {
    margin: .2rem;
    padding: .2rem .6rem;
    font-size: .9em;
    line-height: 1.5em;
}
ul.cnt-rekapitulace__payment li {
    background-color: #fff;
    padding: 1rem;
    box-shadow: 2px 2px 15px 1px rgba(0, 0, 0, 0.1);
    border-radius: .25rem;
}
ul.cnt-rekapitulace li,
ul.cnt-rekapitulace__services li {
    background-color: #ffffff;
    border-bottom:1px solid #c5cbd5;
}
.cnt-rekapitulace.item4 ul li,
li.cnt-rekapitulace.item5 {
    border-bottom: none;
} 
li.cnt-rekapitulace span.cnt_li,
#r2_pocet_ubytovanych-celkem ul li span {
    margin-right: .5rem;
}
li.cnt-rekapitulace span.cnt_li span.cnt_li {
    color: #555555;
}
#r2_pocet_ubytovanych-celkem ul li span {
    border-left: 1px solid #c5cbd5;
    padding-left: .4rem;
    font-weight: 600;
}
ul.cnt-rekapitulace li span + span,
.cnt-rekapitulace span.cenaSluzby {
    font-weight: 600;
}
li.cnt-rekapitulace.item1,
li.cnt-rekapitulace.item2 {
    flex:1 24%;
}
li.cnt-rekapitulace.item3 {
    flex:1 50%;
}
li.cnt-rekapitulace.item4,
li.cnt-rekapitulace.item5 {
    flex:1 100%;
}
li span#r2_pobytove-sluzby ul li {
    flex: 32.6667%;
}
li.cnt-rekapitulace.item6 span#r2_celkova_cena-final {
    font-weight: 600;
    color: #6ebb20;
    font-size: 1.4em;
}
label.fakturaStat,
.flex-box__title,
.povinneUdaje .inputBox,
.cnt-box-rpt {
    width: 100%;
}
.povinneUdaje {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #c5cbd5;
    margin-bottom: 2rem;
}
.fakturace-block input,
.povinneUdaje input,
.fakturace-block textarea,
.povinneUdaje textarea,
.fakturace-block select,
.povinneUdaje select {
    box-shadow: none;
}
.souhlasy {
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 1px solid #c5cbd5;
    margin-bottom: 2rem;
}
.marketingSouhlas,
.povinneSouhlasy {
    margin-top: 2rem;
}
.flex-box__title,
span.cnt-text-akce {
    font-weight: 600;
}
.fakturacniUdaje legend,
.flex-box__title {
    color: #555555;
    border: none;
}
.povinneUdaje .osoba {
    margin: 15px 0;
    padding: .8rem 1.6rem .8rem .0rem;
}

#ui-datepicker-div {
    width: 23rem;
}
select.ui-datepicker-month,
select.ui-datepicker-year {
    height: 2rem;
    padding: .2rem;
    color: inherit;
}
table.ui-datepicker-calendar th {
    color: #555555;
}
.ui-state-default, 
.ui-widget-content .ui-state-default {
    background-color:#f6f6f6;
    color: inherit;
    border: 1px solid #c5cbd5;
}
.inputBox.prijmeni {
    width: 49%;
    margin-right: .2rem;
}
.inputBox.jmeno {
    width: 50%;
}
.inputBox.mesto {
    width: 69%;
    margin-right: .2rem;
}
.inputBox.psc {
    width: 30%;
}
div#afterSubmitMessage {
    border: 1px solid #6ebb20;
    color: #6ebb20;
    background-color: rgba(110, 187, 32, 0.1);
    border-radius: .25rem;
    padding: .8rem;
    font-weight: 600;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    -ms-border-radius: .25rem;
    -o-border-radius: .25rem;
}
.form-actions {
    text-align: right;
    margin-bottom: .8rem;
}
div#step5 {
    padding: 0 1rem;
}
#r2_payment_ok.successMessage {
    text-align: center;
    font-weight: 600;
    font-size: 1.2em;
    line-height: 1.6;
    margin-bottom: 2rem;
}
.cnt_card_payment {}

.platba.platba-radio .radio input[type="radio"] {
    display: none;
}

.platba.platba-radio .radio {
    float: none;
    display: block;
}

.platba.platba-radio .radio label {
    display: flex;
}

.platba.platba-radio .radio label i {
    margin-right: 12px;
    font-size: 20px;
    margin-bottom: 8px;
}

.platba.platba-radio .radio label::before {
    content: "\f10c";
    font-family: 'FontAwesome';
    display: inline-block;
    width: 24px;
    height: 24px;
    font-size: 24px;
    position: relative;
    margin-right: 1rem;
    background-color: transparent;
    color: #6ebb20;
    top: -2px;
}

.platba.platba-radio .radio input[type="radio"]:checked + label::before {
    content: "\f058";
}

.serviceIncludedInPrice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #f49326;
    border: solid 2px #f49326;
    border-radius: 8px;
    padding-top: 5px;
    font-weight: 700;
    padding-left: 5px;
    padding-right: 5px;
    pointer-events: none;
    line-height: 1.2;
}

.serviceIncludedInPrice span {
    font-size: 26px;
}

.serviceIncludedInPrice span + span {
    font-size: 16px;
}

#pobytove-sluzby .flex-three-col {
    opacity: 1;
    flex-direction: column;
}

#pobytove-sluzby .flex-three-col .sluzba_img {
    opacity: 1;
    display: block;
}

#pobytove-sluzby .flex-three-col .sluzba_img img {
    display: block;
}

#pobytove-sluzby .flex-three-col .radioBox {
    opacity: 1;
    flex-grow: 1;
}


/* ==========================
admin window
===========================*/
.radioBox .calendar-container {
    text-align: center;
}

#modal_container {
    position: relative;
    pointer-events: none;
    left: 0;
    right: 0;
}

#modal_container > div,
#modal_container > dialog {
    pointer-events: all;
}

#modal_container .modalWindow {
    top: 5vh;
    z-index: 12000;
    position: fixed;
}

.modalWindow {
    --window-width: 600px;
    position: absolute;
    display: block;
    top: 140%;
    top: calc(100% + 10px);
    left: 0px;
    left: calc(50% - (var(--window-width) / 2));
    height: auto;
    min-width: var(--window-width);
    background: #fff;
    box-shadow: 0 .15rem 1.75rem 0 rgba(58,59,69,.15);
    z-index: 50;
    outline: rgba(255, 255, 255, 0.2) solid 1px;
}

.modalWindow.renderModalServiceCalendarDialog {
    width: var(--window-width);
}

.modalWindow .modalWindow-overlay {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.50);
}

.modalWindow .modalWindow-overlay.fixia {
    z-index: initial !important;
}

.modalWindow.no-overlay .modalWindow-overlay {
    display: none;
}

.modalWindow .modalWindow-inner {
    position: relative;
}

.modalWindow.centered {
    position: fixed;
    top: 40%;
    left: 40%;
}

.modalWindow .panel {
    box-shadow: none;
    -webkit-box-shadow: none;
}

.modalWindow .ui-icon-gripsmall-diagonal-se {
    position: absolute;
}

.modalWindow.contextMenuWindow {
    top: 0;
    left: 0;
    position: relative;
}

.modalWindow .modalWindow-header {
    background: #f3f3f3;
    color: #333;
    font-size: 16px;
    line-height: 16px;
    padding: 4px 8px;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    text-align: left;
    border: 1px solid #c5cbd5;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.modalWindow .modalWindow-header .modalWindow-header__name {
    flex-grow: 1;
    margin: 0;
    font-weight: 700;
}

.modalWindow .modalWindow-header .modalWindow-header__buttons span,
.modalWindow .modalWindow-header .modalWindow-header__buttons .btn {
    margin: 0;
    width: 28px;
    margin-left: 2px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0;
    right: 0;
    top: 0;
    opacity: 1;
    font-size: 20px;
    float: none;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    color: #555555;
    min-width: auto;
    background: none;
    border: none;
    box-shadow: none;
}

.modalWindow .modalWindow-header .modalWindow-header__buttons span:hover,
.modalWindow .modalWindow-header .modalWindow-header__buttons .btn:hover {
    opacity: 0.5;
}

.modalWindow .modalWindow-body {
    padding: 8px;
    background: #fff;
    border: 1px solid #c5cbd5;
    border-top: none;
    border-bottom: none;
    flex-grow: 1;
    max-height: 60vh;
    overflow-y: auto;
}

.modalWindow .modalWindow-body-container {
    position: relative;
}

.modalWindow .modalWindow-body-container .modalWindow-loader {
    display: none;
}

.modalWindow.loader .modalWindow-body-container .modalWindow-loader {
    position: absolute;
    left:0;
    top:0;
    bottom: 0;
    width:100%;
    background: rgba(0, 0, 0);
    z-index: 120;
    display: block;
    overflow: hidden;
    opacity: 0.6;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.modalWindow.loader .modalWindow-body-container .modalWindow-loader .loaderSpinner {
    width: 3rem;
    height: 3rem;
    border-top-color: #fff;
    border-left-color: #fff; 
    animation: spinner 800ms linear infinite;
    border-bottom-color: transparent;
    border-right-color: transparent;
    border-style: solid;
    border-width: 10px;
    border-radius: 50%;  
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
}

.modalWindow.loader .modalWindow-body-container .modalWindow-loader .loaderText {
    color: #fff;
    font-size: 1rem;
    margin-top: 1rem;
}

.modalWindow.loader .modalWindow-body-container .modalWindow-loader .loaderText:empty {
    display: none;
}

@keyframes spinner {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.modalWindow .actionButtons,
.modalWindow .modalWindow-footer {
    border: 1px solid #c5cbd5;
    padding: 6px 8px;
    border-top: none;
    background-color: #fff;
    text-align: right;
}

.modalWindow .actionButtons .btn {
    margin-top: 0;
}

.modalWindow .saveModal,
.calendarButton {
    color: #ffffff;
    display: inline-block;
    align-self: flex-end;
    font-size: 14px;
    line-height: 16px;
    outline: none;
    padding: 6px 14px;
    min-width: auto;
    box-shadow: none;
    border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    margin-bottom: 0;
    background-color: #6ebb20;
    border: 1px solid transparent;
}

.modalWindow .saveModal:hover {
    border-color: #6ebb20;
    color: #6ebb20;
    background-color: #fff;
}

.calendarButton:hover {
    background-color: #808588;
    border-color: #808588;
}

.calendarButton {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.calendarButton img {
    width: 22px;
}

.service-calendar-container p {
    margin-bottom: 10px;
    padding-bottom: 0;
}

.service-calendar-container input[name="service_count"] {
    height: auto;
    padding: 4px 8px;
}

.days-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 16px;
    max-height: 80vh;
    overflow: auto;
}

.service-calendar-container {
    text-align: left;
}

.days-container .day-div {
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1;
    font-family: Arial, Helvetica, sans-serif;
}

.days-container .day-div .checkbox label {
    display: flex;
    align-items: center;
    line-height: 1;
    gap: 10px;
}

.days-container .day-div .checkbox input[type="checkbox"] {
    float: none;
    margin: 0;
}

.days-container .day-div .input-time {
    box-shadow: none;
    font-size: 14px;
    height: auto;
    padding: 4px 8px;
}

.days-container .day-div .input-time:invalid {
    border-color: red;
}

@media only screen and (min-width: 992px) and (max-width: 1199.98px) {
    .cnt_smartsearch_filters_headers {
        flex-wrap: wrap;
    }
    .galerie-slide .slides {
        height: 13.625rem;
    }
}
@media only screen and (min-width: 992px) {
    .cnt_smartsearch_filter_appartment.flex-three-col {
        width: 50%;
        padding: 1.38rem;
    }
    .cnt-headline {
        padding: 0 1.38rem;
    }
    .cnt-headline.step2,
    .cnt-headline.step5 {
        padding: 0;
    }
}
@media only screen and (max-width: 991.98px) {
    ul.cnt_smartsearch_filters_headers,
    #termin_pobytu-dp,
    .individualni-pobyt label,
    .inputBox.osobniUdaje label, 
    .inputBox.souhlas label, 
    .inputBox span.checkbox label {
        flex-wrap: wrap;
    }
    ul.cnt_smartsearch_filter {
        display: flex;
        display: -ms-flexbox;
        flex-wrap: wrap;
    }
    ul.cnt_smartsearch_filter li {
        width: 100%;
        margin-bottom: 5px;
    }
    .cnt_smartsearch_filter_appartment.flex-three-col {
        width: 100%;
    }
    .r2_termin_pobytu_potvrzeni,
    #r2_akce,
    #r2_termin_pobytu_potvrzeni {
        display: block;
        margin: .3rem auto;
    }
    .cnt-headline {
        padding: 0 .4rem;
    }
    .cnt-headline.step5,
    .cnt-headline.step2 {
        padding: 0;
    }
    .vyber_apartmanu_sleva_headline {
        margin-bottom: 1rem;
    }
    .vyber_apartmanu_sleva_headline, .vyber_apartmanu_slevovy_kod {
        flex-wrap: wrap;
    }
}
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
    #datum-prijezdu-box, 
    #datum-odjezdu-box {
        width: 49%;
    }
    #datum-prijezdu-box {
        margin-right: 10px;
    }
    .flex-three-col {
        width: 50%;
    }
} 
@media only screen and (min-width: 768px) {
    ul.cnt_smartsearch_filters_headers li a {
        grid-template-columns: 6rem 3rem;
    }
    .cnt_smartsearch_filter_appartment .intro {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .radioBox.checkBox .cnt-ap-main {
        padding: 1rem;
    }
    .galerie-slide .slides {
        margin: 0 auto;
    }
}
@media only screen and (max-width: 767.98px) {
    li span.svg-icon span.inner-icons {
        height: 30px;
    }
    .cnt_smartsearch_filters_headers li span:last-child {
        font-size: .8em;
        line-height: 1em;
        padding-top: .4rem;
        padding-bottom: .4rem;
    }
    ul.cnt_smartsearch_filters_headers li {
        margin-right: .5rem;
    }
    ul.cnt_smartsearch_filter li:nth-last-child(2),
    ul.cnt_smartsearch_filter li:last-child,
    #datum-prijezdu-box,
    #datum-odjezdu-box,
    .flex-three-col {
        width: 100%;
    }
    #datum-prijezdu-box,
    div.cnt_smartsearch .btn {
        margin-right: 0;
    }
    ul.cnt_smartsearch_filter li:last-child,
    .r2_vyber_apartmanu_potvrzeni, 
    .r2_termin_pobytu_potvrzeni, 
    .r2_vyber_pobytovych_sluzeb{
        text-align: center;
    }
    .cnt_smartsearch_filter_appartment .radioBox {
        grid-template-rows: 26px 30px 120px 25px 50px;
    }
    .radioBox.checkBox .cnt-ap-main {
        padding: 1rem;
    }
    .vyber_apartmanu_sleva_headline {
        margin-top: 1rem;
        justify-content: center;
    }
    .vyber_apartmanu_slevovy_kod input {
        width: 6rem;
    }

    .modalWindow {
        --window-width: 280px;
    }

    .days-container {
        grid-template-columns: 1fr;
    }
}

@media only screen and (min-width: 576px) and (max-width: 767.98px) {
    ul.cnt_smartsearch_filters_headers li a {
        grid-template-columns: 4rem 3rem; 
    }
}

@media only screen and (max-width: 575.98px) {
    .galerie-slide .slides {
        height: 12rem;
    }
    .galerie-slide .nav label {
        line-height: 12.5rem;
    }
    .galerie-slide .nav-dots .nav-dot {
        top: -20px;
    }
    ul.cnt_smartsearch_filters_headers li a {
        grid-template-columns: 3rem 2rem; 
    }
    ul.cnt_smartsearch_filters_headers li.cnt_li-6 span.cnt_li-span,
    ul.cnt_smartsearch_filters_headers li span.cnt_li-span {
        font-size: .8em;
    }
    li span.svg-icon {
        padding: 0.3rem;
    }
    .vybrat-apartman input[type="checkbox"]:checked+label::before {
        bottom: .6rem;
    }
    body.rezervace #component {
        padding: 0;
    }
    body.rezervace #content article header,
    .moduletable.top-menu-main,
    #breadcrumbs {
        display: none;
    }
    body.rezervace article.page-item {
        padding-top: 0;
    }
    .cnt_smartsearch_filters {
        border: none;
        padding: 0.3rem 0.3rem 5rem;
    }
    table.ui-datepicker-calendar th {
        padding: .3em;
        font-size: .8em;
        line-height: 1.2em
    }
    ul.ap__vybava li {
        width: 33%;
    }
    ul.cnt_smartsearch_filters_headers {
        margin-bottom: .5rem;
    }
    .flex.cnt-box-rpt {
        display: block;
    }
    #r2_akce {
        font-size: .8em;
        line-height: 1.4em;
        margin-bottom: 1rem;
    }
    .fakturace-block .flex-two-col,
    .fakturace-block select {
        width: 100%;
        margin: 0;
    }
    .povinneUdaje .osoba {
        margin: 0;
        padding: 0;
    }
    div#step5 {
        padding: 0;
    }
}

@media only screen and (min-width: 376px) and (max-width: 575.98px) {}

@media only screen and (max-width: 375.98px) {
    .povinneUdaje .inputBox {
        width: 100%;
    }

    .cnt_smartsearch_filter_appartment .appartment_bottom_container {
        display: block;
    }

    .cnt_smartsearch_filter_appartment .appartment_bottom_container .left-side {
        margin-bottom: 10px;
    }

    .cnt_smartsearch_filter_appartment .appartment_bottom_container .right-side {
        flex-grow: 1;
    }
}

@media only screen and (min-width: 321px) and (max-width: 375.98px) {

}

@media only screen and (max-width: 320.98px) {
    .galerie-slide .slides {
        height: 10rem;
        margin-bottom: 0;
    }
    .galerie-slide .nav label {
        line-height: 11.5rem;
    }
}