/*****************************************
  reduced text width
*****************************************/
@media all and (min-width:48rem){
  .reduced-text-width{
    width: 66%;
  }
}
/*****************************************
  lightbox link
*****************************************/
.icon-lightbox-link:after{
  font-family: 'A1iconfont';
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-transform: none;
  content: '\e64f';
  display: inline-block;
  padding-left: 0.375rem;
}
/*****************************************
  hint-element
*****************************************/
.hint-element .hint-text{
  margin-left: 2.75rem;
}
@media all and (min-width:48rem){
  .hint-element .hint-text{
    margin-left: 3.75rem;
  }
}
.hint-element .hint-icon{
  display: inline-block;
  float: left;
  text-align: center;
  vertical-align: middle;
  width: 1.75rem;
}
.hint-element .bulb:after{
  font-size: 2.25rem;
}
.icon-alert:after{
  display: inline-block;
  font-family: 'A1iconfont';
  content: '\e600';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
}
.icon-tipp:after{
  display: inline-block;
  font-family: 'A1iconfont';
  content: '\e63c';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
}

/* hint success */
.panel.callout.success-element .icon-check:after{
  display: inline-block;
  /* PROBLEM-38728 int(480) */
  /*font-family: 'A1iconfont';
  content: '\e610';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  color: #559902;
  */
  background: url('/img/fres/common/ic_success.png') no-repeat left top;
  background-size: 100% auto;
  content: '';
  width: 36px;
  height: 36px;
  margin-top: 3px;
}
@media only screen and (max-width: 46.625em){
  .panel.callout.success-element .icon-check:after{
    /*margin-top: -0.1875rem;*/
    background-size: 90% auto;
  }
}

/*****************************************
  technical-error-element
*****************************************/
.technical-error-element{
  position: relative;
  background-color: #fff;
  height: 28.75rem;
  overflow: hidden;
}
.technical-error-element img{
  position: absolute;
  left:50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 100%;
  max-width: 120rem;
  width: auto;
}
.technical-error-element .technical-error-text{
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
}
.technical-error-element .technical-error-text h1{
  font-family: 'A1Serif', Verdana, sans-serif;
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 1.3;
  margin-top: -0.39375rem;
  margin-bottom: 0.5rem;
}

.technical-hint .technical-hint-exception{
  font-style: italic;
  font-size: small;
  color: #9A9A9A;
}

@media only screen and (max-width: 63.938em){
  .technical-error-element{
    height: auto;
  }
  .technical-error-element img{
    position: relative;
    left: auto;
    width: 100%;
    height: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
  .technical-error-element .technical-error-text{
    position: relative;
    top: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
  .technical-error-element .technical-error-text .large-6{
    width: 100%;
  }
}
@media only screen and (max-width: 48em){
  .technical-error-element .technical-error-text h1{
    font-size: 1.5rem;
  }
}
.technical-error-element .technical-error-text .technical-hint-text{
  word-wrap: break-word;
}

/*****************************************
  progress-steps-element
*****************************************/
.row.has-progress-steps-element{
  margin-bottom: 0;
}
.progress-steps-element ul{
  list-style-type: none;
  width: 100%;
  margin: 0;
}
.progress-steps-element ul li{
  float: left;
  border-left: 0.125rem solid #efefef;
  background-color: #e6e5e5;
}
.progress-steps-element ul li:first-child{
  border: 0;
}
.progress-steps-element .steps-3 li{
  width: 33.33333333%;
}
.progress-steps-element .steps-2 li{
  width: 50%;
}
.progress-steps-element ul li.active{
  background-color: #da291c;
}
.progress-steps-element ul li .progress-step-icon,
.progress-steps-element ul li .progress-step-text{
  display: block;
  text-align: center;
  padding: 0.375rem 0.25rem 0 00.25rem;
}
.progress-steps-element ul li .progress-step-icon{
  padding-top: 0.5rem;
}
.progress-steps-element ul li .progress-step-icon{
  position: relative;
  height: 2.125rem;
  vertical-align: bottom;
}
.progress-steps-element ul li .progress-step-icon img{
  width: auto;
  max-width: 82%;
  height: auto;
  max-height: 1.75rem;
}
.progress-steps-element ul li .progress-step-text{
  border-bottom: 0.3125rem solid #d5d4d4;
  display: table;
  width: 100%;
  color: #808080;
}
.progress-steps-element ul li.passed .progress-step-text{
  border-color: #da291c;
  color: #000;
}
.progress-steps-element ul li.active .progress-step-text{
  border-color: #da291c;
  color: #fff;
}
.progress-steps-element ul li .progress-step-text span{
  display: table-cell;
  vertical-align: middle;
  padding-bottom: 6px;
}

/*****************************************
  input-list-selection
*****************************************/
.input-list-selection-container{
  margin: 1.5rem 0 1.625rem 0;
}
.input-list-selection-container.inactive-selection{
  opacity: 0.6;
  transition-duration: 0.3s;
  transition-timing-function: linear;
}
.input-list-selection{
  list-style-type: none;
  margin: 0;
}
.input-list-selection .input-list-selection-item{
  position: relative;
  display: block;
  padding: 0;
  margin: 0.875rem 0 0 0;
}
.input-list-selection .input-list-selection-item:first-child{
  margin-top: 0;
}
.input-list-selection .input-list-selection-item.active > .input-radio input[type="radio"]:focus + label{
  outline: none;
}
.input-list-selection .input-list-selection-item > .input-radio label{
  background-color: #fcfcfc;
  border: 0.0625rem solid #bbb;
  display: block;
  padding: 1.875rem 1.875rem 1.875rem 5rem;
  transition-duration: 0.3s;
  transition-timing-function: linear;
}
.input-list-selection .input-list-selection-item.active > .input-radio label,
.no-js .input-list-selection .input-list-selection-item > .input-radio label{
  border-bottom: 0;
}
.input-list-selection .input-list-selection-item .input-list-selection-expander-content{
  display: none;
  background-color: #fff;
  border: 0.0625rem solid #d7d7d7;
  border-top: 0;
  padding: 0 1.875rem 1.875rem 5rem;
}
.input-list-selection .input-list-selection-item.active .input-list-selection-expander-content{
  display: block;
  border-color: #da291c;
  background-color: #fcfcfc;
}
.no-js .input-list-selection .input-list-selection-item .input-list-selection-expander-content{
  display: block;
}
.input-list-selection .input-list-selection-item > .input-radio input[type="radio"]:checked + label{
  border-color: #da291c;
}
.no-js .input-list-selection .input-list-selection-item > .input-radio input[type="radio"]:checked + label{
  background-color: #fff;
  border-color: #d7d7d7;
}
.input-list-selection .input-list-selection-item > .input-radio input[type="radio"] + label:hover,
.input-list-selection .input-list-selection-item .input-list-selection-expander-content:hover,
.no-js .input-list-selection .input-list-selection-item:hover > .input-radio input[type="radio"] + label,
.no-js .input-list-selection .input-list-selection-item:hover .input-list-selection-expander-content,
.no-js .input-list-selection .input-list-selection-item:hover > .input-radio input[type="radio"]:checked + label{
  border-color: #da291c;
}
.input-list-selection-container.inactive-selection .input-list-selection .input-list-selection-item > .input-radio input[type="radio"] + label:hover{
  border-color: #d7d7d7;
  cursor: default;
}
.input-list-selection .input-list-selection-item > .input-radio input[type="radio"] + label.label-element .label-wrapper:before{
  top: -0.125rem;
  left: -3.125rem;
}
.input-list-selection .input-list-selection-item > .input-radio label .label-text{
  font-family: 'A1Serif', Verdana, sans-serif;
  font-size: 1.3125rem;
  line-height: 1.33;
  font-weight: 400;
  margin-top: -0.33125rem;
}
.input-list-selection .input-list-selection-item > .input-radio label .label-description-element{
  font-size: 0.875rem;
  line-height: 1.57;
  display: table;
  width: 100%;
  clear: both;
}
.input-list-selection .input-list-selection-item > .input-radio label .label-description-element .description-wrapper{
  display: table-cell;
  width: 66.6%
}
.input-list-selection .input-list-selection-item > .input-radio label .label-description-element .description-wrapper .description-text{
  padding-top: 0.5625rem;
  display: block;
}

@media only screen and (max-width: 63.938em){
  .input-list-selection .input-list-selection-item > .input-radio label,
  .input-list-selection .input-list-selection-item.active .input-list-selection-expander-content{
    padding: 1.25rem 1.25rem 1.25rem 3.75rem;
  }
  .input-list-selection .input-list-selection-item.active .input-list-selection-expander-content{
    padding-top: 0;
  }
  .input-list-selection .input-list-selection-item > .input-radio input[type="radio"] + label.label-element .label-wrapper:before{
    top: 0.25rem;
    left: -2.5rem;
  }
  .input-list-selection .input-list-selection-item > .input-radio label .label-text{
    margin-top: 0;
  }
}
@media only screen and (max-width: 48em){
  .input-list-selection .input-list-selection-item > .input-radio label .label-text{
    font-size: 1.125rem;
  }
  .input-list-selection .input-list-selection-item > .input-radio input[type="radio"] + label.label-element .label-wrapper:before{
    top: 0.0625rem;
  }
}
@media only screen and (max-width: 46.625em){
  .input-list-selection .input-list-selection-item > .input-radio label,
  .input-list-selection .input-list-selection-item.active .input-list-selection-expander-content{
    padding: 0.9375rem 0.9375rem 0.9375rem 3.125rem;
  }
  .input-list-selection .input-list-selection-item.active .input-list-selection-expander-content{
    padding-top: 0;
  }
  .input-list-selection .input-list-selection-item > .input-radio input[type="radio"] + label.label-element .label-wrapper:before{
    top: 0;
    left: -2.1875rem;
  }
  .input-list-selection .input-list-selection-item > .input-radio label .label-text{
    font-size: 0.875rem;
    line-height: 1.43;
  }
  .input-list-selection .input-list-selection-item > .input-radio label .label-description-element{
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

.input-list-selection .input-list-selection-item.active .input-list-selection-expander-content .input-radio input[type="radio"] + label{
  border: 0;
  background-color: transparent;
  padding: 0.3125rem 0.3125rem 0.3125rem 2.188rem;
}
.input-list-selection .input-list-selection-item .input-list-selection-expander-content .input-radio input[type="radio"] + label.label-element .label-wrapper:before{
  top: 0.0625rem;
  left: -2.188rem;
}
.input-list-selection .input-list-selection-item .input-list-selection-expander-content .input-radio input[type="radio"] + label .label-text{
  font-family: 'A1Sans', Verdana, sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
}
/*****************************************
  reduced half teaser
*****************************************/
section .image-text-teaser.absolute-image-left .panel{
  overflow: hidden;
}
.image-text-teaser.absolute-image-left .text-content{
  padding: 1.25rem 0.9375rem 0.9375rem;
}
.image-text-teaser.absolute-image-left .text-content h2{
  font-size: 18px;
}
.image-text-teaser.absolute-image-left .text-content :last-child{
  margin-bottom: 0;
}
.image-text-teaser.absolute-image-left .button-container{
  position: relative;
}
.image-text-teaser.absolute-image-left .button-content{
  padding: 0 0.9375rem 0.9375rem;
}
@media only screen and (min-width: 746px){
  .image-text-teaser.absolute-image-left .text-content{
    padding: 1.25rem 1.25rem 3.75rem 1.25rem;
  }
  .image-text-teaser.absolute-image-left .text-content h2{
    font-size: 24px;
  }
  .image-text-teaser.absolute-image-left .text-content :last-child{
    margin-bottom: 15px;
  }
  .image-text-teaser.absolute-image-left .button-container{
    position: absolute;
    bottom: 0;
    right: auto;
  }
}
@media only screen and (min-width: 768px) {
  .image-text-teaser.absolute-image-left .text-content h2{
    font-size: 28px;
    margin-bottom: 1.5625rem;
  }
}
@media only screen and (min-width: 1024px) {
  .image-text-teaser.absolute-image-left .image{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  .image-text-teaser.absolute-image-left .xlarge-6{
    width: 50%;
  }
  .image-text-teaser.absolute-image-left .xlarge-offset-6{
    margin-left: 50%;
  }
  .image-text-teaser.absolute-image-left .text-content{
    padding: 1.875rem 1.875rem 7.5rem 0;
  }
  .image-text-teaser.absolute-image-left .button-container{
    right: 0;
  }
  .image-text-teaser.absolute-image-left .button-content{
    padding: 0 1.875rem 1.875rem 0;
  }
}