div[role=main] > .inner {
    margin-bottom: auto;
}

div[role=main] > .inner:after {
    height: 0;
}

div[role='accordion'].theme-faq dt,
div[role='accordion'].theme-faq dt:before,
div[role=nav].-plans .plans-tabs a.is-same,
div[role='banner'] h1.broadband
{
    color: #1d063d;
}

ul[role='list-tile'].theme-description > li dl[data-before]:before {
    color: #b12594;
}

div[role='panel'].-purple, li[role='panel'].-purple,
button:hover, a[role=button]:hover
{
    background-color: #1d063d;
}

div[role='panel'].theme-plan2.-purple:hover, li[role='panel'].theme-plan2.-purple:hover,
.overlay-address
{
    background-color: #b12594;
}

div[role='banner'].banner-plans-broadband, div[role='banner'].banner-plans-naked-broadband {
    background-color: lightgray;
}

button:hover, a[role=button]:hover {
    border-color: #1d063d;
}

div[role=main] > .inner,
div[role=content].signup.signup-all-done,
div[role=content]
{
    padding-top: 105px;
}

#dps-iframe {
  height: 700px;
  width: 100%;
  border: none;
}


/*
 * Add bottom margin to data buttons so that there is spacing when they wrap
 * to a new line. Also reduce padding of the fibre-form below to account for
 * additional margin.
 */
.fiber-form {
  padding-top: 37px;
}

h1:after {
  display: none;
}




.error {
    color: inherit;
}
.input-holder.error .form-error {
  color: #ff3333;
  font-size: 16px;
  box-sizing: border-box;
  padding-top: 5px;
  width: 47.1%;
  display: inline-block;
  height: 28px;
}
.form-error::after {
    content: '';
    display: block;
    clear: both;
}

/* The following are overrides for styles in all.css that break stuff */
.data-hold .data-btn .btn-d.data-b {
  margin: 0 -2px 2.5% 2.5%;
}


@media only screen and (max-width: 767px) {
  .data-hold .data-btn .btn-d.data-b {
    margin: 0 0 21px 0;
  }
  .data-hold .data-btn a.btn-d {
      /* The `a` gives it sufficient priority to override the style in all.css */
    width: 100%;
  }
}
#main {
  position: initial;
}

/*
.main-page.home-new .banner h1 {
  float: none;
  width: 447px;
  height: 371px;
  overflow: hidden;
  text-indent: -9999px;
  max-width: 100%;
  margin: 0 0 0 64px;
  background: url(../images/text-streaming.png) no-repeat;
  background-size: 105%;
}
*/



/* Popover */

a.info {
  border: none;
  float: left;
  margin-left: 10px;
  margin-top: 2px;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1006;
  display: none;
  max-width: 350px;
  padding: 10px;
  /* Reset font and text properties given new insertion method
   * Copied from day of birth dropdown box.
   */
  background-color: #FBFAF9;
  background-clip: padding-box;
  border: 1px solid #D5D1DB;
  border-radius: 5px;
  box-shadow: 0px 8px 12px rgba(0, 0, 0, 0.15);

  /* Overrides for proper insertion */
  white-space: normal;
}
.popover * {
  font-size: 16px;
  color: #421866;
  text-align: left;
  line-height: normal;
}
.popover.top {
  margin-top: -15px;
}
.popover.bottom {
  margin-top: 5px;
}
.error .lbl label {
    /* Not on Mobile. */
    margin-top: 28px;
    display: block;
}

.error label {
  color: #ff3333;
}
.detail-form .fill-info .error input[type="text"],
    .detail-form .fill-info .error input[type="email"],
    .detail-form .fill-info .error input[type="tel"],
    .detail-form .extra-address .wrap .error input[type="text"],
    .services-form .error .input-wrap input[type="text"],
    .connection-form .error input[type="text"] {
  border-color: #ff3333;
}

.detail-form .fill-info .error label, .detail-form .extra-address .wrap .error label, .services-form .error label, .connection-form .error label {
  color: inherit;
}

/* Custom signup payment method bank account number fields */

#bank-account-number .input-holder {
  display: inline-block;
  vertical-align: top;
}

#bank-account-number .input-holder.component-bank {
  width: 20%;
}

#bank-account-number .input-holder.component-branch {
  width: 20%;
}

#bank-account-number .input-holder.component-account {
  width: 35%;
}

#bank-account-number .input-holder.component-suffix {
  width: 20%;
}

@media only screen and (max-width: 767px) {

  #bank-account-number .input-holder.component-bank,
  #bank-account-number .input-holder.component-branch,
  #bank-account-number .input-holder.component-account,
  #bank-account-number .input-holder.component-suffix {
    width: 100%;
  }

}

#bank-account-number .input-holder .lbl label {
  margin-top: 0;
}

#bank-account-number .input-holder .input-wrap {
  width: 100%;
}

#bank-account-number .invalid-bank-account-error {
  display: none;
  color: #FF3333;
  margin-bottom: 16px;
}

#bank-account-number.error .invalid-bank-account-error {
  display: block;
}

#bank-account-number.error input {
  border-color: #FF3333;
}

/* Apply styling to notices on the signup - your-provider page */
.current-services .notice {
  font-size: 16px;
  color:#c2bbcb;
}
.fibre100 .banner {
    display: none;
}
div#fibre100-content {
    padding-top: 0;
    margin-top: 100px;
    padding-bottom: 0px;
    line-height: 1.2em;
    background: #fff!important;
}
#fibre100-header, #fibre100-info, #fibre100-get-it-now {
    width: 100%;
    display: block;
    color: white;
    text-align: center;
}
#fibre100-header {
    background-color: #4a006f;
}
#fibre100-header {
    padding: 45px 0 0;
    min-height: 300px;
}
#fibre100-header * {
    font: 60px 'DINWeb-Bold', Arial, Helvetica, sans-serif;
    line-height: 1.2em;
    margin-bottom: 0px;
    /*max-width: 750px;*/
    max-width: 900px;
    margin: 0 auto 0;
}
#fibre100-header h2 {
    color: #dd9310;
}

#fibre100-info {
    background-color: #3b025f;
    min-height: 400px;
}
#fibre100-info>.free-items {
    margin: 0 auto;
    padding: 75px 0 50px;
    line-height: 1;
}
#fibre100-info>.free-items>div {
    margin: 0px 40px;
    display: inline-block;
    zoom: 1;
    *display: inline; /* IE7 Hack */
    line-height: 1;
}
#fibre100-info>.free-items>div>img {
    margin: 0px auto 10px;
}
#fibre100-info>.free-items>div>div.free-keyword {
    font: 22px 'DINWeb-Bold', Arial, Helvetica, sans-serif;
    color: #b12594;
    line-height: 1;
}
#fibre100-info>.free-items>div>div.item-name {
    font: 16px 'DINWeb-Bold', Arial, Helvetica, sans-serif;
    line-height: 1;
}
#fibre100-info #fibre100-info-subtext, #fibre100-info #fibre100-info-orange-subtext {
    font: 28px 'DINWeb-Medium', Arial, Helvetica, sans-serif;
    line-height: 1.2em;
}
#fibre100-info #fibre100-info-orange-subtext {
    color: #dd9310;
}
#fibre100-get-it-now {
    min-height: 340px;
    padding-top: 70px;
    background: white;
}
#fibre100-get-it-now .smallprint {
    color: #4a006f;
}
#fibre100-get-it-now .get-it-now-btn {
    width: 270px;
    border-radius: 6px;
    background: #B12594 none repeat scroll 0% 0%;
    text-align: center;
    color: #FFF;
    font: 14px/16px "DINWeb-Bold",Arial,Helvetica,sans-serif;
    text-transform: uppercase;
    display: block;
    margin: 0px auto;
    padding: 19px 3% 17px;

    /* Button padding */
    margin: 0 auto 110px;
}
.smallprint {
    font: 14px 'DINWeb', Arial, Helvetica, sans-serif;
    line-height: 1.2em;
    color: #b4a3c0;
    max-width: 700px;
    margin: 0 auto;
}
#fibre100-get-it-now .smallprint a {
    text-decoration: underline;
    color: #b4a3c0;
}


@media only screen and (max-width: 990px){
    #fibre100-header {
        padding: 65px 25px 0px;
    }
    #fibre100-header * {
        font-size: 42px;
    }
    #fibre100-info>.free-items>div {
        margin: 0;
        width: 30%;
        max-width: 130px
    }
    #fibre100-info #fibre100-info-subtext, #fibre100-info #fibre100-info-orange-subtext {
        font-size: 24px;
    }
}


@media only screen and (max-width: 1023px){

    .fibre100 .banner {
        display: block;
        height: auto;
    }
}
