@charset "UTF-8";

a.boxes, a.gobutton, .pit_box_airports a, .rowforhotelseeker a{
  text-decoration: none;
}
#ibe p, .billing, #ibe ul li, #ibe{
  font-size: var(--a-font-size-normal);
}
.hotelentry  h5{
  margin-bottom: 4px;
}
#ibe .boxes h6{
  color: white;
  font-size: var(--a-font-size-normal);
  margin-bottom: 0;
}
#ibe .boxes img{
  width: 24px;
  height: 24px;
}
#ibe .boxes h4{
  margin: 4px 0 var(--a-gap-text-small) 0;
  color: white;
}
#ibe .page2-3 h4{
  margin: 0 0 var(--a-gap-small) 0;
}
#ibe div.flexbox_container + p{
  margin-top: 0;
}
.hotelentry hr{
  margin: var(--a-gap-small) 0;
}
.pit_box_airports h6{
  margin-top: var(--a-gap-text-small);
  margin-bottom: 0 !important;
}
.leistungen_pit h5{
  font-size: var(--a-font-size-normal);
}
h4.reisetitel{
  margin-bottom: var(--a-gap-small);
}

.billing_grid_first_div:not(:first-of-type) {
    padding-top: var(--a-gap-small);
}

.greyarea {
  background: var(--a-grey1);
  padding: var(--a-gap-normal) calc(4*var(--a-gap-big)) var(--a-gap-normal) calc(4*var(--a-gap-big));
}
/*.greyarea_large {
  background: var(--a-grey1);
  padding: var(--a-gap-normal) calc(2*var(--a-gap-big)) var(--a-gap-normal) calc(2*var(--a-gap-big));
}*/
.page1 .databoxes.active{
  padding: 0 120px;
  display: block;
}

@media only screen and (max-width: 960px) {
  .hide-for-medium-down{
    display: none;
  }
  .databoxes h4{
    display: none;
  }
  .greyarea{ /*, .greyarea_large*/
    padding: var(--a-gap-small);
  }
  .page1 .databoxes.active{
    padding: 0;
  }
  .boxes{
    display: flex;
    flex-direction: column; /* Stack elements vertically by default */
  }
  .boxes img{
    padding-right: var(--a-gap-small);
  }
  .boxes > .first-line-mobile {
    display: flex;
    align-items: center; /* Align items (img and h4) vertically centered */
  }
}

.ccm-page .specials_booking_grid.wide{
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2vw; 
  margin-bottom: 20px; 
}
.ccm-page .specials_booking_grid.wide .basket{
  display: none;
}
.ccm-page .specials_booking_grid{
  display: grid;
  grid-template-columns: 66% 1fr;
  grid-gap: 2vw; 
  margin-bottom: 20px;
}
@media only screen and (max-width: 960px){
  .ccm-page .specials_booking_grid{
    grid-template-columns: 1fr;
  }

  .ccm-page  .grid_mietradauswahl{
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px;
    text-align: left;
  }
  .ccm-page .grid_regionauswahl{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1px;
    text-align: left;
  }
}

.grid_regionauswahl{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
  text-align: left;
}
.grid_mietradauswahl{
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 5px;
  text-align: left;
}

.grid_title {
  display: grid;
  grid-template-columns: 3fr 1fr;
  grid-gap: 5px;
  align-items: end; /* Align items to the bottom */
}



.grid_teilnehmer{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 2vw; 
}
.grid_rechnungsinfo{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.2vw 2vw; 
}
.grid_transferdetails{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 0.2vw 2vw; 
}
.grid_date{
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.2vw 2vw; 
}
/*@media only screen and (max-width: 600px) {
  .grid_date{
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 0.2vw 2vw; 
  }
}*/
.grid_hotelentry{
  display: grid;
  grid-template-columns: 5fr 4fr 3fr;
  grid-gap: 0.2vw 2vw; 
}

@media only screen and (max-width: 600px){
  .grid_hotelentry{   
    grid-template-columns: 1fr;    
  }
  .grid_hotelentry > div{
    grid-column: 1 !important;
  }
  .hotelprices{ padding-top: 10px; }
}



/*begin  input field styling */
[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

::placeholder {
  color: #cacaca; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-right: 0.5rem;
  margin-left: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-left: 0.5rem; }

[type='file'] {
  width: 100%; }

button,input,optgroup,select,textarea {
  font-family:inherit;
  font-size:100%;
  line-height:1.15;
  margin:0
} 
textarea {
  height: auto;
  min-height: 50px;
}
select {
  box-sizing: border-box;
  width: 100%;
}
select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem 0.5rem 0.5rem 1.5rem;        
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: left -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;  
  -webkit-transition: border-color .25s ease-in-out,-webkit-box-shadow .5s;
  transition: border-color .25s ease-in-out,-webkit-box-shadow .5s;
  transition: box-shadow .5s,border-color .25s ease-in-out;
  transition: box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s;
}

/*end input field styling*/
.btn, a.btn{
  background: var(--a-primary-color);;
  padding: .85em 1.5em;
  color: white;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  border: 1px solid transparent;
  border-radius: 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}
.btn:hover, a.btn:hover{
  background: #c4353b;
  color: white;
  text-decoration: none;
}
.showmoreflights.btn{
  color: white; font-weight: bold; 
}

/*.ccm-page hr {
  border: solid #DDDDDD;
  border-top-width: medium;
  border-right-width: medium;
  border-bottom-width: medium;
  border-left-width: medium;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem;
}*/

.grid_atlantica{
  display: inline-grid;
  grid-template-columns: auto; 
  grid-gap: 0px;
}


@media only screen and (min-width: 600px){
  /*begin legacy support of foundation5*/
  .hide-for-small-up { display: none !important; }
  /*end legacy support of foundation5*/
}
ul.searchboxgrid{
  padding: 0;
}
ul.searchboxgrid li:before{
  content:  "";   
}

.radsportferienbuchung_wrapper{
  position: relative;
}

/********* BEGIN calendar styling *********************/
.rd-container {
  display: none;
  padding: 0px;
  text-align: center;
  border: 0;
  background: transparent; 
}
.rd-container:before {
  content: '';
  /*font-family: FontAwesome;  */
  position: absolute;
  color: #e2001a; 
  font-size: 40px;
  text-align: center;
  margin: 0 auto;
  left: calc(50% - 10px);
  top: 5px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #e2001a;
}
.rd-date{
  border: 1px solid #ccc;
  background-color: #fff;
  margin-top: 13px;
  padding-bottom: 15px;
}
.rd-container-attachment {
  position: absolute;
}
.rd-month {
  display: inline-block;
  margin-right: 25px;  
}
.rd-month:last-child {
  margin-right: 0;
}
.rd-days{
  width: 100%;
  background: white;
  padding-bottom: 10px;
  padding-top: 10px;
}
.rd-days-head{
  padding-top: 10px;
}
.rd-back,
.rd-next {
  cursor: pointer;
  border: none;
  outline: none;
  background: none;
  padding: 10px 10px;
  margin: 0;
  color: #fff;
}
.rd-back[disabled],
.rd-next[disabled] {
  cursor: default;
}
.rd-back {
  float: left;
}
.rd-next {
  float: right;
}
.rd-back:before {
  display: block;
  content: '';
  /*font-family: FontAwesome;*/
  width: 0; 
  height: 0; 
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right:8px solid white;
}
.rd-next:before {
  display: block;
  content: '';
  /*font-family: FontAwesome;*/
  width: 0; 
  height: 0; 
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;  
  border-left: 8px solid white;
}

@media only screen and (min-width: 600px) {
  .rd-day-body {
    cursor: pointer;
    text-align: center;
    line-height: 1;
    padding: 10px;
    text-decoration: none;
  }
  .rd-month-label{
    background-color: #e2001a;
    /*height: 20px;*/
    padding: 10px 50px;
   /* position: relative; */
    text-align: center;
    font-weight: bold;
    color: #fff;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 600px) {
  .rd-day-body {
    cursor: pointer;
    text-align: center;
    line-height: 1;
    padding: 10px 3px;
    text-decoration: none;
  }
  .rd-month-label{
    background-color: #e2001a;
    height: 35px;
    padding: 10px 50px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    margin-bottom: 20px;
  }
  .rd-container.small .rd-month-label{
    font-size: 10px !important; 
  }
  .hide-for-small-only{
    display: none;
  }

}
.rd-day-body:not(.rd-day-disabled):hover {
  color: #fff;
  background: #e2001a;
}
.rd-day-selected,
.rd-time-selected,
.rd-time-option:hover {
  cursor: pointer;
  background-color: #333;
  color: #fff;
}
.rd-day-prev-month,
.rd-day-next-month {
  color: #999;
}
.rd-day-disabled {
  cursor: default;
  color: #ffe9e9;
}
.rd-time {
  position: relative;
  display: inline-block;
  margin-top: 5px;
  min-width: 80px;
}
.rd-time-list {
  display: none;
  position: absolute;
  overflow-y: scroll;
  max-height: 160px;
  left: 0;
  right: 0;
  background-color: #fff;
  color: #333;
}
.rd-time-selected, .rd-time-option {
  padding: 5px;
}
.rd-day-concealed {
  visibility: hidden;
}
/********* END calendar styling *********************/

a.gobutton, a.gobutton:focus, a.gobutton:hover{
  min-width: 300px;
}
@media only screen and (max-width: 700px){
  a.gobutton, a.gobutton:focus, a.gobutton:hover{
    min-width: 100%;
  }
}

/*
a.gobutton:focus{
  background: #fff;
  color: #000;
  border: 1px solid red;
}*/

/*begin bottom box*/
@media only screen and (max-width: 600px){
  .pandorabox{ 
    cursor: pointer;
    height: 30px;
    position: fixed;
    bottom: 0; 
    right: 0%; 
    z-index: 99; 
    background: white; 
    border-top: 1px solid red; 
    border-left: 1px solid red; 
    padding: 5px 10px;
    transition: all 800ms; 
    text-align: center;
    color: #000;
  }
}
@media only screen and (min-width: 600px){
  .pandorabox{  
    cursor: pointer;
    height: 60px;
    position: fixed;
    bottom: 0; right: 5%; z-index: 99; background: white; border: 1px solid red; padding: 20px;
    transition: all 800ms;
    text-align: center;
    color: #000;
  }
}
.pandorabox.extended{
  cursor: pointer;
  height: 160px; /*340px;*/
  position: fixed;
  bottom: 0; right: 5%; z-index: 99; background: white; border: 1px solid red; padding: 10px;
  transition: all 800ms;
}
.pandorabox .smalltext{
  font-size: var(--a-font-size-small);
}
.pandorabox.extended .pandoras_arrow_down{
  display: block;
}
.pandorabox.extended .pandoras_arrow_up, .pandorabox.extended:hover .pandoras_arrow_up, 
.pandorabox.extended .pandoras_arrow_up_text, .pandorabox.extended:hover .pandoras_arrow_up_text{
  display: none;
}
 .pandorabox:hover:not(.extended){
   height: 85px;
   transition: all 800ms; 
 }
 .pandorabox:hover .pandoras_arrow_up{
   display: block;
 }
@media (hover: none) { /*ignored by touch devices*/
  .pandorabox:hover:not(.extended){
    height: 30px; 
    transition: all 800ms;   
  }
  .pandorabox:hover .pandoras_arrow_up{
    display: none;
  }
}
.pandoras_arrow_up{
  display: none; text-align: center;
}
.pandoras_arrow_down{
  display: none; text-align: center;
}
.pandoras_help{
  display: none;
}
.pandorabox.extended .pandoras_help{
  display: block;
}
/*end bottom box*/
/*begin currency*/
.currency{
  min-width: 110px;
}

select.currency, select.currency:hover, select.currency::after {
  background-color: white;
  border: 1px solid var(--a-grey2);
}
.currencybutton {
  display: flex;
  justify-content: flex-end; /* Align the dropdown to the right */
}
.currencybutton_inner select{
  background-image: url('/application/themes/bicycle2020/images/arrow_down.svg');
  background-size: 10px 7px;
  background-position: right 10px; 
  background-repeat: no-repeat;
  position: relative;
  padding: 0 15px 0 15px;
  font-size: var(--a-font-size-normal);
  height: 30px;
  line-height: 28px;
}
/*end currency */
.page1{
  position: relative;
  margin-top: 0;
  /*padding-top: clamp(10px, calc(6px + 1vw), 20px); */
}
.page1 .boxes{
  background: var(--a-grey5);
  color: white;
  margin-top: 0;/* -130px;*/
  border: 0px solid black;
  height: 185px; /*200px;*/
  padding: 15px;
  transition: all 700ms ease-in-out; 
  display: block;
      position: relative;
}


.page1 .boxes.active{ 
  color: white;
  /*margin-top: -20px;/*-150px;*/
  border: 0px solid black;
  height: 185px; /*205px;*/
  transition: background-color 2s ease;
  background-color: var(--a-primary-color);
  transition: all 700ms;
}
.page1 .boxes:not(.active):hover, .page1 .boxes:not(.active):focus { 
  margin-top: -10px; height: 195px; transition: all 700ms; cursor: pointer; 
  color: #fff;
}
.page1 .databoxes{  
  display: none;
}


.tab_hotel_box_hotels{
  display: none;
}
.tab_hotel_box_hotels.active{
  display: block;
}
a.hotel, .hotel.active:hover, a.hotel:focus{
  padding: 10px 15px;
  border-bottom: 1px solid var(--a-grey1);
  color: black;
}
.hotel.active{
  background: var(--a-grey1);
  color: black;
}
.hotel:not(.active):hover{ 
  background: var(--a-grey1);
  cursor: pointer; 
  transition: all 700ms;
  padding: 10px 15px;
  color: black;
}
.htext{
  text-align: left;
  font-size: var(--a-font-size-normal);
}





input::-webkit-input-placeholder {
  color:#111 !important;
}
input::-moz-placeholder {
  color:#111 !important;
}
input::-ms-placeholder {
  color:#111 !important;
}
input::placeholder {
  color:#111 !important;
}
.rd-container{
  z-index: 2;
}
.rd-container::before{
  /*content: '\f0d8';
  font-family: FontAwesome;*/
    top: 5px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #e2001a;
  position: absolute;
  left: calc(50% - 10px);
  color: #e2001a;
  font-size: 40px;
  text-align: center;
  margin: 0 auto;
}

input.flight, input.flight:focus {
  background-image: url("/application/themes/bicycle2020/images/plane.svg") !important;
  background-position: left 10px center !important;
  background-size: 20px !important;
  background-repeat: no-repeat !important;
  background-color: #fafafa;
}

input.flight::-moz-selection { /* Code for Firefox */
  background: rgba(255,244,147,.8);
}

input.flight::selection {
  background: rgba(255,244,147,.8);
}
.pit_box_airports.haselements{
  overflow-y: scroll; 
  padding: 0 20px 20px 20px;
}
.tab_airport_box_airports{
  cursor: pointer;
}

select.who, select.who:focus {
  background-image: url("/application/themes/bicycle2020/images/icons/user.svg") !important;
  background-position: -30px;
  background-size: 20px !important;
  background-repeat: no-repeat !important;
  background-color: #fafafa;
  padding-left: 50px; 
  font-size: 14px;
  color: #000;
}
input.cal,input:focus.cal, input.cal:focus {
  background-image: url("/application/themes/bicycle2020/images/icons/calendar_dark.svg") !important;
  background-position: left 10px center !important;
  padding-left: 40px !important;
  background-size: 20px !important;
  background-repeat: no-repeat !important;
  background-color: #fafafa;
}
.sort{
  margin-right:  clamp(5px, calc(1px + 1vw), 10px);
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
.sort.clock{
  background-image: url("/application/themes/bicycle2020/images/icons/clock-symbol.svg");
  background-size: 15px;
  background-repeat: no-repeat;
  padding-left: 19px;
  display: inline-block;
  background-position: left center;
  margin-left: 0px;
  cursor: pointer;
}
.sort.dollar{
  background-image: url("/application/themes/bicycle2020/images/icons/dollar-symbol.svg");
  background-size: 8px;
  background-repeat: no-repeat;
  padding-left: 12px;
  display: inline-block;
  background-position: left center;
  margin-left: 20px;
  cursor: pointer;
}
.sort.star{
  background-image: url("/application/themes/bicycle2020/images/icons/star-empty.svg");
  background-size: 17px;
  background-repeat: no-repeat;
  padding-left: 21px;
  display: inline-block;
  background-position: left center;
  cursor: pointer;
}
.sort.placeholder{
  background-image: url("/application/themes/bicycle2020/images/icons/placeholder.svg");
  background-size: 13px;
  background-repeat: no-repeat;
  padding-left: 18px;
  display: inline-block;
  background-position: left center;
  cursor: pointer;
  margin-right: 0 !important;
}
.sort.active[data-sortorder="up"]{
  text-decoration: underline;
  text-decoration-color: #fcc;
}
.sort.active[data-sortorder="down"]{
  text-decoration: overline;
  text-decoration-color: #fcc;
}
.hotelentry{
  background: white;
  margin-bottom: var(--a-gap-small);
  padding: var(--a-gap-normal) var(--a-gap-small);
}

.hoteltitle{
  background-image: url("/application/themes/bicycle2020/images/icons/placeholder_dark.svg");
  background-size: 14px;
  background-repeat: no-repeat;
  padding-left: 30px !important;
  background-position: 5px center;
  color: #000;
}
.bskt_region{
  background-image: url("/application/themes/bicycle2020/images/icons/placeholder_white.svg");
  background-size: 14px;
  background-repeat: no-repeat;
  padding-left: 30px !important;
  background-position: 5px center;
  color: white;
  font-size: 16px;
  font-weight: bold;
}
.bskt_region.dark{
  background-image: url("/application/themes/bicycle2020/images/icons/placeholder_dark.svg");
  background-size: 14px;
  background-repeat: no-repeat;
  padding-left: 30px !important;
  background-position: 5px center;
  color: #000;
}
.roomchoice, .mealchoice{
  background-image: url("/application/themes/bicycle2020/images/icons/checkbox.svg");
  background-size: 17px;
  background-repeat: no-repeat;
  padding-left: 30px !important;
  background-position: 5px 1px;
  color: #000;   
  cursor: pointer;
  min-height: 20px;
  display: block;
  margin-top: 10px;
}
.roomchoice.active, .mealchoice.active{
  background-image: url("/application/themes/bicycle2020/images/icons/checkbox_checked.svg");
  background-size: 17px;
  background-repeat: no-repeat;
  padding-left: 30px !important;
  background-position: 5px 1px;
  color: #000;
}
.insurancechoice{
  background-image: url("/application/themes/bicycle2020/images/icons/radiobutton.svg");
  background-size: 17px;
  background-repeat: no-repeat;
  color: #000;
  cursor: pointer;
  font-weight: normal;
  font-size: 13px;
  display: inline-block;
  min-height: 17px;
  min-width: 17px;
}
/*.databoxes select{
  background-image: url('/application/themes/bicycle2020/images/arrow_down.svg');
  background-size: 10px 7px;
  background-position: right 10px;
  background-repeat: no-repeat;
  position: relative;
  padding: 0 15px 0 15px;
}*/

@media only screen and (min-width: 600px){
  .flightchoice{
    cursor: pointer;
    border: 1px solid grey;
    padding: 10px;
    background: white;
    position: relative; 
    height: 145px;
    width: 100%;
    margin-bottom: 5px;
    font-size: var(--a-font-size-normal);
  }
  .flightchoice.active{
    cursor: default;
    border: 2px solid red;
    padding: 10px;
    background: var(--a-primary-color);
    color: white;
    position: relative;
    height: 150px;
    width: 100%;
    margin-top: 0px;
  }
  .flybox_carrier{
    position: absolute;
    top: 40px; 
    left: 40%; 
    font-size: var(--a-font-size-small);
  }
   .flybox_traveltime{
    position: absolute;
    top: 114px;
    font-size: var(--a-font-size-small);
  }
  .flybox_diff{
    position: absolute; top: 60px; right: 20px; font-size: 16px !important; font-weight: bold;
  }
  .flybox_select{
    position: absolute; top: 95px; right: 20px; font-size: 16px !important; font-weight: bold;  
  }
  .breaker-medium-up{ 
    display: block;
  }
}

@media only screen and (max-width: 600px){
  .sort.dollar{
    margin-left: 5px;
  }
  .flightchoice{
    cursor: pointer;
    border: 1px solid grey;
    padding: 10px;
    background: white;
    position: relative; 
    height: 225px;
    width: 100%;
    margin-bottom: 5px;    
    transition: all 0.3s ease;
    font-size: var(--a-font-size-normal);
  }
  .flightchoice.active{
    cursor: default;
    border: 2px solid red;
    padding: 10px;
    background: var(--a-primary-color); 
    color: white;
    position: relative; 
    height: 225px;
    transition: all 0.3s ease;
    width: 100%;
    margin-top: 0px;   
  }
  .flightchoice.active .flybox_select{
    display: none;
    transition: all 0.3s ease;
  }
  .flybox_carrier{
    position: absolute; 
    top: 115px; 
    left: 10px; 
    font-size: var(--a-font-size-small);
  }
  .flybox_traveltime{
    position: absolute; 
    top: 185px; 
    font-size: var(--a-font-size-small);
  } 
  .flybox_diff{
    position: absolute; top: 160px; right: 20px; font-weight: bold;
  }
  .flybox_select{
    position: absolute; top: 180px; right: 20px; font-weight: bold;  
  }
  .hotelentry{
    padding: 20px 0px;
    border-bottom: 20px #e8e8e8 solid;
    margin-bottom: 0;
  }

}

.flightchoice.active .btn_flightselect{
  background: var(--a-primary-color) !important;  
  color: var(--a-primary-color) !important;  
  cursor: default;
}
.flightconfirm{
  padding: 10px; 
  position: relative; 
  height: 160px;
  width: 100%;
  margin-top: 0px;
  font-size: var(--a-font-size-normal);
}
.flight_wrap{
  background: #f2f2f2;
  padding: 20px; 
  margin-top: clamp(20px, calc(2 * (6px + 1vw)), 40px);
}
.transferchoice, .extensionprechoice, .extensionpastchoice, .guidedtourschoice, .agbchoice, .agb2choice, .agb3choice, .newsletterchoice, .bikestationchoice, .mietradchoice, .verschoice,
.transferchoice.active, .extensionprechoice.active, .extensionpastchoice.active, .guidedtourschoice.active, .agbchoice.active, .agb2choice.active, .agb3choice.active,.newsletterchoice.active, .insurancechoice.active, .bikestationchoice.active, .mietradchoice.active, .verschoice.active
{
  background-size: 17px;
  background-repeat: no-repeat;
  font-size: var(--a-font-size-normal);

}
.insurancechoice.active{
  background-image: url("/application/themes/bicycle2020/images/icons/radiobutton_checked.svg");
  min-height: 17px;
  min-width: 17px; 
}
.transferchoice, .extensionprechoice, .extensionpastchoice, .guidedtourschoice, .agbchoice, .agb2choice, .agb3choice, .newsletterchoice{
  background-image: url("/application/themes/bicycle2020/images/icons/checkbox.svg");
  padding-left: 30px !important;   
  background-position: 5px 1px;
  cursor: pointer;
  min-height: 20px;
  display: inline-block;
}
.transferchoice.active, .extensionprechoice.active, .extensionpastchoice.active, .guidedtourschoice.active, .agbchoice.active, .agb2choice.active, .agb3choice.active,.newsletterchoice.active{
  background-image: url("/application/themes/bicycle2020/images/icons/checkbox_checked.svg");
  padding-left: 30px !important;
  background-position: 5px 1px;
}
.bikestationchoice, .mietradchoice, .verschoice{
  background-image: url("/application/themes/bicycle2020/images/icons/radiobutton.svg");
  cursor: pointer;
  padding-left: 30px !important; 
  display: block;
  min-height: 17px;
  min-width: 17px; 
  margin-top: 5px;
}
.bikestationchoice.active, .mietradchoice.active, .verschoice.active{
  background-image: url("/application/themes/bicycle2020/images/icons/radiobutton_checked.svg");
  padding-left: 30px !important;
  display: block;
  min-height: 17px;
  min-width: 17px; 
  margin-top: 5px;
}

.buchenbutton{
  margin-top: 10px !important;
}
.buchenbutton.locked{
  background: #ddd;
  cursor: default;  
}
#bskt_map{
  display: none;
}
.roomdiffs, .flightdiffs, .mealdiffs{  
  font-weight: bold;
  font-size: 13px;
  color: var(--a-primary-color);
  display: block;
}
.insurancediffs{   
  font-weight: bold;
  font-size: var(--a-font-size-small);
  padding-left: 20px;
  min-height: 30px;
}
.txt_radsportstation{
  background-image: url("/application/themes/bicycle2020/images/icons/bicycle_dark.svg");
  background-size: 24px;
  background-repeat: no-repeat;
  padding-left: 30px !important;   
  background-position: left center;  
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
}

.txt_warning{ 
  display: block;    
  font-weight: bold;     
  margin-bottom: 10px;
  margin-top: 18px;
}
.txt_hotelimages{
  background-image: url("/application/themes/bicycle2020/images/icons/gallery_dark.svg");
  background-size: 13px;
  background-repeat: no-repeat;
  padding-left: 20px !important;   
  background-position: left center;  
  font-weight: normal;
  font-size: var(--a-font-size-small);
  color: #000;
  margin-bottom: 10px;
}
.txt_hotelimages.active{
  background-image: url("/application/themes/bicycle2020/images/icons/gallery_red.svg");
  color: var(--a-primary-color);
}
.txt_map:not(.active):hover, .txt_hotelimages:not(.active):hover, .reedit1, .reedit2, .reedit3{
  cursor: pointer;
}
.txt_map{
  background-image: url("/application/themes/bicycle2020/images/icons/earth_dark.svg");
  background-size: 13px;
  background-repeat: no-repeat;
  padding-left: 20px !important;   
  background-position: left center;  
  font-weight: normal;
  font-size: var(--a-font-size-small);
  margin-bottom: 10px;
}
.txt_map.active{
  background-image: url("/application/themes/bicycle2020/images/icons/earth_red.svg");
  color: var(--a-primary-color);
}
.txt_circle{
  background-image: url("/application/themes/bicycle2020/images/icons/tick-inside-circle_dark.svg");
  background-size: 13px;
  background-repeat: no-repeat;
  padding-left: 30px !important;   
  background-position: left center;  
  display: block;
  margin-bottom: 5px;
}
.txt_nocircle{ 
  display: block;
  font-weight: normal;
  font-size: 13px;
  color: #000;
  margin-bottom: 10px;
  padding-left: 30px;
}
.txt_binfo{ 
  display: block;
  margin-bottom: 3px;
  margin-top: 1px;
  padding-left: 0px;
}

.hotelentry img{
  width: 100%;
  height: auto;
}

.radsportferienbuchung_wrapper label{
  display: block;
  margin: 0;
  line-height: 1.8;
}


.nextbutton_small{
  background-image: url("/application/themes/bicycle2020/images/icons/icon-circle-right_white.svg");
  background-size: 16px;
  background-repeat: no-repeat;
  padding-right: 30px !important;   
  background-position: right 20px center;  
  padding: 6px 65px !important;
  background-color: var(--a-primary-color);
  cursor: pointer; 
  display: inline-block;
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  font-style: normal; 
}
a.weiterbutton,a.weiterbutton:focus,a.weiterbutton:hover, .buchenbutton{
  background-image: url("/application/themes/bicycle2020/images/icons/icon-circle-right_white.svg");
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: right 20% center;  
  padding: 12px calc( 20% + 40px) 12px 20% !important;
  min-width: 200px;
  background-color: var(--a-primary-color);
  cursor: pointer;
  display: inline-block;
  text-align: center;
  color: white !important;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  font-style: normal;
  margin-top: 50px;
  text-decoration: none;
}

.searchresults a.weiterbutton, .searchresults a.weiterbutton:focus, .searchresults a.weiterbutton:hover{
  margin-top: 30px; 
}

a.btn_flightselect, a.btn_flightselect:hover, a.btn_flightselect:focus, a.btn_flightselect:active{
  background: var(--a-primary-color);
  padding: 6px 30px !important; 
  cursor: pointer; 
  display: inline-block;
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  font-style: normal;
  margin-top: 5%;
  overflow: hidden;
  width: auto;
  text-decoration: none;
}
a.btn_flightselect.active, a.btn_flightselect.active:hover, a.btn_flightselect.active:focus, a.btn_flightselect.active:active{
  background: white;
  color: #000;
  border: 1px solid #000;
  width: auto;
}
.btn_prev{
  background: var(--a-grey5) url("/application/themes/bicycle2020/images/icons/icon-circle-left_white.svg") right 70px center/20px no-repeat;
  padding: 12px 110px !important; 
  cursor: pointer; 
  text-align: center;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  overflow: hidden;
  width: 100%;
}
@media only screen and (min-width: 960px){
  .btn_prev{
    display: inline-block;
  }
}
.btn_basket_toggle{
  background: var(--a-primary-color) url("/application/themes/bicycle2020/images/icons/icon-circle-down_white.svg") right 15% center/20px no-repeat;
  padding: 12px 0px !important;
  border: 1px solid var(--a-primary-color);  
  cursor: pointer; 
  display: inline-block;
  text-align: center;
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 30px;
  overflow: hidden;
  width: 100%;
}
.btn_basket_toggle.active{
  margin-bottom: 0px;
}
.l_hoteld, .r_hoteld{
  width: 50%;  
  box-sizing: border-box; 
  padding-bottom: var(--a-gap-small);
  font-size: var(--a-font-size-normal);  
  -moz-hyphens: auto;
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  padding-right: 2px;
}
.l_hoteld{
  font-weight: bold;
}
.r_hoteld{
  font-weight: normal;
}
.splitter_l{
  width: 200px; box-sizing: border-box; padding-bottom: 10px;
}
.splitter_r{
  box-sizing: border-box; padding-bottom: 10px;
}
.cyclerotator{
  font-size: var(--a-font-size-normal);  
}
h5.underlined{
  padding: 10px 0px 0px 0px;
  margin-bottom: 17px;  
  font-size: 14px !important;
  font-weight: bold;
  border-bottom: 1px solid black;
}
.hoteldetailpartialinfo{
  padding-top: 40px;  
}


.title_chooseflightcat_s{
  font-size: 14px; font-weight: bold; padding-bottom: 15px; display: block; padding-top: 10px;
}
@media only screen and (max-width: 600px) {
  .hoteldetailpartialinfo{
    padding-top: 10px;  
  }


}
@media only screen and (max-width: 960px) {
  .billing{
    padding-right: 0px !important;
  }
}
.versicherung_box{
  margin-top: 5px; 
  min-height: 30px;
}
@media only screen and (min-width: 600px) and (max-width: 1050px) {
  .versicherung_box{
    min-height: 80px;    
  }
}
#progress {
overflow: hidden; border: 1px solid lightgrey;  
  padding: 0;
  list-style-type: none;
  font-size: 16px;
  clear: both;
  line-height: 64px; 
  text-align: center;    
  background: white;
  cursor:  default; 
}
#progress li {
  float: left;    
  background: white; 
  position: relative;    
  width: 33.3333%;
  padding: 0; 
}
#progress li:before {
  content: '';
  border-left: 32px solid #000;
  border-top: 32px solid transparent;
  border-bottom: 32px solid transparent;
  position: absolute;
  top: 0;
  left: 0;    
}
#progress li:first-child:before {
  content: '';
  border-left: 0px solid #fff;
  border-top: 0px solid transparent;
  border-bottom: 0px solid transparent;
  position: absolute;
  top: 0;
  left: 0;    
}
#progress li:after {
  content: ''; 
  border-left: 32px solid white;
  border-top: 32px solid transparent;
  border-bottom: 32px solid transparent;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 2;
}
#progress li:last-child:after {
  content: '';
  border-left: 0px solid #fff;
  border-top: 0px solid transparent;
  border-bottom: 0px solid transparent;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 2;
}
#progress li.active {
  background: var(--a-primary-color);
  color: white;    
}
#progress li svg{
  fill: #000 !important;
  vertical-align: middle;
  width: 20px;   
  margin-top: -2px;  
}
#progress li.active svg{
  fill: white !important;  
}
#progress li.active:after {
  border-left-color: var(--a-primary-color);
}
.titlebar{ 
  color: white;
  font-size: 16px;
  font-weight: bold;
  padding: 20px;
  margin-bottom: 20px;
  background: var(--a-primary-color);
} 

@media only screen and (min-width: 600px) and (max-width: 1050px){
  #progress li svg{
    margin-left: 20px;
  }
}
@media only screen and (min-width: 600px){
  .notice_type_close, .notice, .notice_elite{
     border: 3px solid #000; width:50%; min-height:300px; margin:0 auto; background:var(--a-primary-color); color: white;  position:fixed; left:50%; top:50%; margin-left:-25%; margin-top:-250px; z-index: 999;
  }
}
@media only screen and (max-width: 600px){
  .notice_type_close, .notice, .notice_elite{
    padding-top: 40%; border: 3px solid #000; width:100%; min-height:100%; margin:0 auto; background:var(--a-primary-color); color: white;  position:fixed; left:0%; top:0%; margin-left:-0%; margin-top:-0px; z-index: 999;
  }
}
.notice_type_close h2, .notice h2, .notice_elite h2{
  color: white;
}
.hotelinfos{
  padding-right: 40px !important;
}

.sorter{
  background: var(--a-primary-color); 
  padding: var(--a-font-size-normal) var(--a-font-size-big);  
  text-align: right; 
  color: white;   
  font-weight: bold; 
  font-size: var(--a-font-size-small); 
  margin-bottom: var(--a-gap-small);  
}

.tab_hotel_box_hotels{
  max-height: 200px; overflow-y: scroll; width: 100%;
}
.hotel_seeker_holder{
  padding-bottom: 5px; text-align: left;
}
.airport_seeker_holder{
  text-align: left;
  position: relative;
}
.flyfloatright{
  padding-top: 5px;
}
.no_searchresults{
  padding: 65px;
  margin-top: var(--a-gap-small);
}

.databoxes{
  max-width: 100% !important; 
}
#progress{
  margin-top: var(--a-gap-small);
  clear: both; overflow: hidden; 
  margin-bottom: var(--a-gap-normal);
}
#bskt_map, .bskt_image{
  width: 100%; height: 400px;
}
.insurancecell{
  display: table-cell; padding: 20px; vertical-align: top;
}
/* small view - always */
#progress span{
  display: inline !important;
}  

.searchresults{
  display: none; background: #f2f2f2; padding: 60px 65px;
  margin-top: var(--a-gap-small);
}

.leistungen_block{
  margin-bottom: 20px; 
  background: rgb(238, 238, 238); 
  color: #000; 
  padding: clamp(10px, calc(6px + 1vw), 20px); 
  position: relative;
}


@media only screen and (max-width: 900px){
  #progress span{
    display: none !important;
  }
}
 
/*small view - page1 */
@media only screen and (max-width: 600px){

  .searchresults{
    background: none;
    padding-left: 0 !important;
    padding-right: 0 !important; 
  }
  .hotelinfos{
    padding: 10px 0px 10px 0px !important;
  } 
  .sorter{
    background: var(--a-primary-color); 
    text-align: right; 
  }
  .devinfo{ 
    display: none;
  }
  .regiontitle{
    padding-left: 0; /*clamp(5px, calc(6px + 1vw), 10px);*/
    padding-bottom: 10px !important;
  }
  .boxes h6{
    display: inline-block;
    padding-left: 5px;
    padding-top: 3px;
  }

  img.roomkey{
    width: 23px; 
    margin-right: 10px;
    margin-left: 11px;
  }
  .roomkeytxt{
    font-size: 12px;
    vertical-align: 0;
  }  
  .roomkeysub_text{
    font-size: var(--a-font-size-small);
    vertical-align: 0;
    font-weight: normal;
  }  

  .rowforhotelseeker{
    margin: 0 !important; 
  }
  .hotel_seeker_holder{
    padding: 10px 15px;
  }
  input.hotel_seeker, input.flight{
    margin: 0 !important;
  }
   .date_seeker_holder{
    padding: 15px;
  }   
  .page1 .boxes{  
    margin-top: 0px;   
    height: 110px !important;
    padding: 15px;
    transition: all 700ms ease-in-out; 
    display: block;
    position: relative;
  }   
  .page1 .boxes.active{    
    margin-top: 0px;   
    height: 110px; /*220px;*/
    transition: background-color 2s ease;
    background-color: var(--a-primary-color);
    transition: all 700ms;

  }
  .page1 .boxes:not(.active):hover, .page1 .boxes:not(.active):focus { 
    margin-top: 0px; height: 110px; /*210px;*/ transition: all 700ms; cursor: pointer; 
    color: #fff;
  } 
  .flyfloatleft{
   float: left; padding-right: 20px;
  }
   .flyfloatright{
   float: left; 
   padding-top: 0;
  }
  .no_searchresults{
    padding: 55px 15px;
  }
  .no_searchresults span{
    padding-left: 0%;
  }

  
  #progress {
    line-height: 28px; 
  }
  #progress li:before {
     border-left: 14px solid #000;
     border-top: 14px solid transparent;
     border-bottom: 14px solid transparent; 
  }
  #progress li:after {
     border-left: 14px solid white;
     border-top: 14px solid transparent;
     border-bottom: 14px solid transparent;    
  }
  .guide_number.one{ margin-left: 10px; }
  .guide_number.two { margin-left: 20px; }
  .guide_number.three { margin-left: 20px; }
  #progress{
    margin-bottom: 30px;
  }
  .smallhide{
    display: none !important;    
  }
  .insurancecell{
    padding: 20px 5px; 
  }
} 
/*end max-width: 600px*/



/*medium view - page1 */
@media only screen and (min-width: 600px) and (max-width: 1050px){ 
  .searchresults{
    padding-left: 0 !important; 
    padding-right: 0 !important; 
  }
  .regiontitle{ 
    padding-left: 20px !important;
    padding-bottom: 10px !important;
  }
}

@media only screen and (min-width: 600px) and (max-width: 765px){  
  .hotelentry{ padding-left: 0 !important; padding-right: 0 !important;}
  .hotelimages{ padding-left: 0 !important; }
  .hotelinfos{ padding-left: 0 !important; padding-right: 20px !important; }
  .hotelprices{ padding-left: 0 !important; padding-right: 0 !important; } 
}


@media only screen and (max-width: 600px){ 
  #bskt_map{
     height: 250px;    
  }
}

.page2.p2_3 .btn_basket_toggle_wrapper, .page2.p2_3 .basket{
  display: none !important;   
}
.page2.p2_1 .page2-2, .page2.p2_1 .page2-3,
.page2.p2_2 .page2-1, .page2.p2_2 .page2-3,
.page2.p2_3 .page2-1, .page2.p2_3 .page2-2{
  display: none !important;   
}

@media only screen and (min-width: 960px){ 
  .basket{
    position: -webkit-sticky !important;
    order: 2;
  }
  .basket_sticky{
    position: -webkit-sticky !important;
    position: sticky;
    top: 0;
  }
  .billing{
    order: 1;
  }
  .btn_basket_toggle{
    display: none;
  }
  .mobile.btn_prev{
    display: none;
  }
}

@media only screen and (max-width: 600px) {
  .basket{
     order: 1;
  }
  .basket_inner .btn_prev{
    display: none;
  }
  .billing{
    order: 2;
  }
  .basket.active{
    display: block;
  }
  .grid_teilnehmer, .grid_rechnungsinfo{
    grid-template-columns: 1fr;
  }
  .btn_basket_toggle{
    display: block;
  }
  .ihrangebot{
    display: none !important;
  }
}

@media only screen and (min-width: 600px) and (max-width: 870px){ /*48*/
  .hide-for-extremes{
    display: none;
  }
  .page1 .databoxes.active{
    background: #eee; margin-top: 0px; padding: 20px 40px 60px 40px;
    display: block;
  } 
  .page1 .tab3_data.databoxes.active{
    padding: 20px 10px 60px 10px;  
  } 
}
@media only screen and (max-width: 960px){ 
  .basket{  
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .reisetitel{
    margin-top: 20px;
  }
}
.htimage{
  transition: height 1s ease-out;
}
.alternatives-search, .alternatives-search2{
  color: #e2001a !important;
  padding-left: 0 !important;
}
.alternatives-search:hover, .alternatives-search2:hover{
  color: #f598a2 !important;
  padding-left: 0 !important;
}
.pit_alternativanzeige_summary_new h3{
  padding-left: 0 !important;
  padding-top: 15px;
}
.loading_searchresults{
  margin-top: var(--a-gap-small);
  padding: clamp(20px, calc(2 * (6px + 1vw)), 40px); 
  display: none; background: var(--a-primary-color); color: white; font-weight: bold; text-align: center;
}

/* TRIPLE SPINNER */
/****************************************************************************/
.radsportferienbuchung_wrapper .triple-spinner {
  display: block;
  position: relative;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 1px solid transparent;
  border-top: 5px solid #fff; //#e62a32;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  margin: 0 auto;
}
.radsportferienbuchung_wrapper .triple-spinner.red{
  border-top-color: var(--a-primary-color);
}
.radsportferienbuchung_wrapper .triple-spinner::before,
.radsportferienbuchung_wrapper .triple-spinner::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid transparent;
  border-top: 5px solid;
}
.radsportferienbuchung_wrapper .triple-spinner::before {
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-top-color: #000; /*#FF9800;*/
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3.5s linear infinite;
}
.radsportferienbuchung_wrapper .triple-spinner::after {
  top: 16px;
  left: 16px;
  right: 16px;
  bottom: 16px;
  border-top-color: #fff; /*#bc955a; /*#FFC107;*/
  -webkit-animation: spinibe 1.5s linear infinite;
  animation: spinibe 1.75s linear infinite;
}
.radsportferienbuchung_wrapper .triple-spinner.red::after {
  border-top-color: var(--a-primary-color);
}
@-webkit-keyframes spinibe {
    from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    }
    to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    }
}
@keyframes spinibe {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
    to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/*END TRIPLE SPINNER */
/*begin flight selector */
.switch_combo{
  background: #bebebe;
  position: relative; top: 5px;
}
.switch_combo.active, .switch_combo.active:hover{
  cursor: default;
  background: var(--a-primary-color);
}
.dep_archive, .ret_archive {
  display: none !important;
}
.pit_flugkategorie .dep, .pit_flugkategorie .ret, .dep_controls, .ret_controls{
  display: none;
  position: relative;
}
.dep_controls_bottom, .ret_controls_bottom{
  display: none;
}
.pit_flugkategorie div.flightentry.active{
  background: #dbdbdb;
}
/*End flight selector*/
/*begin agb alert*/
.alertbg{
  color: red;
  transition: color ease-in 1s;
}
.alertbg2{
  color: #000 !important;
  transition: color ease-in 1s;
}
/*end agb alert*/

.flexbox_container{
  display: flex;
  align-items: flex-start; 
}