@charset "UTF-8";
#tarife .desktop-template {
  display: block; }

#tarife .mobile-template {
  display: none; }

#tarife .tarrife_info, #tarife .change_rate {
  display: none; }

#tarife.marketing-price-calculator .rate-consumptions .consumption-presets {
  display: none; }
  #tarife.marketing-price-calculator .rate-consumptions .consumption-presets.active {
    display: block; }

#tarife.marketing-price-calculator .tariff-find-button {
  margin-top: 40px;
  margin-bottom: 93px; }
  #tarife.marketing-price-calculator .tariff-find-button button {
    display: block;
    width: 376px;
    padding: 19px 23px 23px 23px;
    color: #FFFFFF;
    font-size: 24px;
    line-height: 22px;
    text-align: center;
    background: #f59c00;
    font-weight: bold;
    border: 0;
    letter-spacing: 1px; }

#tarife .wpcf7 label, #tarife .wpcf7 input {
  height: auto; }

#tarife .clearfix:before, #tarife .clearfix:after {
  content: '';
  display: block;
  clear: both; }

#tarife div.wpcf7-mail-sent-ok {
  display: block;
  font-size: 22px;
  border: 0; }

#tarife .disable-select {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

#tarife .rate-postcode-match-street-select-container {
  display: none;
  position: absolute;
  border: 2px solid #C0C0C0;
  border-top: none;
  z-index: 999;
  background: #fff;
  max-height: 225px;
  overflow-y: scroll;
  width: 51%;
  left: 214px;
  top: 62px; }
  #tarife .rate-postcode-match-street-select-container.show {
    display: block; }
  #tarife .rate-postcode-match-street-select-container .match-street-select {
    color: #909090;
    cursor: pointer;
    text-align: left;
    padding: 7px 20px;
    overflow-wrap: break-word;
    border: 2px solid rgba(255, 255, 255, 0);
    font-weight: 700;
    line-height: initial;
    white-space: initial;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    #tarife .rate-postcode-match-street-select-container .match-street-select:hover {
      border: 2px solid #f59c00; }

#tarife .rate-postcode-street-select-wrap {
  width: 5%;
  float: left;
  display: none; }
  #tarife .rate-postcode-street-select-wrap .rate-postcode-street-select {
    position: relative;
    border: 2px solid #C0C0C0;
    border-left: 0px;
    color: #909090;
    padding: 43px 15px 15px 28px;
    cursor: pointer;
    font-size: 24px;
    line-height: 28px;
    text-align: left; }
    #tarife .rate-postcode-street-select-wrap .rate-postcode-street-select .select-handle {
      font-size: 17px;
      position: absolute;
      right: 17px;
      top: 50%;
      transform: translateY(-50%); }
  #tarife .rate-postcode-street-select-wrap .rate-postcode-street-select-container {
    display: none;
    position: absolute;
    border: 2px solid #C0C0C0;
    border-top: none;
    z-index: 999;
    background: #fff;
    max-height: 225px;
    overflow-y: scroll;
    width: 51%;
    left: 214px; }
  #tarife .rate-postcode-street-select-wrap .postcode-autocomplete {
    color: #909090;
    cursor: pointer;
    text-align: left;
    padding: 7px 20px;
    overflow-wrap: break-word;
    border: 2px solid rgba(255, 255, 255, 0);
    font-weight: 700;
    line-height: initial;
    white-space: initial;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    #tarife .rate-postcode-street-select-wrap .postcode-autocomplete:hover {
      border: 2px solid #f59c00; }
  #tarife .rate-postcode-street-select-wrap .rate-postcode-street-select .selected-street {
    display: block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 100%;
    padding-right: 14px;
    color: #909090;
  }
  #tarife .rate-postcode-street-select-wrap .opened-select {
    display: none; }
  #tarife .rate-postcode-street-select-wrap .closed-select {
    display: block; }
  #tarife .rate-postcode-street-select-wrap .rate-postcode-street-select-container.active {
    display: block; }
  #tarife .rate-postcode-street-select-wrap.show {
    display: block; }
  #tarife .rate-postcode-street-select-wrap.active .opened-select {
    display: block; }
  #tarife .rate-postcode-street-select-wrap.active .closed-select {
    display: none; }

#tarife .has-error {
  color: #121212;
  font-size: 40px;
  font-weight: bold;
  padding-bottom: 17px;
  border-bottom: 1px solid #FFAE41;
  margin-bottom: 44px; }

#tarife .error-container {
  background-color: #F2EFEA;
  padding: 64px 0;
  padding-left: 89px;
  position: relative;
  padding-right: 12px;
  color: #909090;
 }
  #tarife .error-container h3 {
    font-size: 24px;
    font-weight: normal;
    margin: 0; }
  #tarife .error-container h4 {
    margin-top: 10px; }
  #tarife .error-container::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 29px;
    height: 40px;
    width: 41px;
    border: 3px solid #f59c00;
    border-radius: 50%; }
  #tarife .error-container::after {
    color: #f59c00;
    content: "i";
    font-size: 36px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 45px; }

#tarife .go-back-button {
  margin-top: 40px;
  margin-bottom: 93px; }
  #tarife .go-back-button a {
    display: block;
    max-width: 376px;
    padding: 17px 23px 21px 23px;
    border-radius: 25px;
    background-color: #f59c00;
    color: #FFFFFF;
    font-size: 24px;
    line-height: 26px;
    text-align: center; }

#tarife h1 {
  margin-top: 30px;
  margin-bottom: 30px;
  color: #121212;
  font-size: 40px;
  font-weight: bold;
  line-height: 40px;
  }

#tarife h2 {
  font-size: 25px;
  margin-bottom: 35px; }

#tarife .order-option-title {
  color: #949494;
  margin-top: 20px;
  margin-right: 31px;
  font-size: 24px;
  line-height: 19px;
  float: left;
  margin-bottom: 0; }

#tarife .sparte-title {
  padding-bottom: 22px;
  margin-bottom: 15px;
  padding-top: 8px; }
  #tarife .sparte-title.electricity {
    /*background: url(/a76b982quz/uploads/2017/09/amp_hover.png) no-repeat;*/ }
  #tarife .sparte-title.gas {
    /* background: url(/a76b982quz/uploads/2017/09/fire_hover.png) no-repeat;*/ }

#tarife h3 {
  font-size: 27px; }

#tarife h4 {
  font-size: 22px; }

#tarife h5 {
  font-size: 18px; }

#tarife h6 {
  font-size: 16px; }

#tarife .customer-box {
  float: left;
  box-sizing: border-box;
  margin-right: 10px;
  max-height: 62px;
  width: 255px;
  border: 2px solid #C0C0C0;
  background-color: #FFFFFF;
  position: relative;
  cursor: pointer; }
  #tarife .customer-box.active .customer-wrap {
    display: block; }
  #tarife .customer-box.active .customer-box-select .box-select-inner {
    top: 2px;
    bottom: auto; }
  #tarife .customer-box .customer-wrap {
    display: none;
    position: absolute;
    z-index: 1;
    width: 100%;
    border: 2px solid #C0C0C0;
    background-color: #FFFFFF;
    border-top: none;
    left: -2px;
    z-index: 6; }
    #tarife .customer-box .customer-wrap .customer {
      width: 100%;
      position: relative;
      transition: all 0.2s ease;
      color: #909090;
      font-size: 24px;
      line-height: 30px;
      padding: 15px 107px 15px 28px;
      position: relative;
      border: 2px solid rgba(255, 255, 255, 0);
      background: #fff; }
      #tarife .customer-box .customer-wrap .customer:hover {
        border: 2px solid #f59c00; }
        #tarife .customer-box .customer-wrap .customer:hover .primg {
          opacity: 0; }
        #tarife .customer-box .customer-wrap .customer:hover .hvr {
          opacity: 1; }
  #tarife .customer-box #attributes {
    margin-left: 0px !important;
    width: 255px; }
    #tarife .customer-box #attributes .customer-active {
      color: #909090;
      font-size: 24px;
      line-height: 30px;
      padding: 15px 52px 6px 28px;
      position: relative; }
      #tarife .customer-box #attributes .customer-active .title {
        float: left;
        padding-bottom: 2px; }
    #tarife .customer-box #attributes .customer-box-select {
      position: absolute;
      right: 19px;
      top: 55%;
      transform: translateY(-50%);
      height: 8px;
      width: 12px;
      opacity: 0.4;
      color: #909090;
      font-size: 0;
      font-weight: bold;
      line-height: 0;
      overflow: hidden; }
      #tarife .customer-box #attributes .customer-box-select .box-select-inner {
        border: 2px solid #909090;
        height: 12px;
        width: 12px;
        transform: rotate(45deg);
        position: absolute;
        bottom: 2px; }

#tarife .sparten-box {
  float: left;
  box-sizing: border-box;
  max-height: 62px;
  width: 215px;
  border: 2px solid #C0C0C0;
  background-color: #FFFFFF;
  position: relative;
  cursor: pointer; }
  #tarife .sparten-box .both-orange, #tarife .sparten-box .both, #tarife .sparten-box .electricity-orange, #tarife .sparten-box .electricity, #tarife .sparten-box .gas-orange, #tarife .sparten-box .gas {
    display: inline-block;
    background: url("../images/traffic-calc-sprite.png") no-repeat;
    overflow: hidden;
    text-indent: -9999px;
    text-align: left; }
  #tarife .sparten-box .both-orange {
    background-position: -0px -0px;
    width: 32px;
    height: 25px; }
  #tarife .sparten-box .both {
    background-position: -0px -25px;
    width: 32px;
    height: 25px; }
  #tarife .sparten-box .electricity-orange {
    background-position: -0px -50px;
    width: 17px;
    height: 25px; }
  #tarife .sparten-box .electricity {
    background-position: -0px -75px;
    width: 17px;
    height: 25px; }
  #tarife .sparten-box .gas-orange {
    background-position: -0px -100px;
    width: 16px;
    height: 24px; }
  #tarife .sparten-box .gas {
    background-position: -16px -100px;
    width: 16px;
    height: 24px; }
  #tarife .sparten-box.active .sparte-wrap {
    display: block; }
  #tarife .sparten-box.active .sparten-box-select .box-select-inner {
    top: 2px;
    bottom: auto; }
  #tarife .sparten-box .sparte-active {
    color: #909090;
    font-size: 24px;
    line-height: 30px;
    width: 220px;
    padding: 15px 45px 6px 28px;
    position: relative; }
    #tarife .sparten-box .sparte-active .title {
      float: left;
      padding-bottom: 2px; }
    #tarife .sparten-box .sparte-active .rate-icon {
      float: right; }
  #tarife .sparten-box .sparten-box-select {
    position: absolute;
    right: 19px;
    top: 55%;
    transform: translateY(-50%);
    height: 8px;
    width: 12px;
    opacity: 0.4;
    color: #909090;
    font-size: 0;
    font-weight: bold;
    line-height: 0;
    overflow: hidden; }
    #tarife .sparten-box .sparten-box-select .box-select-inner {
      border: 2px solid #909090;
      height: 12px;
      width: 12px;
      transform: rotate(45deg);
      position: absolute;
      bottom: 2px; }
  #tarife .sparten-box .sparte-wrap {
    display: none;
    position: absolute;
    z-index: 1;
    border: 2px solid #C0C0C0;
    background-color: #FFFFFF;
    border-top: none;
    left: -2px;
    right: -2px;
    z-index: 6; }
  #tarife .sparten-box .sparte {
    width: 100%;
    position: relative;
    transition: all 0.2s ease;
    color: #909090;
    font-size: 24px;
    line-height: 30px;
    padding: 15px 107px 15px 28px;
    position: relative;
    border: 2px solid rgba(255, 255, 255, 0);
    background: #fff; }
    #tarife .sparten-box .sparte:hover {
      border: 2px solid #f59c00; }
      #tarife .sparten-box .sparte:hover .primg {
        opacity: 0; }
      #tarife .sparten-box .sparte:hover .hvr {
        opacity: 1; }
    #tarife .sparten-box .sparte .rate-icon {
      position: absolute;
      right: 30px; }
    #tarife .sparten-box .sparte p {
      font-size: 24px;
      color: #909090;
      float: left;
      padding-bottom: 2px; }
    #tarife .sparten-box .sparte .primg {
      opacity: 1; }
    #tarife .sparten-box .sparte .hvr {
      opacity: 0; }
    #tarife .sparten-box .sparte:last-child {
      margin-right: 0; }

#tarife .multiple-rates .product .product-content .order-now-button {
  display: none; }

#tarife .multiple-rates .product .product-content .order-now {
  display: block;
  margin: auto;
  width: 70%; }

#tarife .multiple-rates .rates-separator {
  background-color: #909090; 
  display:none; }

#tarife .multiple-rates .product {
  margin-top: 55px; }

#tarife .form-inline {
  float: left; }
  #tarife .form-inline:after {
    content: '';
    display: block;
    clear: both; }

#tarife .rate-consumptions {
  padding: 0px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: 10px; }
  #tarife .rate-consumptions.separate-sparte-wrap {
    padding-left: 0;
    margin-left: 0;
    margin-top: 33px; }
    #tarife .rate-consumptions.separate-sparte-wrap .sparte-title, #tarife .rate-consumptions.separate-sparte-wrap .consumption-presets {
      float: left; }
    #tarife .rate-consumptions.separate-sparte-wrap .sparte-title {
      margin-top: 8px;
      margin-right: 22px;
      margin-left: 15px; }
    #tarife .rate-consumptions.separate-sparte-wrap .consumption-presets {
      margin: 0; }
    #tarife .rate-consumptions.separate-sparte-wrap:after {
      display: block;
      content: '';
      clear: both; }
  #tarife .rate-consumptions .consumptions-title {
    text-align: left;
    font-size: 16px;
    margin-bottom: 0;
    color: #121212;
    line-height: 20px;
  }
  #tarife .rate-consumptions .consumption-preset-select {
    position: absolute;
    right: 19px;
    top: 50%;
    transform: translateY(-50%);
    height: 8px;
    width: 12px;
    opacity: 0.4;
    color: #909090;
    font-size: 0;
    font-weight: bold;
    line-height: 0;
    overflow: hidden; }
    #tarife .rate-consumptions .consumption-preset-select .consumption-preset-select-inner {
      border: 2px solid #909090;
      height: 12px;
      width: 12px;
      transform: rotate(45deg);
      position: absolute;
      bottom: 2px; }
  #tarife .rate-consumptions .dropdown-manual-input-select {
    padding: 0; }
  #tarife .rate-consumptions .consumption-preset-manual-input {
    display: none;
    max-width: 242px;
    padding: 0; }
    #tarife .rate-consumptions .consumption-preset-manual-input input {
      border: 2px solid #909090;
      background: #FEF6E3;
      border-radius: 0;
      color: #909090;
      font-size: 24px;
      line-height: 28px;
      padding: 15px 52px 15px 28px;
      position: relative;
      height: auto;
      width: 100%;
      z-index: 2; }
      #tarife .rate-consumptions .consumption-preset-manual-input input::placeholder {
        font-size: 18px;
        color: inherit;
        font-weight: inherit;
        font-family: inherit; }
      #tarife .rate-consumptions .consumption-preset-manual-input input ::-webkit-input-placeholder {
        font-size: 18px;
        color: inherit;
        font-weight: inherit;
        font-family: inherit; }
      #tarife .rate-consumptions .consumption-preset-manual-input input ::-moz-placeholder {
        font-size: 18px;
        color: inherit;
        font-weight: inherit;
        font-family: inherit; }
      #tarife .rate-consumptions .consumption-preset-manual-input input :-ms-input-placeholder {
        font-size: 18px;
        color: inherit;
        font-weight: inherit;
        font-family: inherit; }
      #tarife .rate-consumptions .consumption-preset-manual-input input :-moz-placeholder {
        font-size: 18px;
        color: inherit;
        font-weight: inherit;
        font-family: inherit; }
    #tarife .rate-consumptions .consumption-preset-manual-input.show {
      display: block; }
      #tarife .rate-consumptions .consumption-preset-manual-input.show input {
        border: 2px solid #f59c00; }
      #tarife .rate-consumptions .consumption-preset-manual-input.b2b.show input {
        border: 2px solid #C0C0C0;
        font-size: 24px;
        font-weight: normal;
        color: #909090; }

  #tarife .rate-consumptions .consumption-presets {
    position: relative;
    margin-bottom: 0 !important; }
    #tarife .rate-consumptions .consumption-presets.show {
      display: block; }
      #tarife .rate-consumptions .consumption-presets.show .consumption-preset-wrap {
        display: block; }
      #tarife .rate-consumptions .consumption-presets.show .consumption-preset-select .consumption-preset-select-inner {
        top: 2px;
        bottom: auto; }
    #tarife .rate-consumptions .consumption-presets .dropdown-input-select {
      padding: 0;
      z-index: 2; }
      #tarife .rate-consumptions .consumption-presets .dropdown-input-select .consumption-preset {
        display: block; }
    #tarife .rate-consumptions .consumption-presets .consumption-preset-input-select {
      border: 2px solid #909090;
      cursor: pointer;
      text-align: left;
      color: #909090;
      font-size: 24px;
      line-height: 30px;
      padding: 15px 52px 15px 28px;
      position: relative;
      box-sizing: border-box;
      height: 62px;
      width: 242px;
      border: 2px solid #C0C0C0;
      background-color: #FFFFFF; }
      #tarife .rate-consumptions .consumption-presets .consumption-preset-input-select svg {
        color: #f59c00;
        font-size: 31px;
        vertical-align: middle;
        position: absolute;
        top: 50%;
        right: 40px;
        transform: translatey(-50%); }
      #tarife .rate-consumptions .consumption-presets .consumption-preset-input-select:after {
        content: '';
        display: block;
        clear: both; }
      #tarife .rate-consumptions .consumption-presets .consumption-preset-input-select .fa-angle-down {
        font-size: 17px;
        position: absolute;
        right: 17px;
        top: 50%;
        transform: translateY(-50%); }
      #tarife .rate-consumptions .consumption-presets .consumption-preset-input-select .selected-preset {
        display: block;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        max-width: 100%;
        padding-right: 14px;
        color: #909090;
        font-size: 24px;
        line-height: 30px; }
    #tarife .rate-consumptions .consumption-presets .consumption-preset-wrap {
      position: absolute;
      /*margin-top: 62px;*/
      width: 100%;
      border: 2px solid #C0C0C0;
      border-top: none;
      z-index: 999;
      display: none; }
      #tarife .rate-consumptions .consumption-presets .consumption-preset-wrap.active {
        display: block; }
    #tarife .rate-consumptions .consumption-presets .consumption-preset-container {
      padding: 0; }
    #tarife .rate-consumptions .consumption-presets .consumption-preset {
      background: #fff;
      border: 2px solid rgba(255, 255, 255, 0);
      color: #909090;
      padding: 20px 19px;
      text-align: left;
      cursor: pointer;
      font-size: 12px;
      overflow: hidden;
      position: relative; }
      #tarife .rate-consumptions .consumption-presets .consumption-preset .consumption-text {
        font-size: 24px;
        color: #909090;
      }
      #tarife .rate-consumptions .consumption-presets .consumption-preset svg {
        color: #f59c00;
        font-size: 31px;
        vertical-align: middle;
        position: absolute;
        top: 50%;
        right: 13px;
        transform: translatey(-50%); }
      #tarife .rate-consumptions .consumption-presets .consumption-preset.preset-manual-input-hidden {
        display: none !important; }
      #tarife .rate-consumptions .consumption-presets .consumption-preset.show {
        display: block; }
      #tarife .rate-consumptions .consumption-presets .consumption-preset:hover {
        color: #fff;
        border: 2px solid #f59c00; }

#tarife .consumption-presets-wrap .consumption-input label {
  flex: 0 0 auto;
  align-items: center;
  display: inline-flex;
  margin-right: 20px;
  font-size: 18px;
  color: #474747;
  font-weight: bold; }

#tarife .consumption-presets-wrap .consumption-input input {
  flex: 1 0 100px;
  border: 1px solid #ccc;
  border-radius: 0;
  background: 0;
  box-shadow: none;
  font-size: 18px;
  background: #ffffff;
  padding: 14px 22px;
  color: #C0C0C0;
  font-weight: bold;
  width: 100%;
  background: #ffffff; }

#tarife .consumption-presets-wrap .consumption-presets .consumption-preset {
  padding: 20px 0;
  padding-left: 28px;
  color: #909090;
  font-size: 24px;
  line-height: 30px;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease; }
  #tarife .consumption-presets-wrap .consumption-presets .consumption-preset.active {
    border: 2px solid #f59c00;
    box-shadow: none;
    color: #ffffff; }

#tarife .rate-inputs {
  position: relative;
  padding: 0;
  margin-left: 10px; }
  #tarife .rate-inputs.postcode-wrap .sn {
    display: none; }
  #tarife .rate-inputs.postcode-wrap.active {
    width: 100%; }
    #tarife .rate-inputs.postcode-wrap.active .sn {
      width: 20%; }
    #tarife .rate-inputs.postcode-wrap.active input[type=text] {
      width: 47%;
      float: left; }
      #tarife .rate-inputs.postcode-wrap.active input[type=text].sn {
        width: 20% !important;
        padding-left: 10px;
        padding-right: 10px; }
      #tarife .rate-inputs.postcode-wrap.active input[type=text]:after {
        content: '';
        display: block;
        clear: both; }
    #tarife .rate-inputs.postcode-wrap.active .sn {
      display: block;
      margin-left: 10px; }
    #tarife .rate-inputs.postcode-wrap.active .rate-postcode-autocomplete-wrap {
      width: 97%;
      left: 0;
      right: 0;
      margin-top: 50px;
      right: auto; }
  #tarife .rate-inputs .rate-postcode-autocomplete-wrap {
    display: none;
    width: 100%;
    max-height: 225px;
    overflow-y: scroll;
    margin: 0 auto;
    border: 2px solid #C0C0C0;
    border-top: none;
    position: absolute;
    z-index: 999;
    background: #fff;
    left: 0;
    right: 0;
    padding: 10px 0; }
    #tarife .rate-inputs .rate-postcode-autocomplete-wrap.busy {
      overflow-y: hidden; }
      #tarife .rate-inputs .rate-postcode-autocomplete-wrap.busy:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 100;
        background: rgba(0, 0, 0, 0.3);
        -webkit-transition: background 0.2s;
        -moz-transition: background 0.2s;
        -ms-transition: background 0.2s;
        -o-transition: background 0.2s;
        transition: background 0.2s; }
      #tarife .rate-inputs .rate-postcode-autocomplete-wrap.busy:after {
        content: 'Bitte warten...';
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 20px;
        text-align: center;
        z-index: 100; }
    #tarife .rate-inputs .rate-postcode-autocomplete-wrap.active {
      display: block; }
    #tarife .rate-inputs .rate-postcode-autocomplete-wrap .postcode-autocomplete {
      color: #909090;
      cursor: pointer;
      text-align: left;
      padding: 7px 16px;
      overflow-wrap: break-word;
      border: 2px solid rgba(255, 255, 255, 0);
      font-weight: 700;
      line-height: initial;
      white-space: initial;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
      #tarife .rate-inputs .rate-postcode-autocomplete-wrap .postcode-autocomplete:hover {
        border: 2px solid #f59c00; }
  #tarife .rate-inputs input[type="text"] {
    background: #ffffff;
    font-weight: 400;
    color: #909090;
    font-size: 24px;
    padding: 14px 28px 14px 28px;
    position: relative;
    box-sizing: border-box;
    border: 2px solid #C0C0C0;
    background-color: #FFFFFF;
    line-height: 30px; }
    #tarife .rate-inputs input[type="text"]::placeholder {
      font-size: 18px;
      color: inherit;
      font-weight: inherit;
      font-family: inherit; }
    #tarife .rate-inputs input[type="text"] ::-webkit-input-placeholder {
      font-size: 18px;
      color: inherit;
      font-weight: inherit;
      font-family: inherit; }
    #tarife .rate-inputs input[type="text"] ::-moz-placeholder {
      font-size: 18px;
      color: inherit;
      font-weight: inherit;
      font-family: inherit; }
    #tarife .rate-inputs input[type="text"] :-ms-input-placeholder {
      font-size: 18px;
      color: inherit;
      font-weight: inherit;
      font-family: inherit; }
    #tarife .rate-inputs input[type="text"] :-moz-placeholder {
      font-size: 18px;
      color: inherit;
      font-weight: inherit;
      font-family: inherit; }
  #tarife .rate-inputs .input-bufer {
    position: absolute;
    background: #ffffff;
    font-weight: 400;
    color: #909090;
    font-size: 24px;
    padding: 15px 28px 15px 28px;
    visibility: hidden;
    white-space: nowrap;
    border: 2px solid #C0C0C0;
    background-color: #FFFFFF;
    line-height: 28px; }
  #tarife .rate-inputs input[name=street] {
    display: none;
    margin-left: 10px;
    padding: 14px 0px 14px 28px;
    border-right: 0px; }
  #tarife .rate-inputs .street_input.show {
    display: block; }
  #tarife .rate-inputs input[type=submit] {
    color: #ffffff;
    background-color: #f59c00;
    text-transform: uppercase;
    font-size: 16px;
    margin-top: 8px;
    padding: 16px 0;
    width: 100%;
    font-weight: 600; }

#tarife #order-select .row {
  margin-bottom: 30px; }

#tarife #order-select .btn-order {
  background: #f59c00;
  color: #fff;
  font-weight: bold;
  border: 0;
  border-radius:30px;
  padding: 15px 30px;
  font-size: 20px;
  /*letter-spacing: 1px;*/ }

#tarife #order-option {
  border-bottom: solid 1px #FFAE41;
  position: relative;
  padding-bottom: 33px; }
  #tarife #order-option #attributes {
    margin-left: 50px;
    position: relative; }
    #tarife #order-option #attributes .customer-type-wrap {
      padding-top: 20px; }
  #tarife #order-option [type="radio"]:checked,
  #tarife #order-option [type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px; }
  #tarife #order-option [type="radio"]:checked + label,
  #tarife #order-option [type="radio"]:not(:checked) + label {
    position: relative;
    padding-left: 50px;
    cursor: pointer;
    line-height: 40px;
    display: inline-block;
    color: #a1a1a1;
    font-weight: bold;
    font-size: 18px;
    margin-right: 52px;
    margin-bottom: 20px; }
  #tarife #order-option [type="radio"]:checked + label:before,
  #tarife #order-option [type="radio"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    border: 2px solid #a1a1a1;
    border-radius: 100%;
    background: #fff; }
  #tarife #order-option [type="radio"]:checked + label:after,
  #tarife #order-option [type="radio"]:not(:checked) + label:after {
    content: '';
    width: 14px;
    height: 14px;
    background: #f59c00;
    position: absolute;
    top: 13px;
    left: 13px;
    border-radius: 100%;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  #tarife #order-option [type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  #tarife #order-option [type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  #tarife #order-option [type="radio"]:checked + label:before {
    border: 2px solid #f59c00; }
  #tarife #order-option [type="radio"]:checked + label {
    color: #f59c00; }
  #tarife #order-option [type="radio"]:last-of-type + label {
    margin-right: 0; }
  #tarife #order-option [type="checkbox"]:checked,
  #tarife #order-option [type="checkbox"]:not(:checked) {
    position: absolute;
    left: -9999px; }
  #tarife #order-option [type="checkbox"]:checked + label,
  #tarife #order-option [type="checkbox"]:not(:checked) + label {
    position: relative;
    padding-left: 31px;
    cursor: pointer;
    line-height: 40px;
    display: inline-block;
    color: #a1a1a1;
    font-weight: normal;
    font-size: 16px;
    margin-right: 52px; }
  #tarife #order-option [type="checkbox"]:checked + label:before,
  #tarife #order-option [type="checkbox"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    border: 2px solid #a1a1a1;
    background: #fff; }
  #tarife #order-option [type="checkbox"]:checked + label:after,
  #tarife #order-option [type="checkbox"]:not(:checked) + label:after {
    content: '';
    width: 10px;
    height: 10px;
    background: #f59c00;
    position: absolute;
    top: 4px;
    left: 4px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  #tarife #order-option [type="checkbox"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  #tarife #order-option [type="checkbox"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  #tarife #order-option [type="checkbox"]:checked + label:before {
    border: 2px solid #f59c00; }
  #tarife #order-option [type="checkbox"]:checked + label {
    color: #f59c00; }
  #tarife #order-option [type="checkbox"]:last-of-type + label {
    margin-right: 0;
    color: #949494;
    font-size: 24px;
    line-height: 19px; }

#tarife .before-product {
  position: relative;
  display: block;
  z-index: 1;
  text-align: center;
  color: #fff;
  font-size: 13px;
  width: 90%;
  height: 40px;
  padding: 10px 3px;
  top: 0px;
  left: 50%;
  background-color: #f59c00;
  box-shadow: inset 0px -10px 10px -10px #333;
  transform: translateX(-50%);
  transition: all ease 0.2s;
  cursor: pointer; }
  #tarife .before-product p {
    padding: 0 10px; }
    #tarife .before-product p strong {
      font-weight: bold; }
  #tarife .before-product img {
    display: block;
    width: 100%;
    margin-top: 15px;
    overflow: hidden; }
  #tarife .before-product.opened {
    height: 190px;
    top: 7px;
    box-shadow: inset 0px 0px 0px 0px #000;
    transition: all ease 0.2s; }

#tarife .desktop-template .product, #tarife .mobile-template .product {
  border: 2px solid #C0C0C0;
  height: 590px;
  position: relative;
  margin-bottom: 30px;
  margin-top: 118px; }
  #tarife .desktop-template .product.bonus, #tarife .mobile-template .product.bonus {
    position: relative;
    z-index: 5;
    margin-top: 0; }
  #tarife .desktop-template .product.recomended-product .product-content .order-now-button .btn-order, #tarife .mobile-template .product.recomended-product .product-content .order-now-button .btn-order {
    background-color: #4BAF49 !important; }
    #tarife .desktop-template .product.recomended-product .product-content .order-now-button .btn-order .selected, #tarife .mobile-template .product.recomended-product .product-content .order-now-button .btn-order .selected {
      display: inline-block; }
  #tarife .desktop-template .product .recomended-product-text, #tarife .mobile-template .product .recomended-product-text {
    color: #FFFFFF;
    font-size: 20px;
    line-height: 25px;
    text-align: center;
    background-color: #f59c00;
    transform: translateY(-100%);
    position: absolute;
    left: 0;
    right: 0;
    margin-left: -2px;
    margin-right: -2px;
    padding: 11px 0 14px 0;
    text-transform: uppercase; }
  #tarife .desktop-template .product .image, #tarife .mobile-template .product .image {
    min-height: 182px;
    position: relative;
    margin-top: 2px;
    overflow: hidden; }
    #tarife .desktop-template .product .image img, #tarife .mobile-template .product .image img {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      margin: 0 auto; }
  #tarife .desktop-template .product .product-price-wrap, #tarife .mobile-template .product .product-price-wrap {
    background-color: #ededed;
    padding: 30px 0;
    text-align: center;
    color: #919191; }
    #tarife .desktop-template .product .product-price-wrap .product-price-span, #tarife .mobile-template .product .product-price-wrap .product-price-span {
      color: #f59c00;
      font-size: 40px;
      font-weight: bold;
      line-height: 32px;
      text-align: center; }
  #tarife .desktop-template .product .order-now [type="radio"]:checked,
  #tarife .desktop-template .product .order-now [type="radio"]:not(:checked), #tarife .mobile-template .product .order-now [type="radio"]:checked,
  #tarife .mobile-template .product .order-now [type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px; }
  #tarife .desktop-template .product .order-now [type="radio"]:checked + label,
  #tarife .desktop-template .product .order-now [type="radio"]:not(:checked) + label, #tarife .mobile-template .product .order-now [type="radio"]:checked + label,
  #tarife .mobile-template .product .order-now [type="radio"]:not(:checked) + label {
    position: relative;
    cursor: pointer;
    font-weight: bold;
    margin: 30px 0 20px;
    display: block;
    padding: 16px 0 16px 40px;
    /*text-transform: uppercase;*/
    text-align: center;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    background: #f59c00;
    color: #fff;
    font-weight: bold;
    border: 0;
    border-radius:30px;
    font-size: 16px;
    /*letter-spacing: 1px;*/ }
  #tarife .desktop-template .product .order-now [type="radio"]:checked + label:before,
  #tarife .desktop-template .product .order-now [type="radio"]:not(:checked) + label:before, #tarife .mobile-template .product .order-now [type="radio"]:checked + label:before,
  #tarife .mobile-template .product .order-now [type="radio"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 20px;
    top: 50%;
    width: 24px;
    height: 24px;
    border: 1px solid #f59c00;
    border-radius: 2px;
    background: #fff;
    transform: translateY(-50%); }
  #tarife .desktop-template .product .order-now [type="radio"]:checked + label:after,
  #tarife .desktop-template .product .order-now [type="radio"]:not(:checked) + label:after, #tarife .mobile-template .product .order-now [type="radio"]:checked + label:after,
  #tarife .mobile-template .product .order-now [type="radio"]:not(:checked) + label:after {
    background: #4BAF49;
    color: #fff;
    content: "";
    position: absolute;
    left: 20px;
    top: 50%;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    font-family: "Glyphicons Halflings";
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  #tarife .desktop-template .product .order-now [type="radio"]:not(:checked) + label:after, #tarife .mobile-template .product .order-now [type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); }
  #tarife .desktop-template .product .order-now [type="radio"]:checked + label:after, #tarife .mobile-template .product .order-now [type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1) translateY(-50%);
    transform: scale(1) translateY(-50%); }
  #tarife .desktop-template .product .order-now [type="radio"]:checked + label:before, #tarife .mobile-template .product .order-now [type="radio"]:checked + label:before {
    border: 1px solid #fff; }
  #tarife .desktop-template .product .order-now [type="radio"]:checked + label, #tarife .mobile-template .product .order-now [type="radio"]:checked + label {
    color: #fff;
    background: #4BAF49; }
  #tarife .desktop-template .product .product-content, #tarife .mobile-template .product .product-content {
    padding: 20px;
    background: #fff;
    color: #474747; }
    #tarife .desktop-template .product .product-content.product-content-no-padding, #tarife .mobile-template .product .product-content.product-content-no-padding {
      padding: 0; }
    #tarife .desktop-template .product .product-content .order-now-button, #tarife .mobile-template .product .product-content .order-now-button {
      margin-left: -2px;
      margin-right: -2px;
      margin-top: 61px; }
      #tarife .desktop-template .product .product-content .order-now-button .btn-order, #tarife .mobile-template .product .product-content .order-now-button .btn-order {
        width: 100%;
        color: #FFFFFF;
        font-size: 24px;
        line-height: 23px;
        text-align: center;
        padding: 23px 0;
        text-transform: uppercase; }
        #tarife .desktop-template .product .product-content .order-now-button .btn-order .selected, #tarife .mobile-template .product .product-content .order-now-button .btn-order .selected {
          display: none;
          font-size: 16px; }
    #tarife .desktop-template .product .product-content .price h3, #tarife .mobile-template .product .product-content .price h3 {
      font-size: 21px;
      font-weight: normal;
      margin: 0; }
    #tarife .desktop-template .product .product-content .price p, #tarife .mobile-template .product .product-content .price p {
      font-size: 17px;
      margin: 0; }
    #tarife .desktop-template .product .product-content .price .product-price-monthly, #tarife .mobile-template .product .product-content .price .product-price-monthly {
      color: #909090;
      line-height: 32px;
      text-align: center;
      margin-top: 15px; }
    #tarife .desktop-template .product .product-content section.trigger-popup, #tarife .mobile-template .product .product-content section.trigger-popup {
      cursor: pointer;
      color: #f59c00;
      font-size: 16px;
      margin-top: 23px;
      line-height: 32px;
      text-align: center;
      background: #fff; }
      #tarife .desktop-template .product .product-content section.trigger-popup span.info, #tarife .mobile-template .product .product-content section.trigger-popup span.info {
        position: relative;
        padding-right: 12px; }
        #tarife .desktop-template .product .product-content section.trigger-popup span.info::before, #tarife .mobile-template .product .product-content section.trigger-popup span.info::before {
          content: "";
          position: absolute;
          top: 2px;
          left: -6px;
          height: 16px;
          width: 16px;
          border: 2px solid #f59c00;
          border-radius: 50%; }
        #tarife .desktop-template .product .product-content section.trigger-popup span.info::after, #tarife .mobile-template .product .product-content section.trigger-popup span.info::after {
          top: 0;
          left: 0;
          content: "i";
          font-size: 14px;
          line-height: 14px; }
    #tarife .desktop-template .product .product-content .product-details-wrap.show-popup .product-details-popup-back, #tarife .mobile-template .product .product-content .product-details-wrap.show-popup .product-details-popup-back {
      display: block; }
    #tarife .desktop-template .product .product-content .product-details-wrap.show-popup .product-details-popup-body, #tarife .mobile-template .product .product-content .product-details-wrap.show-popup .product-details-popup-body {
      display: block !important;
      z-index: 1000; }
      @media (max-width: 420px) {
        #tarife .desktop-template .product .product-content .product-details-wrap.show-popup .product-details-popup-body .text-right, #tarife .mobile-template .product .product-content .product-details-wrap.show-popup .product-details-popup-body .text-right {
          text-align: center; } }
    #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-back, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-back {
      display: none;
      position: fixed;
      width: 100%;
      height: 100%;
      content: '';
      background: rgba(0, 0, 0, 0.5);
      z-index: 998;
      top: 0;
      left: 0; }
    #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body {
      display: none;
      position: fixed;
      top: 50%;
      transform: translate(-50%, -50%);
      left: 50%;
      z-index: 999;
      overflow-y: scroll;
      width: 960px;
      max-height: 100%;
      height: auto;
      background: #fff;
      border: none;
      box-sizing: border-box; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .product-details-close, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .product-details-close {
        position: absolute;
        right: 14px;
        top: 18px;
        font-size: 23px;
        cursor: pointer; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .tarif-info-header, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .tarif-info-header {
        font-size: 31px;
        font-weight: bold;
        padding-top: 33px;
        padding-bottom: 7px;
        border-bottom: 1px solid #f59c00;
        margin: 0px 10px 0 33px; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .info-row, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .info-row {
        margin: 17px 10px 40px 16px; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .info-col, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .info-col {
        margin-top: 20px; }
        #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .info-col label, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .info-col label {
          width: 100%;
          font-size: 24px; }
        #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .info-col span, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .info-col span {
          font-size: 15px;
          margin-top: 25px;
          display: block;
          line-height: 24px; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .popup-hr, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .popup-hr {
        border-bottom: 4px solid #f59c00;
        margin-top: 60px;
        width: 100%; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .product-detail-information, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .product-detail-information {
        margin: 35px 10px 15px 30px; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body h2.price-header, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body h2.price-header {
        margin: 38px 10px 15px 29px;
        font-size: 24px; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body ul.info, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body ul.info {
        margin-left: 30px;
        margin-top: 20px;
        font-size: 17px;
        font-weight: normal; }
        #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body ul.info li label, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body ul.info li label {
          font-weight: normal;
          font-size: 16px; }
        #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body ul.info .small-description, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body ul.info .small-description {
          font-size: 10px;
          margin-top: 42px; }
      #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .btn-order, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .btn-order {
        margin-right: 13px;
        font-size: 14px !important;
        padding: 15px 22px !important;
        font-weight: normal !important;
        transform: translateY(-38px); }
        @media (max-width: 420px) {
          #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .btn-order, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .btn-order {
            transform: none;
            margin-bottom: 10px; } }
        #tarife .desktop-template .product .product-content .product-details-wrap .product-details-popup-body .btn-order span, #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body .btn-order span {
          margin-left: 10px;
          font-size: 17px; }
    #tarife .desktop-template .product .product-content .coupon, #tarife .mobile-template .product .product-content .coupon {
      padding: 10px; }
  #tarife .desktop-template .product ul, #tarife .mobile-template .product ul {
    padding: 0 15px; }
  #tarife .desktop-template .product .headline, #tarife .mobile-template .product .headline {
    min-height: 182px;
    position: relative;
    margin-top: 2px; }
    #tarife .desktop-template .product .headline h2, #tarife .mobile-template .product .headline h2 {
      line-height: 107px;
      text-align: center;
      font-size: 28px;
      margin-bottom: 0;
      font-weight: normal;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      right: 0; }

#tarife .light {
  font-weight: normal; }

#mobile-birthday-section {
  display: block; }
  #mobile-birthday-section input {
    width: 11%;
    text-align: center; }
  #mobile-birthday-section input.second,
  #mobile-birthday-section input.four {
    margin: 0 3% 0 0; }
  #mobile-birthday-section input.first,
  #mobile-birthday-section input.three,
  #mobile-birthday-section input.five,
  #mobile-birthday-section input.six,
  #mobile-birthday-section input.seven {
    margin: 0% 1% 0% 0%; }

section.consumptionerror {
  padding: 20px; }
  section.consumptionerror h2 {
    font-size: 14px;
    margin: 10px 0 15px 0;
    padding: 0 0 15px 0;
    text-transform: uppercase;
    text-align: left;
    border-bottom: 1px solid #e2e2e2; }
  section.consumptionerror p {
    text-align: left;
    font-size: 13px; }
  section.consumptionerror fieldset {
    margin: 20px 0 0 0;
    padding: 20px 0 0 0;
    border-top: 1px solid #e2e2e2; }
    section.consumptionerror fieldset .row {
      margin: 0; }
      section.consumptionerror fieldset .row label,
      section.consumptionerror fieldset .row select {
        margin: 0;
        padding: 0;
        display: block;
        float: left;
        text-align: left; }
      section.consumptionerror fieldset .row label {
        line-height: 32px;
        width: 20%;
        font-weight: normal; }
      section.consumptionerror fieldset .row select,
      section.consumptionerror fieldset .row input[type="text"] {
        width: 80%;
        border: 1px solid rgba(169, 169, 169, 0.5);
        background-color: #f9f9f9;
        padding: 5px 7px 5px 7px; }
      section.consumptionerror fieldset .row input[type="text"] {
        padding: 6px 5px 6px 5px; }
      section.consumptionerror fieldset .row select.alert,
      section.consumptionerror fieldset .row input[type="text"].alert {
        border-radius: 0;
        border: 1px solid #cf5757;
        background-color: #f2dede;
        color: #cc0000; }
    section.consumptionerror fieldset .row.street label {
      width: 30%; }
    section.consumptionerror fieldset .row.street select {
      width: 53%; }
    section.consumptionerror fieldset .row.street input[type="text"] {
      width: 15%;
      margin: 0 0 0 2%; }
    section.consumptionerror fieldset .row.additional.street {
      display: none;
      margin: 10px 0 0 0; }
    section.consumptionerror fieldset .row.submit {
      border-top: 1px solid #e2e2e2;
      margin: 20px 0 0 0;
      padding: 25px 0 0 0; }
      section.consumptionerror fieldset .row.submit input.button.submit {
        float: right; }

section.consumptionerror fieldset .row {
  margin: 0 0 15px 0; }
  section.consumptionerror fieldset .row section {
    float: left;
    width: 48%; }
  section.consumptionerror fieldset .row section.salutation,
  section.consumptionerror fieldset .row section.postcode,
  section.consumptionerror fieldset .row section.hsnr {
    width: 20%; }
  section.consumptionerror fieldset .row section.name,
  section.consumptionerror fieldset .row section.city,
  section.consumptionerror fieldset .row section.street {
    width: 76%; }
  section.consumptionerror fieldset .row section:first-of-type {
    margin: 0 4% 0 0; }
  section.consumptionerror fieldset .row label {
    display: block;
    margin: 0 0 5px 0; }
    section.consumptionerror fieldset .row label em {
      color: #f59c00;
      font-style: normal;
      margin: 0 3px 0 0; }
  section.consumptionerror fieldset .row label {
    width: 100%; }
  section.consumptionerror fieldset .row input,
  section.consumptionerror fieldset .row input[type="text"],
  section.consumptionerror fieldset .row textarea,
  section.consumptionerror fieldset .row select {
    width: 100%;
    margin: 0; }
  section.consumptionerror fieldset .row input.disabled {
    color: #a5a5a5; }
  section.consumptionerror fieldset .row textarea {
    min-height: 100px;
    background-color: #f9f9f9; }

section.consumptionerror fieldset .row.buttons {
  margin: 20px 0 0 0;
  padding: 20px 0 0 0;
  border-top: 1px solid #e2e2e2; }
  section.consumptionerror fieldset .row.buttons a {
    float: right;
    max-width: 150px; }

.hidden {
  display: none; }

.radiobuttons {
  display: block; }

input[type="text"].alert, input[type="email"].alert, input[type="url"].alert, input[type="password"].alert, input[type="search"].alert,
input[type="number"].alert, input[type="tel"].alert, input[type="range"].alert, input[type="date"].alert, input[type="month"].alert,
input[type="week"].alert, input[type="time"].alert, input[type="datetime"].alert, input[type="datetime-local"].alert, input[type="color"].alert,
textarea.alert {
  border: 1px solid #f00; }

body.busy:before {
  content: '';
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition: background 0.2s;
  -moz-transition: background 0.2s;
  -ms-transition: background 0.2s;
  -o-transition: background 0.2s;
  transition: background 0.2s; }

body.busy:after {
  content: 'Bitte warten...';
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 20px;
  text-align: center;
  z-index: 100; }

#needbdew {
  padding: 20px;
  background: #f59c00;
  color: #fff;
  font-size: 16px; }
  #needbdew select, #needbdew input {
    color: #000;
    padding: 4px;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    font-size: 14px; }
  #needbdew label, #needbdew select, #needbdew input {
    border: 1px solid transparent;
    line-height: 32px;
    height: 32px;
    vertical-align: middle; }
  #needbdew input[type=text] {
    margin-top: -1px; }
  #needbdew h2 {
    margin-bottom: 10px;
    font-size: 28px;
    font-weight: normal; }
  #needbdew .row {
    margin: 0; }
  #needbdew #getbdew {
    margin: 20px 0 0; }
  #needbdew input[type=submit] {
    padding: 4px 14px;
    line-height: inherit;
    margin-top: 15px;
    background: #fff;
    font-weight: bold;
    font-size: 16px;
    }
  #needbdew .alert {
    margin: 0;
    border-radius: 0;
    border: 1px solid #cc0000; }

#needbdew-new {
  font-size: 16px; }
  #needbdew-new #getbdew-new {
    margin-top: 20px; }
  #needbdew-new select, #needbdew-new input {
    color: #000;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    background: #fff;
    border: 2px solid #C0C0C0;
    color: #909090;
    padding: 14px 28px;
    cursor: pointer;
    font-size: 24px;
    line-height: 28px;
    text-align: left; }
  #needbdew-new label, #needbdew-new select, #needbdew-new input {
    line-height: 30px;
    vertical-align: middle; }
  #needbdew-new input[type=text] {
    margin-top: -1px; }
  #needbdew-new h2 {
    margin-bottom: 10px;
    font-size: 28px;
    font-weight: normal; }
  #needbdew-new .row {
    margin: 0; }
    #needbdew-new .row.district {
      float: left;
      margin-right: 10px;
      margin-bottom: 20px; }
    #needbdew-new .row.submit {
      margin-top: 20px;
      width: 100%;
      clear: both; }
    #needbdew-new .row.additional.street {
      float: left; }
  #needbdew-new #getbdew {
    margin: 20px 0 0; }
  #needbdew-new input[type=submit] {
    display: block;
    width: 376px;
    padding: 19px 23px 23px 23px;
    color: #FFFFFF;
    font-size: 24px;
    line-height: 22px;
    text-align: center;
    background: #f59c00;
    font-weight: bold;
    border: 0;
    letter-spacing: 1px;
    max-width: none; }
  #needbdew-new .alert {
    margin: 0;
    border-radius: 0;
    border: 1px solid #cc0000; }

body.admin-bar section.page.bestellen .steps {
  top: 32px; }
  @media only screen and (max-width: 782px) {
    body.admin-bar section.page.bestellen .steps {
      top: 46px;
      padding-bottom: 10px;
      padding-top: 10px; } }
  @media only screen and (max-width: 600px) {
    body.admin-bar section.page.bestellen .steps {
      top: 0px; } }

section.page.bestellen .steps {
  display: flex;
  justify-content: space-between;
  width: 1042px;
  margin: 0 auto;
  padding: 0 10px;
  padding-bottom: 38px;
  padding-top: 37px;
  top: 0;
  z-index: 999;
  background: #fff; }
  section.page.bestellen .steps .step {
    cursor: pointer;
    color: #C0C0C0;
    font-size: 16px;
    line-height: 17px;
    text-align: center; }
    section.page.bestellen .steps .step.step-4 .number:before {
      display: none; }
    section.page.bestellen .steps .step.active {
      color: #f59c00;
      font-weight: bold; }
      section.page.bestellen .steps .step.active.step-next .number:before {
        background-color: #f59c00; }
      section.page.bestellen .steps .step.active .number {
        background-color: #f59c00;
        color: #FFFFFF;
        border: 2px solid #f59c00; }
    section.page.bestellen .steps .step .number {
      border: 2px solid #C0C0C0;
      border-radius: 50%;
      height: 32px;
      width: 32px;
      font-weight: bold;
      line-height: 30px;
      color: #C0C0C0;
      background: #fff;
      margin: 0 auto;
      position: relative;
      z-index: 2; }
      section.page.bestellen .steps .step .number:before {
        content: "";
        display: block;
        width: 300px;
        height: 2px;
        background-color: #C0C0C0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        left: 100%; }
    section.page.bestellen .steps .step .title {
      margin-top: 15px;
      word-break: break-word;
      padding: 0 10px; }
  @media only screen and (max-width: 1042px) {
    section.page.bestellen .steps {
      width: 100%; }
      section.page.bestellen .steps .step {
        width: 25%; }
        section.page.bestellen .steps .step .number:before {
          width: calc(25vw - 20px); } }

section.page.bestellen .select_competitor.required {
  float: none !important; }

section.page.bestellen .select_competitor {
  display: flex;
  border: 1px solid rgba(169, 169, 169, 0.5); }
  section.page.bestellen .select_competitor #electricity_competitor, section.page.bestellen .select_competitor #gas_competitor {
    border: none;
    outline: none;
    float: none;
    margin: 0px;
    box-shadow: none;
    color: #666; }
  section.page.bestellen .select_competitor div {
    width: 20px;
    padding: 10px 0px;
    cursor: pointer; }

section.page.bestellen .select_competitor.alert {
  padding: 0px;
  margin-bottom: 0px;
  border: 2px solid #cf5757;
  border-radius: 0px; }
  section.page.bestellen .select_competitor.alert input::placeholder {
    color: #cc0000; }
  section.page.bestellen .select_competitor.alert .arrow_down {
    background-color: #f2dede; }

section.page.bestellen .select_competitor + div {
  position: relative;
  top: -2px;
  display: none;
  background: #fff;
  border: 1px solid rgba(169, 169, 169, 0.5); }
  section.page.bestellen .select_competitor + div div {
    padding: 5px 0px 0px 10px;
    cursor: pointer; }
    section.page.bestellen .select_competitor + div div:hover {
      background: #e6e6e6; }

section.page.bestellen .select_competitor.alert + div div {
  cursor: pointer; }
  section.page.bestellen .select_competitor.alert + div div:hover {
    background: #e6e6e6; }

section.page.bestellen .match_competitor {
  position: relative;
  top: -2px;
  background: #fff;
  border: 1px solid rgba(169, 169, 169, 0.5);
  display: none; }
  section.page.bestellen .match_competitor div div {
    padding: 5px 0px 0px 10px;
    cursor: pointer; }
    section.page.bestellen .match_competitor div div:hover {
      background: #e6e6e6; }

section.page.bestellen .container {
  max-width: 992px; }

section.page.bestellen .room {
  margin-bottom: 15px; }

section.page.bestellen #orderform {
  padding: 15px;
  background-color: #F7F7F7;
  margin-bottom: 20px; }
  section.page.bestellen #orderform .step-title {
    width: 100%;
    display: block;
    color: #121212;
    font-size: 22px;
    font-weight: bold;
    text-align: left;
    padding-bottom: 8px;
    border-bottom: 1px solid #f59c00; }

section.page.bestellen h2 {
  display: none; }

section.page.bestellen .mobile-birthday-select-wrap #birthday.alert + .mobile-birthday-select {
  border: 1px solid red; }

section.page.bestellen .mobile-birthday-select-wrap .mobile-birthday-select {
  display: none; }

@media (max-width: 420px) {
  section.page.bestellen .mobile-birthday-select-wrap .mobile-birthday-select {
    display: block; } }

section.page.bestellen .mobile-birthday-select-wrap .col-birthay-day {
  padding-left: 0;
  width: 30%; }

section.page.bestellen .mobile-birthday-select-wrap .col-birthday-year {
  padding-right: 0;
  width: 30%; }

section.page.bestellen .mobile-birthday-select-wrap .col-birthay-month {
  width: 40%; }

section.page.bestellen .mobile-birthday-select-wrap .birthday-year {
  display: block;
  width: 100%;
  margin: 0;
  padding: 8px;
  font-size: 16px;
  background-color: #f9f9f9;
  border: 1px solid rgba(169, 169, 169, 0.5); }

section.page.bestellen fieldset {
  /*overflow: hidden;*/
  margin: 30px 0 0 0; }
  section.page.bestellen fieldset p {
    color: #808080; }
  section.page.bestellen fieldset .required {
    float: left; }
  section.page.bestellen fieldset input:read-only  {
    background-color: #ededed;
    cursor: not-allowed; }
  section.page.bestellen fieldset .button {
    border: 0;
	border-radius:30px;
    padding: 15px 30px;
    font-size: 16px;
    background: #f59c00;
    color: #fff;
    cursor: pointer; }
  section.page.bestellen fieldset .button.next {
    float: right; }
  section.page.bestellen fieldset legend {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    float: left;
    width: 100%;
    font-size: 30px;
    font-weight: bold;
    line-height: 100%;
    color: #121212; }
    section.page.bestellen fieldset legend a,
    section.page.bestellen fieldset legend a:hover,
    section.page.bestellen fieldset legend a:focus,
    section.page.bestellen fieldset legend a:active {
      color: #121212; }
  section.page.bestellen fieldset section#movingin, section.page.bestellen fieldset section#ratechange + div {
    padding-bottom: 30px; }
  #ratechange #same_accountnumber {
    margin-left: 15px; }
  section.page.bestellen fieldset section.row,
  section.page.bestellen fieldset section.wrapper {
    float: left;
    width: 100%;
    margin: 0 0 25px 0; }
  section.page.bestellen fieldset section.row .form-group .input-group.date.alert {
    padding: 0px;
    margin-bottom: 0px;
    border-radius: 0px;
    border: 1px solid #cf5757; }
    section.page.bestellen fieldset section.row .form-group .input-group.date.alert input[type="text"],
    section.page.bestellen fieldset section.row .form-group .input-group.date.alert .input-group-addon {
      background-color: #f2dede;
      color: #cc0000; }
    section.page.bestellen fieldset section.row .form-group .input-group.date.alert span {
      border: 1px solid #cf5757; }
  section.page.bestellen fieldset section.row .form-group input[type="text"] {
    padding-left: 8px; }
    section.page.bestellen fieldset section.row .form-group input[type="text"]:focus {
      border-color: #a9a9a980;
      box-shadow: none;
      outline: none; }
  section.page.bestellen fieldset section.row .form-group input[type="text"], section.page.bestellen fieldset section.row .form-group span {
    border-radius: 0px;
    height: 20px; }
  section.page.bestellen fieldset section.row label {
    font-weight: bold;
    font-size: 16px;
    line-height: 36px;
    margin: 0;
    padding: 0;
    color: #121212; }
    section.page.bestellen fieldset section.row label em {
      font-style: normal;
      color: #f59c00;
      margin: 0 0 0 2px; }
    section.page.bestellen fieldset section.row label small {
      margin: 0 0 0 5px;
      font-size: 13px;
      font-style: italic;
      color: #555555; }
  section.page.bestellen fieldset section.row section {
    margin: 0;
    /*overflow: hidden;*/ }
    section.page.bestellen fieldset section.row section input[type="text"],
    section.page.bestellen fieldset section.row section select,
    section.page.bestellen fieldset section.row section textarea {
      display: block;
      float: left;
      width: 100%;
      margin: 0;
      padding: 8px;
      font-size: 16px;
      /*background-color: #f9f9f9;*/
      border-radius: .25rem;
      border: 1px solid rgba(169, 169, 169, 0.5); }
    section.page.bestellen fieldset section.row section textarea {
      width: 100%;
      min-height: 150px; }
    section.page.bestellen fieldset section.row section input[type="text"].alert,
    section.page.bestellen fieldset section.row section select.alert {
      border-radius: 0;
      border: 1px solid #cf5757;
      background-color: #f2dede;
      color: #cc0000; }
    section.page.bestellen fieldset section.row section input[type="radio"],
    section.page.bestellen fieldset section.row section input[type="checkbox"] {
      cursor: pointer; }
    section.page.bestellen fieldset section.row section input[type="checkbox"] {
      margin: 10px 10px 0 0;
      position: static;
      float: left; }
    section.page.bestellen fieldset section.row section select {
      padding: 7px 8px 7px 8px;
      cursor: pointer; }
    section.page.bestellen fieldset section.row section select.full,
    section.page.bestellen fieldset section.row section input.full {
      width: 100%;
      margin: 0; }
    section.page.bestellen fieldset section.row section input.hidden {
      display: none; }
    section.page.bestellen fieldset section.row section input[type="text"]:first-of-type,
    section.page.bestellen fieldset section.row section select:first-of-type,
    section.page.bestellen fieldset section.row section input#dpostcode {
      margin: 0 2% 0 0; }
    section.page.bestellen fieldset section.row section input[type="text"]:disabled {
      color: #555555;
      border: 1px solid #d8d8d8;
      background-color: #fbfbfb; }
  section.page.bestellen fieldset section.row section.bonus {
    display: inline-block;
    padding-bottom: 30px; }
    section.page.bestellen fieldset section.row section.bonus label {
      display: inline-block;
      border: 4px solid transparent;
      opacity: .3;
      width: unset; }
      section.page.bestellen fieldset section.row section.bonus label img {
        pointer-events: none;
        display: inline !important; }
      section.page.bestellen fieldset section.row section.bonus label.or:hover {
        border: 4px solid #f59c00;
        opacity: 1; }
      section.page.bestellen fieldset section.row section.bonus label.and {
        border: 4px solid #f59c00;
        opacity: 1; }
    section.page.bestellen fieldset section.row section.bonus input:checked + label {
      border: 4px solid #f59c00;
      opacity: 1; }
  section.page.bestellen fieldset section.row section.notice {
    border: 1px solid #f59c00;
    background-color: #F2EFEA; }
    section.page.bestellen fieldset section.row section.notice p {
      margin: 0;
      padding: 10px 15px 10px 15px;
      color: #808080; }
      section.page.bestellen fieldset section.row section.notice p strong {
        color: #555555; }
  section.page.bestellen fieldset section.row section.radiobuttons.datepic p {
    padding-bottom: 10px; }
  section.page.bestellen fieldset section.row section.radiobuttons,
  section.page.bestellen fieldset section.row section.checkbox {
    margin: 0; }
    section.page.bestellen fieldset section.row section.radiobuttons input[type="radio"],
    section.page.bestellen fieldset section.row section.checkbox input[type="radio"] {
      float: left;
      margin: 10px 10px 0 0; }
    section.page.bestellen fieldset section.row section.radiobuttons label,
    section.page.bestellen fieldset section.row section.checkbox label {
      width: auto;
      color: #121212; }
    section.page.bestellen fieldset section.row section.radiobuttons label.alert,
    section.page.bestellen fieldset section.row section.checkbox label.alert {
      color: #cc0000;
      border: none;
      outline: 0;
      box-shadow: none; }
      section.page.bestellen fieldset section.row section.radiobuttons label.alert a,
      section.page.bestellen fieldset section.row section.radiobuttons label.alert a:focus,
      section.page.bestellen fieldset section.row section.radiobuttons label.alert a:active,
      section.page.bestellen fieldset section.row section.checkbox label.alert a,
      section.page.bestellen fieldset section.row section.checkbox label.alert a:focus,
      section.page.bestellen fieldset section.row section.checkbox label.alert a:active {
        color: #800000; }
      section.page.bestellen fieldset section.row section.radiobuttons label.alert a:hover,
      section.page.bestellen fieldset section.row section.checkbox label.alert a:hover {
        color: #cc0000; }
  section.page.bestellen fieldset section.row section.textarea {
    margin: 20px 0 0 0; }
  section.page.bestellen fieldset section.row#competitor > section {
    float: left;
    width: 100%;
    margin: 0 0 15px 0; }
  section.page.bestellen fieldset section.row section.accountnumber section {
    float: left;
    clear: none;
    margin: 0;
    width: 100%; }
    section.page.bestellen fieldset section.row section.accountnumber section span.prefix,
    section.page.bestellen fieldset section.row section.accountnumber section span.tip {
      position: static;
      display: block;
      line-height: 36px;
      height: 36px;
      width: 30px; }
    section.page.bestellen fieldset section.row section.accountnumber section span.prefix {
      float: left;
      font-size:16px; }
    section.page.bestellen fieldset section.row section.accountnumber section span.tip {
      width: 26px;
      float: right;
      background-image: url(../images/question.png);
      background-repeat: no-repeat;
      background-position: 0 0;
      cursor: pointer; }
    section.page.bestellen fieldset section.row section.accountnumber section span.tip:hover {
      background-position: 0 -36px; }
    section.page.bestellen fieldset section.row section.accountnumber section section {
      float: none;
      width: auto;
      display: block; }
      section.page.bestellen fieldset section.row section.accountnumber section section input {
        width: 100%;
        margin: 0;
        display: block; }
  section.page.bestellen fieldset section.row:last-of-type {
    margin: 0; }
  section.page.bestellen fieldset section.row.creditinstitution label {
    width: 125px; }
  section.page.bestellen fieldset section.row.creditinstitution section {
    margin: 0 0 0 125px; }
    section.page.bestellen fieldset section.row.creditinstitution section input {
      width: 100%; }
  section.page.bestellen fieldset section.row.bic,
  section.page.bestellen fieldset section.row.iban {
    margin-top: 20px; }
    section.page.bestellen fieldset section.row.bic label,
    section.page.bestellen fieldset section.row.iban label {
      width: 125px; }
    section.page.bestellen fieldset section.row.bic section,
    section.page.bestellen fieldset section.row.iban section {
      margin: 0 0 0 125px; }
  section.page.bestellen fieldset section.row.accept section,
  section.page.bestellen fieldset section.row.sepaaddress section {
    margin: 0; }
  section.page.bestellen fieldset section.row.conditions section label,
  section.page.bestellen fieldset section.row.cancellation section label,
  section.page.bestellen fieldset section.row.privacy section label {
    width: auto; }
  section.page.bestellen fieldset section.row.conditions {
    margin-top: 20px;
    margin-bottom: 0;
    padding-top: 20px;
    border-top: 1px solid #e5e5e5; }
  section.page.bestellen fieldset section.row.cancellation {
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e5e5; }
  section.page.bestellen fieldset section.row.privacy {
    padding: 0 0 20px 0;
    border-bottom: 1px solid #e5e5e5;
    margin-top: 20px; }
  section.page.bestellen fieldset section.row.advertisement {
    margin: 20px 0 20px 0;
    padding: 10px;
    font-size: 16px;
    border: 2px solid #f59c00;
    background: #F2EFEA;
    text-align: justify; }
    section.page.bestellen fieldset section.row.advertisement div.advertisement-selection {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 0 10px 0 10px; }
  section.page.bestellen fieldset section.row.fourteendays {
    padding: 20px 0 0 0;
    border-top: 1px solid #e5e5e5; }
    section.page.bestellen fieldset section.row.fourteendays section.checkbox {
      margin: 10px 0 0 0; }
      section.page.bestellen fieldset section.row.fourteendays section.checkbox section {
        margin: 10px 0 0 24px; }
        section.page.bestellen fieldset section.row.fourteendays section.checkbox section p {
          margin: 0;
          font-weight: 400;
          font-size: 13px;
          color: #121212; }
        section.page.bestellen fieldset section.row.fourteendays section.checkbox section p:first-of-type {
          margin: 0 0 10px 0; }
      section.page.bestellen fieldset section.row.fourteendays section.checkbox section.alert {
        padding: 0;
        outline: 0;
        border: none;
        box-shadow: none; }
        section.page.bestellen fieldset section.row.fourteendays section.checkbox section.alert p {
          color: #cc0000; }
  section.page.bestellen fieldset section.row.notice {
    font-size: 12px; }
  section.page.bestellen fieldset section.row.accept {
    margin-bottom: 0; }
  section.page.bestellen fieldset section.row.iban {
    margin-bottom: 30px; }
  section.page.bestellen fieldset section.row.bankpayment {
    margin-top: 20px; }
  section.page.bestellen fieldset span.sepa-details ul.sepa li {
    list-style: none; }
  section.page.bestellen fieldset ul {
    float: left;
    width: 100%;
    margin: 0 0 30px 0; }
    section.page.bestellen fieldset ul li {
      padding: 0; }
      section.page.bestellen fieldset ul li label {
        font-weight: 600;
        color: #121212;
        width: 60%; }
    section.page.bestellen fieldset ul li:before {
      display: none; }

section.page.bestellen fieldset:first-of-type {
  margin: 5px 0 0 0; }

section.page.bestellen fieldset#delivery {
  padding: 10px 0 0 0;
  border-top: 1px solid #e5e5e5; }
  section.page.bestellen fieldset#delivery section.row {
    margin-top: 20px;
    margin-bottom: 20px; }
    section.page.bestellen fieldset#delivery section.row section.radiobuttons input[type="text"] {
      margin: 0 0 0 10px;
      width: 20%; }
    section.page.bestellen fieldset#delivery section.row section.radiobuttons .col-md-4.no-padding.alert {
      padding: 0px;
      margin-bottom: 0px; }
      section.page.bestellen fieldset#delivery section.row section.radiobuttons .col-md-4.no-padding.alert #datetimepicker_elect input[type="text"], section.page.bestellen fieldset#delivery section.row section.radiobuttons .col-md-4.no-padding.alert #datetimepicker_gase input[type="text"] {
        margin: 0px;
        width: 100%; }
    section.page.bestellen fieldset#delivery section.row section.radiobuttons .col-md-4.no-padding {
      padding: 0px;
      margin-bottom: 0px; }
      section.page.bestellen fieldset#delivery section.row section.radiobuttons .col-md-4.no-padding #datetimepicker_elect input[type="text"], section.page.bestellen fieldset#delivery section.row section.radiobuttons .col-md-4.no-padding #datetimepicker_gase input[type="text"] {
        margin: 0px;
        width: 100%; }
    section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section {
      display: block;
      float: left;
      width: 35%; }
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input {
        width: 10%;
        text-align: center; }
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.second,
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.four {
        margin: 0 3% 0 0; }
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.first,
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.three,
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.five,
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.six,
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.seven,
      section.page.bestellen fieldset#delivery section.row section.radiobuttons #deliverydate-section input.eight {
        margin: 0% 1% 0% 0%; }

section.page.bestellen fieldset#overview section.row.referrer label {
  width: 100%;
  font-size: 14px;
  color: #121212;
  margin: 0 0 10px 0; }

section.page.bestellen fieldset#overview section.row.referrer section {
  float: left;
  width: 100%;
  margin: 0; }

section.page.bestellen fieldset#overview section.row.referrer section.custom.referrer {
  margin: 10px 0 0 0; }
  section.page.bestellen fieldset#overview section.row.referrer section.custom.referrer input#custom_referrer {
    margin: 0;
    width: 100%; }

section.page.bestellen .hidden {
  display: none; }

section.order.summarize #summary {
  padding: 30px;
  -webkit-box-shadow: 0px 0px 6px 1px rgba(133, 133, 133, 0.4);
  -moz-box-shadow: 0px 0px 6px 1px rgba(133, 133, 133, 0.4);
  box-shadow: 0px 0px 6px 1px rgba(133, 133, 133, 0.4);
  overflow: hidden; }

section.order.summarize section.summary h1 {
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 100%;
  color: #121212; }

section.order.summarize section.summary h4 {
  margin: 20px 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px solid #e5e5e5; }

section.order.summarize section.summary ul,
section.order.summarize section.summary ul li {
  /*float                         : left;*/
  width: 100%; }

section.order.summarize section.summary ul {
  margin: 0 0 30px 0;
  padding: 0; }
  section.order.summarize section.summary ul li {
    margin: 0;
    padding: 0; }
    section.order.summarize section.summary ul li:after {
      content: '';
      display: block;
      clear: both; }
    section.order.summarize section.summary ul li label,
    section.order.summarize section.summary ul li span {
      display: block;
      margin: 0;
      padding: 0;
      line-height: 18px; }
    section.order.summarize section.summary ul li label {
      float: left;
      width: 275px;
      font-weight: 400;
      color: #121212; }
    section.order.summarize section.summary ul li span {
      margin: 0 0 0 275px; }
  section.order.summarize section.summary ul li.ordercomment span {
    margin: 0; }
  section.order.summarize section.summary ul li:before {
    display: none; }
  section.order.summarize section.summary ul li:not(:last-of-type) {
    margin: 0 0 10px 0; }

section.order.summarize section.rate.detail {
  margin-bottom: 30px; }
  section.order.summarize section.rate.detail p,
  section.order.summarize section.rate.detail ul,
  section.order.summarize section.rate.detail h4,
  section.order.summarize section.rate.detail ul li,
  section.order.summarize section.rate.detail section.prices,
  section.order.summarize section.rate.detail section.details,
  section.order.summarize section.rate.detail section.explanation {
    float: left;
    width: 100%; }
  section.order.summarize section.rate.detail p {
    padding: 10px 0px; }
  section.order.summarize section.rate.detail .prices ul li:before,
  section.order.summarize section.rate.detail .details ul li:before {
    display: none; }
  section.order.summarize section.rate.detail .prices ul li:not(:last-of-type),
  section.order.summarize section.rate.detail .details ul li:not(:last-of-type) {
    margin: 0 0 10px 0; }
  section.order.summarize section.rate.detail .prices ul li label,
  section.order.summarize section.rate.detail .details ul li label {
    float: left;
    width: 275px;
    font-weight: 400;
    color: #121212;
    word-break: break-word;
    padding-right: 10px; }
    section.order.summarize section.rate.detail .prices ul li label:before,
    section.order.summarize section.rate.detail .details ul li label:before {
      clear: both; }
  section.order.summarize section.rate.detail .prices ul li span,
  section.order.summarize section.rate.detail .details ul li span {
    margin: 0 0 0 275px;
    display: block;
    line-height: 18px;
    word-break: break-word; }
  section.order.summarize section.rate.detail .prices .pricecomponents,
  section.order.summarize section.rate.detail .details .pricecomponents {
    margin: 10px 0; }
  section.order.summarize section.rate.detail h4 {
    border-bottom: 1px solid #e5e5e5;
    padding: 0 0 15px 0; }
  section.order.summarize section.rate.detail section.explanation {
    margin: 20px 0 0 0;
    padding: 20px 0 0 0;
    border-top: 1px solid #e5e5e5; }
    section.order.summarize section.rate.detail section.explanation span {
      display: block; }

section.order.summarize section.rate.detail,
section.order.summarize section.buttons {
  float: left;
  width: 100%; }

section.order.summarize section.buttons {
  margin: 20px 0 0 0;
  padding: 20px 0 0 0;
  border-top: 1px solid #e5e5e5; }
  section.order.summarize section.buttons a.button {
    float: left;
    margin: 0;
    border: 0;
	border-radius: 30px;
    padding: 15px 30px;
    font-size: 16px;
    background: #f59c00;
    color: #fff;
    cursor: pointer; }
  section.order.summarize section.buttons a.button.order {
    float: right; }

@media (max-width: 420px) {
  section.page.bestellen section.order.summarize.container div#summary section.buttons a.button {
    float: none;
    width: 100%; } }

section.order.success,
section.order.unconfirmed {
  margin: 15px 0 0 0; }
  section.order.success .button-teaser,
  section.order.unconfirmed .button-teaser {
    display: inline-block;
    border: 0;
    padding: 15px 30px;
    font-size: 16px;
    background: #f59c00;
    color: #fff;
    cursor: pointer; }
  section.order.success h3.message.success,
  section.order.unconfirmed h3.message.success {
    background-color: #F2EFEA;
    padding: 64px 0;
    margin: 20px 0;
    padding-left: 89px;
    position: relative;
    padding-right: 12px;
    font-size: 24px;
    color: #909090; }
    section.order.success h3.message.success::before,
    section.order.unconfirmed h3.message.success::before {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 30px;
      height: 40px;
      width: 41px;
      border: 3px solid #f59c00;
      border-radius: 50%; }
    section.order.success h3.message.success::after,
    section.order.unconfirmed h3.message.success::after {
      color: #f59c00;
      content: "i";
      font-size: 36px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 45px; }
  section.order.success p.message.success,
  section.order.unconfirmed p.message.success {
    background-color: #F2EFEA;
    padding: 64px 0;
    margin: 20px 0;
    padding-left: 89px;
    position: relative;
    padding-right: 12px;
    color: #909090; }
  section.order.success h4:first-of-type,
  section.order.unconfirmed h4:first-of-type {
    margin: 0; }
  section.order.success ul,
  section.order.unconfirmed ul {
    margin: 20px 0 0 0; }
    section.order.success ul li,
    section.order.unconfirmed ul li {
      margin: 0 0 20px 0;
      padding: 0;
      overflow: hidden; }
      section.order.success ul li label,
      section.order.unconfirmed ul li label {
        float: left;
        display: block;
        width: 20px;
        color: #121212;
        font-weight: 600; }
      section.order.success ul li p,
      section.order.unconfirmed ul li p {
        margin: 0 0 0 20px; }
    section.order.success ul li:before,
    section.order.unconfirmed ul li:before {
      display: none; }
  section.order.success ul.download,
  section.order.unconfirmed ul.download {
    margin: 30px 0 0 0;
    padding: 30px 0 0 0;
    border-top: 1px solid #e5e5e5; }
    section.order.success ul.download li,
    section.order.unconfirmed ul.download li {
      margin: 0 0 5px 0; }
      section.order.success ul.download li strong,
      section.order.unconfirmed ul.download li strong {
        font-weight: 400; }
  section.order.success section.consumption ul li label,
  section.order.unconfirmed section.consumption ul li label {
    width: auto; }
  section.order.success section.consumption ul li input[type=radio],
  section.order.unconfirmed section.consumption ul li input[type=radio] {
    float: left;
    margin: 5px 5px 0 0 !important; }

section.add.comment {
  background-color: #ffffff;
  padding: 15px; }
  section.add.comment textarea {
    display: block;
    float: left;
    width: 100%;
    min-height: 100px;
    margin: 0;
    padding: 8px;
    font-size: 13px;
    background-color: #f9f9f9;
    border: 1px solid rgba(169, 169, 169, 0.5); }

@media (min-width: 1023px) and (max-width: 1600px) {
  #tarife .form-inline.postcode-autocomplete-wrap {
    margin-left: 170px; } }

@media (min-width: 870px) and (max-width: 1024px) {
  #tarife .form-inline.postcode-autocomplete-wrap {
    margin-left: 180px; } }

@media (min-width: 870px) and (max-width: 944px) {
  #tarife #order-option .consumption-presets-wrap {
    margin-top: 10px;
    margin-right: 10px; } }

@media (min-width: 871px) and (max-width: 1024px) {
  #tarife .rate-postcode-street-select-wrap .rate-postcode-street-select-container {
    width: 246px; } }

@media (min-width: 870px) and (max-width: 1024px) {
  #tarife .product .order-now [type="radio"]:checked + label,
  #tarife .product .order-now [type="radio"]:not(:checked) + label {
    padding: 22px 0px 22px 40px;
    font-size: 16px; }
  #tarife #order-option .sparten-wrap, #tarife #order-option .postcode-autocomplete-wrap, #tarife #order-option #attributes {
    /*width: 60%;*/ }
  #tarife #order-option .consumption-presets-wrap {
    margin-left: 10px; }
    #tarife #order-option .consumption-presets-wrap .consumption-presets .consumption-preset-input-select {
      width: 100%; }
  #tarife #order-option .postcode-autocomplete-wrap {
    padding-right: 10px; }
    #tarife #order-option .postcode-autocomplete-wrap .rate-inputs {
      margin: 0; }
      #tarife #order-option .postcode-autocomplete-wrap .rate-inputs input[type=text] {
        max-width: 100%; } }

@media (min-width: 320px) and (max-width: 870px) {
  #tarife #order-option .order-option-title {
    margin: 0;
    margin-bottom: 10px; }
  #tarife #order-option .sparten-wrap, #tarife #order-option .consumption-presets-wrap,
  #tarife #order-option .customer-box, #tarife #order-option .sparten-box, #tarife #order-option .sparte-wrap,
  #tarife #order-option .sparte-active, #tarife #order-option .postcode-autocomplete-wrap,
  #tarife #order-option #attributes {
    width: 100%; }
  #tarife #order-option .consumption-presets-wrap, #tarife #order-option .sparten-box {
    margin: 10px 0 0 0; }
    #tarife #order-option .consumption-presets-wrap .consumption-presets .consumption-preset-input-select, #tarife #order-option .sparten-box .consumption-presets .consumption-preset-input-select {
      width: 100%; }
    #tarife #order-option .consumption-presets-wrap .consumption-preset-wrap, #tarife #order-option .sparten-box .consumption-preset-wrap {
      width: 100%; }
    #tarife #order-option .consumption-presets-wrap .consumption-preset-manual-input, #tarife #order-option .sparten-box .consumption-preset-manual-input {
      max-width: 100%; }
    #tarife #order-option .consumption-presets-wrap .consumption-input input, #tarife #order-option .sparten-box .consumption-input input {
      width: 100%; }
  #tarife #order-option .postcode-autocomplete-wrap {
    margin: 10px 0 0 0; }
    #tarife #order-option .postcode-autocomplete-wrap .rate-postcode-street-select-container {
      left: 0px;
      width: 100%;
      top: 134px; }
    #tarife #order-option .postcode-autocomplete-wrap .rate-inputs {
      margin: 0; }
      #tarife #order-option .postcode-autocomplete-wrap .rate-inputs input[type=text] {
        max-width: 100%;
        width: 100% !important; }
      #tarife #order-option .postcode-autocomplete-wrap .rate-inputs input[name=street] {
        max-width: 100%;
        width: 90% !important;
        margin-top: 10px;
        margin-left: 0; }
  #tarife .mobile-template .product .product-content .product-details-wrap .product-details-popup-body {
    width: calc( 100% - 20px);
    max-height: 80vh; }
  #tarife .rate-postcode-street-select-wrap {
    width: 10%;
    margin: 0;
    margin-top: 10px; }
  #tarife .rate-postcode-street-select-container {
    width: 100%; }
  #tarife .rate-postcode-match-street-select-container {
    left: 0px;
    top: 134px;
    width: 100%; }
  #tarife .rate-inputs.postcode-wrap input[type=text].sn {
    margin: 0;
    width: 100% !important;
    margin-top: 10px; }
  #tarife #needbdew-new .row.district {
    float: none;
    margin-right: 0; }
  #tarife #needbdew-new .row.additional.street {
    float: none; }
  #tarife #needbdew-new select, #tarife #needbdew-new input, #tarife #needbdew-new input[type=submit] {
    width: 100%; }
  #tarife #needbdew-new input[type=text] {
    margin-top: 10px; } }

@media only screen and (max-width: 992px) {
  #tarife .desktop-template {
    display: none; }
  #tarife .mobile-template {
    display: block; }
  #tarife #order-option {
    display: none;
    margin-top: 15px; }
  #tarife .tarrife_info h2 {
    margin: 0; }
  #tarife .tarrife_info, #tarife .change_rate {
    display: block;
    padding: 10px;
    background: #F2EFEA; }
  #tarife .change_rate {
    text-align: center;
    width: 115px;
    margin: 0 auto; }
  section.page.bestellen fieldset .no-padding {
    padding: 0; }
  section.page.bestellen fieldset #title, section.page.bestellen fieldset #lastname {
    margin-top: 10px; }
  section.page.bestellen fieldset section.row label {
    float: none; }
  section.page.bestellen fieldset section.row .hasbilling-checkbox label {
    padding-left: 20px; }
  section.page.bestellen fieldset section.row .hasbilling-checkbox #hasbilling {
    position: absolute; }
  section.page.bestellen fieldset section.row.conditions .checkbox {
    padding: 0; }
  section.page.bestellen fieldset section.row.conditions input[type=radio], section.page.bestellen fieldset section.row.conditions input[type=checkbox] {
    position: absolute; }
  section.page.bestellen fieldset section.row.conditions label {
    padding-left: 20px; }
  section.page.bestellen fieldset section.row.cancellation .checkbox input[type=radio], section.page.bestellen fieldset section.row.cancellation .checkbox input[type=checkbox], section.page.bestellen fieldset section.row.cancellation .privacy input[type=radio], section.page.bestellen fieldset section.row.cancellation .privacy input[type=checkbox] {
    position: absolute; }
  section.page.bestellen fieldset section.row.cancellation .checkbox label, section.page.bestellen fieldset section.row.cancellation .privacy label {
    padding-left: 20px; }
  section.page.bestellen fieldset section.row section.radiobuttons input[type=radio], section.page.bestellen fieldset section.row section.radiobuttons input[type=checkbox] {
    position: absolute; }
  section.page.bestellen fieldset section.row section.radiobuttons label {
    padding-left: 20px; }
  section.page.bestellen fieldset section.row.bic section,
  section.page.bestellen fieldset section.row.iban section,
  section.page.bestellen fieldset section.row.creditinstitution section {
    margin-left: 0; }
  #tarife .before-product {
    font-size: 20px; }
    #tarife .before-product.opened {
      height: 340px; } }

@media (max-width: 870px) {
  #tarife #order-option {
    display: none;
    margin-top: 15px; }
  #tarife .tarrife_info h2 {
    margin: 0; }
  #tarife .tarrife_info, #tarife .change_rate {
    display: block;
    padding: 10px;
    background: #F2EFEA; }
  #tarife .change_rate {
    text-align: center;
    width: 150px;
    margin: 0 auto; } }

@media (max-width: 800px) {
  #tarife .before-product {
    font-size: 18px; }
    #tarife .before-product.opened {
      height: 285px; } }

@media (max-width: 768px) {
  #tarife .product {
    height: auto; }
  #tarife .desktop-template {
    display: none; }
  #tarife .mobile-template {
    display: block; }
  .mobile-birthday-select-wrap {
    display: none; }
  section.page.bestellen fieldset section.row section input.long {
    width: 100%; }
  section.page.bestellen fieldset section.row section input[type="checkbox"] {
    /*position: relative !important;*/
    margin: 10px 15px 0 0; }
  #ratechange #gas_accountnumber_label {
    display: block; }
  #ratechange #same_accountnumber {
    line-height: unset;
    margin-left: 0; }
  .buttons.row {
    bottom: 0px;
    z-index: 99;
    width: 100%;
    padding: 10px;
    /*background: #fff;*/
    left: 0px; }
    .buttons.row .required {
      margin: 20px; } }

@media (max-width: 676px) {
  #tarife .before-product {
    font-size: 15px; }
    #tarife .before-product.opened {
      height: 230px; } }

@media (max-width: 545px) {
  #tarife .before-product.opened {
    height: 190px; } }

@media (max-width: 426px) {
  #tarife .customer-box {
    width: 100%; }
  #tarife .sparten-box {
    width: 100%; }
    #tarife .sparten-box .sparte-active {
      width: 100%; }
    #tarife .sparten-box .sparte-wrap {
      width: 100%; }
  #tarife #order-option .postcode-autocomplete-wrap .rate-inputs input[name=street] {
    width: 88% !important; }
  #tarife .product .order-now [type="radio"]:checked + label,
  #tarife .product .order-now [type="radio"]:not(:checked) + label {
    padding: 25px 0px 25px 50px;
    font-size: 14px; }
  #tarife .multiple-rates .main-submit-button {
    text-align: center; }
  #tarife .multiple-rates .product.recomended-product {
    margin-top: 60px; }
  .buttons.row a {
    width: 30%;
    margin: auto; } }

@media (max-width: 425px) {
  section.page.bestellen fieldset .button.next {
    /*float: none;
    display: flex;*/ }

  section.page.bestellen fieldset .button {
    padding: 15px 24px; }
	
  section.page.bestellen section.order.summarize.container section.row section.col-md-12.col-xs-12,	
  section.page.bestellen section.order.detail.container section.row section.col-md-12.col-xs-12 {
    padding: 0; }

  section.order.summarize #summary {
    padding: 15px; }
}

@media (max-width: 420px) {
  section.page.bestellen fieldset .required {
    float: none; }
  section.page.bestellen .steps .step {
    font-size: 14px; }
  section.page.bestellen fieldset ul.sepa li {
    margin-bottom: 10px; }
    section.page.bestellen fieldset ul.sepa li label {
      width: auto; }
  section.page.bestellen .field-step.step3 span.alert {
    padding: 0; } }

@media (max-width: 400px) {
  #tarife .before-product {
    font-size: 12px; }
    #tarife .before-product.opened {
      height: 160px; }
  #tarife .error-container {
    padding-left: 65px; }
    #tarife .error-container::before {
      left: 15px; }
    #tarife .error-container::after {
      left: 30px; } }

@media (max-width: 375px) {
  #tarife #order-option .postcode-autocomplete-wrap .rate-inputs input[name=street] {
    width: 85% !important; }
  #tarife .product .order-now [type="radio"]:checked + label,
  #tarife .product .order-now [type="radio"]:not(:checked) + label {
    padding: 25px 0px 25px 50px;
    font-size: 12px; }
  #tarife .multiple-rates .main-submit-button {
    text-align: center; }
  #tarife .multiple-rates .product.recomended-product {
    margin-top: 60px; } }

@media (max-width: 320px) {
  section.page.bestellen .steps .step {
    font-size: 12px; }
  #tarife #order-option .postcode-autocomplete-wrap .rate-inputs input[name=street] {
    width: 83% !important; }
  #tarife .product .order-now [type="radio"]:checked + label,
  #tarife .product .order-now [type="radio"]:not(:checked) + label {
    padding: 25px 0px 25px 50px;
    font-size: 12px; }
  #tarife .multiple-rates .main-submit-button {
    text-align: center; }
  #tarife .multiple-rates .product.recomended-product {
    margin-top: 100px; } }
