.brands {
  background-color: transparent;
  width: 100%;
  display: block;
  max-height: 135px;
  height: 100%;
}

.brands ul li {
  background-color: transparent;
  display: inline;
  float: left;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 33%;
  text-align: center;
  margin-bottom: 3px;
  border-left: 1px solid #efefef;
}

.brands ul li:first-child {
  border-left: 0!important;
  margin-left: 1px;
}

.brands ul li a {
  display: block;
}

.brands ul li a img {
  width: 100%;
  height: auto;
  max-width: 183px;
}

.brands {
  max-height: 65px;
}

.brands ul li {
  width: 16.5%;
}

.no-backgroundsize .carousel li.slide,
.no-js .carousel li.slide {
  background-size: auto;
  background-position: right center;
}

.backgroundsize .carousel li.slide {
  background-size: cover;
  background-position: right center;
}

.js .carousel,
.js .carousel li {
  height: 240px;
}

.carousel li {
  background-color: #EFEFEF;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: auto 100%;
  height: 200px;
}

.carousel li:hover .cta {
  text-decoration: underline;
}

.carousel li.iphone {
  background-position: 0 50%!important;
}

.carousel li h2 {
  color: #032b5a;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: Frutiger45Light,sans-serif;
  margin-bottom: 8px;
}

.carousel li p {
  color: #032b5a;
  font-size: 12px;
  font-size: .75rem;
  font-family: Frutiger55,sans-serif;
}

.carousel li p.cta {
  color: #419eda;
  font-size: 14px;
  font-size: .875rem;
  font-family: Frutiger55,sans-serif;
  display: block;
  background-image: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png);
  background-repeat: no-repeat;
  background-position: 0 -35px;
  padding: 0 0 0 25px;
  white-space: nowrap;
  position: absolute;
  bottom: 59px;
}

.carousel li.dark {
  background-color: #032b5a;
}

.carousel li.dark h2,
.carousel li.dark p {
  color: #fff;
}

.carousel li.dark p.cta {
  color: #fff;
  background-position: 0 -95px;
}

.carousel a {
  display: block;
  height: 240px;
}

.carousel .slide-content {
  position: relative;
  padding: 25px 0 39px 20px;
  width: 55%;
  height: 176px;
}

.carousel-wrapper {
  position: relative;
  background-color: transparent;
}

.carousel-wrapper ul {
  position: relative;
}

.carousel-wrapper .carousel-controller {
  position: absolute;
  text-align: center;
  bottom: 0;
  height: 39px;
  width: 100%;
  left: 50%;
  background: rgba(0,0,0,.5);
}

.carousel-wrapper .carousel-controller .pip {
  background-color: #fff;
  border: 1px solid #fff;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-topright: 10px;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  height: 8px;
  width: 8px;
  display: inline-block;
  margin: 14px 2px 0;
}

.carousel-wrapper .carousel-controller .pip.active {
  background: #419eda;
}

.carousel-wrapper .carousel-controller .pip b,
.carousel-wrapper .carousel-controller .pip.active b,
.carousel-wrapper .carousel-controller .piptimer {
  display: none;
}

.carousel-wrapper .carousel-controller .ctrl-next,
.carousel-wrapper .carousel-controller .ctrl-prev {
  position: absolute;
  left: 0;
  top: 0;
  width: 39px;
  height: 39px;
  cursor: pointer;
  background-image: url(//static.o2.co.uk/shared/img/modules/carousel-prev);
}

.carousel-wrapper .carousel-controller .ctrl-next.js-highlight,
.carousel-wrapper .carousel-controller .ctrl-next:active,
.carousel-wrapper .carousel-controller .ctrl-prev.js-highlight,
.carousel-wrapper .carousel-controller .ctrl-prev:active {
  background-color: #032b5a;
}

.carousel-wrapper .carousel-controller .ctrl-next {
  right: 0;
  left: auto;
  background-image: url(//static.o2.co.uk/shared/img/modules/carousel-next);
}

.carousel-wrapper .carousel-window {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.carousel-wrapper .carousel-window li {
  float: left;
  position: relative;
}

.carousel a,
.carousel li,
.js .carousel,
.js .carousel li {
  height: 300px;
}

.carousel li,
.carousel li.iphone {
  background-size: auto!important;
  background-position: center center!important;
}

.carousel li h2 {
  font-size: 30px;
  font-size: 1.875rem;
}

.carousel li p {
  font-size: 14px;
  font-size: .875rem;
  margin-bottom: 12px;
}

.carousel li p.cta {
  background-position: 0 2px;
  font-size: 21px;
  font-size: 1.3125rem;
  padding: 0 0 0 30px;
  font-family: Frutiger45Light,sans-serif;
  position: relative;
  bottom: auto;
}

.carousel li.dark p.cta {
  background-position: 0 -58px;
}

.carousel .slide-content {
  height: auto;
  width: 50%;
  padding: 55px 0 0;
  float: right;
}

.carousel .slide-content h2,
.carousel .slide-content p {
  padding-right: 60px;
}

.carousel-wrapper .carousel-controller {
  background: 0 0;
  height: 54px;
}

.carousel-wrapper .carousel-controller .pip-wrap {
  display: inline-block;
  height: 54px;
  position: relative;
  width: 110px;
}

.carousel-wrapper .carousel-controller .pip {
  height: 30px;
  position: absolute;
  left: 0;
  bottom: 0;
  cursor: pointer;
  width: 100px;
  border: 0;
  margin: 0 5px;
  -webkit-box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,.5);
  box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,.5);
  -webkit-border-top-left-radius: 0;
  -webkit-border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
  -moz-border-radius-topright: 0;
  -moz-border-radius-bottomright: 0;
  -moz-border-radius-bottomleft: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.carousel-wrapper .carousel-controller .pip.active {
  height: 54px!important;
  -moz-transition: .15s;
  -webkit-transition: .15s;
  -o-transition: .15s;
  transition: .15s;
}

.carousel-wrapper .carousel-controller .pip.timer {
  background-clip: padding-box;
  border-top: 2px solid rgba(0,0,0,.5);
  height: 52px!important;
}

.carousel-wrapper .carousel-controller .pip:hover {
  height: 40px;
  -moz-transition: .15s;
  -webkit-transition: .15s;
  -o-transition: .15s;
  transition: .15s;
}

.carousel-wrapper .carousel-controller .pip b {
  position: absolute;
  font-size: 10px;
  font-weight: 400;
  font-family: frutiger55;
  top: 0;
  left: 0;
  width: 90px;
  padding: 0 5px;
  background: #FFF;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  height: 19px;
  line-height: 19px;
  text-overflow: ellipsis;
}

.carousel-wrapper .carousel-controller .piptimer {
  position: absolute;
  height: 2px;
  background: #FFF;
  top: -2px;
  left: 0;
  display: block;
  width: 0;
}

.carousel-wrapper .carousel-controller .ctrl-next,
.carousel-wrapper .carousel-controller .ctrl-prev {
  top: -130px;
  background-color: #032b5a;
  background-color: rgba(0,0,0,.5);
}

.carousel a,
.carousel li,
.js .carousel,
.js .carousel li {
  height: 400px;
}

.carousel li {
  background-size: auto!important;
  background-position: center center!important;
}

.carousel li h2 {
  font-size: 46px;
  font-size: 2.875rem;
}

.carousel li p {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 20px;
}

.carousel li p.cta {
  background-position: 0 4px;
  font-size: 25px;
  font-size: 1.5625rem;
}

.carousel li.dark p.cta {
  background-position: 0 -57px;
}

.carousel .slide-content {
  padding: 82px 0 0;
}

.carousel .slide-content h2,
.carousel .slide-content p {
  padding-right: 100px;
  margin-left: 50px;
}

.carousel-wrapper .carousel-controller .ctrl-next,
.carousel-wrapper .carousel-controller .ctrl-prev {
  top: -180px;
}

.no-backgroundsize .carousel li.slide,
.no-js .carousel li.slide {
  background-size: auto;
  background-position: right center;
}

.backgroundsize .carousel li.slide {
  background-size: cover;
  background-position: right center;
}

.js .carousel,
.js .carousel li {
  height: 240px;
}

.carousel li {
  background-color: #EFEFEF;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: auto 100%;
  height: 200px;
}

.carousel li:hover .cta {
  text-decoration: underline;
}

.carousel li h2 {
  color: #032b5a;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: Frutiger45Light,sans-serif;
  margin-bottom: 8px;
}

.carousel li p {
  color: #032b5a;
  font-size: 12px;
  font-size: .75rem;
  font-family: Frutiger55,sans-serif;
}

.carousel li p.cta {
  color: #419eda;
  font-size: 14px;
  font-size: .875rem;
  font-family: Frutiger55,sans-serif;
  display: block;
  background-image: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png);
  background-repeat: no-repeat;
  background-position: 0 -35px;
  padding: 0 0 0 25px;
  white-space: nowrap;
  position: absolute;
  bottom: 59px;
}

.carousel li.dark {
  background-color: #032b5a;
}

.carousel li.dark h2,
.carousel li.dark p {
  color: #fff;
}

.carousel li.dark p.cta {
  color: #fff;
  background-position: 0 -95px;
}

.carousel a {
  display: block;
  height: 240px;
}

.carousel .slide-content {
  position: relative;
  padding: 25px 0 39px 20px;
  width: 55%;
  height: 176px;
}

.carousel-wrapper {
  position: relative;
  background-color: transparent;
}

.carousel-wrapper ul {
  position: relative;
}

.carousel-wrapper .carousel-controller {
  position: absolute;
  text-align: center;
  bottom: 0;
  height: 39px;
  width: 100%;
  left: 50%;
  background: rgba(0,0,0,.5);
}

.carousel-wrapper .carousel-controller .pip {
  background-color: #fff;
  border: 1px solid #fff;
  -webkit-border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-topleft: 10px;
  -moz-border-radius-topright: 10px;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  height: 8px;
  width: 8px;
  display: inline-block;
  margin: 14px 2px 0;
}

.carousel-wrapper .carousel-controller .pip.active {
  background: #419eda;
}

.carousel-wrapper .carousel-controller .pip b,
.carousel-wrapper .carousel-controller .pip.active b,
.carousel-wrapper .carousel-controller .piptimer {
  display: none;
}

.carousel-wrapper .carousel-controller .ctrl-next,
.carousel-wrapper .carousel-controller .ctrl-prev {
  position: absolute;
  left: 0;
  top: 0;
  width: 39px;
  height: 39px;
  cursor: pointer;
  background-image: url(//static.o2.co.uk/shared/img/modules/carousel-prev);
}

.carousel-wrapper .carousel-controller .ctrl-next.js-highlight,
.carousel-wrapper .carousel-controller .ctrl-next:active,
.carousel-wrapper .carousel-controller .ctrl-prev.js-highlight,
.carousel-wrapper .carousel-controller .ctrl-prev:active {
  background-color: #032b5a;
}

.carousel-wrapper .carousel-controller .ctrl-next {
  right: 0;
  left: auto;
  background-image: url(//static.o2.co.uk/shared/img/modules/carousel-next);
}

.carousel-wrapper .carousel-window {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.carousel-wrapper .carousel-window li {
  float: left;
  position: relative;
}

.carousel a,
.carousel li,
.js .carousel,
.js .carousel li {
  height: 300px;
}

.carousel li {
  background-size: auto!important;
  background-position: center center!important;
}

.carousel li h2 {
  font-size: 30px;
  font-size: 1.875rem;
}

.carousel li p {
  font-size: 14px;
  font-size: .875rem;
  margin-bottom: 12px;
}

.carousel li p.cta {
  background-position: 0 2px;
  font-size: 21px;
  font-size: 1.3125rem;
  padding: 0 0 0 30px;
  font-family: Frutiger45Light,sans-serif;
  position: relative;
  bottom: auto;
}

.carousel li.dark p.cta {
  background-position: 0 -58px;
}

.carousel .slide-content {
  height: auto;
  width: 50%;
  padding: 55px 0 0;
  float: right;
}

.carousel .slide-content h2,
.carousel .slide-content p {
  padding-right: 60px;
}

.carousel-wrapper .carousel-controller {
  background: 0 0;
  height: 54px;
}

.carousel-wrapper .carousel-controller .pip-wrap {
  display: inline-block;
  height: 54px;
  position: relative;
  width: 110px;
}

.carousel-wrapper .carousel-controller .pip {
  height: 30px;
  position: absolute;
  left: 0;
  bottom: 0;
  cursor: pointer;
  width: 100px;
  border: 0;
  margin: 0 5px;
  -webkit-box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,.5);
  box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,.5);
  -webkit-border-top-left-radius: 0;
  -webkit-border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
  -moz-border-radius-topright: 0;
  -moz-border-radius-bottomright: 0;
  -moz-border-radius-bottomleft: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.carousel-wrapper .carousel-controller .pip.active {
  height: 54px!important;
  -moz-transition: .15s;
  -webkit-transition: .15s;
  -o-transition: .15s;
  transition: .15s;
}

.carousel-wrapper .carousel-controller .pip.timer {
  background-clip: padding-box;
  border-top: 2px solid rgba(0,0,0,.5);
  height: 52px!important;
}

.carousel-wrapper .carousel-controller .pip:hover {
  height: 40px;
  -moz-transition: .15s;
  -webkit-transition: .15s;
  -o-transition: .15s;
  transition: .15s;
}

.carousel-wrapper .carousel-controller .pip b {
  position: absolute;
  font-size: 10px;
  font-weight: 400;
  font-family: frutiger55;
  top: 0;
  left: 0;
  width: 90px;
  padding: 0 5px;
  background: #FFF;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  height: 19px;
  line-height: 19px;
  text-overflow: ellipsis;
}

.carousel-wrapper .carousel-controller .piptimer {
  position: absolute;
  height: 2px;
  background: #FFF;
  top: -2px;
  left: 0;
  display: block;
  width: 0;
}

.carousel-wrapper .carousel-controller .ctrl-next,
.carousel-wrapper .carousel-controller .ctrl-prev {
  top: -130px;
  background-color: #032b5a;
  background-color: rgba(0,0,0,.5);
}

.carousel a,
.carousel li,
.js .carousel,
.js .carousel li {
  height: 400px;
}

.carousel li {
  background-size: auto!important;
  background-position: center center!important;
}

.carousel li h2 {
  font-size: 46px;
  font-size: 2.875rem;
}

.carousel li p {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 20px;
}

.carousel li p.cta {
  background-position: 0 4px;
  font-size: 25px;
  font-size: 1.5625rem;
}

.carousel li.dark p.cta {
  background-position: 0 -57px;
}

.carousel .slide-content {
  padding: 82px 0 0;
}

.carousel .slide-content h2,
.carousel .slide-content p {
  padding-right: 100px;
  margin-left: 50px;
}

.carousel-wrapper .carousel-controller .ctrl-next,
.carousel-wrapper .carousel-controller .ctrl-prev {
  top: -180px;
}

.legacy #mainContactUs .tooltip a {
  position: absolute;
  left: inherit;
  right: 20px!important;
  right: 0\0/!important;
  top: -30px;
  clear: both;
  height: auto;
}

.legacy #mainContactUs .tooltip a>:hover {
  filter: alpha(opacity=80);
  cursor: pointer;
}

.legacy #mainContactUs .bubblewrapper {
  right: 10px!important;
  top: 10px!important;
  background: url(//static.o2.co.uk/www/img/contactus/bubblearrow.png) 1px 23px no-repeat;
  padding: 0 0 0 10px!important;
}

.legacy #mainContactUs .bubble {
  padding: 0!Important;
}

.legacy #mainContactUs .bubble p {
  display: block;
}

.legacy #mainContactUs .ppp1 {
  position: relative;
  z-index: 999;
  overflow: visible;
}

.legacy #mainContactUs .prel {
  position: relative;
  z-index: 2;
}

.legacy #mainContactUs .accordion,
.legacy #mainContactUs .accordion h2 {
  width: 825px!important;
}

.legacy #mainContactUs .accordion inner {
  padding-bottom: 20px!important;
}

.legacy #mainContactUs .module {
  width: 570px;
}

.legacy #mainContactUs .module a {
  margin-left: -20px!important;
}

.legacy #mainContactUs .module a .module-body {
  margin-left: 20px!important;
}

.legacy #mainContactUs .selectedlink {
  float: left;
  width: 60%;
}

.legacy #mainContactUs div.accdiv {
  width: 825px!important;
}

.legacy #mainContactUs div.accdiv ul.formItems li {
  position: relative;
  list-style-type: none!important;
  width: 825px!important;
  height: 25px!important;
  clear: both!important;
}

.no-js .money,
.no-js .pbbo,
.no-js ul.formItems {
  display: none;
}

.no-js .accordion .inner h4 {
  margin-bottom: 20px;
  padding: 12px 0;
}

.no-js .minwidth75 h2 {
  margin: 20px;
}

.no-js .chatonline {
  display: none;
}

.js #mainContactUs ul.formItems {
  display: block;
}

.js #mainContactUs .accordion {
  visibility: hidden;
}

.js #side .accordion,
.no-js-version {
  display: none;
}

.dBlock {
  width: auto;
  display: block;
  clear: left;
}

.padl20 {
  padding-left: 20px;
}

.mar20 {
  margin: 20px 0 20px 20px;
}

.cf:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.cf {
  display: inline-block;
}

html[xmlns] .cf {
  display: block;
}

* html .cf {
  height: 1%;
}

.contactus-promo-m-live-chat,
.contactus-promo-s-live-chat {
  display: none;
}

.no-backgroundsize #contatcus-promo-xl-1-available,
.no-js #contatcus-promo-xl-1-available {
  background: url(//static.o2.co.uk/www/img/contactus/p1/promo-m-short-available.jpg) right 0 no-repeat;
}

.no-backgroundsize #contatcus-promo-xl-1-busy,
.no-js #contatcus-promo-xl-1-busy {
  background: url(//static.o2.co.uk/www/img/contactus/p1/promo-m-short-busy.jpg) right 0 no-repeat;
}

.no-backgroundsize #contatcus-promo-xl-1-offline,
.no-js #contatcus-promo-xl-1-offline {
  background: url(//static.o2.co.uk/www/img/contactus/p1/promo-m-short-offline.jpg) right 0 no-repeat;
}

.backgroundsize #contatcus-promo-xl-1-available {
  background: url(//static.o2.co.uk/www/img/contactus/p1/promo-m-short-available.jpg) right 0 no-repeat;
}

.backgroundsize #contatcus-promo-xl-1-busy {
  background: url(//static.o2.co.uk/www/img/contactus/p1/promo-m-short-busy.jpg) right 0 no-repeat;
}

.backgroundsize #contatcus-promo-xl-1-offline {
  background: url(//static.o2.co.uk/www/img/contactus/p1/promo-m-short-offline.jpg) right 0 no-repeat;
}

.cuextramartop20 {
  margin-top: 20px;
}

#containerContactUs {
  width: 100%;
  position: relative;
  min-height: 0;
  clear: left;
  height: auto;
  overflow: hidden;
  display: inline-block;
  display: block;
}

#mainContactUs {
  clear: left;
  height: auto;
  position: relative;
  min-height: 0;
  overflow: hidden;
  display: inline-block;
  display: block;
}

#mainContactUs a {
  text-decoration: none!important;
}

#mainContactUs .hoverAcc,
#mainContactUs .selectedAcc {
  background-color: #d7dadf!important;
}

#mainContactUs .h2heading {
  padding: 12px 0;
}

#mainContactUs ul.formItems li {
  width: 100%;
}

#mainContactUs .selectedlink {
  cursor: pointer;
  background-image: url(//static.o2.co.uk/www/img/contactus/radio-off.png)!important;
  background-position: 10px 3px;
  background-repeat: no-repeat;
  padding-left: 36px;
  color: #032b5a;
}

#mainContactUs .selectedlinkon {
  background-image: url(//static.o2.co.uk/www/img/contactus/radio-on.png)!important;
}

#mainContactUs .moreInfo {
  display: none!important;
  padding-left: 20px;
  clear: left;
  height: auto;
}

#mainContactUs .moreInfo span {
  width: 100%;
  display: block;
}

#mainContactUs .moreInfo a {
  margin-left: 0!important;
}

#mainContactUs a.arrowed {
  font-family: Frutiger55,sans-serif;
  float: left;
  color: #419eda;
  line-height: 1.25em;
  font-size: .875em;
  background: none!important;
}

#mainContactUs a.arrowed span {
  display: block;
  width: 18px;
  height: 18px;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -2px -35px transparent;
  float: left;
  margin-right: 8px;
}

#mainContactUs td a.arrowed {
  padding: 0!important;
  margin-left: 0!important;
}

#mainContactUs a.noArrow {
  padding: 0!important;
  background: none!important;
  margin-left: 0!important;
  margin: 3px 0;
}

#mainContactUs .tooltip {
  margin-top: 20px;
}

#mainContactUs .tooltip a {
  background: none!important;
  padding: 0!important;
  display: block!important;
  position: relative;
  left: -20px;
  top: -10px;
  clear: left;
  width: 100%;
}

#mainContactUs .tooltip a>:hover {
  opacity: .8;
}

#mainContactUs .bubblewrapper {
  background: url(//static.o2.co.uk/www/img/contactus/bubblearrowtop.png) 50% 1px no-repeat;
  padding-top: 10px;
  clear: left;
  width: 100%;
  position: relative;
  z-index: 1;
}

#mainContactUs .bubble {
  position: relative;
  z-index: 1;
  width: 100%;
  display: inline-block;
  color: #fff;
  background: #419eda;
  clear: left;
  height: 100%;
}

#mainContactUs .bubble p {
  display: block;
  margin-left: 30px!important;
}

#mainContactUs .money,
#mainContactUs .pbbo {
  padding: 12px 0;
}

#mainContactUs .addressDetails {
  margin: 12px 0 12px 20px;
}

#mainContactUs .image {
  max-width: 91%;
}

#mainContactUs .module {
  height: 150px;
  margin: 20px 0 0!important;
}

#mainContactUs .module a {
  display: block;
  width: 100%;
  margin-left: 0!important;
}

#mainContactUs .module .module-body {
  display: block;
}

#mainContactUs .module .module-body .info p {
  margin: 0!important;
}

#mainContactUs .product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) 0 -95px no-repeat;
  color: #fff;
  display: block;
  padding: 0 0 0 25px;
  line-height: 1.1em;
}

#mainContactUs .accordion {
  position: relative;
  margin-bottom: 25px;
  float: left;
  width: 100%;
  overflow: hidden;
  border-top: 1px solid #d0d0d0;
  clear: left;
  height: auto;
}

#mainContactUs .accordion h2,
#mainContactUs .accordion h4 {
  line-height: 1.8em;
}

#mainContactUs .accordion h5 {
  color: #032b5a;
  font-family: Frutiger45Light,sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 100;
  padding: 0 0 0 20px;
  margin: 20px 0;
}

#mainContactUs .accordion .new a.trigger {
  display: block;
  padding: 17px 0 17px 20px;
  background-image: url(//static.o2.co.uk/www/img/contactus/pluslight.png);
  background-repeat: no-repeat;
  background-position: 1px 50%;
  color: #419eda;
  font-family: Frutiger45Light,sans-serif;
  font-weight: 100;
  line-height: 1em;
  outline: 0;
}

#mainContactUs .accordion .new a.trigger.open {
  background-image: url(//static.o2.co.uk/www/img/contactus/minuslight.png);
}

#mainContactUs .accordion .new h2 {
  position: relative;
  background: #efefef;
  color: #032b5a!important;
  cursor: pointer;
  float: left;
  font-size: 20px;
  font-size: 1.25rem;
  width: 100%;
  padding: 0 0 0 10px;
  margin: 0;
  margin-top: -1px;
  border-top: 1px solid #d0d0d0;
  border-bottom: 1px solid #d0d0d0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#mainContactUs .accordion .new h2 span {
  display: block;
  float: left;
  width: 15px;
  margin-right: 10px;
}

#mainContactUs .accordion .new .outer {
  clear: left;
  height: auto;
}

#mainContactUs .accordion .inner {
  width: 100%;
  padding-bottom: 40px;
  position: relative;
  clear: left;
  height: auto;
  color: #032b5a;
  background: #fff;
  font-family: Frutiger45Light,sans-serif;
  margin-bottom: 1px;
}

#mainContactUs .accordion .inner h4 {
  background: #fff;
  color: #032b5a;
  cursor: pointer;
  float: left;
  font-size: 1em;
  padding: 0;
  margin-top: -1px!important;
  border-top: 1px solid #d0d0d0;
  border-bottom: 1px solid #d0d0d0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#mainContactUs .accordion .inner h4 a.trigger {
  background-image: url(//static.o2.co.uk/www/img/contactus/pluslight.png);
  color: #419eda;
}

#mainContactUs .accordion .inner h4 a.trigger.open {
  background-image: url(//static.o2.co.uk/www/img/contactus/minuslight.png);
}

#mainContactUs .accordion .inner p {
  margin: 10px 20px;
}

#mainContactUs .accordion .inner a {
  outline: 0 none;
  margin: 0 20px;
}

#mainContactUs .accordion .inner h4 {
  width: 100%;
  margin: 20px 0 0;
  outline: 0;
}

#mainContactUs .accordion .inner div.innertext {
  width: 88%;
  margin: 0 auto;
}

#mainContactUs .accordion .inner .inner {
  width: auto;
  background: #f8f8f8;
}

#mainContactUs .accordion .inner .inner a {
  padding: 0 0 0 25px;
  font-family: Frutiger55,sans-serif;
  float: left;
  color: #419eda;
  line-height: 1.25em;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -2px -35px transparent;
}

#mainContactUs .accordion .inner .inner table a {
  padding: 0;
  float: none;
  background: 0 0;
  margin: 0;
}

#mainContactUs .accordion .inner div.accdiv {
  color: #032b5a;
  float: left;
  width: 100%;
  background: #fff;
  padding: 10px 0;
}

#mainContactUs .accordion .inner div.accdiv a,
#mainContactUs .accordion .inner div.accdiv h3,
#mainContactUs .accordion .inner div.accdiv h4,
#mainContactUs .accordion .inner div.accdiv p {
  margin: 10px 20px;
}

#mainContactUs .accordion .inner div.accdiv p a {
  margin: 10px 0;
  color: #032b5a;
}

#mainContactUs .accordion .inner div.accdiv ul {
  margin: 0 0 25px;
}

#mainContactUs .accordion .inner div.accdiv ul li {
  position: relative;
  width: 100%;
}

#mainContactUs .cuDivider {
  clear: both;
  width: 100%;
  position: relative;
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-shadow575.png) 0 0 no-repeat;
  padding: 22px 0 6px 20px;
}

#mainContactUs .cuDivider.teleph {
  margin-bottom: 20px;
}

#mainContactUs .cuDivider.write {
  margin-top: 20px;
}

#mainContactUs .cuDivider h3 {
  color: #032b5a;
  width: 90%;
  font-size: 1.25em;
  line-height: 1.25em;
}

#mainContactUs .cuDivider .line {
  display: block!important;
  position: absolute;
  height: 2px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-line575.png) 0 0 no-repeat;
}

#contatcus-promo-xl-1-available {
  background: url(//static.o2.co.uk/www/img/contactus/p3/promo-accordion-xl-available.jpg) right 0 no-repeat!important;
}

#contatcus-promo-xl-1-busy {
  background: url(//static.o2.co.uk/www/img/contactus/p3/promo-accordion-xl-busy.jpg) right 0 no-repeat!important;
}

#contatcus-promo-xl-1-offline {
  background: url(//static.o2.co.uk/www/img/contactus/p3/promo-accordion-xl-offline.jpg) right 0 no-repeat!important;
}

#mainContactUs .image {
  max-width: 100%;
}

#mainContactUs .module {
  height: 200px;
  margin: 20px 0 0 20px!important;
  width: 53%;
}

#mainContactUs .accordion .inner h4 {
  width: 92%;
  margin: 20px 20px 0;
  outline: 0;
}

#mainContactUs .accordion .inner .inner {
  border-left: 20px solid #fff;
  border-right: 20px solid #fff;
  padding-top: 12px;
  width: 92%;
  overflow: hidden;
}

#mainContactUs .accordion .inner div.innertext {
  max-width: 600px;
  margin: 0 auto;
}

#mainContactUs .cuDivider {
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-shadow575.png) 20px 0 no-repeat;
  padding: 18px 0 1px 20px;
}

#mainContactUs .cuDivider .line {
  left: 20px;
  width: 90%;
}

#mainContactUs .responsive-table,
#mainContactUs table {
  margin: 12px auto!important;
  width: 90%!important;
}

.minwidth75 {
  min-width: 75%;
  float: left;
}

#mainContactUs .selectedlink {
  max-width: 60%;
}

#mainContactUs .module {
  width: 60%;
}

#mainContactUs .tooltip {
  margin-top: 0;
}

#mainContactUs .tooltip a {
  position: absolute;
  left: inherit;
  right: 10px;
  top: -30px;
}

#mainContactUs .bubblewrapper {
  background: url(//static.o2.co.uk/www/img/contactus/bubblearrow.png) 1px 33px no-repeat;
  padding-left: 10px;
  clear: left;
  width: 30%;
  position: absolute;
  z-index: 1;
  right: 0;
  top: -10px;
}

#mainContactUs .bubble {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: #fff;
  padding: 8px;
  background: #419eda;
  clear: left;
  height: 100%;
}

#mainContactUs .bubble p {
  display: block;
  margin-left: 20px!important;
}

#mainContactUs .accordion .inner h4 {
  width: 94%;
}

#mainContactUs .accordion .inner div.accdiv ul li {
  height: 20px;
}

#mainContactUs .accordion .inner .inner {
  width: 94%;
}

#mainContactUs .accordion .new .outer {
  max-width: 100%;
}

#mainContactUs .image {
  margin-left: 30px;
}

#mainContactUs .cuDivider {
  background: transparent url(//static.o2.co.uk/shared/img/label-m-shadow.png) 0 0 no-repeat;
  padding: 18px 0 1px 30px;
}

#mainContactUs .cuDivider .line {
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-line575.png) 0 0 no-repeat;
}

#mainContactUs table {
  width: 94%;
  border-collapse: collapse;
  border-bottom: 1px solid #999;
  margin: 20px 0;
}

.country {
  width: 100%;
  color: #032b5a;
  height: 473px;
  margin-bottom: 25px;
}

.country div {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
}

.country div.select select {
  width: 100%;
}

.country div.select select:focus {
  border: 1px solid #fff;
}

.country div.select span.select {
  display: block;
  width: 100%;
}

.country .default-content-container {
  float: none;
}

.country .default-content-container select {
  *padding: 0;
}

.country a {
  color: #419eda;
}

.country a:hover {
  text-decoration: underline;
}

.country .extras,
.country .row1,
.country .row2>div,
.country .supplementary {
  padding: 20px;
}

.country div.select {
  padding-top: 12px;
  padding-left: 51px;
  padding-right: 0;
  position: relative;
}

.country div.select img {
  width: 46px;
  height: 46px;
  position: absolute;
  left: 0;
  margin-top: -5px;
  display: none;
}

.country .row1 {
  height: 173px;
}

.country .extras p,
.country .intro p {
  margin-top: 10px;
  font-size: 14px;
  font-size: .875rem;
}

.country .row2>div {
  float: left;
  width: 50%;
  height: 109px;
  font-size: 11px;
  font-size: .6875rem;
  font-style: italic;
}

.country .row2>div .bigger {
  font-style: normal;
  font-size: 34px;
  font-size: 2.125rem;
  font-family: Frutiger45Light,sans-serif;
  letter-spacing: -1px;
}

.country .row2>div h2 {
  font-style: normal;
}

.countryl2a .country .row2>div h2,
.countryl3a .country .row2>div h2 {
  font-size: 14px;
  font-size: .875rem;
  font-family: Frutiger55,sans-serif;
}

.countryl2a .country .row2>div .bigger,
.countryl3a .country .row2>div .bigger {
  line-height: 42px;
}

.countryl2c .country .row2>div {
  font-size: 12px;
  font-size: .75rem;
  font-style: normal;
  position: relative;
}

.countryl2c .country .row2>div span {
  display: inline-block;
  width: 16px;
  position: absolute;
  top: 18px;
}

.countryl2c .country .row2>div p {
  text-indent: 20px;
}

.countryl3a .country .row2>div {
  width: 33%;
}

.country .first {
  border-right: 1px solid #d8d8d8;
}

.country .last {
  border-left: 1px solid #f8f8f8;
}

.country .extras {
  height: 150px;
  float: left;
  width: 100%;
  position: relative;
  top: 10px;
}

.country .extras h2 {
  font-size: 16px;
  font-size: 1rem;
  font-family: Frutiger55,sans-serif;
}

.country .extras .default-content-container {
  padding: 0;
}

.country .extras .default-content-container a.cta {
  background-position: -2px -35px;
}

.country .extras .default-content-container a.cta span {
  display: none;
}

.country .supplementary {
  font-size: 10px;
  font-size: .625rem;
  position: absolute;
  top: 282px;
  padding: 10px 20px;
}

.country h2 {
  font-size: 24px;
  font-size: 1.5rem;
}

.country {
  height: 345px;
  background: url(//static.o2.co.uk/www/img/modules/countryl2b/bp2/module-bg.jpg);
  margin-bottom: 0;
}

.country .extras,
.country .intro,
.country .row2>div,
.country div.select {
  padding: 17px 20px;
}

.country .row1 {
  height: 180px;
  padding: 0;
}

.country .intro {
  padding-bottom: 0;
}

.country .countries {
  float: left;
  width: 66%;
}

.country .row2>div {
  height: 135px;
}

.country .row2>div .bigger {
  font-size: 54px;
  font-size: 3.375rem;
}

.countryl2a .country .row2>div .bigger,
.countryl3a .country .row2>div .bigger {
  font-size: 54px;
  font-size: 3.375rem;
  line-height: 60px;
}

.countryl2c .country .row2>div {
  font-size: 14px;
  font-size: .875rem;
  padding-top: 17px;
  padding-bottom: 17px;
}

.countryl2c .country .row2>div span {
  top: 16px;
}

.country div.select {
  padding-left: 71px;
}

.country div.select img {
  left: 20px;
}

.country .extras {
  float: right;
  width: 34%;
  border-left: 1px solid #FFF;
  background: #efefef;
  font-size: 14px;
  font-size: .875rem;
  height: 315px;
  top: 0;
}

.country .extras h2 {
  font-size: 24px;
  font-size: 1.5rem;
  font-family: Frutiger45Light,sans-serif;
}

.country .supplementary {
  float: left;
  width: 100%;
  position: relative;
  top: 0;
}

.country h2 {
  font-size: 28px;
  font-size: 1.75rem;
}

.country {
  height: 302px;
  background: url(//static.o2.co.uk/www/img/modules/countryl2b/bp3/module-bg.jpg);
}

.country .extras,
.country .intro,
.country .row2>div,
.country div.select {
  padding: 27px 30px;
}

.country .row1 {
  height: 150px;
}

.country .intro {
  padding-right: 0;
}

.country .intro,
.country div.select {
  height: 150px;
  width: 50%;
  float: left;
}

.country .row2>div {
  height: 103px;
  padding-right: 20px;
  position: relative;
  font-size: 12px;
  font-size: .75rem;
}

.country .row2>div .bigger {
  float: left;
  font-size: 54px;
  font-size: 3.375rem;
}

.countryl2b .country .row2>div p {
  position: absolute;
  bottom: 28px;
  padding-right: 15px;
}

.countryl2a .country .row2>div .bigger,
.countryl3a .country .row2>div .bigger {
  float: none;
  font-size: 44px;
  font-size: 2.75rem;
  line-height: 44px;
}

.countryl2c .country .row2>div span {
  top: 18px;
}

.countryl2c .country .row2>div p {
  text-indent: 0;
  padding-left: 24px;
}

.country div.select {
  padding-left: 81px;
}

.country div.select img {
  left: 30px;
}

.country .first p {
  left: 93px;
}

.country .last p {
  left: 123px;
}

.country .extras {
  height: 253px;
}

.country .supplementary {
  padding: 20px 30px;
}

@-moz-document url-prefix()  {
  .country div.select img {
    margin-top: -3px;
  }
}

#o2-footer {
  margin-top: 0;
}

.margin-bottom25 {
  margin-bottom: 25px;
}

.default-content-header .header-super-xxl,
.default-content-header .header-xxl,
.default-content-header .promo-xxl {
  margin-bottom: 5px;
}

.default-content-nav {
  display: none;
}

.left-nav-on .default-content-nav {
  float: left;
  width: 100%;
  display: block;
}

.right-promo-on .default-promo-container {
  float: none;
  width: 100%;
  display: block;
  padding-bottom: 20px;
}

.bottom-promo-on .default-promo-container {
  float: left;
  width: 100%;
  display: block;
  padding-bottom: 25px;
}

.bottom-promo-on .default-promo-container .col-2 .module {
  width: 100%;
  background-position: 100%!important;
}

.left-nav-off .col-1third,
.left-nav-off .col-2thirds {
  width: 100%;
}

.left-nav-on.right-promo-on .default-content-container .image img {
  margin-bottom: 25px;
  width: 100%;
}

.left-nav-on.right-promo-on .default-content-container .media {
  width: 100%;
  margin-bottom: 25px;
}

.divider {
  display: inline-block;
  background: url(//static.o2.co.uk/shared/img/divider-repeat.png) repeat-x scroll 0 0 #f8f8f8;
  height: 5px;
  margin: 0 0 25px;
  overflow: hidden;
  width: 100%;
}

.divider .divide-left,
.divider .divide-right {
  background: url(//static.o2.co.uk/shared/img/divider-left-right.png) no-repeat scroll 0 0 #f8f8f8;
  width: 130px;
  height: 5px;
}

.divider .divide-left {
  float: left;
}

.divider .divide-right {
  float: right;
  background-position: -25px -25px;
}

.default-content-container {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
  padding: 20px 20px 0;
  color: #032b5a;
  font-family: Frutiger55,sans-serif;
}

.default-content-container.text-box {
  background: 0 0;
}

.default-content-container.no-padding {
  padding: 0;
}

.default-content-container h2,
.default-content-container h3,
.default-content-container h4,
.default-content-container h5 {
  margin: 0 0 20px;
  color: #032b5a;
  font-family: Frutiger45Light,sans-serif;
  line-height: inherit;
  display: block;
}

.default-content-container h2 {
  font-size: 25px;
  font-size: 1.5625rem;
}

.default-content-container h3 {
  font-size: 22px;
  font-size: 1.375rem;
}

.default-content-container h4 {
  font-size: 20px;
  font-size: 1.25rem;
}

.default-content-container h5 {
  font-size: 12px;
  font-size: .75rem;
  margin-bottom: 5px;
  font-weight: 400!important;
}

.default-content-container address,
.default-content-container p {
  font-size: 16px;
  font-size: 1rem;
  margin: 0 0 25px;
}

.default-content-container address small,
.default-content-container p small {
  font-size: 12px;
  font-size: .75rem;
  font-family: Frutiger45Light,sans-serif;
}

.default-content-container .video-title {
  margin-bottom: 0;
}

.default-content-container a {
  color: #419eda;
}

.default-content-container a:hover {
  text-decoration: underline;
}

.default-content-container a.cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -2px -33px;
  padding-left: 25px;
}

.default-content-container ul {
  margin-bottom: 25px;
  margin-left: 20px;
}

.default-content-container ul li {
  font-size: 16px;
  font-size: 1rem;
  list-style-type: disc;
  list-style: disc;
  font-family: Frutiger55,sans-serif;
  line-height: 1.25em;
  list-style-position: outside;
}

.default-content-container ul.unstyled {
  margin-left: 0;
}

.default-content-container ul.unstyled>li {
  list-style-type: none;
  list-style-position: inside;
}

.default-content-container ul.unstyled>li ul {
  margin-top: 20px;
}

.default-content-container ul.unstyled.indented {
  margin-left: 20px;
}

.default-content-container ul.spaced li {
  margin-bottom: 20px;
}

.default-content-container ol {
  margin-bottom: 25px;
  padding-left: 25px;
  *padding-left: 0;
}

.default-content-container ol li {
  font-size: 16px;
  font-size: 1rem;
  font-family: Frutiger55,sans-serif;
  line-height: 1.25em;
}

.default-content-container ol.alphaUpper li {
  list-style-type: upper-alpha;
}

.default-content-container ol.alphaLower li {
  list-style-type: lower-alpha;
}

.default-content-container ol.numbered li {
  list-style-type: decimal;
}

.default-content-container ol.unstyled {
  padding-left: 0;
}

.default-content-container ol.unstyled li {
  list-style-type: none;
  margin-bottom: 20px;
}

.default-content-container ol.unstyled li ol {
  margin-top: 20px;
}

.default-content-container ol.linkList {
  padding-left: 0;
  counter-reset: i 0;
}

.default-content-container ol.linkList li {
  list-style-type: none;
  *list-style-type: decimal;
}

.default-content-container ol.linkList li:before {
  content: counter(i);
  counter-increment: i;
  padding-right: .5em;
  color: #419eda;
}

.default-content-container .download-link {
  float: left;
  margin: 0 0 25px;
  width: 100%;
}

.default-content-container .download-link a {
  color: #032b5a;
  background: url(//static.o2.co.uk/shared/img/download-link.png) no-repeat scroll 0 0 transparent;
  float: left;
  padding-left: 30px;
  font-size: .875em;
  line-height: 20px;
}

.default-content-container .download-link a:hover {
  color: #419eda;
}

.default-content-container .accordian {
  border-top: 1px solid #e0e0e0;
  margin-bottom: 25px;
  float: left;
  width: 100%;
  overflow: hidden;
}

.default-content-container .accordian.no-margin {
  margin-bottom: 0;
}

.default-content-container .accordian ul {
  margin-left: 0;
}

.default-content-container .accordian ul li {
  width: 100%;
  float: left;
  list-style: none;
}

.default-content-container .accordian ul li h2 {
  background: #efefef;
  color: #032b5a;
  cursor: pointer;
  float: left;
  font-size: 1em;
  width: 100%;
  padding: 10px 0 10px 20px;
  margin: 0;
  border-bottom: 1px solid #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
}

.default-content-container .accordian ul li h2 .js-accordian-indicator {
  color: #007dba;
}

.default-content-container .accordian ul li h2 span {
  display: block;
  float: left;
  width: 15px;
  margin-right: 10px;
}

.default-content-container .accordian ul li h2 span.accordian-header {
  width: 85%;
}

.default-content-container .accordian ul li h2:focus,
.default-content-container .accordian ul li h2:hover {
  background: #d7dadf;
}

.default-content-container .accordian ul li div {
  display: none;
  color: #032b5a;
  float: left;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
  padding: 20px 20px 0;
}

.default-content-container .accordian ul li div h3,
.default-content-container .accordian ul li div h4,
.default-content-container .accordian ul li div p {
  margin-bottom: 25px;
}

.default-content-container .accordian ul li ul {
  overflow: hidden;
  margin: 0 0 25px;
}

.default-content-container .accordian ul li ul li {
  width: 95%;
  list-style: disc;
  margin-left: 25px;
}

.default-content-container .accordian ul li ol {
  overflow: hidden;
  margin: 0 0 25px;
}

.default-content-container .accordian ul li ol li {
  width: 95%;
  list-style: decimal;
  margin-left: 0;
  margin-bottom: 20px;
}

.default-content-container .accordian ul li img {
  max-width: 100%;
}

.default-content-container .accordian a {
  color: #419eda;
}

.default-content-container .image img {
  margin-bottom: 25px;
  width: 100%;
}

.default-content-container .media iframe {
  width: 100%;
  margin-bottom: 25px;
  height: 250px;
}

.default-content-container .media object {
  width: 100%;
  margin-bottom: 25px;
}

.default-content-container .faq {
  margin-bottom: 25px;
}

#o2-footer {
  margin-top: 30px;
}

.default-content-header .header-xxl {
  margin-bottom: 35px;
}

.default-content-header .header-super-xxl-grad {
  margin-bottom: 0!important;
}

.default-content-header .header-super-xxl,
.default-content-header .promo-xxl {
  margin-bottom: 25px;
}

.left-nav-on.right-promo-on .default-wrapper {
  width: 100%;
  float: none;
}

.left-nav-on.bottom-promo-on .default-wrapper {
  width: 100%;
  float: right;
}

.left-nav-on.right-promo-on .default-content-container {
  float: left;
  width: 66.6%;
}

.left-nav-on.bottom-promo-on .default-content-container {
  float: left;
  width: 100%;
}

.left-nav-on.right-promo-on .default-promo-container {
  float: right;
  width: 33.3%;
  display: block;
  padding-bottom: 20px;
}

.left-nav-on.bottom-promo-on .default-promo-container {
  float: right;
  width: 100%;
}

.left-nav-on.bottom-promo-on .default-promo-container .col-2 .module {
  width: 49%;
  background-position: right top!important;
}

.default-content-container .image img {
  margin-bottom: 25px;
  width: 75%;
}

.default-content-container .media,
.default-content-container .media iframe {
  width: 75%;
  margin-bottom: 25px;
}

.default-content-nav .navleft {
  margin-top: 0;
}

.left-nav-on.right-promo-on .default-content-container .image img {
  margin-bottom: 25px;
  width: 100%;
}

.left-nav-on.right-promo-on .default-content-container .media iframe {
  width: 100%;
  margin-bottom: 25px;
  height: 320px;
}

.left-nav-off.right-promo-on .default-content-container {
  float: left;
  width: 66.6%;
}

.left-nav-off.right-promo-on .default-promo-container {
  float: right;
  width: 33.3%;
}

.default-content-container {
  padding: 0 30px;
}

.default-content-container.no-padding {
  padding: 0;
}

.default-content-container .small {
  width: 50%;
  clear: left;
}

.default-content-container .medium {
  width: 66%;
}

.default-content-container .large {
  width: 75%;
}

.default-content-container .x-large {
  width: 90%;
}

.default-content-container .full {
  width: 100%;
  clear: both;
}

#o2-footer {
  margin-top: 60px;
}

.default-content-header .header-xxl {
  margin-bottom: 50px;
}

.default-content-header .header-super-xxl-grad {
  margin-bottom: 0!important;
}

.default-content-header .header-super-xxl,
.default-content-header .promo-xxl {
  margin-bottom: 30px;
}

.left-nav-on .default-content-nav {
  float: left;
  width: 25%;
  display: block;
}

.left-nav-on .default-content-container {
  float: right;
  width: 75%;
}

.left-nav-on.bottom-promo-on .default-wrapper,
.left-nav-on.right-promo-on .default-wrapper {
  width: 75%;
  float: right;
}

.left-nav-on.right-promo-on .default-content-container {
  float: left;
  width: 66.6%;
}

.left-nav-on.right-promo-on .default-promo-container {
  float: right;
  width: 33.3%;
  display: block;
  padding-bottom: 20px;
}

.left-nav-off.right-promo-on .default-content-container {
  float: left;
  width: 75%;
}

.left-nav-off.right-promo-on .default-promo-container {
  float: right;
  width: 25%;
}

.default-promo-container .downloadLinks ul {
  margin-left: 18px!important;
}

.downloadLinks {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.downloadLinks.module {
  background-color: transparent;
}

.downloadLinks h4 {
  margin-bottom: 5px!important;
}

.downloadLinks ul {
  margin-left: 0!important;
}

.downloadLinks ul li {
  list-style-type: none!important;
}

.downloadLinks a {
  border: 0;
  background: url(//static.o2.co.uk/shared/img/download-link.png) no-repeat scroll 2px 50% transparent;
  color: #419eda;
  padding: 5px 20px 5px 30px;
  display: block;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.downloadLinks a:hover {
  text-decoration: underline;
}

.no-js .faq .supportinglink {
  position: relative!important;
}

.faq {
  background-color: #efefef;
  width: 100%;
  display: block;
  min-height: 380px;
}

.faq a:hover {
  text-decoration: underline;
}

.faq .module-body h3 {
  color: #032b5a;
  width: auto;
  padding: 25px 20px 0;
  margin: 0;
  font-size: 1.5em;
  height: 57px;
  overflow: hidden;
}

.faq .module-body dl {
  margin: 0;
  display: block;
}

.faq .module-body dl dt {
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #d8d8d8;
  display: block;
  overflow: hidden;
  height: 42px;
  background: transparent url(//static.o2.co.uk/shared/img/modules/accordion-control-bg-sprite.png) no-repeat scroll 20px 0;
  cursor: pointer;
}

.faq .module-body dl dt:hover {
  background-color: #d7dadf!important;
}

.faq .module-body dl dt span {
  display: table-cell;
  height: 32px;
  vertical-align: middle;
  width: auto;
  padding: 5px 20px 5px 37px;
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  line-height: 1.25em;
  color: #419eda;
}

.faq .module-body dl dt:first-child {
  border-top: 1px solid #d8d8d8;
}

.faq .module-body dl dt.is-open {
  background-position: 20px -42px;
}

.faq .module-body dl dt .js-accordion-indicator {
  float: left;
  margin: 0 8px 0 0;
  width: 15px;
}

.faq .module-body dl dd {
  font-family: Frutiger45Light,sans-serif;
  background-color: #fff;
  padding: 10px 20px;
  margin: 0;
}

.faq .module-body dl dd p {
  color: #032b5a;
  margin: 12px 0;
}

.faq .module-body dl dd ol,
.faq .module-body dl dd ul {
  margin: 12px 0;
}

.faq .module-body dl dd ul li {
  list-style: disc;
  margin-left: 20px;
}

.faq .module-body dl dd li {
  color: #032b5a;
  line-height: 1.3em;
}

.faq .supportinglink {
  border: 0;
  border-top: 1px solid #d8d8d8;
  overflow: hidden;
  padding: 0;
  height: 40px;
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
}

.faq .supportinglink a {
  border: 0;
  border-top: 1px solid #fff;
  background: url(//static.o2.co.uk/shared/img/arrow-right.png) no-repeat scroll 20px 50% transparent;
  color: #419eda;
  padding: 13px 20px 12px 37px;
  display: block;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.faq {
  min-height: 412px;
}

.faq .module-body {
  width: 100%;
}

.faq .module-body h3 {
  font-size: 1.75em;
  padding: 30px 20px 0;
  height: 64px;
  overflow: hidden;
}

.faq .module-body dl dt.is-open {
  background-position: 20px -42px;
}

.faq .module-body dl dd {
  padding: 10px 30px;
}

.faq .supportinglink {
  height: 60px;
}

.faq .supportinglink a {
  padding: 22px 20px 22px 37px;
  background-position: 20px 50%;
}

.js .faq {
  min-height: 420px;
}

.faq .module-body h3 {
  height: 71px;
}

.faq .module-body dl dt {
  background-position: 30px 0;
}

.faq .module-body dl dt span {
  font-size: 1em;
  padding-left: 47px;
  line-height: 1.125em;
}

.faq .module-body dl dt.is-open {
  background-position: 30px -42px;
}

.faq .supportinglink {
  overflow: hidden;
  padding: 0;
  height: 60px;
}

.faq .supportinglink a {
  background-position: 30px 50%;
  padding: 22px 20px 22px 47px;
  font-size: .875em;
}

.feed {
  background-color: #efefef;
  width: 100%;
  display: block;
  height: 380px;
}

.feed a:hover {
  text-decoration: underline;
}

.feed .module-body h3 {
  color: #032b5a;
  width: auto;
  padding: 25px 20px 0;
  margin: 0;
  font-size: 1.5em;
  height: 57px;
  overflow: hidden;
}

.feed .module-body ul {
  display: block;
}

.feed .module-body ul li {
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #d8d8d8;
  display: block;
  overflow: hidden;
  height: 42px;
  background: transparent url(//static.o2.co.uk/shared/img/arrow-right.png) no-repeat scroll 20px 14px;
}

.feed .module-body ul li a {
  display: table-cell;
  height: 32px;
  line-height: 1.25em;
  width: auto;
  padding: 5px 20px 5px 37px;
  vertical-align: middle;
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  color: #419eda;
}

.feed .module-body ul li a span {
  display: none;
}

.feed .module-body ul li:first-child {
  border-top: 1px solid #d8d8d8;
}

.feed .module-body .loading {
  display: none;
  text-align: center;
  margin: 30px 0;
}

.feed .module-body .loading p {
  color: #032b5a;
  margin: 10px 0;
}

.feed .module-body .loading img {
  margin: 0;
  padding: 0;
  height: 30px;
}

.feed .module-body .errorMsg {
  height: 60px;
  text-align: center;
  color: #900;
}

.feed .module-body .errorMsg a {
  color: #419eda;
  display: block;
}

.feed .supportinglink {
  border: 0;
  border-top: 1px solid #d8d8d8;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  padding: 0;
  height: 40px;
  display: block;
  width: 100%;
}

.feed .supportinglink a {
  border: 0;
  border-top: 1px solid #fff;
  background: url(//static.o2.co.uk/shared/img/arrow-right.png) no-repeat scroll 20px 50% transparent;
  color: #419eda;
  display: block;
  padding: 13px 20px 12px 37px;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.js .feed .module-body .loading {
  display: block;
}

.feed {
  height: 412px;
}

.feed .module-body {
  width: 100%;
}

.feed .module-body h3 {
  font-size: 1.75em;
  padding: 30px 20px 0;
  height: 64px;
  overflow: hidden;
}

.feed .module-body ul li {
  background-position: 20px 14px;
}

.feed .module-body .errorMsg {
  height: 250px;
}

.feed .supportinglink {
  height: 60px;
}

.feed .supportinglink a {
  padding: 22px 20px 22px 37px;
  background-position: 20px 50%;
}

.feed {
  height: 420px;
}

.feed .module-body h3 {
  height: 71px;
}

.feed .module-body ul li {
  background-position: 30px 15px;
}

.feed .module-body ul li a {
  padding-left: 47px;
  font-size: 1em;
  line-height: 1.125em;
}

.feed .module-body .errorMsg {
  height: 250px;
}

.feed .supportinglink {
  overflow: hidden;
  padding: 0;
  height: 60px;
}

.feed .supportinglink a {
  background-position: 30px 50%;
  padding: 22px 20px 22px 47px;
  font-size: .875em;
}

#o2-footer {
  font-family: Frutiger55,sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1em;
  clear: both;
  color: #fff;
  display: block;
  background: #449ed0 url(../img/footer/footer-gradient-mobile.png) 0 0 repeat-x;
}

#o2-footer iframe {
  margin-top: -1px;
  border: 0;
}

#o2-footer p {
  margin: 0;
}

#o2-footer a,
#o2-footer a:active,
#o2-footer a:hover,
#o2-footer a:visited {
  color: #e3e3e3!important;
  text-decoration: none;
}

#o2-footer a:hover {
  text-decoration: underline;
}

#o2-footer .grid-inner {
  margin-left: 20px;
  margin-right: 20px;
  padding: 30px 0 0;
}

#o2-footer ul {
  float: left;
  padding: 0;
}

#o2-footer ul li {
  display: inline-block;
  float: left;
  line-height: 1.5em;
  color: #fff;
  margin: 0 6px 0 0;
}

#o2-footer ul li.last {
  background-image: none;
}

#o2-footer ul li a {
  color: #fff;
  text-decoration: none;
  margin: 0 5px 0 0;
}

#o2-footer p {
  color: #fff;
  line-height: 1em;
  display: inline-block;
}

#o2-footer .nav.full-nav {
  display: none;
}

#o2-footer .nav.mobile-nav ul {
  float: left;
  width: 100%;
  margin: 0 0 13px;
}

#o2-footer .nav.mobile-nav ul li {
  font-size: .75em;
}

#o2-footer .nav.mobile-nav ul li span {
  padding: 0 10px;
  opacity: .6;
}

#o2-footer .nav .social {
  border-top: 1px solid #3c6b99;
  border-bottom: 1px solid #3d7eb1;
  height: 15px;
  padding: 12px 0 14px;
}

#o2-footer .nav .social li {
  display: inline-block;
  float: left;
  line-height: 1em;
}

#o2-footer .nav .social li.facebook a {
  background-position: 0 -33px;
}

#o2-footer .nav .social li.linkedin a {
  background-position: 0 -99px;
}

#o2-footer .nav .social li a {
  background: url(../img/footer/footer-sprite-social-icons.png) left top no-repeat;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  margin: 0 13px 0 0;
  padding: 2px 0 3px 27px;
}

#o2-footer .nav .social li a:hover {
  text-decoration: underline;
}

#o2-footer #o2-footer-secondary {
  font-size: .625em;
}

#o2-footer #o2-footer-secondary ul {
  margin: 0 20px 0 0;
}

#o2-footer #o2-footer-secondary ul li span {
  padding: 0 7px;
  opacity: .6;
}

#o2-footer #o2-footer-secondary .telefonica-footerLegal {
  width: 100%;
  display: inline-block;
  padding: 10px 0 20px;
}

#o2-footer #o2-footer-secondary .telefonica-links {
  width: 100%;
  display: inline-block;
  padding: 27px 0 10px;
}

#o2-footer #o2-footer-secondary .telefonica-links p {
  float: left;
}

#o2-footer #o2-footer-secondary .telefonica-links a {
  padding: 0 4px;
}

#o2-footer #o2-footer-secondary .telefonica-links a:first-child {
  padding-left: 0;
}

#o2-footer #o2-footer-secondary .telefonica-links .telefonica-logo {
  float: right;
  background: url(../img/sprite-logo-telefonica.png) 0 -22px no-repeat;
  text-indent: -9999px;
  width: 58px;
  height: 22px;
  top: -4px;
  position: relative;
}

#o2-footer a:focus {
  outline: 0 none;
  outline: solid 2px #fff;
  text-decoration: underline;
}

#o2-footer .grid-inner {
  background: url(../img/footer/footer-bubbles.png) right bottom no-repeat;
  margin: 0 auto;
  padding: 30px 0;
}

#o2-footer .grid-inner .nav.mobile-nav {
  display: none;
}

#o2-footer .grid-inner .nav.full-nav {
  display: block;
  width: 100%;
  overflow: hidden;
}

#o2-footer .grid-inner .nav.full-nav dl {
  width: 25%;
  margin: 0;
  float: left;
  min-height: 165px;
  background: url(../img/footer/footer-list-splitter.png) 100% top no-repeat;
}

#o2-footer .grid-inner .nav.full-nav dl.last {
  background-image: none;
}

#o2-footer .grid-inner .nav.full-nav dl dt {
  font-family: Frutiger45Light,sans-serif;
  font-size: 1.25em;
  line-height: 1em;
  color: #fff;
  margin: 0 0 20px 30px;
  opacity: .6;
}

#o2-footer .grid-inner .nav.full-nav dl dd {
  font-size: .75em;
  margin: 0 0 0 30px;
  padding-bottom: 8px;
  line-height: 1em;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social {
  border: 0;
  height: 15px;
  padding: 3px 0 0 25px;
  margin-bottom: 10px;
  background: url(../img/footer/footer-sprite-social-icons.png) left top no-repeat;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social.twitter {
  background-position: 0 0;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social.facebook {
  background-position: 0 -33px;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social.blog {
  background-position: 0 -66px;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social.linkedin {
  background-position: 0 -99px;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social.slideshare {
  background-position: 0 -132px;
}

#o2-footer .grid-inner .nav.full-nav dl dd.social.youtube {
  background-position: 0 -165px;
}

#o2-footer #o2-footer-secondary {
  clear: both;
  padding: 50px 20px 0;
  font-size: .75em;
}

#o2-footer #o2-footer-secondary ul {
  display: block;
  float: left;
  width: auto;
}

#o2-footer #o2-footer-secondary .telefonica-footerLegal {
  padding: 0;
  width: auto;
  margin-top: 21px;
}

#o2-footer #o2-footer-secondary .telefonica-links {
  float: left;
  line-height: 1.5em;
  padding: 0;
  width: auto;
  margin: 0;
  opacity: .6;
}

#o2-footer #o2-footer-secondary .telefonica-links .telefonica-logo {
  display: none;
}

#o2-footer #o2-footer-secondary .telefonica-links p {
  line-height: 1.5em;
}

.default-content-container form>div {
  margin-bottom: 20px;
}

.default-content-container form>div .clearfix {
  zoom: 1;
}

.default-content-container form>div .clearfix:after,
.default-content-container form>div .clearfix:before {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
}

.default-content-container form>div .clearfix:after {
  clear: both;
}

.default-content-container form>div>div {
  float: left;
  width: 140px;
}

.default-content-container input[type=email],
.default-content-container input[type=tel],
.default-content-container input[type=text] {
  -webkit-appearance: none;
  border: 1px solid #d8d8d8;
  padding: 8px 10px;
  width: 278px;
  color: #032b5a;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #FFF;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.default-content-container input[type=email].half,
.default-content-container input[type=tel].half,
.default-content-container input[type=text].half {
  width: 137px;
}

.default-content-container input[type=email]:focus,
.default-content-container input[type=tel]:focus,
.default-content-container input[type=text]:focus {
  border: 1px solid #061f47;
  outline: 0;
}

.default-content-container select {
  padding: 8px 10px;
  border: 1px solid transparent;
  color: #061f47;
}

.default-content-container select:focus {
  border: 1px solid #061f47;
  outline: 0;
}

.default-content-container label {
  display: block;
  position: relative;
}

.default-content-container label span {
  display: block;
  margin-bottom: 8px;
}

.default-content-container label span.select {
  margin: 0;
}

.default-content-container input[type=checkbox],
.default-content-container input[type=radio] {
  margin: 10px 4px 0 0;
  border: 0;
  width: auto;
}

.default-content-container span.select {
  width: 276px;
  position: relative;
  border: 1px solid #d8d8d8;
  background-color: #FFF;
  background-image: url(//static.o2.co.uk/shared/img/sprite-form.png);
  background-image: url(//static.o2.co.uk/shared/img/sprite-form.svg),none;
  background-position: 100% -386px;
  background-repeat: no-repeat;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.legacy .default-content-container span.select {
  background-image: none;
}

.default-content-container span.select:before {
  content: "";
  background: #d8d8d8;
  position: absolute;
  width: 1px;
  height: 36px;
  top: 0;
  right: 37px;
}

.default-content-container span.select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: .01px;
  text-overflow: '';
  background: 0 0;
  width: 100%;
}

.default-content-container span.select select::-ms-expand {
  display: none;
}

.default-content-container input[type=submit] {
  width: 280px;
  padding: 8px 10px;
  color: #FFF;
  border: 0;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  background: #419eda;
  background-image: url();
  background-image: -moz-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#419eda),color-stop(100%,#2f7cb4));
  background-image: -webkit-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -o-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -ms-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: linear-gradient(to bottom,#419eda 0,#2f7cb4 100%);
}

.default-content-container input[type=submit]:hover {
  background: #2870a7;
  background-image: url();
  background-image: -moz-linear-gradient(top,#2870a7 0,#1d5c90 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#2870a7),color-stop(100%,#1d5c90));
  background-image: -webkit-linear-gradient(top,#2870a7 0,#1d5c90 100%);
  background-image: -o-linear-gradient(top,#2870a7 0,#1d5c90 100%);
  background-image: -ms-linear-gradient(top,#2870a7 0,#1d5c90 100%);
  background-image: linear-gradient(to bottom,#2870a7 0,#1d5c90 100%);
}

.default-content-container input[type=submit]:active {
  background: #032b5a;
  background-image: url();
  background-image: -moz-linear-gradient(top,#032b5a 0,#032b5a 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#032b5a),color-stop(100%,#032b5a));
  background-image: -webkit-linear-gradient(top,#032b5a 0,#032b5a 100%);
  background-image: -o-linear-gradient(top,#032b5a 0,#032b5a 100%);
  background-image: -ms-linear-gradient(top,#032b5a 0,#032b5a 100%);
  background-image: linear-gradient(to bottom,#032b5a 0,#032b5a 100%);
}

.default-content-container input[type=reset] {
  width: auto;
  padding: 8px 10px;
  margin-right: 12px;
  color: #032b5a;
  border: 1px solid #bebebe;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  background: #f8f8f8;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f8f8f8 0,#e6e6e6 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f8f8f8),color-stop(100%,#e6e6e6));
  background-image: -webkit-linear-gradient(top,#f8f8f8 0,#e6e6e6 100%);
  background-image: -o-linear-gradient(top,#f8f8f8 0,#e6e6e6 100%);
  background-image: -ms-linear-gradient(top,#f8f8f8 0,#e6e6e6 100%);
  background-image: linear-gradient(to bottom,#f8f8f8 0,#e6e6e6 100%);
}

.default-content-container input[type=reset]:hover {
  background: #f2f3f4;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f2f3f4 0,#b1bcc9 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f2f3f4),color-stop(100%,#b1bcc9));
  background-image: -webkit-linear-gradient(top,#f2f3f4 0,#b1bcc9 100%);
  background-image: -o-linear-gradient(top,#f2f3f4 0,#b1bcc9 100%);
  background-image: -ms-linear-gradient(top,#f2f3f4 0,#b1bcc9 100%);
  background-image: linear-gradient(to bottom,#f2f3f4 0,#b1bcc9 100%);
}

.default-content-container input[type=reset]:active {
  background: #bfc5cc;
  background-image: url();
  background-image: -moz-linear-gradient(top,#bfc5cc 0,#bfc5cc 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#bfc5cc),color-stop(100%,#bfc5cc));
  background-image: -webkit-linear-gradient(top,#bfc5cc 0,#bfc5cc 100%);
  background-image: -o-linear-gradient(top,#bfc5cc 0,#bfc5cc 100%);
  background-image: -ms-linear-gradient(top,#bfc5cc 0,#bfc5cc 100%);
  background-image: linear-gradient(to bottom,#bfc5cc 0,#bfc5cc 100%);
}

.default-content-container input[type=checkbox]+span,
.default-content-container input[type=radio]+span {
  display: inline;
}

.default-content-container input,
.default-content-container input[type=checkbox]+span,
.default-content-container input[type=radio]+span,
.default-content-container select {
  font-size: 14px;
  font-size: .875rem;
}

.default-content-container h4,
.default-content-container label {
  font-size: 16px;
  font-size: 1rem;
  font-family: Frutiger55,sans-serif;
  margin: 0;
}

html.checked .default-content-container input[type=checkbox],
html.checked .default-content-container input[type=radio] {
  visibility: hidden;
  margin: 14px 8px 0 0;
}

html.checked .default-content-container input[type=checkbox]+span:before,
html.checked .default-content-container input[type=radio]+span:before {
  content: "";
  display: block;
  height: 17px;
  width: 17px;
  position: absolute;
  top: 10px;
  left: 0;
  background-image: url(//static.o2.co.uk/shared/img/sprite-form.png);
  background-image: url(//static.o2.co.uk/shared/img/sprite-form.svg),none;
}

html.checked .default-content-container input[type=checkbox]+span:before {
  background-position: -10px 0;
}

html.checked .default-content-container input[type=checkbox]:checked+span:before {
  background-position: -10px -100px;
}

html.checked .default-content-container input[type=radio]+span:before {
  background-position: -10px -200px;
}

html.checked .default-content-container input[type=radio]:checked+span:before {
  background-position: -10px -300px;
}

.default-content-container ::-moz-focus-inner {
  border: 0;
}

.default-content-container .placeholder,
.default-content-container ::-webkit-input-placeholder {
  color: #6b7a8d;
}

.default-content-container :-moz-placeholder {
  color: #6b7a8d;
}

.default-content-container ::-moz-placeholder {
  color: #6b7a8d;
}

.default-content-container :-ms-input-placeholder {
  color: #6b7a8d;
}

.default-content-container form>div>div {
  width: 160px;
}

.default-content-container input[type=email],
.default-content-container input[type=tel],
.default-content-container input[type=text] {
  width: 320px;
}

.default-content-container input[type=email].half,
.default-content-container input[type=tel].half,
.default-content-container input[type=text].half {
  width: 158px;
}

.default-content-container span.select {
  width: 318px;
}

.default-content-container span.select.half {
  width: 156px;
}

.default-content-container input[type=submit] {
  width: auto;
}

.form-container {
  background: url(//static.o2.co.uk/shared/img/box-shine.png) no-repeat scroll right bottom transparent;
}

.form-container placeholder {
  color: #9aaabd;
  opacity: 1;
  clear: both;
}

.form-container :-moz-placeholder {
  color: #9aaabd;
  opacity: 1;
  clear: both;
}

.form-container ::-moz-placeholder {
  color: #9aaabd;
  opacity: 1;
  clear: both;
}

.form-container ::-webkit-input-placeholder {
  color: #9aaabd;
  opacity: 1;
  clear: both;
}

.form-container :-ms-input-placeholder {
  color: #9aaabd;
  opacity: 1;
  clear: both;
}

.form-container.wifidiag {
  border-left: 1px solid #fff;
  background: #efefef url(//static.o2.co.uk/shared/img/wifilocatorbgr.jpg) bottom right no-repeat;
  height: 210px;
  clear: both;
}

.form-container.wifidiag input.input-text {
  height: 36px!important;
}

.form-container h3,
.form-container label,
.form-container p {
  color: #032b5a;
}

.form-container .form-introduction {
  display: none;
}

.form-container .form-input-s {
  margin: 0 20px;
  padding: 25px 0 10px;
}

.form-container .form-input-s .form-header {
  font-size: 1.5em;
  margin-bottom: 14px;
}

.form-container .form-input-s .form-introduction {
  font-size: .875em;
}

.form-container .form-input-s input {
  height: 40px;
  position: relative;
}

.form-container .form-input-s fieldset {
  border: 0;
  margin: 0 0 25px;
  padding: 0;
}

.form-container .form-input-s fieldset.form-input-s-fieldset {
  margin-bottom: 0;
  font-size: 1em;
}

.form-container .form-input-s fieldset p {
  float: left;
}

.form-container .form-input-s fieldset .label-select,
.form-container .form-input-s fieldset .label-text,
.form-container .form-input-s fieldset label {
  clear: both;
  float: none;
  display: block;
  font-size: 16px;
  margin: 0;
  padding-bottom: 5px;
}

.form-container .form-input-s fieldset .input-text {
  border: 1px solid #bebebe;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  color: #9aaabd;
  text-indent: 0;
  margin: 0;
}

.form-container .form-input-s fieldset .input-text,
.form-container .form-input-s fieldset label,
.form-container .form-input-s fieldset select {
  width: 100%;
}

.form-container .form-input-s .form-s-submit {
  background: #419eda;
  background-image: url();
  background-image: -moz-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#419eda),color-stop(100%,#2f7cb4));
  background-image: -webkit-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -o-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -ms-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: linear-gradient(to bottom,#419eda 0,#2f7cb4 100%);
  border: 0;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  color: #fff;
  padding: 0;
  text-align: center;
  margin: 0;
  position: relative;
  width: 100%;
  font-size: .875em;
}

.form-container .form-input-s .form-row {
  margin: 0;
  padding: 0 0 13px;
}

.form-container.wifidiag {
  height: 310px;
}

.form-container .form-input-s {
  margin: 0 20px;
  padding: 30px 0 10px;
}

.form-container .form-input-s .form-header {
  margin-bottom: 10px;
}

.form-container .form-input-s .form-row .label-text {
  padding-bottom: 4px;
}

.form-container .form-input-s .form-introduction {
  display: block;
  padding: 0 0 7px;
}

.form-container .form-input-s .form-s-submit {
  float: right;
  width: auto;
  padding: 0 14px;
}

.form-container .form-input-s .form-s-submit:focus {
  padding-left: 13px;
  padding-right: 13px;
}

.form-container.wifidiag {
  height: 260px;
}

.form-container .form-input-s {
  margin: 0 30px;
}

.form-container .form-input-s .form-header {
  font-size: 1.75em;
}

.form-container .form-input-s .form-s-submit input {
  height: 35px;
}

placeholder {
  color: #fff;
  opacity: 1;
}

:-moz-placeholder {
  color: #fff;
  opacity: 1;
}

::-moz-placeholder {
  color: #fff;
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #fff;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #fff;
  opacity: 1;
}

.js .tools {
  display: none;
}

#header-consumer {
  font-family: Frutiger55,sans-serif;
  font-size: 16px;
  font-size: 1rem;
  position: relative;
  z-index: 1000;
}

#header-consumer #header-tool-search,
#header-consumer .hideWhenSignedOut span,
#header-consumer .is-desktop {
  display: none;
}

#header-consumer .toolbar {
  background: #0d366b;
  background-image: url(../img/modules/toolbar-grad-bkg.png);
  background-image: -moz-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d366b),color-stop(100%,#0b5e99));
  background-image: -webkit-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: -o-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: -ms-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: linear-gradient(to bottom,#0d366b 0,#0b5e99 100%);
  width: 100%;
  height: 33px;
  margin: 0;
  padding: 0;
  color: #fff;
  overflow: hidden;
}

#header-consumer .toolbar a {
  color: #fff;
}

#header-consumer .toolbar form.header-tool-search {
  display: inline;
  float: right;
  overflow: hidden;
  height: auto;
  width: auto;
  margin: 5px 8px 5px 0;
  padding: 0;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  background: #419eda;
  background-image: url();
  background-image: -moz-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#419eda),color-stop(100%,#2f7cb4));
  background-image: -webkit-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -o-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -ms-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: linear-gradient(to bottom,#419eda 0,#2f7cb4 100%);
  border: 0 solid #b6b6b6;
}

#header-consumer .toolbar form.header-tool-search label {
  display: none;
}

#header-consumer .toolbar form.header-tool-search input {
  float: left;
  margin: 0;
  padding: 0;
  border: 0 solid;
  height: 19px;
  font-size: .813em;
  color: #000;
}

#header-consumer .toolbar form.header-tool-search input:focus {
  outline: 0;
}

#header-consumer .toolbar form.header-tool-search input[type=text] {
  width: 72px;
  padding: 2px 5px;
  -webkit-transition: width .5s ease;
  -moz-transition: width .5s ease;
  -o-transition: width .5s ease;
  -ms-transition: width .5s ease;
  transition: width .5s ease;
}

#header-consumer .toolbar form.header-tool-search input[type=text].placeholder {
  color: #6b7a8d;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:-moz-placeholder {
  color: #6b7a8d;
}

#header-consumer .toolbar form.header-tool-search input[type=text]::-moz-placeholder {
  color: #6b7a8d;
}

#header-consumer .toolbar form.header-tool-search input[type=text]::-webkit-input-placeholder {
  color: #6b7a8d;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:-ms-input-placeholder {
  color: #6b7a8d;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:focus {
  width: 86px;
  background-color: #fff;
  box-shadow: 0 0 2px 3px #419eda inset;
}

#header-consumer .toolbar form.header-tool-search input[type=submit] {
  width: 36px;
  background: transparent url(../img/nav/tool-icon-search-sprite.png) 50% -3px no-repeat;
}

#header-consumer .toolbar form.header-tool-search input[type=submit]:focus {
  box-shadow: 0 0 3px 1px #fff inset;
  height: 23px;
}

#header-consumer ul.tools {
  float: left;
  text-align: right;
  height: 22px;
  line-height: 1.125em;
  margin: 11px 10px 0 0;
  font-size: .688em;
}

#header-consumer ul.tools li {
  display: none;
  float: left;
  margin: 0;
  overflow: hidden;
  padding: 0 6px 0 20px;
  vertical-align: middle;
  height: auto;
  width: auto;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: 0 50%;
}

#header-consumer ul.tools li.pipe {
  padding: 0;
}

#header-consumer ul.tools li a {
  color: #fff;
  padding: 0;
  background-color: transparent;
}

#header-consumer ul.tools li a:hover {
  text-decoration: underline;
}

#header-consumer ul.tools li#header-tool-basket {
  background-image: url(../img/nav/tool-icon-basket.png);
}

#header-consumer ul.tools li#header-tool-webchat {
  display: none;
  background-image: url(../img/nav/tool-icon-webchat.png);
}

#header-consumer ul.tools li#header-tool-storelocator {
  display: none;
  background-image: url(../img/nav/tool-icon-storelocator.png);
  text-indent: 100px;
  position: absolute;
  left: 50%;
  margin-left: -16px;
  padding: 0;
  background-position: 50%;
}

#header-consumer ul.tools li#header-tool-storelocator a {
  display: block;
  width: 16px;
  padding: 0 8px;
}

#header-consumer ul.tools li#header-tool-signin {
  background-image: none;
  display: block;
}

#header-consumer ul.tools li#header-tool-signin .welcome {
  float: left;
}

#header-consumer ul.tools li a {
  height: 12px;
}

#header-consumer ul.tools li#header-tool-signin div {
  float: left;
}

#header-consumer ul.tools li#header-tool-signin .signInLink {
  padding-right: 6px;
}

#header-consumer ul.tools li#header-tool-signin .welcome {
  display: none;
  padding-right: 5px;
}

#header-consumer ul.site-switch {
  display: none;
}

#header-consumer #header-tool-signin .welcome {
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#header-consumer {
  font-family: Frutiger55,sans-serif;
  font-size: 16px;
}

#header-consumer .hideWhenSignedOut span {
  display: inline-block;
  padding-right: 3px;
}

#header-consumer .is-mobile {
  display: none;
}

#header-consumer a {
  text-decoration: none;
}

#header-consumer ul {
  margin: 0;
  padding: 0;
}

#header-consumer ul li {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

#header-consumer .toolbar {
  background: #0d366b;
  background-image: url(../img/modules/toolbar-grad-bkg.png);
  background-image: -moz-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#0d366b),color-stop(100%,#0b5e99));
  background-image: -webkit-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: -o-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: -ms-linear-gradient(top,#0d366b 0,#0b5e99 100%);
  background-image: linear-gradient(to bottom,#0d366b 0,#0b5e99 100%);
}

#header-consumer .toolbar ul,
#header-consumer .toolbar ul li {
  float: left;
}

#header-consumer .toolbar .grid-inner {
  position: relative;
}

#header-consumer .toolbar ul.site-switch {
  display: block;
  font-size: .813em;
  margin: 0;
  position: relative;
  left: 0;
  height: 33px;
  line-height: 33px;
  width: 162px;
  background: transparent url(../img/modules/toolbar-sitetabs.png) 0 0 no-repeat;
}

#header-consumer .toolbar ul.site-switch li {
  margin: 0;
  width: 69px;
  padding: 0 0 0 12px;
}

#header-consumer .toolbar ul.site-switch li.current {
  width: 65px;
  padding: 0 0 0 16px;
  color: #032b5a;
}

#header-consumer .toolbar ul.site-switch.business {
  background: transparent url(../img/modules/toolbar-sitetabs-business.png) 0 0 no-repeat;
}

#header-consumer .toolbar ul.site-switch.business li {
  margin: 0;
  width: 69px;
  padding: 0 0 0 16px;
}

#header-consumer .toolbar ul.site-switch.business li.current {
  width: 65px;
  padding: 0 0 0 9px;
  color: #032b5a;
}

#header-consumer .toolbar ul.tools {
  float: right;
}

#header-consumer .toolbar ul.tools li {
  padding: 0 3px;
}

#header-consumer .toolbar ul.tools li#header-tool-basket {
  display: block;
  background-image: none;
}

#header-consumer .toolbar ul.tools li#header-tool-webchat {
  display: none;
  background-image: none;
}

#header-consumer .toolbar ul.tools li#header-tool-storelocator {
  display: block;
  text-indent: 0;
  position: relative;
  left: 0;
  margin-left: 0;
  background-position: 0;
  background-image: none;
}

#header-consumer .toolbar ul.tools li#header-tool-storelocator a {
  display: inline;
  width: auto;
  padding: 0 3px;
}

#header-consumer .toolbar ul.tools li#header-tool-signin {
  background-image: none;
}

#header-consumer .toolbar ul.tools li.pipe {
  display: block;
}

#header-consumer #header-tool-webchat {
  display: none;
  background-image: none;
}

#header-consumer #header-tool-storelocator {
  background-image: none;
}

#header-consumer a:focus {
  outline: solid 2px #419eda;
  z-index: 1;
  position: relative;
}

#header-consumer .toolbar ul.tools li {
  padding: 0 6px 0 20px;
  height: auto;
  overflow: visible;
}

#header-consumer .toolbar ul.tools li#header-tool-basket {
  background-image: url(../img/nav/tool-icon-basket.png);
}

#header-consumer .toolbar ul.tools li#header-tool-webchat {
  display: none;
  background-image: url(../img/nav/tool-icon-webchat.png);
}

#header-consumer .toolbar ul.tools li#header-tool-storelocator {
  background-image: url(../img/nav/tool-icon-storelocator.png);
  padding: 0 3px 0 16px;
}

#header-consumer .toolbar ul.tools li#header-tool-signin {
  background-image: url(../img/nav/tool-icon-signin.png);
  padding-left: 16px;
}

#header-consumer .toolbar ul.tools li#header-tool-signin .welcome {
  display: block;
  float: left;
}

#header-consumer .toolbar ul.tools li.pipe {
  display: none;
}

#header-consumer .toolbar ul.tools li a {
  height: 12px;
}

#header-consumer .toolbar ul.site-switch {
  margin: 0 0 0 76px;
}

#header-consumer .toolbar ul.site-switch a:focus {
  outline-color: #fff;
}

#header-consumer .toolbar form.header-tool-search input[type=text] {
  width: 112px;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:focus {
  width: 152px;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:focus:-moz-placeholder {
  color: #419eda;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:focus::-moz-placeholder {
  color: #419eda;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:focus::-webkit-input-placeholder {
  color: #419eda;
}

#header-consumer .toolbar form.header-tool-search input[type=text]:focus:-ms-input-placeholder {
  color: #419eda;
}

#header-consumer .toolbar ul.site-switch {
  margin: 0 0 0 93px;
}

.header-error-xxl {
  background-color: #061f47;
  background-repeat: no-repeat;
  background-position: right top;
  background-attachment: scroll;
  background-image: none;
  background-size: cover;
  width: 100%;
  height: 280px;
  overflow: hidden;
}

.header-error-xxl .module-body {
  width: 95%;
  float: left;
  display: block;
  height: 280px;
  margin: 0;
}

.header-error-xxl .module-body .info {
  width: 70%;
  padding: 20px 0 0 20px;
}

.header-error-xxl .module-body .info h1 {
  font-family: Frutiger45Light,sans-serif;
  color: #fff;
  width: auto;
  margin: 0 0 12px;
  font-size: 1.5em;
}

.header-error-xxl .module-body .info p {
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  color: #fff;
  margin: 0 0 12px;
}

.header-error-xxl .module-body .info ul {
  display: block;
  margin: 0 0 20px;
}

.header-error-xxl .module-body .info ul li {
  list-style-type: disc;
  list-style-position: inside;
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  line-height: 1.3em;
  font-weight: 400;
  color: #fff;
}

.header-error-xxl .module-body .info img {
  color: #fff;
  display: none;
}

.header-error-xxl .module-body .info a {
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  font-weight: 400;
  color: #fff;
  left: 20px;
  padding: 0 0 0 33px;
  min-height: 20px;
  background: transparent url(//static.o2.co.uk/shared/img/modules/promo-cta-arrow.png) 0 -93px no-repeat;
  display: block;
  margin: 0 0 5px;
}

.header-error-xxl .module-body .info a:hover {
  text-decoration: underline;
}

.header-error-xxl {
  background-position: center top;
  height: 350px;
}

.header-error-xxl .module-body {
  background-position: 0 right;
  width: auto;
  height: 350px;
}

.header-error-xxl .module-body .info {
  padding: 30px 150px 0 20px;
  width: 60%;
}

.header-error-xxl .module-body .info h1 {
  font-size: 1.875em;
  margin: 0 0 20px;
}

.header-error-xxl .module-body .info p {
  font-size: .875em;
  display: block;
}

.header-error-xxl .module-body .info p.intro,
.header-error-xxl .module-body .info ul {
  margin: 0 0 20px;
}

.header-error-xxl .module-body .info a {
  font-family: Frutiger45Light,sans-serif;
  font-size: 1.313em;
  padding: 0 0 0 33px;
  background-position: 0 -59px;
  margin: 0 0 5px;
}

.header-error-xxl {
  background-position: right center;
  background-size: auto;
  height: 500px;
}

.header-error-xxl .module-body {
  background-position: 0 right;
  width: auto;
  height: 500px;
}

.header-error-xxl .module-body .info {
  width: 50%;
  padding: 30px 150px 0 30px;
}

.header-error-xxl .module-body .info p {
  font-size: 1.25em;
  display: block;
  font-family: Frutiger45Light,sans-serif;
}

.header-error-xxl .module-body .info p.intro {
  margin: 0 0 30px;
}

.header-error-xxl .module-body .info h1 {
  font-size: 2.875em;
  margin: 0 0 30px;
}

.header-error-xxl .module-body .info a {
  bottom: 68px;
  left: 30px;
  font-size: 1.25em;
  padding: 0 0 0 36px;
  background-position: 0 -60px;
  margin: 0 0 11px;
}

.header-error-xxl .module-body .info ul {
  margin: 0 0 30px;
}

.header-error-xxl .module-body .info ul li {
  font-family: Frutiger45Light,sans-serif;
  font-size: 1.25em;
  line-height: 1.25em;
}

.header-error-xxl .module-body .info img {
  display: block;
  margin: 0 0 28px;
}

.no-js .header-search-xxl-search-hub option {
  display: none;
}

.header-search-xxl-search-hub {
  background-color: #061f47;
  background-repeat: no-repeat;
  background-position: top right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-search-xxl-diagonal-small-575.png);
  width: 100%;
  height: 160px;
  overflow: hidden;
  margin-bottom: 30px;
}

.header-search-xxl-search-hub .module-body {
  width: 95%;
  float: left;
  display: block;
  padding: 20px;
  margin: 0;
}

.header-search-xxl-search-hub .module-body .info {
  float: left;
  width: 100%;
}

.header-search-xxl-search-hub .module-body .info h1 {
  color: #fff;
  width: auto;
  margin: 0 0 7px;
  font-size: 1.5em;
}

.header-search-xxl-search-hub .module-body .info p {
  font-family: Frutiger46Italic,sans-serif;
  display: none;
  color: #fff;
}

.header-search-xxl-search-hub .module-body form {
  float: left;
  margin: 20px 0 0;
}

.header-search-xxl-search-hub .module-body form label {
  color: #fff;
}

.header-search-xxl-search-hub .module-body form .fieldandsubmitbar {
  background: #419eda;
  background-image: url();
  background-image: -moz-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#419eda),color-stop(100%,#2f7cb4));
  background-image: -webkit-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -o-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -ms-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: linear-gradient(to bottom,#419eda 0,#2f7cb4 100%);
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  padding: 0;
  margin: 8px 0 0;
  width: 280px;
  height: auto;
  overflow: hidden;
  position: relative;
}

.header-search-xxl-search-hub .module-body form span.select {
  display: block;
  width: 100%;
}

.header-search-xxl-search-hub .module-body form select:focus {
  border: 1px solid #FFF;
}

.header-search-xxl-search-hub .module-body form input {
  border: 0;
  padding: 5px 10px;
  margin: 0;
  height: 30px;
  float: left;
}

.header-search-xxl-search-hub .module-body form input[type=text] {
  background-color: #fff;
  color: #032b5a;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 0;
  -moz-border-radius-bottomright: 0;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 5px;
  font-size: .875em;
  width: 200px;
}

.header-search-xxl-search-hub .module-body form input[type=text].placeholder,
.header-search-xxl-search-hub .module-body form input[type=text]::-webkit-input-placeholder {
  color: #6b7a8d;
}

.header-search-xxl-search-hub .module-body form input[type=text]:-moz-placeholder {
  color: #6b7a8d;
}

.header-search-xxl-search-hub .module-body form input[type=text]::-moz-placeholder {
  color: #6b7a8d;
}

.header-search-xxl-search-hub .module-body form input[type=text]:-ms-input-placeholder {
  color: #6b7a8d;
}

.header-search-xxl-search-hub .module-body form input[type=submit] {
  color: #fff;
  -webkit-border-top-left-radius: 0;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 0;
  background: transparent url(//static.o2.co.uk/shared/img/nav/tool-icon-search-sprite.png) 50% -25px no-repeat;
  padding: 0;
  height: 40px;
  width: 60px;
}

.header-search-xxl-search-hub {
  background-image: url(//static.o2.co.uk/shared/img/modules/header-search-xxl-diagonal-medium-815.png);
  height: 200px;
}

.header-search-xxl-search-hub .module-body {
  width: 100%;
  padding: 30px 20px;
}

.header-search-xxl-search-hub .module-body .info p {
  font-size: 1em;
  display: block;
}

.header-search-xxl-search-hub .module-body .info h1 {
  font-size: 1.875em;
}

.header-search-xxl-search-hub .module-body form {
  margin: 20px 0 0;
}

.header-search-xxl-search-hub .module-body form .fieldandsubmitbar {
  width: 326px;
}

.header-search-xxl-search-hub .module-body form input[type=text] {
  width: 256px;
}

.header-search-xxl-search-hub .module-body form input[type=submit] {
  width: 50px;
}

.header-search-xxl-search-hub {
  height: 130px;
  background: url(//static.o2.co.uk/www/img/general/header-xxl-grad-1px-repeat.jpg) 0 0 repeat-x;
}

.header-search-xxl-search-hub .header-search-xxl-search-hub-diag {
  background: url(//static.o2.co.uk/shared/img/modules/headersearch-xxl-diagonal_2000.png) right top no-repeat;
  margin: 0 auto;
  height: 130px;
}

.header-search-xxl-search-hub .module-body {
  padding: 0;
  margin: 0;
  width: 100%;
}

.header-search-xxl-search-hub .module-body .info {
  width: 50%;
  padding: 30px 0 0 30px;
}

.header-search-xxl-search-hub .module-body .info p {
  font-size: 1.125em;
  display: block;
}

.header-search-xxl-search-hub .module-body .info h1 {
  font-size: 2.875em;
}

.header-search-xxl-search-hub .module-body form {
  margin: 0;
  float: right;
  padding: 30px 30px 30px 0;
}

.header-search-xxl-search-hub-results {
  background: #FFF;
  position: absolute;
  max-height: 144px;
  overflow: auto;
  display: none;
  -webkit-overflow-scrolling: touch;
}

.header-search-xxl-search-hub-results a {
  border: 1px solid #d0d0d0;
  border-top: 0;
  display: block;
  padding: 0 10px;
  line-height: 31px;
  height: 31px;
  color: #032b5a;
  font-size: 12px;
  font-size: .75rem;
}

.header-search-xxl-search-hub-results .active,
.header-search-xxl-search-hub-results a:hover {
  background: #d0d0d0;
}

.header-search-xxl-search-hub-results a {
  font-size: 13px;
  font-size: .8125rem;
}

.no-js #findphone form,
.no-js #select-language form,
.no-js .header-dropdown-xxl option {
  display: none;
}

.header-dropdown-xxl,
.header-search-xxl {
  background-color: #061f47;
  background-repeat: no-repeat;
  background-position: top right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-search-xxl-diagonal-small-575.png);
  width: 100%;
  height: 160px;
  overflow: hidden;
}

.header-dropdown-xxl .module-body,
.header-search-xxl .module-body {
  width: 95%;
  float: left;
  display: block;
  padding: 20px;
  margin: 0;
}

.header-dropdown-xxl .module-body .info,
.header-search-xxl .module-body .info {
  float: left;
  width: 100%;
}

.header-dropdown-xxl .module-body .info h1,
.header-search-xxl .module-body .info h1 {
  color: #fff;
  width: auto;
  margin: 0 0 7px;
  font-size: 1.5em;
}

.header-dropdown-xxl .module-body .info p,
.header-search-xxl .module-body .info p {
  font-family: Frutiger46Italic,sans-serif;
  display: none;
  color: #fff;
}

.header-dropdown-xxl .module-body form,
.header-search-xxl .module-body form {
  float: left;
  margin: 20px 0 0;
}

.header-dropdown-xxl .module-body form label,
.header-search-xxl .module-body form label {
  color: #fff;
}

.header-dropdown-xxl .module-body form .fieldandsubmitbar,
.header-search-xxl .module-body form .fieldandsubmitbar {
  background: #419eda;
  background-image: url();
  background-image: -moz-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#419eda),color-stop(100%,#2f7cb4));
  background-image: -webkit-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -o-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -ms-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: linear-gradient(to bottom,#419eda 0,#2f7cb4 100%);
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  padding: 0;
  margin: 8px 0 0;
  width: 280px;
  height: auto;
  overflow: hidden;
  position: relative;
}

.header-dropdown-xxl .module-body form span.select,
.header-search-xxl .module-body form span.select {
  display: block;
  width: 100%;
}

.header-dropdown-xxl .module-body form select:focus,
.header-search-xxl .module-body form select:focus {
  border: 1px solid #FFF;
}

.header-dropdown-xxl .module-body form input,
.header-search-xxl .module-body form input {
  border: 0;
  padding: 5px 10px;
  margin: 0;
  height: 30px;
  float: left;
}

.header-dropdown-xxl .module-body form input[type=text],
.header-search-xxl .module-body form input[type=text] {
  background-color: #fff;
  color: #032b5a;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 0;
  -moz-border-radius-bottomright: 0;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 5px;
  font-size: .875em;
  width: 200px;
}

.header-dropdown-xxl .module-body form input[type=text].placeholder,
.header-dropdown-xxl .module-body form input[type=text]::-webkit-input-placeholder,
.header-search-xxl .module-body form input[type=text].placeholder,
.header-search-xxl .module-body form input[type=text]::-webkit-input-placeholder {
  color: #6b7a8d;
}

.header-dropdown-xxl .module-body form input[type=text]:-moz-placeholder,
.header-search-xxl .module-body form input[type=text]:-moz-placeholder {
  color: #6b7a8d;
}

.header-dropdown-xxl .module-body form input[type=text]::-moz-placeholder,
.header-search-xxl .module-body form input[type=text]::-moz-placeholder {
  color: #6b7a8d;
}

.header-dropdown-xxl .module-body form input[type=text]:-ms-input-placeholder,
.header-search-xxl .module-body form input[type=text]:-ms-input-placeholder {
  color: #6b7a8d;
}

.header-dropdown-xxl .module-body form input[type=submit],
.header-search-xxl .module-body form input[type=submit] {
  color: #fff;
  -webkit-border-top-left-radius: 0;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 0;
  background: transparent url(//static.o2.co.uk/shared/img/nav/tool-icon-search-sprite.png) 50% -25px no-repeat;
  padding: 0;
  height: 40px;
  width: 60px;
}

.header-dropdown-xxl,
.header-search-xxl {
  background-image: url(//static.o2.co.uk/shared/img/modules/header-search-xxl-diagonal-medium-815.png);
  height: 200px;
}

.header-dropdown-xxl .module-body,
.header-search-xxl .module-body {
  width: 100%;
  padding: 30px 20px;
}

.header-dropdown-xxl .module-body .info p,
.header-search-xxl .module-body .info p {
  font-size: 1em;
  display: block;
}

.header-dropdown-xxl .module-body .info h1,
.header-search-xxl .module-body .info h1 {
  font-size: 1.875em;
}

.header-dropdown-xxl .module-body form,
.header-search-xxl .module-body form {
  margin: 20px 0 0;
}

.header-dropdown-xxl .module-body form .fieldandsubmitbar,
.header-search-xxl .module-body form .fieldandsubmitbar {
  width: 326px;
}

.header-dropdown-xxl .module-body form input[type=text],
.header-search-xxl .module-body form input[type=text] {
  width: 256px;
}

.header-dropdown-xxl .module-body form input[type=submit],
.header-search-xxl .module-body form input[type=submit] {
  width: 50px;
}

.header-dropdown-xxl,
.header-search-xxl {
  height: 130px;
  background: url(//static.o2.co.uk/www/img/general/header-xxl-grad-1px-repeat.jpg) 0 0 repeat-x;
}

.header-dropdown-xxl .header-search-xxl-diag,
.header-search-xxl .header-search-xxl-diag {
  background: url(//static.o2.co.uk/shared/img/modules/headersearch-xxl-diagonal_2000.png) right top no-repeat;
  margin: 0 auto;
  height: 130px;
}

.header-dropdown-xxl .module-body,
.header-search-xxl .module-body {
  padding: 0;
  margin: 0;
  width: 100%;
}

.header-dropdown-xxl .module-body .info,
.header-search-xxl .module-body .info {
  width: 50%;
  padding: 30px 0 0 30px;
}

.header-dropdown-xxl .module-body .info p,
.header-search-xxl .module-body .info p {
  font-size: 1.125em;
  display: block;
}

.header-dropdown-xxl .module-body .info h1,
.header-search-xxl .module-body .info h1 {
  font-size: 2.875em;
}

.header-dropdown-xxl .module-body form,
.header-search-xxl .module-body form {
  margin: 0;
  float: right;
  padding: 30px 30px 30px 0;
}

.header-search-xxl-results {
  background: #FFF;
  position: absolute;
  max-height: 144px;
  overflow: auto;
  display: none;
  -webkit-overflow-scrolling: touch;
}

.header-search-xxl-results a {
  border: 1px solid #d0d0d0;
  border-top: 0;
  display: block;
  padding: 0 10px;
  line-height: 31px;
  height: 31px;
  color: #032b5a;
  font-size: 12px;
  font-size: .75rem;
}

.header-search-xxl-results .active,
.header-search-xxl-results a:hover {
  background: #d0d0d0;
}

.header-search-xxl-results.border4 {
  border-bottom: 1px solid #d0d0d0;
}

.header-search-xxl-results a {
  font-size: 13px;
  font-size: .8125rem;
}

.no-backgroundsize .header-super-xxl,
.no-js .header-super-xxl {
  background-size: auto;
  background-position: center center;
}

.backgroundsize .header-super-xxl {
  background-size: cover;
  background-position: right center;
}

.header-super-xxl {
  background-color: #061f47;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-image: none;
  width: 100%;
  height: 220px;
  overflow: hidden;
  z-index: 0;
}

.header-super-xxl .grid-inner {
  position: relative;
  z-index: 1;
}

.header-super-xxl .module-body {
  width: 95%;
  float: left;
  display: block;
  height: 220px;
  margin: 0;
}

.header-super-xxl .module-body .info {
  width: 58%;
  padding: 20px 0 0 20px;
}

.header-super-xxl .module-body .info h1 {
  font-family: Frutiger45Light,sans-serif;
  color: #fff;
  width: auto;
  margin: 0 0 12px;
  font-size: 1.5em;
}

.header-super-xxl .module-body .info p {
  font-family: Frutiger55,sans-serif;
  display: none;
  color: #fff;
}

.header-super-xxl .module-body .info p.intro {
  font-family: Frutiger46Italic,sans-serif;
}

.header-super-xxl .module-body .info ul {
  display: block;
}

.header-super-xxl .module-body .info ul li {
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  font-weight: 400;
  color: #fff;
  line-height: 1.2em;
}

.header-super-xxl .module-body .info img {
  color: #fff;
  display: none;
}

.header-super-xxl .module-body .info a {
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  font-weight: 400;
  color: #fff;
  position: absolute;
  bottom: 20px;
  left: 20px;
  padding: 0 0 0 26px;
  min-height: 20px;
  background: transparent url(//static.o2.co.uk/shared/img/modules/download-bubble-small.png) 0 0 no-repeat;
}

.header-super-xxl .module-body .info a:hover {
  text-decoration: underline;
}

.header-super-xxl {
  background-color: none;
  background-size: auto!important;
  background-position: top left!important;
  height: 250px;
}

.header-super-xxl .module-body {
  background-position: 0 right;
  height: 250px;
}

.header-super-xxl .module-body .info {
  width: 515px;
  padding: 20px 0 0 20px;
}

.header-super-xxl .module-body .info h1 {
  font-size: 1.875em;
  margin: 0 0 10px;
}

.header-super-xxl .module-body .info p {
  font-size: 1em;
  display: block;
}

.header-super-xxl .module-body .info p.intro {
  margin: 0 0 12px;
}

.header-super-xxl .module-body .info ul {
  width: 315px;
}

.header-super-xxl .module-body .info a {
  font-family: Frutiger45Light,sans-serif;
  font-size: 1.313em;
  bottom: 48px;
  left: 20px;
  padding: 0 0 0 30px;
  min-height: 25px;
  background-image: url(//static.o2.co.uk/shared/img/modules/download-bubble-large.png);
  background-position: 0 2px;
}

.header-super-xxl-grad {
  background: url(//static.o2.co.uk/www/img/general/headersuper-xxl_bg_slice.jpg) repeat-x 0 0;
  overflow: hidden;
  width: 100%;
  height: 450px;
}

.header-super-xxl-grad .module {
  background-color: transparent;
}

.header-super-xxl {
  background-size: auto!important;
  background-position: top left!important;
  height: 450px!important;
}

.header-super-xxl .module-body {
  background-position: 0 right;
  height: 450px;
}

.header-super-xxl .module-body .info {
  padding: 50px 0 0 30px;
}

.header-super-xxl .module-body .info p {
  width: 415px;
  font-size: 1.125em;
  display: block;
}

.header-super-xxl .module-body .info p.intro {
  margin: 0 0 20px;
}

.header-super-xxl .module-body .info h1 {
  width: 515px;
  font-size: 2.875em;
  margin: 0 0 8px;
}

.header-super-xxl .module-body .info img.appIcon {
  display: block;
  width: 77px;
  width: 77px;
  margin: 0 0 20px;
}

.header-super-xxl .module-body .info a {
  bottom: 68px;
  left: 30px;
  font-size: 1.25em;
  padding: 0 0 0 36px;
  background-image: url(//static.o2.co.uk/shared/img/modules/download-bubble-large.png);
}

.header-super-xxl .module-body .info ul {
  width: 415px;
  margin: 0 0 25px;
}

.header-super-xxl .module-body .info ul li {
  font-family: Frutiger45Light,sans-serif;
  font-size: 1.25em;
}

.header-xxl {
  background-color: #061f47;
  background-repeat: no-repeat;
  background-position: -9999px -9999px;
  background-attachment: scroll;
  background-image: none;
  width: 100%;
  height: 60px;
  overflow: hidden;
}

.header-xxl .module-body {
  width: 95%;
  float: left;
  background: url(//static.o2.co.uk/shared/img/modules/header-xxl-diagonal-small.png) no-repeat scroll right 0;
  display: block;
  height: 60px;
  margin: 0;
}

.header-xxl .module-body .info,
.header-xxl .module-body .module-body-content {
  padding: 20px 0 0 20px;
}

.header-xxl .module-body .info h1,
.header-xxl .module-body .module-body-content h1 {
  color: #fff;
  width: auto;
  margin: 0 0 7px;
  font-size: 1.5em;
}

.header-xxl .module-body .info p,
.header-xxl .module-body .module-body-content p {
  font-family: Frutiger46Italic,sans-serif;
  display: none;
  color: #fff;
}

.header-xxl.noImage {
  background-position: top right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-xxl-diagonal-small.png);
}

.header-xxl.noImage .module-body {
  background: 0 0;
}

.header-xxl {
  background-position: top center;
  background-image: url(//static.o2.co.uk/www/img/general/header-xxl-bubbles.jpg);
  height: 110px;
}

.header-xxl .header-xxl-bespoke-bgr {
  min-width: 575px;
  max-width: 815px;
  margin: 0 auto;
  background-image: url(//static.o2.co.uk/www/img/general/header-xxl-bubbles.jpg);
  background-position: 55% top;
  background-repeat: no-repeat;
  height: 110px;
}

.header-xxl .module-body {
  background-position: 0 right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-xxl-diagonal.png);
  width: auto;
  height: 110px;
}

.header-xxl .module-body .info,
.header-xxl .module-body .module-body-content {
  padding: 30px 150px 0 20px;
}

.header-xxl .module-body .info p,
.header-xxl .module-body .module-body-content p {
  font-size: 1em;
  display: block;
}

.header-xxl .module-body .info h1,
.header-xxl .module-body .module-body-content h1 {
  font-size: 1.875em;
}

.header-xxl.wider .module-body .info,
.header-xxl.wider .module-body .module-body-content {
  padding: 30px 250px 0 20px;
}

.header-xxl.noImage {
  background-position: top right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-search-xxl-diagonal-medium-815.png);
}

.header-xxl.noImage .module-body {
  background: 0 0;
}

.header-xxl {
  background: url(//static.o2.co.uk/www/img/general/header-xxl-grad-1px-repeat.jpg) repeat-x 0 0;
  height: 130px;
}

.header-xxl .header-xxl-bespoke-bgr {
  min-width: 1100px;
  max-width: 2000px;
  margin: 0 auto;
  background-image: url(//static.o2.co.uk/www/img/general/header-xxl-bubbles.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  height: 130px;
}

.header-xxl .module-body {
  background-position: 0 right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-xxl-diagonal.png);
  width: auto;
  height: 130px;
}

.header-xxl .module-body .info,
.header-xxl .module-body .module-body-content {
  padding: 30px 150px 0 30px;
}

.header-xxl .module-body .info p,
.header-xxl .module-body .module-body-content p {
  font-size: 1.125em;
  display: block;
}

.header-xxl .module-body .info h1,
.header-xxl .module-body .module-body-content h1 {
  font-size: 2.875em;
}

.header-xxl.wider .module-body .info,
.header-xxl.wider .module-body .module-body-content {
  padding: 30px 250px 0 30px;
}

.header-xxl.noImage {
  background-position: top right;
  background-image: url(//static.o2.co.uk/shared/img/modules/header-search-xxl-diagonal-1100.png);
}

.header-xxl.noImage .module-body {
  background: 0 0;
}

.js .hero li {
  display: none;
}

.hero img.map {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
}

.hero .underline a {
  text-decoration: underline;
}

.hero .heroTrigger {
  position: absolute;
  z-index: 10;
  cursor: pointer;
}

.hero ul {
  min-height: 320px;
}

.hero li {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: 100% 0;
  height: 200px;
}

.hero li h2 {
  color: #032b5a;
  font-size: 1.5em;
  line-height: 1em;
  font-family: Frutiger45Light,sans-serif;
  margin-bottom: 8px;
}

.hero li p {
  color: #032b5a;
  font-size: .75em;
  font-family: Frutiger55,sans-serif;
  margin-bottom: 12px;
}

.hero li a,
.hero li p.cta {
  color: #419eda;
  font-size: .875em;
  font-family: Frutiger45Light,sans-serif;
  line-height: 1.2em;
  display: block;
  background: transparent url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px;
  padding: 0 0 0 25px;
  white-space: nowrap;
}

.hero li.dark h2,
.hero li.dark p {
  color: #fff;
}

.hero li.dark a,
.hero li.dark p.cta {
  color: #fff;
  background-position: 0 -94px;
}

.hero a {
  display: block;
}

.hero .slide-content {
  padding: 25px 20px;
  width: 50%;
}

.hero .hero-wrapper {
  border: 0;
  height: 400px;
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto;
}

.hero .hero-wrapper ul {
  position: absolute;
}

.hero .hero-wrapper ul li {
  position: absolute;
  width: 1100px;
}

.hero .grad {
  background: transparent url(//static.o2.co.uk/shared/img/modules/hero-xxl-slice-overlay-814.png) 100% 0 repeat-x;
  z-index: 6;
  position: absolute;
  padding: 0 20px;
}

.hero .grad .slide-content {
  width: 70%;
}

.hero .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/hero-xxl-background-814.png);
}

.hero ul {
  min-height: 320px;
}

.hero li {
  height: 320px;
}

.hero li h2 {
  font-size: 1.875em;
  margin-bottom: 12px;
}

.hero li p {
  font-size: .875em;
  margin-bottom: 12px;
}

.hero li a,
.hero li p.cta {
  font-size: 1.313em;
  line-height: 1em;
  padding: 0 0 0 25px;
  position: absolute;
  bottom: 40px;
}

.hero .slide-content {
  position: relative;
  height: 240px;
  padding: 40px 20px;
  width: 35%;
}

.hero .slide {
  left: 0;
}

.hero .grad {
  background-image: url(//static.o2.co.uk/shared/img/modules/hero-xxl-slice-overlay-1100.png);
}

.hero .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/hero-xxl-background-1100.png);
}

.hero ul {
  min-height: 400px;
}

.hero li {
  height: 400px;
}

.hero li h2 {
  font-size: 2.5em;
  margin-bottom: 20px;
}

.hero li p {
  font-size: 1em;
  margin-bottom: 25px;
}

.hero li a,
.hero li p.cta {
  font-size: 1.563em;
  background-position: 0 0;
  padding: 0 0 0 30px;
  bottom: 60px;
}

.hero li.dark a,
.hero li.dark p.cta {
  background-position: 0 -59px;
}

.hero .slide-content {
  height: 280px;
  padding: 60px 20px 20px;
  width: 37%;
}

.hero .slide {
  left: -110px;
}

#floatingCirclesG {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin: -16px 0 0 -16px;
  -moz-transform: scale(0.6);
  -webkit-transform: scale(0.6);
  -o-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6);
}

.f_circleG {
  position: absolute;
  background-color: #3C9ECC;
  height: 6px;
  width: 6px;
  -moz-border-radius: 3px;
  -moz-animation-name: f_fadeG;
  -moz-animation-duration: .64s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-direction: linear;
  -webkit-border-radius: 3px;
  -webkit-animation-name: f_fadeG;
  -webkit-animation-duration: .64s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: linear;
  -o-border-radius: 3px;
  -o-animation-name: f_fadeG;
  -o-animation-duration: .64s;
  -o-animation-iteration-count: infinite;
  -o-animation-direction: linear;
  -ms-border-radius: 3px;
  -ms-animation-name: f_fadeG;
  -ms-animation-duration: .64s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-direction: linear;
  border-radius: 3px;
  animation-name: f_fadeG;
  animation-duration: .64s;
  animation-iteration-count: infinite;
  animation-direction: linear;
}

#frotateG_01 {
  left: 0;
  top: 13px;
  -moz-animation-delay: .24s;
  -webkit-animation-delay: .24s;
  -o-animation-delay: .24s;
  -ms-animation-delay: .24s;
  animation-delay: .24s;
}

#frotateG_02 {
  left: 4px;
  top: 4px;
  -moz-animation-delay: .32s;
  -webkit-animation-delay: .32s;
  -o-animation-delay: .32s;
  -ms-animation-delay: .32s;
  animation-delay: .32s;
}

#frotateG_03 {
  left: 13px;
  top: 0;
  -moz-animation-delay: .4s;
  -webkit-animation-delay: .4s;
  -o-animation-delay: .4s;
  -ms-animation-delay: .4s;
  animation-delay: .4s;
}

#frotateG_04 {
  right: 4px;
  top: 4px;
  -moz-animation-delay: .48s;
  -webkit-animation-delay: .48s;
  -o-animation-delay: .48s;
  -ms-animation-delay: .48s;
  animation-delay: .48s;
}

#frotateG_05 {
  right: 0;
  top: 13px;
  -moz-animation-delay: .56s;
  -webkit-animation-delay: .56s;
  -o-animation-delay: .56s;
  -ms-animation-delay: .56s;
  animation-delay: .56s;
}

#frotateG_06 {
  right: 4px;
  bottom: 4px;
  -moz-animation-delay: .64s;
  -webkit-animation-delay: .64s;
  -o-animation-delay: .64s;
  -ms-animation-delay: .64s;
  animation-delay: .64s;
}

#frotateG_07 {
  left: 13px;
  bottom: 0;
  -moz-animation-delay: .72s;
  -webkit-animation-delay: .72s;
  -o-animation-delay: .72s;
  -ms-animation-delay: .72s;
  animation-delay: .72s;
}

#frotateG_08 {
  left: 4px;
  bottom: 4px;
  -moz-animation-delay: .8s;
  -webkit-animation-delay: .8s;
  -o-animation-delay: .8s;
  -ms-animation-delay: .8s;
  animation-delay: .8s;
}

@-moz-keyframes f_fadeG {
  0% {
    background-color: #FFF;
  }

  100% {
    background-color: #3C9ECC;
  }
}

@-webkit-keyframes f_fadeG {
  0% {
    background-color: #FFF;
  }

  100% {
    background-color: #3C9ECC;
  }
}

@-o-keyframes f_fadeG {
  0% {
    background-color: #FFF;
  }

  100% {
    background-color: #3C9ECC;
  }
}

@-ms-keyframes f_fadeG {
  0% {
    background-color: #FFF;
  }

  100% {
    background-color: #3C9ECC;
  }
}

@keyframes f_fadeG {
  0% {
    background-color: #FFF;
  }

  100% {
    background-color: #3C9ECC;
  }
}

.image-m-title {
  background-color: transparent;
  height: auto;
}

.image-m-title img {
  width: 100%;
  height: auto;
  display: block;
}

.image-m-title .image-title {
  font-size: .875em;
  color: #032b5a;
  background-color: #efefef;
  padding: 14px 0 14px 20px;
}

.image-m-title .image-title {
  padding: 8px 0 8px 14px;
}

.image-m-title .image-title {
  padding: 14px 0 14px 14px;
  font-size: 1em;
}

.image-m {
  background-color: transparent;
  height: auto;
}

.image-m img {
  width: 100%;
  height: auto;
}

.image-s {
  background-color: transparent;
  height: auto;
}

.image-s img {
  width: 100%;
  height: auto;
}

.image-s img.bp1 {
  display: block;
}

.image-s img.bp2,
.image-s img.bp3 {
  display: none;
}

.image-s img.bp2 {
  display: block;
}

.image-s img.bp1,
.image-s img.bp3 {
  display: none;
}

.image-s img.bp3 {
  display: block;
}

.image-s img.bp1,
.image-s img.bp2 {
  display: none;
}

.label-m {
  width: 100%;
  position: relative;
  background: transparent url(//static.o2.co.uk/shared/img/label-m-shadow320.png) 0 0 no-repeat;
  padding: 24px 0 0;
}

.label-m h4 {
  font-size: 1.2em;
}

.label-m {
  background: transparent url(//static.o2.co.uk/shared/img/label-m-shadow575.png) 0 0 no-repeat;
  padding: 12px 0 0;
}

.label-m h4 {
  font-size: 1.125em;
}

.label-m {
  background: transparent url(//static.o2.co.uk/shared/img/label-m-shadow.png) 0 0 no-repeat;
  padding: 21px 0 0;
}

.label-m h4 {
  font-size: 1.25em;
}

.label-xxl {
  width: 100%;
  position: relative;
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-shadow575.png) 0 0 no-repeat;
}

.label-xxl h2 {
  padding: 22px 0 22px 20px;
  color: #032b5a;
  width: 95%;
  font-size: 1.25em;
  line-height: 1.25em;
}

.label-xxl .line {
  position: absolute;
  height: 2px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-line575.png) 0 0 no-repeat;
}

.label-xxl {
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-shadow575.png) 0 0 no-repeat;
}

.label-xxl h2 {
  padding: 12px 0 10px 20px;
}

.label-xxl {
  background: transparent url(//static.o2.co.uk/shared/img/label-xxl-shadow1100.png) 0 0 no-repeat;
}

.label-xxl h2 {
  padding: 18px 0 16px 30px;
}

.label-xxl .line {
  background-image: url(//static.o2.co.uk/shared/img/label-xxl-line1100.png);
}

.link-xs {
  position: relative;
  height: 40px;
  width: 100%;
  background: #efefef;
}

.link-xs a {
  display: block;
  width: 100%;
  height: 100%;
}

.link-xs span.arrow {
  position: absolute;
  left: 0;
  margin: 0 4px 0 17px;
  width: 21px;
  height: 24px;
  display: block;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
  float: left;
}

.link-xs h3 {
  line-height: 1.2em;
  top: 0;
  left: 0;
  margin: 10px 20px 10px 44px;
  font-family: Frutiger55,sans-serif;
  font-size: 14px;
  font-size: .875rem;
  max-height: 2.6em;
  width: auto;
  white-space: normal;
  color: #419eda;
  overflow: hidden;
}

.link-xs {
  height: 75px;
}

.link-xs span.arrow {
  margin: 20px 4px 0 17px;
}

.link-xs h3 {
  position: absolute;
  margin: 20px 20px 0 44px;
  white-space: normal;
  max-height: 3.6em;
}

.link-xs {
  border-right: 1px solid #F8F8F8;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  *border-right: 0;
  height: 110px;
}

.link-xs span.arrow {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 0 transparent;
  float: left;
  margin: 20px 0 0 30px;
}

.link-xs h3 {
  margin: 20px 30px 0 59px;
  font-family: Frutiger45Light,sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
}

.media-m-basic {
  margin: 0;
  padding: 0;
}

.media-m-basic .module-body .video-holder {
  width: 100%;
  position: relative;
  padding-bottom: 55.5%;
  overflow: hidden;
  background-color: #000;
}

.media-m-basic .module-body .video-holder iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.media-m-basic .module-body .video-holder .error {
  color: #FFF;
}

.media-m-basic .module-body .video-title {
  font-size: .875em;
  color: #032b5a;
  background-color: #efefef;
  padding: 14px 0 14px 20px;
}

.media-m-basic .module-body .video-title {
  padding: 8px 0 8px 14px;
}

.media-m-basic .module-body .video-title {
  padding: 14px 0 14px 14px;
  font-size: 1em;
}

.media-m {
  margin: 0;
  padding: 0;
}

.media-m .module-body .video-holder {
  width: 100%;
  position: relative;
  padding-bottom: 65%;
  overflow: hidden;
  background-color: #000;
}

.media-m .module-body .video-holder iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.media-m .module-body .video-holder .error {
  color: #FFF;
}

.media-m .module-body .video-title {
  font-size: .875em;
  color: #032b5a;
  background-color: #efefef;
  padding: 14px 0 14px 20px;
}

.media-m .module-body .BrightcoveExperience {
  position: absolute;
  top: 6.5%;
  left: 0;
  width: 100%;
  height: 87%;
  *height: 295px;
}

.media-m .module-body .video-title {
  padding: 8px 0 8px 14px;
}

.media-m .module-body .video-title {
  padding: 14px 0 14px 14px;
  font-size: 1em;
}

placeholder {
  color: #fff;
  opacity: 1;
}

:-moz-placeholder {
  color: #fff;
  opacity: 1;
}

::-moz-placeholder {
  color: #fff;
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #fff;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #fff;
  opacity: 1;
}

.csstransitions .nav-consumer.is-mobile ul {
  -webkit-transition: all .35s ease-in-out;
  -moz-transition: all .35s ease-in-out;
  -ms-transition: all .35s ease-in-out;
  -o-transition: all .35s ease-in-out;
  transition: all .35s ease-in-out;
}

.nav-primary {
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#eaeaea 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#eaeaea));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#eaeaea 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#eaeaea 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#eaeaea 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#eaeaea 100%);
  display: block;
  height: auto;
  overflow: hidden;
}

.legacy #o2-page-wrapper .nav-primary .logo img {
  display: none;
}

.legacy #o2-page-wrapper .nav-primary .o2 a {
  background: url(../img/logo-o2.png) 0 no-repeat;
  display: inline-block;
  width: 55px;
  height: 53px;
}

.legacy #o2-page-wrapper .nav-primary .telefonica a {
  background: url(../img/logo-telefonica.png) 0 0 no-repeat;
  display: inline-block;
  width: 85px;
  height: 24px;
}

.nav-primary a {
  text-decoration: none;
}

.nav-primary dl {
  margin: 0;
  padding: 0;
}

.nav-primary dl dt {
  font-size: 1em;
  font-weight: 400;
}

.nav-primary dl dd {
  display: none;
  white-space: normal;
}

.nav-primary ul li {
  list-style: none outside none;
  width: 100%;
}

.nav-primary ul li a {
  width: 100%;
  display: block;
  color: #032b5a;
  padding-left: 20px;
  height: 35px;
  line-height: 35px;
  font-size: .938em;
}

.nav-primary ul li a:visited {
  color: #032b5a;
}

.nav-primary .mobile-nav-toggle {
  height: 60px;
  width: 60px;
  position: absolute;
  right: 0;
  z-index: 1002;
  background-image: url(../img/primary-nav-border.png);
  background-position: left 0;
  background-repeat: no-repeat;
  background-color: #f7f7f7;
}

.nav-primary .mobile-nav-toggle a {
  display: block;
  background: transparent url(../img/nav/nav-mobile-burger-sprite.png) 50% 0 no-repeat;
  height: 60px;
  width: 60px;
  margin: 0;
}

.nav-primary .mobile-nav-toggle.is-visible {
  border-bottom: 1px solid #f7f7f7;
}

.nav-primary .mobile-nav-toggle.is-visible a {
  background-position: 50% -60px;
}

.nav-primary .logo {
  float: left;
  width: 20%;
}

.nav-primary .logo.telefonica {
  display: none;
}

.nav-primary .logo.o2 {
  padding: 0;
  width: 60px;
  height: 60px;
  position: absolute;
  left: 0;
}

.nav-primary .logo.o2 a {
  width: 60px;
  height: 60px;
  display: block;
}

.nav-primary .logo.o2 img {
  height: 31px;
  width: 32px;
  margin: 15px 0 0 20px;
}

.nav-primary .navslide {
  background-color: #e6e6e6;
  position: absolute;
  top: 84px;
  width: 100%;
}

.nav-primary .nav-mobile {
  float: left;
  width: 100%;
  height: 60px;
}

.nav-primary .nav-mobile ul {
  height: auto;
  overflow: hidden;
  padding: 0 60px;
}

.nav-primary .nav-mobile ul li {
  float: left;
  width: 31%;
  padding: 0;
  border-bottom: 0;
  text-align: center;
}

.nav-primary .nav-mobile ul li a {
  color: #032b5a;
  font-size: 1em;
  font-weight: 400;
  background-image: none;
  line-height: normal;
  padding: 20px 0 0;
}

.nav-primary .nav-mobile ul li.logo {
  text-align: left;
  width: 20%;
  padding: 0;
}

.nav-primary .nav-mobile ul li.logo img {
  height: 31px;
  width: 32px;
  margin: 0 0 0 20px;
}

.nav-primary .nav-consumer {
  clear: both;
  display: block;
}

.nav-primary .nav-consumer ul {
  margin: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  clear: both;
  display: none;
  border-bottom: 1px solid #d8d8d8;
  border-top: 1px solid #d8d8d8;
  z-index: 1000;
  -moz-box-shadow: 0 6px 8px 0 rgba(0,0,0,.5);
  -webkit-box-shadow: 0 6px 8px 0 rgba(0,0,0,.5);
  box-shadow: 0 6px 8px 0 rgba(0,0,0,.5);
}

.nav-primary .nav-consumer ul li {
  clear: both;
  width: auto;
  display: block;
  padding: 0;
  overflow: hidden;
  background: #f7f7f7 url(../img/nav/item-border-bottom.png) 50% 0 no-repeat;
}

.nav-primary .nav-consumer ul li ul {
  background: none repeat scroll 0 0 #ececec;
  left: 100%!important;
  padding-top: 0;
  top: -1px;
}

.nav-primary .nav-consumer ul li ul.display-opposite {
  right: 100%;
  left: auto;
}

.nav-primary .nav-consumer ul li ul ul.reverse-menu {
  top: auto;
  bottom: 0;
}

.nav-primary .nav-consumer ul li a {
  width: 90%;
  padding: 0 5%;
  color: #032b5a;
  display: block;
  font-size: .938em;
  text-decoration: none;
}

.nav-primary .nav-consumer ul li a.back {
  padding: 0 0 0 10%;
  width: 90%;
  background: transparent url(../img/nav/nav-mobile-arrow-sprite.png) 4% -120px no-repeat;
  font-size: .813em;
  line-height: 38px;
}

.nav-primary .nav-consumer ul li a.back:active,
.nav-primary .nav-consumer ul li a.back:focus {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png),url(../img/nav/nav-mobile-focus-background.png);
  background-position: 4% -120px,0 0;
}

.nav-primary .nav-consumer ul li a.show-more {
  background: transparent url(../img/nav/nav-mobile-arrow-sprite.png) 95% -200px no-repeat;
}

.nav-primary .nav-consumer ul li a.show-more:focus {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png),url(../img/nav/nav-mobile-focus-background.png);
  background-position: 95% -200px,0 0;
}

.nav-primary .nav-consumer ul li a.is-hover,
.nav-primary .nav-consumer ul li a:active,
.nav-primary .nav-consumer ul li a:focus {
  background-image: url(../img/nav/nav-mobile-focus-background.png);
  background-position: 0 0;
}

.nav-primary .nav-consumer ul li.has-submenu>a,
.nav-primary .nav-consumer ul li.has-submenu>a.open {
  background: transparent url(../img/nav/nav-mobile-arrow-sprite.png) 95% -40px no-repeat;
}

.nav-primary .nav-consumer ul li.has-submenu>a:active,
.nav-primary .nav-consumer ul li.has-submenu>a:focus {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png),url(../img/nav/nav-mobile-focus-background.png);
  background-position: 95% -40px,50% 0;
}

.nav-primary .nav-consumer ul li.is-active>a {
  color: #419eda;
  background-position: 95% 0;
}

.nav-primary .nav-consumer ul li:first-child {
  background: #f7f7f7 none 0 0 no-repeat;
}

.nav-primary .nav-consumer .content {
  left: 0;
  position: absolute;
}

.nav-primary .nav-consumer form.header-tool-search {
  display: block;
  width: 94%;
  overflow: hidden;
  height: auto;
  margin: 5px 3%;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -webkit-border-bottom-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  -moz-border-radius-bottomright: 5px;
  -moz-border-radius-bottomleft: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  background: #419eda;
  background-image: url();
  background-image: -moz-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#419eda),color-stop(100%,#2f7cb4));
  background-image: -webkit-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -o-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: -ms-linear-gradient(top,#419eda 0,#2f7cb4 100%);
  background-image: linear-gradient(to bottom,#419eda 0,#2f7cb4 100%);
  border: 1px solid #b6b6b6;
}

.nav-primary .nav-consumer form.header-tool-search input {
  float: left;
  margin: 0;
  border: 0;
  height: 26px;
  font-size: .813em;
  color: #000;
}

.nav-primary .nav-consumer form.header-tool-search input:focus {
  outline: 0;
}

.nav-primary .nav-consumer form.header-tool-search input[type=text] {
  width: 81%;
  padding: 2px 2%;
}

.nav-primary .nav-consumer form.header-tool-search input[type=text]::-webkit-input-placeholder {
  color: #6b7a8d;
}

.nav-primary .nav-consumer form.header-tool-search input[type=text]:-moz-placeholder {
  color: #6b7a8d;
}

.nav-primary .nav-consumer form.header-tool-search input[type=text]::-moz-placeholder {
  color: #6b7a8d;
}

.nav-primary .nav-consumer form.header-tool-search input[type=text]:-ms-input-placeholder {
  color: #6b7a8d;
}

.nav-primary .nav-consumer form.header-tool-search input[type=submit] {
  width: 15%;
  background: transparent url(../img/nav/tool-icon-search-sprite.png) 50% -30px no-repeat;
}

.burger-help .burger-copy,
.burger-help .burger-overlay {
  display: none;
}

.nav-primary {
  height: 50px;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow: visible;
  border-bottom: 1px solid #d9d9d9;
}

.nav-primary .logo {
  float: left;
  margin: 0;
  padding: 0;
}

.nav-primary .logo img {
  border: medium none;
}

.nav-primary .logo.telefonica {
  display: block;
  width: auto;
  position: absolute;
  top: 0;
  right: 0;
  padding: 16px 8px 0 0;
}

.nav-primary .logo.o2 {
  height: 31px;
  width: 32px;
}

.nav-primary .logo.o2 a {
  height: auto;
  width: auto;
  padding: 10px 24px 0;
}

.nav-primary .logo.o2 a img {
  height: 31px;
  width: 32px;
  margin: 0;
}

.nav-primary .grid-inner {
  overflow: visible;
  position: relative;
  z-index: 1002;
}

.nav-primary .grid-inner>* {
  border-bottom: 0;
}

.nav-primary .nav-consumer {
  clear: none;
  padding: 0 0 0 80px;
  width: auto!important;
}

.nav-primary .nav-consumer ul {
  display: none;
  border-bottom: 0;
  border-top: 0;
  width: auto!important;
  -moz-box-shadow: 0 0 #d8d8d8;
  -webkit-box-shadow: 0 0 #d8d8d8;
  box-shadow: 0 0 #d8d8d8;
}

.nav-primary .nav-consumer ul li {
  position: relative;
}

.nav-primary .nav-consumer ul li a {
  font-size: .813em;
  white-space: nowrap;
}

.nav-primary .nav-consumer ul li a:hover {
  background-image: url(../img/nav/nav-mobile-focus-background.png);
  background-position: 50% 0;
  color: #419eda;
}

.legacy .nav-primary .nav-consumer ul li li a:hover {
  background-image: none;
  background-color: #ecf3f7;
}

.nav-primary .nav-consumer ul li:first-child {
  background-color: transparent;
}

.nav-primary .nav-consumer ul ul {
  left: 100%;
  padding-top: 0;
  top: 0;
  width: auto!important;
}

.nav-primary .nav-consumer>ul {
  position: static;
  display: block;
  height: auto;
  float: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

.nav-primary .nav-consumer>ul>li {
  float: left;
  clear: none;
  list-style: none inside none;
  margin: 0;
  padding: 0;
  position: relative;
  background-color: transparent;
  background-image: none;
  margin-right: 0;
}

.nav-primary .nav-consumer>ul>li.has-submenu>a {
  background: 0 0;
  margin: 0;
}

.nav-primary .nav-consumer>ul>li.has-submenu>a.open {
  background: 0 0;
}

.nav-primary .nav-consumer>ul>li.has-submenu>a:active,
.nav-primary .nav-consumer>ul>li.has-submenu>a:focus {
  background-image: none;
  background-position: 0 0;
}

.nav-primary .nav-consumer>ul>li.is-hover>a {
  height: 33px;
}

.nav-primary .nav-consumer>ul>li.is-active,
.nav-primary .nav-consumer>ul>li.is-hover {
  background-image: url(../img/primary-nav-border.png);
  background-position: right 0;
  background-repeat: no-repeat;
  background-color: #f7f8f8;
}

.nav-primary .nav-consumer>ul>li.is-active>a,
.nav-primary .nav-consumer>ul>li.is-hover>a {
  background-image: url(../img/primary-nav-border.png);
  background-position: 0 0;
  background-color: transparent;
  background-repeat: no-repeat;
  color: #419eda;
}

.nav-primary .nav-consumer>ul>li.is-active>a dt,
.nav-primary .nav-consumer>ul>li.is-hover>a dt {
  color: #419eda;
}

.nav-primary .nav-consumer>ul>li ul {
  border: 1px solid #d9d9d9;
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#efefef 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#efefef));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#efefef 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#efefef 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#efefef 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#efefef 100%);
}

.nav-primary .nav-consumer>ul>li ul li,
.nav-primary .nav-consumer>ul>li ul li:first-child {
  background-color: transparent;
}

.nav-primary .nav-consumer>ul>li ul li a {
  margin: 0 20px 0 0;
  position: relative;
}

.multiplebgs .nav-primary .nav-consumer>ul>li ul li a.show-more:hover {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png),url(../img/nav/nav-mobile-focus-background.png);
  background-position: 95% -200px,50% 0;
}

.no-multiplebgs .nav-primary .nav-consumer>ul>li ul li a.show-more:hover {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png);
  background-position: 95% -200px;
  background-color: #ecf3f7;
}

.nav-primary .nav-consumer>ul>li ul li.has-submenu>a {
  margin: 0 50px 0 0;
}

.multiplebgs .nav-primary .nav-consumer>ul>li ul li.has-submenu>a:hover {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png),url(../img/nav/nav-mobile-focus-background.png);
  background-position: 95% -40px,50% 0;
}

.no-multiplebgs .nav-primary .nav-consumer>ul>li ul li.has-submenu>a:hover {
  background-image: url(../img/nav/nav-mobile-arrow-sprite.png);
  background-position: 95% -40px;
  background-color: #ecf3f7;
}

.nav-primary .nav-consumer>ul>li>ul {
  border-top: 0 solid #d9d9d9;
  left: 0!important;
  padding-top: 0;
  top: 100%;
}

.nav-primary .nav-consumer>ul>li>a {
  display: block;
  height: 32px;
  line-height: 1em;
  padding: 18px 12px 0 10px;
  background-image: none;
  width: auto;
  font-size: .938em;
}

.nav-primary .nav-consumer>ul>li>a dl dt {
  font-family: Frutiger45Light;
  font-size: 1em;
  font-weight: 400;
  color: #032b5a;
  margin: 0 0 5px;
  line-height: 1.063em;
}

.nav-primary .nav-consumer>ul>li>a dl dd {
  display: none;
  font-size: .688em;
  line-height: 1.182em;
  margin: 0;
  color: #032b5a;
}

.nav-primary .nav-consumer>ul>li>a:focus,
.nav-primary .nav-consumer>ul>li>a:hover {
  background-image: url(../img/primary-nav-border.png);
  background-position: left 0;
  background-repeat: no-repeat;
}

.nav-primary .nav-consumer>ul>li#pn1,
.nav-primary .nav-consumer>ul>li#pn2,
.nav-primary .nav-consumer>ul>li#pn3,
.nav-primary .nav-consumer>ul>li#pn4,
.nav-primary .nav-consumer>ul>li#pn5,
.nav-primary .nav-consumer>ul>li#pn6 {
  width: auto;
}

.nav-primary .nav-consumer>ul>li#pn7,
.nav-primary .nav-consumer>ul>li#pn8 {
  display: none;
}

.nav-primary .nav-consumer>ul.enterprise>li>a {
  padding: 18px 5px 0;
}

.nav-primary .nav-consumer>ul.enterprise>li>a dl dt {
  font-size: .938em;
}

.nav-primary .nav-consumer ul li {
  overflow: visible;
}

#nav-secondary {
  padding: 0;
  width: 100%;
  overflow: hidden;
  background-color: #eaeaea;
  border-top: 1px solid #fff;
  height: 37px;
  line-height: 37px;
  font-size: .813em;
  display: none;
}

.desktop-only-nav #nav-secondary {
  min-width: 972px;
}

.js .has-secondarynav #nav-secondary {
  display: block;
}

#nav-secondary .main-element a {
  border-left: 0;
  border-right: 0;
  margin-left: 6px;
  color: #419eda;
  font-size: 1.154em;
}

#nav-secondary .main-element a:hover,
#nav-secondary .main-element:hover {
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f7f7f7));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#f7f7f7 100%);
}

#nav-secondary .main-element:hover a {
  display: block;
  height: 100%;
}

#nav-secondary .is-active a {
  color: #419eda;
}

#nav-secondary .show-more>a {
  background: transparent url(../img/nav/nav-mobile-arrow-sprite.png) 85% -200px no-repeat;
  padding: 0 30px 0 10px;
  display: block;
  height: 37px;
}

#nav-secondary .show-more:hover>a {
  color: #419eda;
}

#nav-secondary ul li {
  float: left;
}

#nav-secondary ul li:hover {
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f7f7f7));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#f7f7f7 100%);
}

#nav-secondary ul li:hover a {
  display: block;
  height: 100%;
  color: #419eda;
}

#nav-secondary ul li:hover+li a {
  display: block;
  height: 100%;
}

#nav-secondary ul .has-shadow {
  background: url(../img/nav/nav-secondary-vertical-shadow.png) top left repeat-y;
}

#nav-secondary ul .has-shadow a {
  border-left: 0;
}

#nav-secondary ul .has-shadow:hover {
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f7f7f7));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#f7f7f7 100%);
}

#nav-secondary ul .has-shadow:hover a {
  background: url(../img/nav/nav-secondary-vertical-shadow.png) top left repeat-y;
  display: block;
  height: 100%;
}

#nav-secondary ul a {
  border-left: 1px solid #d0d0d0;
  text-decoration: none;
  padding: 0 14px;
  color: #032b5a;
  font-size: 1em;
  height: 37px;
  white-space: nowrap;
}

#nav-secondary ul a:hover {
  text-decoration: none;
  font-weight: 400;
}

#nav-secondary ul a.limitdisplay {
  display: none;
}

#nav-secondary ul a.showmore {
  display: block;
}

#nav-secondary ul ul {
  padding: 0;
  position: absolute;
  display: block;
  background: #f7f7f7;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f7f7f7 0,#efefef 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f7f7f7),color-stop(100%,#efefef));
  background-image: -webkit-linear-gradient(top,#f7f7f7 0,#efefef 100%);
  background-image: -o-linear-gradient(top,#f7f7f7 0,#efefef 100%);
  background-image: -ms-linear-gradient(top,#f7f7f7 0,#efefef 100%);
  background-image: linear-gradient(to bottom,#f7f7f7 0,#efefef 100%);
}

#nav-secondary ul ul li {
  list-style: none outside none;
  float: left;
  clear: both;
  width: 100%;
  display: block;
  border: 0;
  background: transparent url(../img/nav/item-border-bottom.png) 50% 0 no-repeat;
}

#nav-secondary ul ul li:first-child {
  background: 0 0;
}

#nav-secondary ul ul li.active a {
  color: #032b5a;
}

#nav-secondary ul ul li a {
  display: block;
  width: 100%;
  border: 0;
}

#nav-secondary ul ul.overflow-menu {
  border-top: 0;
  border-right: 1px solid #e3e3e3;
  border-left: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
  z-index: 1003;
  padding-right: 15px;
}

#nav-secondary ul ul.overflow-menu li:hover {
  background: transparent url(../img/nav/item-border-bottom.png) 50% 0 no-repeat;
}

#nav-secondary ul ul.overflow-menu li a {
  padding: 0 0 0 15px;
  color: #032b5a;
}

#nav-secondary ul ul.overflow-menu li a:hover {
  background: url(../img/nav/nav-mobile-focus-background.png) 50% 0 no-repeat;
  color: #419eda;
}

#nav-secondary ul>ul>li:first-child {
  border-left: 0;
  padding-left: 10%;
  background-color: #eaeaea;
  font-size: 1.2em;
  font-weight: 700;
}

#nav-secondary ul>ul>li:first-child a {
  padding: 0 .5em 0 0;
  padding-left: 0;
}

#nav-secondary ul>ul>li:first-child a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #032b5a;
  margin-top: 15px;
  margin-right: 1em;
}

#nav-secondary .is-hover {
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f7f7f7));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#f7f7f7 100%);
  border-right: 1px solid #d0d0d0;
  border-left: 1px solid #d0d0d0;
}

#nav-secondary .is-hover a {
  border-left: 0;
}

.nav-primary {
  height: 70px;
}

.nav-primary .logo.o2 {
  padding: 24px 12px 0 24px;
  height: 42px;
  width: 43px;
}

.nav-primary .logo.o2 a {
  padding: 0;
}

.nav-primary .logo.o2 a img {
  height: 42px;
  width: 43px;
}

.nav-primary .logo.telefonica {
  padding: 25px 22px 0 0;
}

.nav-primary .logo.telefonica a {
  display: inline-block;
}

.nav-primary .logo.telefonica a img {
  display: block;
}

.nav-primary .nav-consumer {
  padding: 0 0 0 100px;
}

.nav-primary .nav-consumer>ul>li {
  max-height: 70px;
}

.nav-primary .nav-consumer>ul>li.is-hover>a {
  height: 43px;
}

.nav-primary .nav-consumer>ul>li>a {
  height: 42px;
  padding: 28px 19px 0;
  outline-offset: -1px;
}

.nav-primary .nav-consumer>ul>li>a dl dt {
  font-size: 1.467em;
}

.nav-primary .nav-consumer>ul>li>a dl dd {
  font-size: .733em;
}

.nav-primary .nav-consumer>ul.enterprise>li>a {
  height: 44px;
  padding: 26px 9px 0;
  outline-offset: -1px;
}

.nav-primary .nav-consumer>ul.enterprise>li>a dl dt {
  font-size: 1.333em;
}

.nav-primary .nav-consumer>ul.enterprise>li>a dl dd {
  font-size: .733em;
}

.nav-primary .grid-inner>* {
  border-bottom: 0;
}

#nav-secondary .main-element a {
  margin-left: 105px;
}

#nav-secondary .main-element a:hover {
  background: #f9f9f9;
  background-image: url();
  background-image: -moz-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#f9f9f9),color-stop(100%,#f7f7f7));
  background-image: -webkit-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -o-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: -ms-linear-gradient(top,#f9f9f9 0,#f7f7f7 100%);
  background-image: linear-gradient(to bottom,#f9f9f9 0,#f7f7f7 100%);
}

#nav-secondary .main-element:hover {
  background: 0 0;
}

.nav-primary {
  height: 100px;
}

.nav-primary .logo.o2 {
  padding: 24px 12px 0 24px;
  height: auto;
  width: auto;
}

.nav-primary .logo.o2 a {
  padding: 0;
}

.nav-primary .logo.o2 a img {
  height: auto;
  width: auto;
}

.nav-primary .logo.telefonica {
  padding: 24px 12px 0 0;
}

.nav-primary .nav-consumer {
  padding: 0 100px;
}

.nav-primary .nav-consumer>ul>li {
  max-height: 100px;
  margin-right: 0;
}

.nav-primary .nav-consumer>ul>li.is-hover>a {
  height: 77px;
}

.nav-primary .nav-consumer>ul>li>a {
  height: 76px;
  padding: 24px 15px 0 10px;
}

.nav-primary .nav-consumer>ul>li>a dl dd {
  display: block;
}

.nav-primary .nav-consumer>ul>li#pn1,
.nav-primary .nav-consumer>ul>li#pn2 {
  width: 16%;
}

.nav-primary .nav-consumer>ul>li#pn3 {
  width: 15%;
}

.nav-primary .nav-consumer>ul>li#pn4 {
  width: 19%;
}

.nav-primary .nav-consumer>ul>li#pn5 {
  width: 16.9%;
}

.nav-primary .nav-consumer>ul>li#pn6 {
  width: 15.8%;
}

.nav-primary .nav-consumer>ul>li#pn7,
.nav-primary .nav-consumer>ul>li#pn8 {
  display: none;
}

.nav-primary .nav-consumer>ul.enterprise>li#pn1,
.nav-primary .nav-consumer>ul.enterprise>li#pn2 {
  width: 15%;
}

.nav-primary .nav-consumer>ul.enterprise>li#pn3,
.nav-primary .nav-consumer>ul.enterprise>li#pn4 {
  width: 14%;
}

.nav-primary .nav-consumer>ul.enterprise>li#pn5 {
  width: 15%;
}

.nav-primary .nav-consumer>ul.enterprise>li#pn6 {
  width: 21%;
}

.nav-primary .nav-consumer>ul.enterprise>li#pn7,
.nav-primary .nav-consumer>ul.enterprise>li#pn8 {
  display: none;
}

.nav-primary .nav-consumer>ul.enterprise>li>a {
  height: 76px;
  padding: 24px 9px 0;
}

.nav-primary .nav-consumer>ul.enterprise>li>a dl dt {
  font-size: 1.467em;
}

.nav-primary .nav-consumer>ul.enterprise>li>a dl dd {
  font-size: .733em;
}

#nav-secondary .main-element a {
  margin-left: 95px;
}

.burger-help .burger-overlay {
  background: #000;
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  opacity: .5;
  z-index: 1002;
}

.burger-help .burger-copy {
  color: #032b5a;
  position: absolute;
  top: 108px;
  right: 10px;
  width: 50%;
  background: #FFF;
  z-index: 1003;
  padding: 16px 20px;
  font-size: 12px;
  font-size: .75rem;
}

.burger-help .burger-copy b {
  font-size: 16px;
  font-size: 1rem;
  display: inline-block;
  padding-bottom: 6px;
}

.burger-help .burger-copy.fixed {
  position: fixed;
  top: 10px;
}

.burger-help .burger-copy span {
  position: absolute;
  top: 0;
  right: 0;
  width: 28px;
  height: 30px;
  cursor: pointer;
}

.burger-help .burger-copy span:after {
  font-size: 24px;
  font-size: 1.5rem;
  font-family: Frutiger45Light,sans-serif;
  color: #419eda;
  content: "\00d7";
}

.burger-help .burger-copy:after {
  position: absolute;
  content: "";
  top: -10px;
  right: 10px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #FFF;
}

.burger-help nav {
  position: relative;
  z-index: 1003;
}

.navleft {
  font-size: 15px;
  font-size: .9375rem;
  background: 0 0;
}

.navleft li {
  border-top: 1px solid #d8d8d8;
  position: relative;
}

.navleft li a {
  background: #efefef;
  color: #032b5a;
  display: block;
  padding: 10px 20px;
}

.navleft li a.is-active,
.navleft li a:hover {
  background: #e3e3e3;
}

.navleft li li a {
  padding-left: 40px;
}

.navleft li li li a {
  padding-left: 60px;
}

.navleft li li li li a {
  padding-left: 80px;
}

.navleft {
  margin-bottom: 20px;
  border-bottom: 1px solid #d8d8d8;
}

.navleft {
  margin: 10px 30px 20px;
  border-bottom: 0;
}

.navleft li {
  border: 0;
}

.navleft li a {
  padding: 0;
  background: 0 0;
  margin-bottom: 10px;
  font-size: 16px;
  font-size: 1rem;
}

.navleft li a.is-active,
.navleft li a:hover {
  background: 0 0;
}

.navleft li a.is-active {
  color: #419eda;
}

.navleft li a:hover {
  text-decoration: underline;
}

.navleft li li a {
  padding-left: 30px;
  font-size: 14px;
  font-size: .875rem;
}

.navleft li li li a {
  padding-left: 60px;
  font-size: 12px;
  font-size: .75rem;
}

.navleft li li li li a {
  padding-left: 90px;
  font-size: 12px;
  font-size: .75rem;
}

.legacy .product-s .product-image {
  width: 170px!important;
}

.legacy .product-s .product-info {
  width: 45%!important;
}

.product-s a {
  float: left;
  display: block;
  height: auto;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.product-s .info {
  padding: 15px 0 0 30px;
  min-height: 176px;
  height: auto;
  background: url(//static.o2.co.uk/shared/img/modules/product-s-pillow1.png) no-repeat scroll right bottom transparent;
  overflow: hidden;
}

.product-s .info h3 {
  height: auto;
  width: 52%;
  float: left;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.125em;
  padding: 0;
  margin: 0 0 0 128px;
  overflow: hidden;
  color: #032b5a;
}

.product-s .info ul.product-cost {
  display: block;
  padding: 0;
  margin: 10px 0;
}

.product-s .info ul.product-cost li {
  font-family: Frutiger55,sans-serif;
  font-size: 13px;
  font-size: .8125rem;
  line-height: 1.231em;
  color: #032b5a;
}

.product-s .info ul.product-cost li span {
  color: #419eda;
  font-size: 16px;
  font-size: 1rem;
}

.product-s .info .product-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 134px;
  background-size: contain;
  float: left;
  height: 191px;
  background-position: 0 0;
  background-repeat: no-repeat;
}

.product-s .info .product-info {
  float: left;
  height: auto;
  width: 58%;
  margin-left: 128px;
  text-align: left;
}

.product-s .info .product-info p.product-cta {
  padding: 0 0 0 25px;
  font-family: Frutiger55,sans-serif;
  float: left;
  color: #419eda;
  line-height: 1.25em;
  white-space: nowrap;
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -2px -33px transparent;
}

.product-s .info-graphic,
.product-s ul.product-benefits {
  display: none;
}

.product-s p.promo-text {
  display: block;
  color: #900;
  margin: 0 0 6px 128px;
  width: 100%;
  padding: 0;
  font-size: 12px;
  font-size: .75rem;
  line-height: 1em;
}

.product-s .supportinglink-prod-s {
  border: 0;
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  overflow: hidden;
  position: relative;
  bottom: 0;
  padding: 0;
  height: 40px;
  display: block;
  width: 100%;
}

.product-s .supportinglink-prod-s a {
  border: 0;
  color: #419eda;
  display: block;
  padding: 13px 20px 12px;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.product-s .supportinglink-prod-s a span.prodSsupLink {
  width: 25px;
  height: 18px;
  background-image: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png);
  background-repeat: no-repeat;
  background-position: -2px -35px;
  display: block;
  float: left;
}

div.product-s:nth-child(3)>a:nth-child(2) {
  border-bottom: 1px solid #d8d8d8;
}

div.product-s:nth-child(3)>a:nth-child(2) {
  border-bottom: 0;
}

.product-s:first-child .info {
  border-left: 0;
}

.product-s .info {
  padding: 22px 0 23px 20px;
  min-height: 288px;
  border-left: 1px solid #fff;
  border-bottom: 1px #d8d8d8 solid;
}

.product-s .info p.promo-text {
  display: block;
  color: #900;
  margin: 0 0 .5em;
  width: 100%;
  padding: 0;
  font-size: .75em;
  line-height: 1em;
}

.product-s .info h3 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.25em;
  height: 50px;
  margin: 0 0 10px;
  overflow: hidden;
  padding: 0;
  width: 90%;
}

.product-s .info .product-image {
  position: static;
  width: 133;
  height: 170;
  margin-left: -20px;
  float: left;
  text-align: center;
}

.product-s .info .product-info {
  width: 92%;
  float: left;
  margin: 10px 0 0;
}

.product-s .info .product-info ul.product-cost {
  width: 100%;
  height: 34px;
  float: left;
}

.product-s .info .product-info ul.product-cost li {
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.25em;
}

.product-s .info .product-info ul.product-cost li span {
  font-size: 16px;
  font-size: 1rem;
}

.product-s .info .product-info .info-graphic {
  display: none;
}

.product-s .supportinglink-prod-s {
  height: 60px;
  border: 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #d8d8d8;
}

.product-s .supportinglink-prod-s a {
  border-left: 1px solid #fff;
  height: 25px;
  padding-left: 20px;
  padding-top: 22px;
  border-bottom: 1px solid #fff!important;
}

div.product-s:nth-child(1)>div:nth-child(1)>a:nth-child(1) {
  border-left: 0!important;
}

.product-s:first-child .info {
  border-left: 0;
}

.product-s .info {
  padding: 20px 0 30px 30px;
  height: 298px;
  border-left: 1px solid #fff;
  border-bottom: 1px #d8d8d8 solid;
  border-bottom: 1px #d8d8d8 solid;
}

.product-s .info p.promo-text {
  display: block;
  color: #900;
  margin: 0 0 .5em;
  width: 100%;
  padding: 0;
  font-size: .75em;
  line-height: 1em;
}

.product-s .info h3 {
  height: 65px;
  width: 90%;
  float: left;
  font-size: 28px;
  font-size: 1.75rem;
  margin: 0 0 10px;
}

.product-s .info ul.product-cost {
  height: auto;
  clear: both;
}

.product-s .info ul.product-cost li {
  font-size: 16px;
  font-size: 1rem;
}

.product-s .info ul.product-cost li span {
  font-size: 25px;
  font-size: 1.5625rem;
}

.product-s .info .product-image {
  position: relative;
  top: 0;
  left: 0;
  width: 38%;
  max-width: 149px;
  height: 218px;
  margin-left: 0;
  margin-right: 22px;
}

.product-s .info .product-info {
  float: left;
  width: 50%;
  text-align: left;
  position: relative;
  height: 210px;
  margin: 0;
}

.product-s .info .product-info ul.product-cost {
  margin: 10px 0;
  padding: 0;
  height: auto;
  clear: both;
}

.product-s .info .product-info ul.product-cost li {
  font-family: Frutiger45Light,sans-serif;
  font-size: 1em;
  line-height: 1.75em;
}

.product-s .info .product-info ul.product-cost li span {
  font-size: 1.563em;
}

.product-s .info .product-info .info-graphic {
  display: block;
  height: 28px;
}

.product-s .info .product-info ul.product-benefits {
  display: block;
  margin: 10px 0;
  padding: 0;
}

.product-s .info .product-info ul.product-benefits li {
  font-family: Frutiger55,sans-serif;
  color: #032B5A;
  font-size: .75em;
  margin: 0 0 5px;
}

.product-s .info .product-info p.product-cta {
  padding-left: 30px;
  background-position: 0 2px;
  font-family: Frutiger45Light,sans-serif;
  font-size: 1.25em;
  line-height: 1.25em;
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
}

.product-s .supportinglink-prod-s a {
  padding-left: 30px;
}

.no-backgroundsize .promo-article,
.no-js .promo-article {
  background-size: 50%;
  background-position: center center;
}

.backgroundsize .promo-article {
  background-size: cover;
  background-position: right center;
}

.promo-article {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  background: 0 0;
}

.promo-article>a {
  display: block;
  height: auto;
  overflow: hidden;
}

.promo-article .module-body {
  width: 100%;
  float: left;
  display: block;
  margin: 0;
}

.promo-article .module-body .image {
  background-size: cover;
  background-position: center center!important;
  height: 200px;
  background-repeat: no-repeat;
  width: 100%;
  background-color: #efefef;
}

.promo-article .module-body .info {
  background: #f8f8f8;
  padding: 20px;
}

.promo-article .module-body .info p {
  color: #032b5a;
  font-size: 16px;
  font-size: 1rem;
  margin: 0 0 25px;
}

.promo-article .module-body .info p:last-of-type {
  margin: 0;
}

.promo-article .module-body .info .product-cta {
  color: #032b5a;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
  padding: 0 0 5px 25px;
  display: block;
  font-size: .875em;
  margin-bottom: 0;
}

.promo-article .module-body .info h3 {
  color: #032b5a;
  font-size: 1.25em;
  line-height: 1.25em;
  margin: 0 0 10px;
}

.promo-article.dark {
  background-color: #032b5a;
}

.promo-article {
  background-size: auto!important;
  background-position: center center!important;
}

.promo-article .module-body .image {
  background-size: auto;
  background-position: center center!important;
  height: 220px;
  background-repeat: no-repeat;
  width: 100%;
}

.promo-article .module-body .info {
  padding: 20px 20px 0;
}

.promo-article .module-body .info .product-cta {
  bottom: 20px;
  font-size: .875em;
  line-height: 1.25em;
}

.promo-article .module-body {
  width: 100%;
}

.promo-article .module-body .image {
  background-size: auto!important;
  background-position: center center!important;
  height: 200px;
  background-repeat: no-repeat;
  width: 100%;
}

.promo-article .module-body .info {
  padding: 30px 30px 10px;
}

.promo-article.right .module-body {
  width: 100%;
}

.promo-article.right .module-body .image {
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
  width: 50%;
  float: left;
  background-size: auto!important;
  background-position: center center!important;
  height: 300px;
  background-repeat: no-repeat;
}

.promo-article.right .module-body .info {
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
  float: left;
  width: 50%;
  height: 300px;
  padding: 30px 30px 0;
}

.promo .module-body .info.shout h3 {
  font-size: 16px;
  font-size: 1rem;
  color: #419eda!important;
  font-weight: 700;
  margin-bottom: 16px;
}

.promo .module-body .info.shout p.shout {
  font-size: 32px;
  font-size: 2rem;
  color: #061f47;
  line-height: 1em;
}

.promo .module-body .info.shout .tag {
  font-size: 20px;
  font-size: 1.25rem;
  position: absolute;
  bottom: 20px;
}

.promo .module-body .info.shout h3 {
  margin-bottom: 32px;
}

.promo .module-body .info.shout h3 {
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 26px;
}

.promo .module-body .info.shout p.shout {
  font-size: 46px;
  font-size: 2.875rem;
}

.promo .module-body .info.shout .tag {
  font-size: 26px;
  font-size: 1.625rem;
  bottom: 30px;
}

.promo.social .module-body {
  width: 100%;
}

.promo.social .module-body .info p {
  width: 95%;
  margin-bottom: 20px;
}

.promo.social .module-body .info li {
  float: left;
  padding-left: 10px;
}

.promo.social .module-body .info li img {
  width: 60px;
  height: 60px;
}

.promo.social .module-body .info li:first-child {
  padding-left: 0;
}

.promo.social a:hover {
  cursor: pointer;
}

.promo.social a:hover .hover-down {
  display: none;
}

.promo.social.dark:hover {
  cursor: default;
}

.promo.social.dark:hover .hover-down {
  background: 0 0;
}

.promo.social .module-body {
  width: 100%;
}

.promo.social .module-body .info p {
  width: 85%;
  margin-bottom: 30px;
}

.promo.social .module-body .info li img {
  width: 80px;
  height: 80px;
}

.no-backgroundsize .promo,
.no-js .promo {
  background-size: auto;
  background-position: center center;
}

.backgroundsize .promo {
  background-size: cover;
  background-position: right center;
}

.promo {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.promo>a {
  display: block;
  height: auto;
  overflow: hidden;
}

.promo .module-body {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: scroll;
  background-image: none;
  width: 66%;
  height: 150px;
  float: left;
  display: block;
  margin: 0;
}

.promo .module-body .info {
  padding: 20px 0 20px 20px;
}

.promo .module-body .info p {
  color: #fff;
  width: 80%;
  font-size: .75em;
}

.promo .module-body .info .product-cta {
  color: #fff;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -95px transparent;
  position: absolute;
  padding: 0 0 5px 25px;
  display: block;
  font-size: .875em;
  bottom: 15px;
}

.promo .module-body .info h3 {
  color: #fff;
  font-size: 1.25em;
  line-height: 1em;
  margin: 0 0 10px;
}

.promo .diagonal .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-diagonal.png) no-repeat scroll right 0;
}

.promo.iphone {
  background-position: 0 50%!important;
}

.promo.iphone .info h3,
.promo.iphone .info p,
.promo.iphone .info p.product-cta {
  display: none;
}

.promo.tall .module-body {
  height: 180px;
}

.promo.dark {
  background-color: #032b5a;
}

.promo.livePerson .module-body {
  width: 95%;
}

.promo.light {
  background-color: #efefef;
}

.promo.light .module-body .info .product-cta {
  background-position: -2px -35px;
  color: #419eda;
}

.promo.light .module-body .info h3,
.promo.light .module-body .info p {
  color: #032b5a;
}

.promo.light.diagonal .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-diagonal-light.png);
}

.promo.light.diagonal .module-body .product-cta {
  color: #419eda;
}

.promo.transparent {
  background-color: transparent;
}

.promo.transparent .module-body .info .product-cta {
  background-position: -2px -35px;
  color: #419eda;
}

.promo.transparent .module-body .info h3,
.promo.transparent .module-body .info p {
  color: #032b5a;
}

.promo.light-block {
  background-position: center right;
}

.promo.light-block .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box-mobile.png) repeat-x scroll 0 0 transparent;
}

.promo.light-block .module-body .info .product-cta {
  background-position: -2px -35px;
  color: #419eda;
}

.promo.light-block .module-body .info h3,
.promo.light-block .module-body .info p {
  color: #032b5a;
}

.promo {
  background-size: auto!important;
  background-position: center center!important;
}

.promo .module-body {
  height: 200px;
  width: 65%;
}

.promo .module-body .info {
  padding: 20px 0 20px 20px;
  min-height: 90px;
}

.promo .module-body .info h3 {
  font-size: 1.5em;
  line-height: 1.097em;
  margin: 0 0 8px;
}

.promo .module-body .info p {
  width: 100%;
  font-size: .875em;
}

.promo .module-body .info .product-cta {
  bottom: 20px;
  font-size: .875em;
  line-height: 1.25em;
}

.promo.light-block .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box.png) repeat scroll 0 0 transparent;
}

.promo.tall .module-body {
  height: 250px;
}

.promo.tall .module-body .info {
  padding: 30px 0 30px 20px;
}

.promo.tall .module-body .info .product-cta {
  padding: 0 0 5px 27px;
  font-size: 1.313em;
  background-position: 0 -58px;
  font-family: Frutiger45Light,sans-serif;
  font-weight: 100;
}

.promo.tall.light-block .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box-tall-tablet.png);
  width: 63%;
}

.promo.tall.light .product-cta,
.promo.tall.light-block .product-cta {
  background-position: 0 2px!important;
}

.promo.iphone {
  background-size: cover!important;
  background-position: center center!important;
}

.promo {
  background-size: auto!important;
  background-position: center center!important;
}

.promo .module-body {
  width: 65%;
}

.promo .module-body .info {
  min-height: 140px;
  padding: 30px 0 30px 30px;
}

.promo .module-body .info h3 {
  font-size: 1.75em;
}

.promo .module-body .info p {
  width: 75%;
  font-size: .875em;
}

.promo .module-body .info .product-cta {
  font-size: .875em;
}

.promo.tall .module-body {
  height: 300px;
}

.promo.tall .module-body .info {
  padding: 40px 0 40px 30px;
}

.promo.tall .module-body .info .product-cta {
  padding: 0 0 5px 27px;
  font-size: 1.563em;
  background-position: 0 -55px;
  font-family: Frutiger45Light,sans-serif;
  font-weight: 100;
}

.promo.tall.light .module-body,
.promo.tall.light-block .module-body {
  width: 65%;
}

.promo.tall.light .module-body .info .product-cta,
.promo.tall.light-block .module-body .info .product-cta {
  background-position: 0 5px!important;
}

.promo.tall.light-block .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box-tall-desktop.png);
}

.promo.iphone {
  background-size: auto!important;
  background-position: center center!important;
}

.col-3 .promo.light-block .module-body {
  width: 65%;
}

.col-3 .promo.light-block .module-body .info {
  padding: 20px 0 20px 20px;
}

#lp-mobile-chat-button,
.lp-mobile-chat-button {
  display: none;
  background: 0 0;
  padding: 0;
  margin: 0;
  border: 0;
  color: #FFF;
}

.lp {
  height: 150px;
}

.lp {
  height: 200px;
  display: inline;
}

.promo-s-light {
  background-image: url(//static.o2.co.uk/shared/img/modules/arrow-blue-large.png)!important;
  background-position: 90% 50%!important;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-color: #032b5a;
  width: 100%;
  height: 100px;
  display: block;
}

.promo-s-light.light {
  background-color: #efefef;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #d8d8d8;
}

.promo-s-light>a {
  display: block;
  height: auto;
  overflow: hidden;
}

.promo-s-light p {
  width: auto;
  color: #fff;
}

.promo-s-light h3 {
  color: #fff;
  width: auto;
  margin: 0 0 10px;
  font-size: 1.5em;
}

.promo-s-light img {
  float: right;
  width: 30%;
  margin: 0;
}

.promo-s-light .module-body {
  width: 100%;
  height: 100px;
  float: left;
  background-position: 1000px 0;
  background-repeat: no-repeat;
  background-color: transparent;
  display: block;
  margin: 0;
}

.promo-s-light .module-body .info,
.promo-s-light .module-body .module-body-content {
  padding: 20px 0 20px 20px;
  min-height: 50px;
  width: 75%;
  float: left;
}

.promo-s-light .module-body .info p,
.promo-s-light .module-body .module-body-content p {
  font-size: .75em;
  line-height: 1em;
}

.promo-s-light .module-body .info .product-cta,
.promo-s-light .module-body .module-body-content .product-cta {
  display: none;
}

.promo-s-light {
  height: 200px;
  background-image: none!important;
}

.promo-s-light.light {
  border: 0;
  background-color: #f8f8f8;
}

.promo-s-light .module-body {
  width: 100%;
  height: 200px;
}

.promo-s-light .module-body .dividers {
  height: 200px;
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-light-vertical-border.png);
  background-position: left center;
  background-repeat: no-repeat;
}

.promo-s-light .module-body .info,
.promo-s-light .module-body .module-body-content {
  padding: 20px 0 20px 20px;
}

.promo-s-light .module-body .info h3,
.promo-s-light .module-body .module-body-content h3 {
  font-size: 1.5em;
}

.promo-s-light .module-body .info p,
.promo-s-light .module-body .module-body-content p {
  font-size: .875em;
}

.promo-s-light .module-body .info .product-cta,
.promo-s-light .module-body .module-body-content .product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
  position: absolute;
  bottom: 30px;
  padding: 0 0 5px 25px;
  display: block;
  font-size: .875em;
}

.promo-s-light .module-body {
  background-position: center top;
}

.promo-s-light .module-body .info,
.promo-s-light .module-body .module-body-content {
  width: 52%;
  min-height: 140px;
  padding: 30px 0 30px 30px;
}

.promo-s-light .module-body .info h3,
.promo-s-light .module-body .module-body-content h3 {
  font-size: 1.75em;
}

.no-backgroundsize .promo-s .bkg-img,
.no-js .promo-s .bkg-img {
  background-size: auto;
  background-position: center center;
}

.backgroundsize .promo-s .bkg-img {
  background-size: cover;
  background-position: right center;
}

.promo-s,
.promo-s .bkg-img {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.promo-s a {
  float: left;
  display: block;
  height: auto;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.promo-s .module-body {
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: scroll;
  background-image: none;
  width: 66%;
  height: 150px;
  float: left;
  display: block;
  margin: 0;
}

.promo-s .module-body .info,
.promo-s .module-body .module-body-content {
  padding: 20px 0 20px 20px;
}

.promo-s .module-body .info p,
.promo-s .module-body .module-body-content p {
  color: #fff;
  width: 80%;
  font-size: .75em;
}

.promo-s .module-body .info .product-cta,
.promo-s .module-body .module-body-content .product-cta {
  color: #fff;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -95px transparent;
  position: absolute;
  padding: 0 0 5px 25px;
  display: block;
  font-size: .875em;
  bottom: 15px;
}

.promo-s .module-body .info h3,
.promo-s .module-body .module-body-content h3 {
  color: #fff;
  font-size: 1.25em;
  line-height: 1em;
  margin: 0 0 10px;
}

.promo-s .diagonal .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-diagonal.png) no-repeat scroll right 0;
}

.promo-s.tall .module-body {
  height: 150px;
}

.promo-s.tall .module-body .info,
.promo-s.tall .module-body .module-body-content {
  padding: 25px 0 25px 20px;
  min-height: 100px;
}

.promo-s.dark {
  background-color: #032b5a;
}

.promo-s.light {
  background-color: #efefef;
}

.promo-s.light .module-body .info .product-cta,
.promo-s.light .module-body .module-body-content .product-cta {
  background-position: -2px -35px;
  color: #419eda;
}

.promo-s.light .module-body .info h3,
.promo-s.light .module-body .info p,
.promo-s.light .module-body .module-body-content h3,
.promo-s.light .module-body .module-body-content p {
  color: #032b5a;
}

.promo-s.light.diagonal .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-diagonal-light.png);
}

.promo-s.light.diagonal .module-body .product-cta {
  color: #419eda;
}

.promo-s.transparent {
  background-color: transparent;
}

.promo-s.transparent .module-body .info .product-cta,
.promo-s.transparent .module-body .module-body-content .product-cta {
  background-position: -2px -35px;
  color: #419eda;
}

.promo-s.transparent .module-body .info h3,
.promo-s.transparent .module-body .info p,
.promo-s.transparent .module-body .module-body-content h3,
.promo-s.transparent .module-body .module-body-content p {
  color: #032b5a;
}

.promo-s.light-block {
  background-position: center right;
}

.promo-s.light-block .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box-mobile.png) repeat-x scroll 0 0 transparent;
}

.promo-s.light-block .module-body .info .product-cta,
.promo-s.light-block .module-body .module-body-content .product-cta {
  background-position: -2px -35px;
  color: #419eda;
}

.promo-s.light-block .module-body .info h3,
.promo-s.light-block .module-body .info p,
.promo-s.light-block .module-body .module-body-content h3,
.promo-s.light-block .module-body .module-body-content p {
  color: #032b5a;
}

.promo-s.recycle {
  cursor: default!important;
}

.promo-s.recycle .module-body .info iframe,
.promo-s.recycle .module-body .module-body-content iframe {
  height: 100%;
  width: 100%;
}

.promo-s .bkg-img {
  background-size: auto!important;
  background-position: center top!important;
}

.promo-s h3 {
  font-size: 1.5em;
  line-height: 1.097em;
  margin: 0 0 8px;
}

.promo-s .module-body {
  height: 200px;
  width: 155px;
}

.promo-s .module-body .info,
.promo-s .module-body .module-body-content {
  border-left: 1px solid #fff;
  padding: 20px 0 20px 20px;
  height: 160px;
}

.promo-s .module-body .info h3,
.promo-s .module-body .module-body-content h3 {
  font-size: 1.5em;
}

.promo-s .module-body .info p,
.promo-s .module-body .module-body-content p {
  width: 100%;
  font-size: .75em;
  font-family: Frutiger55,sans-serif;
}

.promo-s .module-body .info .product-cta,
.promo-s .module-body .module-body-content .product-cta {
  bottom: 20px;
}

.promo-s.transparent .info,
.promo-s.transparent .module-body-content {
  border-left: 1px solid #efefef;
}

.promo-s.light-block .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box.png) repeat scroll 0 0 transparent;
}

.promo-s.diagonal .module-body {
  width: 90%;
}

.promo-s.diagonal .module-body p {
  width: 85%;
}

.promo-s.recycle .module-body .info h3,
.promo-s.recycle .module-body .module-body-content h3 {
  height: 52px;
}

.promo-s.tall .module-body {
  height: 310px;
  width: 92%;
}

.promo-s.tall .module-body .info,
.promo-s.tall .module-body .module-body-content {
  padding: 30px 0 30px 20px;
  min-height: 250px;
}

.promo-s.tall .module-body .info p,
.promo-s.tall .module-body .module-body-content p {
  width: 90%;
  font-size: .875em;
}

.promo-s.tall.light-block .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box-tall-tablet.png);
  width: 63%;
}

.col-3 .module:first-child .info,
.col-3 .module:first-child .module-body-content {
  border-left: 0;
}

.promo-s .bkg-img {
  background-size: auto!important;
  background-position: center top!important;
}

.promo-s .module-body {
  width: 80%;
}

.promo-s .module-body .info,
.promo-s .module-body .module-body-content {
  height: 140px;
  padding: 30px 0 30px 30px;
}

.promo-s .module-body .info h3,
.promo-s .module-body .module-body-content h3 {
  font-size: 1.5em;
}

.promo-s .module-body .info p,
.promo-s .module-body .module-body-content p {
  width: 75%;
  font-size: .75em;
}

.promo-s .module-body .info .product-cta,
.promo-s .module-body .module-body-content .product-cta {
  font-size: .875em;
}

.promo-s.diagonal .module-body {
  width: 80%;
}

.promo-s.diagonal .module-body p {
  width: 85%;
}

.promo-s.recycle .module-body .info h3,
.promo-s.recycle .module-body .module-body-content h3 {
  height: 42px;
}

.promo-s.tall .module-body {
  height: 260px;
  width: 65%;
}

.promo-s.tall .module-body .info,
.promo-s.tall .module-body .module-body-content {
  min-height: 200px;
  padding: 30px 0 30px 30px;
}

.promo-s.tall .module-body .info h3,
.promo-s.tall .module-body .module-body-content h3 {
  font-size: 1.75em;
}

.promo-s.tall .module-body .info p,
.promo-s.tall .module-body .module-body-content p {
  font-size: .875em;
  width: 90%;
}

.promo-s.tall.light .module-body,
.promo-s.tall.light-block .module-body {
  width: 67%;
}

.promo-s.tall.light-block .module-body {
  background-image: url(//static.o2.co.uk/shared/img/modules/module-bg-white-box-tall-desktop.png);
}

.col-2 .light-block .module-body {
  width: 240px;
}

.col-3 .promo-s.light-block .module-body {
  width: 65%;
}

.col-3 .promo-s.light-block .module-body .info p,
.col-3 .promo-s.light-block .module-body .module-body-content p {
  width: 85%;
}

.legacy .promo-xs-light {
  width: 25%!important;
  overflow: hidden!important;
}

.promo-xs-light {
  height: 100px;
  border-bottom: 1px solid #d8d8d8;
  background-color: #f8f8f8;
}

.promo-xs-light .module-body {
  padding: 20px 20px 0 15px;
  height: 80px;
}

.promo-xs-light .bgrimage {
  width: 20%;
  width: 60px;
  height: 60px;
  float: left;
}

.promo-xs-light .bgrimage img {
  width: 100%;
  max-width: 42px;
  height: auto;
}

.promo-xs-light .info {
  width: 65%;
  height: 100%;
  float: left;
  padding-left: 10px;
}

.promo-xs-light .info h3 {
  font-size: 20px;
  font-size: 1.25rem;
  color: #032b5a;
  font-family: Frutiger45Light,sans-serif;
  padding-bottom: 6px;
}

.promo-xs-light .info p {
  font-size: 12px;
  font-size: .75rem;
  font-family: Frutiger55,sans-serif;
  padding-bottom: 6px;
}

.promo-xs-light .info p.product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -3px -35px transparent;
  position: absolute;
  right: 20px;
  top: 43px;
}

.promo-xs-light .info p.product-cta.dnd {
  width: 0;
  height: 16px;
  padding-left: 20px;
  overflow: hidden;
}

.col-4 .module.promo-xs-light {
  width: 50%;
  display: block;
  float: left;
}

.promo-xs-light {
  height: 140px;
  border-bottom: 0;
}

.promo-xs-light .module-body {
  padding: 30px 0 0;
  height: 110px;
}

.promo-xs-light .module-body .divider1 {
  border-left: 1px solid #efefef;
  height: 80px;
}

.promo-xs-light .bgrimage {
  margin-right: 20px;
  width: 20%;
  max-width: 60px;
  max-height: 60px;
  float: right;
  background-size: contain;
  background-position: right top;
}

.promo-xs-light .bgrimage img {
  max-width: 50px;
}

.promo-xs-light .info {
  margin-left: 20px;
  width: 63%;
  height: 100px;
  float: left;
  padding-left: 0;
}

.promo-xs-light .info p.product-cta {
  font-size: 14px;
  font-size: .875rem;
  position: absolute;
  left: 20px;
  top: 110px!important;
}

.promo-xs-light .info p.product-cta.dnd {
  width: 100%!important;
  height: 16px;
  padding-left: 20px;
  overflow: visible;
}

.d2 {
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 88%;
  height: 1px;
}

div.promo-xs-light:first-child .module-body .divider1 {
  border-left: 0 solid transparent;
}

div.promo-xs-light:nth-child(3)>a:nth-child(1)>div:nth-child(1)>div:nth-child(1) {
  border-left: 0;
}

div.promo-xs-light:nth-child(3)>a:nth-child(1)>div:nth-child(1)>div:nth-child(1)>div:nth-child(3),
div.promo-xs-light:nth-child(4)>a:nth-child(1)>div:nth-child(1)>div:nth-child(1)>div:nth-child(3) {
  display: none;
}

.col-4 .module.promo-xs-light {
  width: 25%;
}

div.promo-xs-light:nth-child(3)>a:nth-child(1)>div:nth-child(1)>div:nth-child(1) {
  border-left: 1px solid #efefef;
}

.promo-xs-light {
  height: 170px;
  border-bottom: 0;
}

.promo-xs-light .module-body {
  padding: 30px 0 0;
  height: 140px;
}

.promo-xs-light .module-body .divider1 {
  height: 110px;
}

.promo-xs-light .bgrimage {
  margin-right: 20px;
}

.promo-xs-light .bgrimage img {
  max-width: 60px;
}

.promo-xs-light .info {
  margin-left: 30px;
  width: 54%;
}

.promo-xs-light .info p {
  font-size: 12px;
  font-size: .75rem;
}

.promo-xs-light .info p.product-cta {
  font-size: 14px;
  font-size: .875rem;
  position: absolute;
  left: 30px;
  top: 130px!Important;
}

.promo-xs-light .d2 {
  display: none;
}

.promo-xs-text {
  height: 100px;
  border-bottom: 1px solid #d8d8d8;
}

.promo-xs-text .module-body {
  padding: 20px 20px 0 10px;
  height: 80px;
}

.promo-xs-text .bgrimage {
  width: 20%;
  width: 60px;
  height: 60px;
  float: left;
}

.promo-xs-text .bgrimage img {
  width: 100%;
  max-width: 60px;
  height: auto;
}

.promo-xs-text .info {
  width: 80%;
  height: 100%;
  float: left;
  padding-left: 10px;
}

.promo-xs-text .info h3 {
  font-size: 20px;
  font-size: 1.25rem;
  color: #032b5a;
  font-family: Frutiger45Light,sans-serif;
  padding-bottom: 6px;
}

.promo-xs-text .info p {
  font-size: 12px;
  font-size: .75rem;
  font-family: Frutiger55,sans-serif;
  padding-bottom: 6px;
}

.promo-xs-text .info p.product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -3px -35px transparent;
  font-size: 14px;
  font-size: .875rem;
  position: absolute;
  right: 20px;
  top: 43px;
}

.promo-xs-text .info p.product-cta.dnd {
  width: 0;
  height: 16px;
  padding-left: 23px;
  overflow: hidden;
}

.col-4 .module.promo-xs-text {
  width: 50%;
  display: block;
  float: left;
}

.promo-xs-text {
  height: 200px;
  border-bottom: 0;
}

.promo-xs-text .module-body {
  padding: 0;
  height: 200px;
}

.promo-xs-text .module-body .divider1 {
  border-left: 1px solid #f8f8f8;
  height: 200px;
}

.promo-xs-text .bgrimage {
  margin-right: 20px;
  width: 20%;
  max-width: 60px;
  max-height: 60px;
  float: right;
  background-size: contain;
  background-position: right top;
}

.promo-xs-text .info {
  margin-left: 20px;
  padding-top: 30px;
  width: 78%;
  height: 100px;
  float: left;
  padding-left: 0;
}

.promo-xs-text .info h3 {
  padding-bottom: 12px;
}

.promo-xs-text p.product-cta {
  position: absolute;
  left: 20px;
  top: 160px!important;
}

.promo-xs-text p.product-cta.dnd {
  width: 100%!important;
  height: 16px;
  padding-left: 20px;
  overflow: visible;
}

.col-4 .module.promo-xs-text {
  width: 25%;
}

.promo-xs-text .info {
  margin-left: 30px;
}

.promo-xs-text p.product-cta {
  left: 30px;
}

.promo-xs {
  background: #efefef url("") top right no-repeat;
}

.promo-xs a:hover {
  cursor: pointer;
}

.promo-xs a:hover .hover-down {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background: url(//static.o2.co.uk/shared/img/hover-down-light.png) repeat scroll 0 0 transparent;
}

.promo-xs.transparent {
  background-color: transparent!important;
}

.promo-xs.dark:hover .hover-down,
.promo-xs.light:hover .hover-down,
.promo-xs.product-s:hover .hover-down,
.promo-xs.transparent:hover .hover-down {
  background: url(//static.o2.co.uk/shared/img/hover-down.png) repeat scroll 0 0 transparent;
}

.promo-xs {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #d8d8d8;
  width: 100%;
  height: 100px;
  position: relative;
  display: block;
}

.promo-xs a {
  color: #032b5a;
  float: left;
  height: 100px;
  width: 100%;
}

.promo-xs .module-body {
  width: 100%;
  height: 100px;
}

.promo-xs .module-body .info {
  width: 75%;
}

.promo-xs .module-body .info h3 {
  font-size: 1.5em;
  margin: 0 0 13px;
}

.promo-xs .module-body .info p {
  font-size: .75em;
}

.promo-xs .module-body .info .product-cta {
  display: none;
}

.promo-xs.dark,
.promo-xs.light {
  background-color: #efefef;
}

.promo-xs.short a,
.promo-xs.short a .module-body {
  height: 100px;
}

.promo-xs.short a .module-body .info {
  padding: 25px 70px 0 20px;
  width: auto;
  min-height: 50px;
}

.promo-xs.tall a,
.promo-xs.tall a .module-body {
  height: 100px;
}

.promo-xs.tall a .module-body .info {
  padding: 20px 0 0 20px;
  min-height: 50px;
}

.promo-xs {
  border: 0;
}

.promo-xs a {
  width: 100%;
}

.promo-xs a .module-body .info .product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -3px -35px transparent;
  display: block;
  position: absolute;
  bottom: 30px;
  left: 20px;
}

.promo-xs a .module-body .info h3 {
  font-size: 1.563em;
}

.promo-xs a .module-body .info p {
  font-size: .875em;
}

.promo-xs.light,
.promo-xs.transparent {
  background-image: none;
}

.promo-xs.dark a {
  color: #fff;
}

.promo-xs.dark a .module-body .info .product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -3px -95px transparent;
}

.promo-xs.short {
  height: 120px!important;
}

.promo-xs.short a,
.promo-xs.short a .module-body {
  height: 120px;
}

.promo-xs.short a .module-body .info {
  height: 80px;
  padding: 20px 20px 0;
}

.promo-xs.short a .module-body .info h3 {
  font-size: 1.25em;
  margin: 0;
}

.promo-xs.short a .module-body .info p {
  display: none;
}

.promo-xs.short a .module-body .info .product-cta {
  padding: 0 0 0 23px;
  bottom: 20px;
  display: block;
}

.promo-xs.tall {
  height: 200px!important;
}

.promo-xs.tall a,
.promo-xs.tall a .module-body {
  height: 200px;
}

.promo-xs.tall a .module-body .info {
  padding: 30px 0 20px 20px;
}

.promo-xs.tall a .module-body .info .product-cta {
  padding: 0 0 0 23px;
}

.promo-xs.with-nav {
  height: 200px!important;
}

.promo-xs.with-nav a,
.promo-xs.with-nav a .module-body {
  height: 200px;
}

.promo-xs.with-nav a .module-body .info {
  padding: 30px 0 20px 15px;
  width: 55%;
}

.promo-xs {
  height: 200px;
}

.promo-xs a .module-body .info .product-cta {
  left: 30px;
}

.promo-xs.short {
  height: 150px!important;
}

.promo-xs.short a,
.promo-xs.short a .module-body {
  height: 150px;
}

.promo-xs.short a .module-body .info {
  padding: 30px 30px 0;
  height: 90px;
}

.promo-xs.short a .module-body .info h3 {
  font-size: 1.563em;
}

.promo-xs.short a .module-body .info .product-cta {
  padding: 0 0 0 23px;
  bottom: 30px;
}

.promo-xs.tall a .module-body .info {
  padding: 30px 0 20px 30px;
}

.no-backgroundsize .promo-xxl-short-custom,
.no-js .promo-xxl-short-custom {
  background-size: auto;
}

.backgroundsize .promo-xxl-short-custom div.promoxxlWrapper,
.no-backgroundsize .promo-xxl-short-custom div.promoxxlWrapper,
.no-js .promo-xxl-short-custom div.promoxxlWrapper {
  background-position: 15px 25px;
  background-repeat: no-repeat;
}

.promo-xxl-short-custom {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  background: url(//static.o2.co.uk/shared/img/label-xxl-shadow1100.png) no-repeat scroll 0 0 transparent;
}

.promo-xxl-short-custom .contentWrapper {
  width: auto;
  margin-left: 84px;
  height: 100%;
}

.promo-xxl-short-custom div.promoxxlWrapper {
  display: block;
  height: 145px;
  overflow: hidden;
}

.promo-xxl-short-custom h3 {
  padding: 35px 0 12px 20px;
  font-size: 1.25em;
  font-family: Frutiger45Light,sans-serif;
  max-width: 66%;
}

.promo-xxl-short-custom p {
  padding: 0 0 8px 20px;
  min-width: 30%;
  font-size: .75em;
  font-family: Frutiger55,sans-serif;
}

.promo-xxl-short-custom p>a {
  color: #419eda;
}

.promo-xxl-short-custom p>a:hover {
  text-decoration: underline!important;
}

.promo-xxl-short-custom span.product-cta {
  color: #419eda;
}

.promo-xxl-short-custom p.product-cta {
  position: absolute;
  bottom: 25px;
  white-space: nowrap;
  margin-left: 17px;
  padding: 0 0 0 25px;
  display: block;
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
}

.promo-xxl-short-custom.light {
  background-color: transparent;
  background-repeat: no-repeat;
}

.promo-xxl-short-custom.light h3,
.promo-xxl-short-custom.light p {
  color: #032b5a;
}

.promo-xxl-short-custom.light p.product-cta {
  color: #419eda;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
}

.promo-xxl-short-custom.dark {
  background-color: #032b5a;
}

.promo-xxl-short-custom.dark h3,
.promo-xxl-short-custom.dark p,
.promo-xxl-short-custom.dark p.product-cta {
  color: #fff;
}

.promo-xxl-short-custom.dark p.product-cta {
  color: #fff;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -95px transparent;
}

.promo-xxl-short-custom {
  background-size: auto!important;
  height: 150px;
}

.promo-xxl-short-custom .contentWrapper {
  margin-left: 84px;
  width: 80%;
}

.promo-xxl-short-custom h3 {
  padding: 35px 0 12px 25px;
}

.promo-xxl-short-custom p {
  padding: 0 0 12px 25px;
  font-size: .875em;
}

.promo-xxl-short-custom.light {
  background-color: transparent;
}

.promo-xxl-short-custom.dark {
  background-color: #032b5a;
}

.promo-xxl-short-custom p.product-cta {
  margin-left: 22px;
}

.promo-xxl-short-custom {
  background-size: auto!important;
}

.promo-xxl-short-custom div.promoxxlWrapper {
  background-position: 20px center!important;
  background: transparent url() 20px center no-repeat;
}

.promo-xxl-short-custom .contentWrapper {
  width: 80%;
}

.promo-xxl-short-custom h3 {
  padding: 35px 0 12px 30px;
  font-size: 1.75em;
  font-family: Frutiger45Light,sans-serif;
}

.promo-xxl-short-custom p {
  padding: 0 0 12px 30px;
}

.promo-xxl-short-custom p.product-cta {
  margin-left: 27px;
}

.no-backgroundsize .promo-xxl-short,
.no-js .promo-xxl-short {
  background-size: auto;
  background-position: right bottom;
}

.backgroundsize .promo-xxl-short {
  background-size: cover;
  background-position: right bottom;
}

.promo-xxl-short {
  position: relative;
  display: block;
  width: 100%;
  height: 180px;
  overflow: hidden;
}

.promo-xxl-short>a {
  display: block;
  height: 180px;
  overflow: hidden;
}

.promo-xxl-short h3 {
  padding: 25px 0 12px 20px;
  font-size: 1.25em;
  font-family: Frutiger45Light,sans-serif;
  max-width: 66%;
}

.promo-xxl-short p {
  padding: 0 0 8px 20px;
  min-width: 30%;
  font-size: .75em;
  font-family: Frutiger55,sans-serif;
  max-width: 55%;
}

.promo-xxl-short p.product-cta {
  position: absolute;
  bottom: 25px;
  white-space: nowrap;
  margin-left: 17px;
  padding: 0 0 0 25px;
  display: block;
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
}

.promo-xxl-short.light {
  background-color: #efefef;
  background-repeat: no-repeat;
}

.promo-xxl-short.light h3,
.promo-xxl-short.light p {
  color: #032b5a;
}

.promo-xxl-short.light p.product-cta {
  color: #419eda;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
}

.promo-xxl-short.dark {
  background-color: #032b5a;
}

.promo-xxl-short.dark h3,
.promo-xxl-short.dark p,
.promo-xxl-short.dark p.product-cta {
  color: #fff;
}

.promo-xxl-short.dark p.product-cta {
  color: #fff;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -95px transparent;
}

.promo-xxl-short {
  background-size: auto!important;
  background-position: center bottom!important;
  height: 150px;
}

.promo-xxl-short>a {
  height: 150px;
}

.promo-xxl-short h3 {
  padding: 25px 0 12px 25px;
}

.promo-xxl-short p {
  padding: 0 0 12px 25px;
  max-width: 300px;
  font-size: .875em;
}

.promo-xxl-short.light {
  background-color: #efefef;
}

.promo-xxl-short.dark {
  background-color: #032b5a;
}

.promo-xxl-short p.product-cta {
  margin-left: 22px;
}

.promo-xxl-short {
  background-size: auto!important;
  background-position: center bottom!important;
}

.promo-xxl-short h3 {
  padding: 25px 0 12px 30px;
  font-size: 1.75em;
  font-family: Frutiger45Light,sans-serif;
}

.promo-xxl-short p {
  padding: 0 0 12px 30px;
}

.promo-xxl-short p.product-cta {
  margin-left: 27px;
}

.no-backgroundsize .promo-xxl,
.no-js .promo-xxl {
  background-size: auto;
  background-position: center center;
}

.backgroundsize .promo-xxl {
  background-size: cover;
  background-position: right center;
}

.promo-xxl {
  height: 180px;
  overflow: hidden;
  position: relative;
}

.promo-xxl .module-body {
  width: 100%;
  display: block;
  height: 180px;
  margin: 0;
}

.promo-xxl .module-body .info {
  width: 66%;
  margin: 25px 0 0 20px;
  height: 155px;
}

.promo-xxl .module-body .info h3 {
  font-family: Frutiger45Light,sans-serif;
  width: auto;
  margin: 0 0 8px;
  padding: 0;
  font-size: 22px;
  font-size: 1.375rem;
}

.promo-xxl .module-body .info p {
  padding: 0;
  width: 80%;
  font-family: Frutiger55,sans-serif;
  font-size: 12px;
  font-size: .75rem;
}

.promo-xxl .module-body .info .product-cta {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -95px transparent;
  position: absolute;
  bottom: 15px;
  padding: 0 0 5px 25px;
  display: block;
  font-size: 14px;
  font-size: .875rem;
}

.promo-xxl.dark {
  background-color: #032b5a;
}

.promo-xxl.dark .product-cta,
.promo-xxl.dark h3,
.promo-xxl.dark p {
  color: #fff;
}

.promo-xxl.light {
  background-color: #efefef;
}

.promo-xxl.light .module-body .info .product-cta {
  background-position: 0 -35px;
}

.promo-xxl {
  background-size: auto!important;
  background-position: center center!important;
  height: 240px;
}

.promo-xxl .module-body {
  height: 240px;
}

.promo-xxl .module-body .info {
  width: 50%;
  margin: 30px 0 0 30px;
  height: 210px;
}

.promo-xxl .module-body .info h3 {
  font-size: 30px;
  font-size: 1.875rem;
  margin-bottom: 12px;
  padding-right: 30px;
}

.promo-xxl .module-body .info p {
  font-size: 14px;
  font-size: .875rem;
  padding-right: 30px;
}

.promo-xxl .module-body .info .product-cta {
  bottom: 25px;
  padding-left: 27px;
  font-family: Frutiger45Light,sans-serif;
  font-size: 21px;
  font-size: 1.3125rem;
}

.promo-xxl.right {
  background-position: center center!important;
}

.promo-xxl.right .info {
  float: right;
  margin: 30px 0 0;
}

.promo-xxl.right .info h3,
.promo-xxl.right .info p {
  padding-right: 30px;
}

.promo-xxl.dark .module-body .info .product-cta {
  background-position: 0 -59px;
}

.promo-xxl.light .module-body .info .product-cta {
  background-position: 0 1px;
}

.promo-xxl {
  height: 400px;
  width: 100%;
}

.promo-xxl .module-body {
  height: 400px;
}

.promo-xxl .module-body .info {
  width: 42%;
  margin: 60px 0 0 30px;
  height: 340px;
}

.promo-xxl .module-body .info h3 {
  font-size: 46px;
  font-size: 2.875rem;
  margin-bottom: 20px;
}

.promo-xxl .module-body .info p {
  font-size: 16px;
  font-size: 1rem;
}

.promo-xxl .module-body .info .product-cta {
  bottom: 55px;
  font-size: 25px;
  font-size: 1.5625rem;
}

.promo-xxl.right {
  background-position: center center!important;
}

.promo-xxl.right .info {
  margin: 60px 0 0;
}

.promo-xxl.dark .module-body .info .product-cta {
  background-position: 0 -55px;
}

.promo-xxl.light .module-body .info .product-cta {
  background-position: 0 5px;
}

.no-backgroundsize .promoapp-s-short,
.no-js .promoapp-s-short {
  background-size: auto;
  background-position: 95% 50%;
}

.backgroundsize .promoapp-s-short {
  background-size: 75px 105px;
  background-position: 95% 50%;
}

.promoapp-s-short {
  position: relative;
  display: block;
  width: 100%;
  height: 150px;
  overflow: hidden;
  background-color: #efefef;
  background-repeat: no-repeat;
}

.promoapp-s-short>a {
  display: block;
  height: auto;
  overflow: hidden;
}

.promoapp-s-short .divider320 {
  display: block;
  width: 100%;
  height: 150px;
  background: url(//static.o2.co.uk/shared/img/dividerpromoapp320.png) center bottom no-repeat;
}

.promoapp-s-short h3 {
  padding: 25px 0 8px 20px;
  font-size: 1.5em;
  color: #032b5a;
  font-family: Frutiger45Light,sans-serif;
}

.promoapp-s-short p {
  padding: 0 10px 0 20px;
  max-width: 60%;
  min-width: 30%;
  font-size: .75em;
  font-family: Frutiger55,sans-serif;
  color: #032b5a;
}

.promoapp-s-short p.product-cta {
  position: absolute;
  bottom: 25px;
  margin-left: 17px;
  padding: 0 0 0 25px;
  display: block;
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
  color: #419eda;
}

.promoapp-s-short {
  background-size: auto!important;
  background-position: 20px 64px!important;
  height: 287px;
}

.promoapp-s-short .divider320 {
  display: block;
  width: 100%;
  height: 287px;
  background: url(//static.o2.co.uk/shared/img/dividerpromoapp575.png) right top no-repeat;
}

.promoapp-s-short h3 {
  font-size: 1.25em;
  width: 100%;
  padding: 30px 0 8px 20px;
}

.promoapp-s-short p {
  max-width: 84%;
  font-size: .875em;
  line-height: 1.1em;
  padding: 120px 20px 8px;
}

.promoapp-s-short p.product-cta {
  bottom: 30px;
}

.promoapp-s-short {
  background-size: auto!important;
  background-position: 30px 68px!important;
  height: 200px;
}

.promoapp-s-short .divider320 {
  height: 200px;
  background: url(//static.o2.co.uk/shared/img/dividerpromoapp1100.png) right top no-repeat;
}

.promoapp-s-short h3 {
  font-size: 1.75em;
  width: 100%;
  padding: 30px 0 8px 30px;
}

.promoapp-s-short p {
  padding: 0 20px 8px 136px;
  font-size: .875em;
  display: block;
}

.promoapp-s-short p.product-cta {
  margin-left: 136px;
}

.no-js #search .accordian {
  display: none;
}

#search .searchmin {
  min-height: 270px;
}

#search #filter-left h3 {
  margin-bottom: 25px;
}

#search #filter-left p {
  margin-bottom: 20px;
  font-weight: 700;
}

#search .dNone {
  display: none;
}

#search .minwidth100 {
  min-width: 100%;
}

#search .left-nav-on .default-content-nav {
  padding: 0 20px;
  width: 90%;
}

#search .default-content-container-results {
  width: 100%;
}

#search .default-content-container-results h2 {
  font-size: 16px;
  font-size: 1rem;
}

#search .default-content-container-results .search-results {
  width: 100%;
}

#search .default-content-container-results .search-results h3 {
  font-size: 15px;
  font-size: .9375rem;
}

#search .accordian {
  border-bottom: 1px solid #ececec;
  margin-bottom: 20px;
}

#search .accordian h2 {
  cursor: pointer;
  color: #419eda;
  font-size: 15px;
  font-size: .9375rem;
  background: #efefef;
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  margin-bottom: -1px;
  padding: 12px 0 12px 20px;
}

#search .accordian h2 span {
  padding-right: 10px;
}

#search .accordian .boldItem {
  font-weight: 700;
  background: #efefef;
  display: block;
  padding: 10px 20px;
  margin-bottom: 0!important;
}

#search #filter-left a.filterItem {
  cursor: pointer!important;
}

#search #filter-left a.filterItem:active,
#search #filter-left a.filterItem:hover,
#search #filter-left a.selectedFilter {
  color: #419eda!important;
  cursor: default;
}

#search #filter-left a.filterItem:active:hover,
#search #filter-left a.filterItem:hover:hover,
#search #filter-left a.selectedFilter:hover {
  text-decoration: underline!important;
}

#search .noResultsContainer {
  color: #032b5a;
}

#search .noResultsContainer .headingNR {
  font-family: Frutiger45Light,sans-serif;
  font-size: 25px;
  font-size: 1.5625rem;
}

#search .noResultsContainer .subHeadingNR {
  font-family: Frutiger55,sans-serif;
  font-size: 16px;
  font-size: 1rem;
}

#search .noResultsContainer .promo-s .module-body .info p {
  width: 80%;
}

#search .noResultsContainer .promo-s .module-body .info .product-cta {
  bottom: 0;
}

#search .label-m {
  padding: 21px 0 0;
  margin-bottom: 30px;
}

#search .label-m h2 {
  padding-bottom: 0;
}

#search .label-m .line {
  height: 2px;
  background-image: url(//static.o2.co.uk/shared/img/label-xxl-line1100.png);
}

#search .ad-results {
  margin-bottom: 30px;
}

#search .recommendedItem {
  width: 100%;
}

#search .recommendedItem a {
  color: #419eda;
  font-size: 16px;
  font-size: 1rem;
  background-image: url(//static.o2.co.uk/shared/img/arrow-right.png);
  background-position: 20px 50%;
  background-repeat: no-repeat;
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  margin-bottom: -1px;
  padding: 12px 0 12px 36px;
  display: block;
}

#search .recommendedItem p {
  display: none;
}

#search .item {
  position: relative;
  background: #efefef;
  border-bottom: 1px solid #d8d8d8;
  height: auto;
  clear: both;
}

#search .item p {
  margin: 0;
  padding: 0;
}

#search .item a.moduleHighlight {
  padding: 20px;
  display: block;
  text-decoration: none!important;
}

#search .item .marbotDesc {
  margin-bottom: 8px;
}

#search .item .resultVideoTitle {
  font-family: Frutiger55,sans-serif;
  width: 100%;
  margin-bottom: 8px;
}

#search .item .resultVideoImage {
  width: 135px;
  float: left;
}

#search .item .resultVideoData {
  color: #032b5a;
}

#search .item .resultVideoData a {
  font-size: 16px;
  font-size: 1rem;
}

#search .item .resultVideoData p {
  font-family: Frutiger55,sans-serif;
  font-size: 14px;
  font-size: .875rem;
}

#search .item .resultArea {
  width: 100%;
}

#search .item .resultArea .resTitleDiv {
  color: #419eda;
  font-size: 16px;
  font-size: 1rem;
  font-family: Frutiger55,sans-serif;
}

#search .item .resultArea p {
  margin-top: 8px;
  color: #032b5a;
  font-size: 14px;
  font-size: .875rem;
  font-family: Frutiger55,sans-serif;
}

#search .item .categoryArea,
#search .pagenumber {
  display: none;
}

#search .pagenumberMobile {
  width: 100%;
  display: block;
  color: #032b5a;
  background: #efefef;
  border-bottom: 1px solid #d8d8d8;
  padding: 15px 0;
}

#search .pagenumberMobile span {
  display: block;
  margin: 0 0 0 20px;
  padding: 0;
}

#search .nobp2andbp3 {
  display: none;
}

#search .paginationContainer {
  min-height: 40px;
  font-family: Frutiger55,sans-serif;
  font-size: 14px;
  font-size: .875rem;
  color: #032b5a;
  background: #efefef;
}

#search .paginationContainer .noMobile {
  display: none;
}

#search .paginationContainer .mobilepagination {
  display: block;
}

#search .paginationContainer .mobilepagination .mobPrevPag {
  width: 50%;
  overflow: hidden;
  float: left;
  text-align: left;
}

#search .paginationContainer .mobilepagination .mobPrevPag a {
  font-family: Frutiger55,sans-serif;
  font-size: 16px;
  font-size: 1rem;
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  background-image: url(//static.o2.co.uk/shared/img/arrow-left.png);
  background-position: 20px 50%;
  background-repeat: no-repeat;
  padding-left: 38px;
}

#search .paginationContainer .mobilepagination .mobNextPag {
  width: 50%;
  overflow: hidden;
  float: right;
  text-align: right;
}

#search .paginationContainer .mobilepagination .mobNextPag a {
  font-family: Frutiger55,sans-serif;
  font-size: 16px;
  font-size: 1rem;
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  background-image: url(//static.o2.co.uk/shared/img/arrow-right-search.png);
  background-position: right 50%;
  background-repeat: no-repeat;
  padding-right: 38px;
}

#search .paginationContainer .pagination {
  display: none;
}

#search .left-nav-on.right-promo-on .default-wrapper {
  width: 75%;
  float: right;
}

#search .left-nav-on.bottom-promo-on .default-wrapper {
  width: 10%;
  float: right;
}

#search .left-nav-on .default-content-nav {
  float: left;
  width: 25%;
  display: block;
  padding: 0;
}

#search .left-nav-on .default-content-container {
  float: right;
  width: 75%;
}

#search #filter-left a.filterItem {
  display: inline;
}

#search #filter-left a.filterItem:hover {
  text-decoration: underline!important;
}

#search .accordian {
  border-bottom: 0;
  margin-bottom: 20px;
}

#search .accordian h2 {
  cursor: default;
  color: #061f47;
  font-size: 20px;
  font-size: 1.25rem;
  background: 0 0;
  border-top: 0;
  border-bottom: 0;
  padding: 6px 0 6px 20px;
}

#search .accordian h2 span {
  display: none;
}

#search .accordian h2 span.accordian-header {
  display: block;
}

#search .accordian .hover-down {
  background: none!important;
}

#search .navleft {
  display: block!important;
  margin: 0 0 0 20px;
  border-bottom: 0;
}

#search .navleft li {
  border: 0;
  padding: 0!important;
  margin: 0!important;
  height: 1.7em;
}

#search .navleft li.sectLi {
  height: auto!important;
  padding: 25px 0 20px!important;
  font-size: 20px;
  font-size: 1.25rem;
}

#search .navleft li.sectLi .boldItem {
  font-weight: 700;
  background: #efefef;
  margin-bottom: 0!important;
}

#search .navleft li a,
#search .navleft li p {
  padding: 0!important;
  margin: 0!important;
  background: none!important;
}

#search .default-content-container-results h2 {
  font-size: 20px;
  font-size: 1.25rem;
}

#search .default-content-container-results .search-results {
  width: 100%;
}

#search .default-content-container-results .search-results h3 {
  font-size: 16px;
  font-size: 1rem;
}

#search .noResultsContainer .promo-s .module-body .info p {
  width: 80%;
}

#search .noResultsContainer .promo-s .module-body .info .product-cta {
  bottom: 0;
}

#search .label-m {
  background: url(//static.o2.co.uk/shared/img/label-m-shadow.png) 0 0 no-repeat;
}

#search .ad-results {
  margin-bottom: 30px;
}

#search .recommendedItem {
  width: 100%;
  margin-bottom: 20px;
}

#search .recommendedItem a {
  font-size: 16px;
  font-size: 1rem;
  background: 0 0;
  background-image: none;
  border-top: 0;
  border-bottom: 0;
  margin-bottom: 8px;
  padding: 0;
  display: block;
}

#search .recommendedItem p {
  display: block;
  margin-bottom: 8px!important;
  font-size: 14px;
  font-size: .875rem;
}

#search .item .resultVideoTitle {
  margin-bottom: 15px;
}

#search .item .resultVideoData {
  width: 55%;
  float: left;
}

#search .item .resultVideoData a {
  font-size: 16px;
  font-size: 1rem;
}

#search .item .resultVideoData p {
  margin: 0;
}

#search .item .resultArea a {
  font-size: 16px;
  font-size: 1rem;
}

#search .item .resultArea p {
  margin-bottom: 8px!important;
  font-size: 14px;
  font-size: .875rem;
}

#search .item .categoryArea {
  font-size: 22px;
  font-size: 1.375rem;
  color: #6b7a8d;
}

#search .pagenumberMobile {
  width: 100%;
  display: block;
  color: #032b5a;
  background: #efefef;
  border-bottom: 1px solid #d8d8d8;
  padding: 15px 0;
}

#search .pagenumberMobile span {
  display: block;
  margin: 0 0 0 20px;
  padding: 0;
}

#search .nobp2andbp3 {
  display: none;
}

#search .paginationContainer {
  font-family: Frutiger55,sans-serif;
  font-size: 14px;
  font-size: .875rem;
  padding: 20px 10px 0;
}

#search .paginationContainer .mobilepagination {
  display: none;
}

#search .paginationContainer .pagination {
  display: block;
  width: 100%;
  font-family: Frutiger45Light,sans-serif;
  min-height: 1.5em;
  text-align: right;
}

#search .paginationContainer .pagination a {
  padding: 0 6px;
}

#search .paginationContainer .pagination span {
  background: #419eda;
  color: #fff;
  padding: 2px 6px;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

#search .recommendedItem {
  float: left;
  width: 47%;
}

#search .recommendedItem.odd {
  margin-right: 30px;
}

#search .item a.moduleHighlight {
  padding: 30px 30px 22px;
}

#search .item .resultVideoData {
  width: 60%;
  float: left;
}

#search .item .resultArea {
  float: left;
  width: 75%;
}

#search .item .resultArea a {
  font-size: 16px;
  font-size: 1rem;
}

#search .item .resultArea p {
  margin-bottom: 8px!important;
  font-size: 14px;
  font-size: .875rem;
}

#search .item .categoryArea {
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -10px;
  float: right;
  text-align: right;
  width: 20%;
  font-size: 22px;
  font-size: 1.375rem;
  color: #6b7a8d;
}

#search .pagenumberMobile {
  display: none;
}

#search .paginationContainer {
  font-family: Frutiger55,sans-serif;
  font-size: 14px;
  font-size: .875rem;
  padding: 30px 15px 0 30px;
  background: 0 0;
}

#search .paginationContainer .pagenumber {
  display: block;
  float: left;
  width: 20%;
}

#search .paginationContainer .pagination {
  width: 75%;
  float: right;
}

#search .paginationContainer .pagination a {
  padding: 0 10px;
}

.sectionLink {
  display: block;
  width: 100%;
  background: #efefef url(//static.o2.co.uk/shared/img/module-top-line.png) repeat-x left top;
}

.sectionLink a {
  border: 0;
  background: url(//static.o2.co.uk/shared/img/arrow-right.png) no-repeat scroll 20px 50% transparent;
  color: #419eda;
  padding: 10px 20px 9px 37px;
  display: block;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.sectionLink a {
  padding: 15px 20px 15px 37px;
  background-position: 20px 50%;
}

.sectionLink {
  height: auto;
  overflow: hidden;
  padding: 0;
}

.sectionLink a {
  background-position: 30px 50%;
  padding: 15px 20px 15px 47px;
}

.supportinglinks {
  display: block;
  width: 100%;
}

.supportinglinks a {
  border: 0;
  background: url(//static.o2.co.uk/shared/img/arrow-right.png) no-repeat scroll 20px 50% transparent;
  color: #419eda;
  padding: 10px 20px 9px 37px;
  display: block;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.supportinglinks a {
  padding: 10px 20px 9px 37px;
  background-position: 20px 50%;
}

.supportinglinks {
  height: auto;
  overflow: hidden;
  padding: 0;
}

.supportinglinks a {
  background-position: 30px 50%;
  padding: 10px 20px 9px 47px;
  font-size: 1em;
}

.supportinglink-s {
  border: 0;
  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  overflow: hidden;
  position: relative;
  bottom: 0;
  padding: 0;
  height: 40px;
  display: block;
  width: 100%;
}

.supportinglink-s a {
  border: 0;
  background-image: url(//static.o2.co.uk/shared/img/arrow-right.png);
  background-repeat: no-repeat;
  background-position: 20px 14px;
  color: #419eda;
  display: block;
  padding: 13px 20px 12px 37px;
  float: none;
  width: auto;
  font-size: .875em;
  line-height: 1em;
}

.supportinglink-s {
  height: 60px;
  border-bottom: 0;
}

.supportinglink-s a {
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  padding: 22px 20px 22px 37px;
  background-position: 20px 24px;
}

.supportinglink-s {
  overflow: hidden;
  padding: 0;
  height: 60px;
}

.supportinglink-s a {
  background-position: 30px 23px;
  padding: 22px 20px 22px 47px;
  font-size: .875em;
}

table {
  border: 0;
  border-collapse: collapse;
}

.responsive-table {
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2VmZWZlZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZmVmZWYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(left,#ddd 0,#ddd 50%,#efefef 50%,#efefef 100%);
  background: -webkit-gradient(linear,left top,right top,color-stop(0%,#ddd),color-stop(50%,#ddd),color-stop(50%,#efefef),color-stop(100%,#efefef));
  background: -webkit-linear-gradient(left,#ddd 0,#ddd 50%,#efefef 50%,#efefef 100%);
  background: -o-linear-gradient(left,#ddd 0,#ddd 50%,#efefef 50%,#efefef 100%);
  background: -ms-linear-gradient(left,#ddd 0,#ddd 50%,#efefef 50%,#efefef 100%);
  background: linear-gradient(to right,#ddd 0,#ddd 50%,#efefef 50%,#efefef 100%);
}

.responsive-table * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.responsive-table dl {
  border-top: 1px solid #FFF;
  width: 100%;
  padding: 5px 0;
}

.responsive-table dd,
.responsive-table dt {
  width: 50%;
  display: inline-block;
  vertical-align: top;
  padding: 5px 10px;
}

.responsive-table div.colspan {
  font-weight: 700;
  padding: 10px;
  width: 50%;
}

.responsive-table div.caption {
  margin: 0;
}

.responsive-table,
table {
  margin-bottom: 25px;
  margin-top: 0;
  font-size: 14px;
  font-size: .875rem;
  text-align: left;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(//static.o2.co.uk/shared/js/boxsizing.htc);
}

.responsive-table .caption,
.responsive-table caption,
table .caption,
table caption {
  padding: 8px 10px;
  background: #4f5357;
  color: #fff;
  text-align: left;
  margin: 0 1px;
}

.responsive-table th,
table th {
  background: #dbdbdb;
}

.responsive-table tr,
table tr {
  background-color: #efefef;
}

.responsive-table .alternate-color,
table .alternate-color {
  background-color: #f8f8f8;
}

.responsive-table td,
.responsive-table th,
table td,
table th {
  text-align: left;
  padding: 8px 10px;
  vertical-align: top;
  border: 1px solid #FFF;
  word-wrap: break-word;
}

.responsive-table p,
table p {
  word-break: break-word;
  word-break: break-all;
}

.team-list {
  background-color: #f8f8f8!important;
}

.team-list .module-body {
  width: 100%;
}

.team-list .module-body>ul>li {
  display: block;
  height: auto;
  overflow: hidden;
  clear: both;
  background: url(//static.o2.co.uk/shared/img/label-xxl-shadow575.png) no-repeat scroll 0 0 transparent;
  margin-bottom: 20px;
}

.team-list .module-body>ul>li .avatar {
  float: right;
}

.team-list .module-body>ul>li .avatar img {
  padding: 20px 20px 10px 10px;
  width: 80px;
  height: 96px;
}

.team-list .module-body>ul>li .info .copy h2,
.team-list .module-body>ul>li .info .copy h3,
.team-list .module-body>ul>li .info .copy p,
.team-list .module-body>ul>li .info .copy q {
  padding-left: 20px;
  color: #032b5a;
}

.team-list .module-body>ul>li .info .copy h2 {
  padding-top: 20px;
  font-size: 1.75em;
}

.team-list .module-body>ul>li .info .copy h3 {
  font-size: .875em;
  font-weight: 700;
  padding-bottom: 20px;
}

.team-list .module-body>ul>li .info .copy p {
  font-family: Frutiger55,sans-serif;
  font-size: .875em;
  padding: 0 20px 20px;
}

.team-list .module-body>ul>li .info .copy q {
  display: block;
  height: auto;
  overflow: hidden;
  padding-bottom: 30px;
  font-family: Frutiger55,sans-serif;
  font-size: 1em;
  color: #032b5a;
  line-height: 1.25em;
}

.team-list .module-body>ul>li .info .links>ul>li {
  display: block;
  height: auto;
  overflow: hidden;
  padding: 0 0 20px 20px;
}

.team-list .module-body>ul>li .info .links>ul>li a {
  color: #419eda;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -3px -35px;
  padding: 0 0 0 23px;
  font-size: .875em;
  line-height: 1em;
}

.team-list .module-body>ul>li .info .links>ul>li a:hover {
  text-decoration: underline;
}

.team-list .avatar,
.team-list .copy,
.team-list .info,
.team-list .links {
  float: left;
}

.team-list .module-body>ul>li {
  padding: 30px 0 10px;
}

.team-list .module-body>ul>li .avatar {
  float: left;
  width: 23%;
}

.team-list .module-body>ul>li .avatar img {
  padding: 0 0 0 20px;
  width: 100px;
  height: 120px;
}

.team-list .module-body>ul>li .info {
  width: 77%;
}

.team-list .module-body>ul>li .info .copy {
  width: 75%;
}

.team-list .module-body>ul>li .info .copy h2,
.team-list .module-body>ul>li .info .copy h3,
.team-list .module-body>ul>li .info .copy p,
.team-list .module-body>ul>li .info .copy q {
  padding-left: 0;
}

.team-list .module-body>ul>li .info .copy h2 {
  padding-top: 0;
  font-size: 1.75em;
}

.team-list .module-body>ul>li .info .copy p {
  padding-right: 30px;
}

.team-list .module-body>ul>li .info .copy q {
  padding-bottom: 0;
  padding-right: 30px;
}

.team-list .module-body>ul>li .info .links {
  width: 25%;
}

.team-list .module-body>ul>li .info .links>ul>li {
  padding: 0 0 10px;
}

.team-list .module-body>ul>li {
  padding: 40px 0 15px;
  background: url(//static.o2.co.uk/shared/img/label-xxl-shadow1100.png) no-repeat scroll 0 0 transparent;
}

.team-list .module-body>ul>li .avatar {
  width: 18%;
}

.team-list .module-body>ul>li .avatar img {
  padding-left: 30px;
}

.team-list .module-body>ul>li .info {
  width: 82%;
}

.team-list .module-body>ul>li .info .copy {
  width: 75%;
}

.team-list .module-body>ul>li .info .copy p,
.team-list .module-body>ul>li .info .copy q {
  padding-right: 40px;
}

.team-list .module-body>ul>li .info .links {
  width: 25%;
}

.terms-and-conditions .text,
.terms-and-conditions table {
  padding: 0 20px;
}

.terms-and-conditions .generic-header {
  margin: 0 0 20px;
}

.terms-and-conditions .large .accordian,
.terms-and-conditions .large .download-link,
.terms-and-conditions .large .generic-content-image,
.terms-and-conditions .large .table,
.terms-and-conditions .large .text,
.terms-and-conditions .medium .accordian,
.terms-and-conditions .medium .download-link,
.terms-and-conditions .medium .generic-content-image,
.terms-and-conditions .medium .table,
.terms-and-conditions .medium .text,
.terms-and-conditions .xlarge .accordian,
.terms-and-conditions .xlarge .download-link,
.terms-and-conditions .xlarge .generic-content-image,
.terms-and-conditions .xlarge .table,
.terms-and-conditions .xlarge .text {
  margin-bottom: 25px;
}

.terms-and-conditions .module .full,
.terms-and-conditions .module .large,
.terms-and-conditions .module .medium,
.terms-and-conditions .module .xlarge {
  padding: 0 20px;
}

.terms-and-conditions .text {
  margin: 0;
  color: #032b5a;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: Frutiger55,sans-serif;
}

.terms-and-conditions .text h2,
.terms-and-conditions .text h3,
.terms-and-conditions .text h4 {
  margin: 0 0 25px;
  color: #032b5a;
  font-family: Frutiger45Light,sans-serif;
  line-height: inherit;
}

.terms-and-conditions .text h2 {
  font-size: 25px;
  font-size: 1.5625rem;
  margin-top: 20px;
}

.terms-and-conditions .text h3 {
  font-size: 22px;
  font-size: 1.375rem;
}

.terms-and-conditions .text h4 {
  font-size: 20px;
  font-size: 1.25rem;
}

.terms-and-conditions .text address,
.terms-and-conditions .text p {
  font-size: 16px;
  font-size: 1rem;
  margin: 0 0 30px;
}

.terms-and-conditions .text p.icon-link {
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -2px -33px rgba(0,0,0,0);
  color: #419EDA;
  padding-left: 20px;
}

.terms-and-conditions .text a {
  color: #419eda;
}

.terms-and-conditions .text a:hover {
  text-decoration: underline;
}

.terms-and-conditions .text ul {
  margin-bottom: 30px;
}

.terms-and-conditions .text ul li {
  font-size: 16px;
  font-size: 1rem;
  list-style-type: none;
  font-family: Frutiger55,sans-serif;
  line-height: 1.25em;
  list-style-position: inside;
}

.terms-and-conditions .text ul li h2,
.terms-and-conditions .text ul li h3,
.terms-and-conditions .text ul li h4,
.terms-and-conditions .text ul li h5,
.terms-and-conditions .text ul li h6 {
  display: inline-block;
}

.terms-and-conditions .text ul.bulleted {
  margin-left: 20px;
}

.terms-and-conditions .text ul.bulleted li {
  list-style-type: disc;
  list-style-position: outside;
}

.terms-and-conditions .text ol {
  padding-left: 20px;
  margin-bottom: 30px;
}

.terms-and-conditions .text ol li {
  font-size: 16px;
  font-size: 1rem;
  font-family: Frutiger55,sans-serif;
  line-height: 1.25em;
}

.terms-and-conditions .text ol li h2,
.terms-and-conditions .text ol li h3,
.terms-and-conditions .text ol li h4,
.terms-and-conditions .text ol li h5,
.terms-and-conditions .text ol li h6 {
  display: inline-block;
}

.terms-and-conditions .text ol ol {
  list-style: none;
}

.terms-and-conditions .text ol.lettered li {
  list-style-type: upper-alpha;
}

.terms-and-conditions .text ol.lettered.lower li {
  list-style-type: lower-alpha;
}

.terms-and-conditions .text ol.numbered li {
  list-style-type: decimal;
}

.terms-and-conditions .text ol.unstyled {
  padding-left: 0;
}

.terms-and-conditions .text ol.unstyled li {
  list-style-type: none;
}

.terms-and-conditions .divider {
  display: inline-block;
  background: url(//static.o2.co.uk/shared/img/divider-repeat.png) repeat-x scroll 0 0 #f8f8f8;
  height: 5px;
  margin: 30px 0;
  overflow: hidden;
  width: 100%;
}

.terms-and-conditions .divider .divide-left,
.terms-and-conditions .divider .divide-right {
  background: url(//static.o2.co.uk/shared/img/divider-left-right.png) no-repeat scroll 0 0 #f8f8f8;
  width: 160px;
  height: 5px;
}

.terms-and-conditions .divider .divide-left {
  float: left;
}

.terms-and-conditions .divider .divide-right {
  float: right;
  background-position: 0 -25px;
}

.terms-and-conditions .generic-content-image {
  width: 100%;
  float: left;
  overflow: hidden;
}

.terms-and-conditions .generic-content-image img {
  width: 100%;
  text-align: top;
}

.terms-and-conditions .generic-promo {
  float: right;
  width: 100%;
  position: relative;
}

.terms-and-conditions .download-link {
  float: left;
  margin: 0 0 10px;
  width: 100%;
}

.terms-and-conditions .download-link a {
  color: #032b5a;
  background: url(//static.o2.co.uk/shared/img/download-link.png) no-repeat scroll 0 0 transparent;
  float: left;
  padding-left: 30px;
  font-size: .875em;
  margin: 0 20px;
  line-height: 20px;
}

.terms-and-conditions .download-link a:hover {
  color: #419eda;
}

.terms-and-conditions .table {
  color: #032b5a;
  margin: 0 20px 25px;
}

.terms-and-conditions .accordian {
  border-top: 1px solid #e0e0e0;
  float: left;
  width: 100%;
  overflow: hidden;
}

.terms-and-conditions .accordian li {
  width: 100%;
  float: left;
}

.terms-and-conditions .accordian li h2 {
  background: #efefef;
  color: #032b5a;
  cursor: pointer;
  float: left;
  font-size: 1em;
  width: 100%;
  padding: 10px 0 10px 20px;
  margin: 0;
  border-bottom: 1px solid #e0e0e0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.terms-and-conditions .accordian li h2 span {
  display: block;
  float: left;
  width: 15px;
  margin-right: 10px;
}

.terms-and-conditions .accordian li div {
  color: #032b5a;
  float: left;
  width: 100%;
  background: #fff;
  padding: 10px 0;
  border-bottom: 1px solid #e0e0e0;
}

.terms-and-conditions .accordian li div a,
.terms-and-conditions .accordian li div h3,
.terms-and-conditions .accordian li div h4,
.terms-and-conditions .accordian li div p {
  margin: 10px 20px;
}

.terms-and-conditions .accordian li div a {
  padding: 0 0 0 25px;
  font-family: Frutiger55,sans-serif;
  float: left;
  color: #419eda;
  line-height: 1.25em;
  font-size: .875em;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll -2px -35px transparent;
}

.terms-and-conditions .accordian li ul {
  overflow: hidden;
  margin: 0 0 25px;
}

.terms-and-conditions .accordian li ul li {
  width: 100%;
}

.terms-and-conditions .accordian a {
  color: #419eda;
}

.terms-and-conditions .link-list {
  margin: 0 0 20px;
  float: left;
  width: 100%;
}

.terms-and-conditions .link-list ul {
  overflow: hidden;
  margin-bottom: 0;
}

.terms-and-conditions .link-list ul li {
  float: left;
  margin: 0 0 10px;
  width: 100%;
}

.terms-and-conditions .link-list ul li a {
  color: #032b5a;
  background: url(//static.o2.co.uk/shared/img/download-link.png) no-repeat scroll 0 0 transparent;
  float: left;
  padding-left: 30px;
  font-size: .875em;
  margin: 0 20px;
  line-height: 20px;
}

.terms-and-conditions .link-list ul li a:hover {
  color: #419eda;
}

.terms-and-conditions .no-left-hand-nav .col-2thirds {
  width: 100%;
}

.terms-and-conditions .no-left-hand-nav .generic-content {
  padding: 0 20px;
  float: left;
}

.terms-and-conditions .no-left-hand-nav .generic-content-image .module {
  float: none;
  width: 100%;
}

.terms-and-conditions .no-left-hand-nav .accordian,
.terms-and-conditions .no-left-hand-nav .accordian ul {
  width: 100%;
}

.terms-and-conditions .no-left-hand-nav .accordian ul h2 {
  padding: 10px 20px;
}

.terms-and-conditions .text h2 {
  margin-top: 0;
}

.terms-and-conditions .no-left-hand-nav .col-2thirds {
  width: 66%;
  float: left;
}

.terms-and-conditions .no-left-hand-nav .generic-content-image .module {
  width: 75%;
}

.terms-and-conditions .generic-header {
  margin: 0 0 30px;
}

.terms-and-conditions .full .accordian,
.terms-and-conditions .full .divider,
.terms-and-conditions .full .download-link,
.terms-and-conditions .full .generic-content-image,
.terms-and-conditions .full .table,
.terms-and-conditions .full .text,
.terms-and-conditions .large .accordian,
.terms-and-conditions .large .divider,
.terms-and-conditions .large .download-link,
.terms-and-conditions .large .generic-content-image,
.terms-and-conditions .large .table,
.terms-and-conditions .large .text,
.terms-and-conditions .medium .accordian,
.terms-and-conditions .medium .divider,
.terms-and-conditions .medium .download-link,
.terms-and-conditions .medium .generic-content-image,
.terms-and-conditions .medium .table,
.terms-and-conditions .medium .text,
.terms-and-conditions .xlarge .accordian,
.terms-and-conditions .xlarge .divider,
.terms-and-conditions .xlarge .download-link,
.terms-and-conditions .xlarge .generic-content-image,
.terms-and-conditions .xlarge .table,
.terms-and-conditions .xlarge .text {
  margin-bottom: 30px;
}

.terms-and-conditions .grid {
  position: relative;
}

.terms-and-conditions .full .accordian,
.terms-and-conditions .full .divider,
.terms-and-conditions .full .download-link,
.terms-and-conditions .full .generic-content-image,
.terms-and-conditions .full .table,
.terms-and-conditions .full .text {
  width: 100%;
}

.terms-and-conditions .xlarge .accordian,
.terms-and-conditions .xlarge .divider,
.terms-and-conditions .xlarge .download-link,
.terms-and-conditions .xlarge .generic-content-image,
.terms-and-conditions .xlarge .table,
.terms-and-conditions .xlarge .text {
  width: 75%;
}

.terms-and-conditions .large .accordian,
.terms-and-conditions .large .divider,
.terms-and-conditions .large .download-link,
.terms-and-conditions .large .generic-content-image,
.terms-and-conditions .large .table,
.terms-and-conditions .large .text {
  width: 66%;
}

.terms-and-conditions .medium .accordian,
.terms-and-conditions .medium .divider,
.terms-and-conditions .medium .download-link,
.terms-and-conditions .medium .generic-content-image,
.terms-and-conditions .medium .table,
.terms-and-conditions .medium .text {
  width: 50%;
  clear: left;
}

.terms-and-conditions .generic-promo {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
}

.terms-and-conditions .generic-promo a,
.terms-and-conditions .generic-promo a .module-body {
  position: relative;
}

.terms-and-conditions .generic-promo a .module-body .info {
  padding: 0 0 30px 30px;
}

.terms-and-conditions .text,
.terms-and-conditions table {
  padding: 0 30px;
}

.terms-and-conditions .generic-header {
  margin: 0 0 50px;
}

.terms-and-conditions .module .full,
.terms-and-conditions .module .large,
.terms-and-conditions .module .medium,
.terms-and-conditions .module .xlarge {
  padding: 0 30px;
}

.terms-and-conditions .has-left-hand-nav .full .generic-content,
.terms-and-conditions .has-left-hand-nav .large .generic-content,
.terms-and-conditions .has-left-hand-nav .medium .generic-content,
.terms-and-conditions .has-left-hand-nav .xlarge .generic-content {
  float: right;
  width: 75%;
}

.terms-and-conditions .no-left-hand-nav .generic-content {
  padding: 0 30px;
}

.terms-and-conditions .has-left-hand-nav.full .generic-content,
.terms-and-conditions .has-left-hand-nav.large .generic-content,
.terms-and-conditions .has-left-hand-nav.medium .generic-content,
.terms-and-conditions .has-left-hand-nav.xlarge .generic-content {
  float: right;
  width: 75%;
}

.terms-and-conditions .has-left-hand-nav.full .accordian,
.terms-and-conditions .has-left-hand-nav.full .divider,
.terms-and-conditions .has-left-hand-nav.full .download-link,
.terms-and-conditions .has-left-hand-nav.full .generic-content-image,
.terms-and-conditions .has-left-hand-nav.full .table,
.terms-and-conditions .has-left-hand-nav.full .text {
  width: 100%;
}

.terms-and-conditions .has-left-hand-nav.xlarge .accordian,
.terms-and-conditions .has-left-hand-nav.xlarge .divider,
.terms-and-conditions .has-left-hand-nav.xlarge .download-link,
.terms-and-conditions .has-left-hand-nav.xlarge .generic-content-image,
.terms-and-conditions .has-left-hand-nav.xlarge .table,
.terms-and-conditions .has-left-hand-nav.xlarge .text {
  width: 92.72727%;
}

.terms-and-conditions .has-left-hand-nav.large .accordian,
.terms-and-conditions .has-left-hand-nav.large .divider,
.terms-and-conditions .has-left-hand-nav.large .download-link,
.terms-and-conditions .has-left-hand-nav.large .generic-content-image,
.terms-and-conditions .has-left-hand-nav.large .table,
.terms-and-conditions .has-left-hand-nav.large .text {
  width: 84.48485%;
}

.terms-and-conditions .has-left-hand-nav.medium .accordian,
.terms-and-conditions .has-left-hand-nav.medium .divider,
.terms-and-conditions .has-left-hand-nav.medium .download-link,
.terms-and-conditions .has-left-hand-nav.medium .generic-content-image,
.terms-and-conditions .has-left-hand-nav.medium .table,
.terms-and-conditions .has-left-hand-nav.medium .text {
  width: 63.0303%;
}

.terms-and-conditions .download-link a {
  margin: 0 30px;
}

.terms-and-conditions .generic-promo {
  width: 25%;
  float: left;
}

.diagonal .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-diagonal.png) no-repeat scroll right 0;
}

.light {
  background-color: #efefef;
}

.light.diagonal .module-body {
  background: url(//static.o2.co.uk/shared/img/modules/module-bg-diagonal-light.png) no-repeat scroll right 0;
}

.light .module-body .info .product-cta,
.light.diagonal .module-body .info .product-cta {
  color: #419eda;
}

.light .module-body .info h3,
.light .module-body .info p {
  color: #032b5a;
}

.title-xxl {
  height: 102px;
  margin: 0 0 0 20px;
}

.title-xxl h2 {
  color: #032b5a;
  float: left;
  font-size: 1.25em;
  margin-top: 8px;
}

.title-xxl img {
  float: left;
  margin-right: 8px;
  margin-bottom: 32px;
}

.title-xxl a {
  width: 97%;
  color: #419eda;
  float: left;
  background: url(//static.o2.co.uk/shared/img/arrow-left.png) no-repeat scroll 0 50% rgba(0,0,0,0);
  padding: 0 0 0 18px;
  margin: 20px 0;
  font-size: .875em;
}

.title-xxl {
  height: 104px;
}

.title-xxl h2 {
  font-size: 1.125em;
}

.title-xxl img {
  margin-bottom: 33px;
}

.title-xxl {
  margin: 0 0 0 30px;
}

.title-xxl h2 {
  font-size: 1.563em;
  margin-top: 5px;
}

.title-xxl a {
  font-size: 1em;
}

.topdevices {
  background-color: transparent;
  width: 100%;
  display: block;
  max-height: 135px;
  height: 100%;
}

.topdevices ul li {
  background-color: transparent;
  display: inline;
  float: left;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 33%;
  height: 47px;
  text-align: center;
  border-left: 1px solid #efefef;
}

.topdevices ul li:first-child {
  border-left: 0!important;
  margin-left: 1px;
}

.topdevices ul li a {
  display: block;
}

.topdevices ul li .like-table {
  display: table;
  height: 47px;
  vertical-align: middle;
  width: 100%;
}

.topdevices ul li .like-table .like-table-cell {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

.topdevices ul li .like-table .like-table-cell .like-table-cell-content {
  padding: 0 8px;
  color: #419eda;
  font-size: 14px;
  font-size: .875rem;
  font-family: Frutiger45Light,sans-serif;
}

.topdevices ul li,
.topdevices ul li .like-table {
  height: 40px;
}

.topdevices {
  max-height: 40px;
}

.topdevices ul li {
  width: 16.45455%;
}

.topdevices ul li .like-table .like-table-cell .like-table-cell-content {
  font-size: 16px;
  font-size: 1rem;
  padding: 0 14px;
}

.topic-list-xl {
  background-color: #f8f8f8;
  width: 100%;
  display: block;
}

.topic-list-xl .module-body ul {
  display: block;
}

.topic-list-xl .module-body ul li {
  border-left: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #d8d8d8;
  display: block;
  overflow: hidden;
  height: auto;
  background: transparent url(//static.o2.co.uk/shared/img/arrow-right.png) no-repeat scroll 20px 50%;
}

.topic-list-xl .module-body ul li a {
  display: block;
  line-height: 1.25em;
  width: auto;
  padding: 10px 20px 10px 37px;
  vertical-align: middle;
  font-family: Frutiger55,sans-serif;
  font-size: 1em;
  color: #419eda;
  position: relative;
}

.topic-list-xl .module-body ul li:first-child {
  border-top: 1px solid #d8d8d8;
}

.topic-list-xl .module-body .js-controller {
  padding: 20px 0 20px 20px;
}

.topic-list-xl .module-body .js-controller a {
  color: #419eda;
  font-size: 1em;
}

.topic-list-xl .module-body .js-controller .arrow {
  margin: 4px 8px 0 0;
  width: 18px;
  height: 16px;
  display: block;
  background: url(//static.o2.co.uk/shared/img/promo-cta-arrow.png) no-repeat scroll 0 -35px transparent;
  float: left;
}

.topic-list-xl .module-body {
  width: 100%;
}

.topic-list-xl .module-body ul li {
  background-position: 20px 50%;
}

.topic-list-xl .module-body ul li a {
  padding: 12px 20px 12px 37px;
}

.topic-list-xl .module-body .js-controller {
  padding: 20px 0 40px 20px;
}

.topic-list-xl .module-body {
  width: 75%;
}

.topic-list-xl .module-body ul li {
  background-position: 30px 50%;
}

.topic-list-xl .module-body ul li a {
  padding-left: 47px;
  font-size: 1em;
  line-height: 1.125em;
}

.topic-list-xl .module-body .js-controller {
  padding: 20px 0 40px 30px;
}

.topic-s1 {
  height: 70px;
  width: 100%;
  position: relative;
  z-index: 0;
}

.topic-s1.module {
  display: inline-table;
  background: #f8f8f8;
}

.topic-s1 a.card {
  position: relative;
  height: 70px;
  width: 100%;
  display: block;
  z-index: 1;
  color: #419eda;
}

.topic-s1 .outertopic {
  height: 70px;
  width: 100%;
  display: table;
  top: 0;
}

.topic-s1 .line {
  height: 2px;
  width: 90%;
  margin: 0 auto;
  background: #000 url(//static.o2.co.uk/shared/img/label-xxl-line575.png) 0 0 no-repeat;
}

.topic-s1 .outertopic a {
  display: none;
}

.topic-s1 .innertopic {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 20px 50%;
  padding-left: 60px;
  margin-left: 20px!important;
  clear: both;
}

.topic-s1 p.topicsanc {
  display: block;
  width: 99%;
  color: #419eda;
  font-family: Frutiger55,sans-serif;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.1em;
  max-height: 2em;
  overflow: hidden;
}

.topic-s1 {
  height: 103px;
  width: 100%;
}

.topic-s1 .outertopic,
.topic-s1 a.card {
  height: 103px;
}

.topic-s1 p.topicsanc {
  font-family: Frutiger45Light,sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.2em;
  max-height: 2.45em;
}

div .topic-s1:nth-last-child(1) .line,
div .topic-s1:nth-last-child(2) .line {
  display: none;
}

.col-2thirds .topic-s1 {
  width: 50%;
  float: left;
}

.topic-s1 p.topicsanc {
  font-size: 25px;
  font-size: 1.5625rem;
  max-height: 2.5em;
}