@import url('reset.css');


/* -------------------------------------------------------------------------------
			Default Layout: 1200px. 		
------------------------------------------------------------------------------- */

html, body {width: 100%; font-size: 18px; background: #FFFFFF; line-height: 160%; font-family: 'Montserrat', sans-serif; font-weight: 400; color: #231f20; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; padding: 0; height: 100%;}


h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {color: #231f20; display: block; clear: both; font-weight: 700; font-family: 'Montserrat', sans-serif; line-height: 140%; text-align: left; margin: 0 0 25px 0;}
h1, .h1 {font-size: 75px;}
h2, .h2 {font-size: 35px;}
h3, .h3 {font-size: 30px;}
h4, .h4 {font-size: 25px;}
h5, h6, .h5, .h6 {font-size: 22px;}


p {margin: 0 0 25px 0; display: block; clear: both;}
a {color: #0fbf42;}
em {font-style: normal;}
button {border: 0; outline: none;}
.button {background: #f8df08; height: 75px; line-height: 75px; padding: 0 35px; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; font-weight: 700; font-size: 18px; cursor: pointer; transition: all 0.2s linear; display: table;}
.button.free {min-width: 250px; color: #231f20; margin: 15px auto; text-align: center; -webkit-border-radius: 25px!important; -moz-border-radius: 25px!important; border-radius: 25px!important;}
.button:hover {transform: scale(1.1);}
.button img {width: 15px; display: inline-block; vertical-align: middle; margin: 0 0 0 5px;}
.button.full {display: block; text-align: center;}
.button.border {border: 3px solid #FFFFFF; background: none; color: #FFFFFF;}
.button em {margin: 0;}
strong {font-weight: 600;}
i {margin: 0 0 5px 0;}
section, footer {padding: 75px 0; background: #FFFFFF;}
.price {font-size: 175px; line-height: 100%; display: block; clear: both; font-weight: 800;}
.price .small-figure {font-size: 50%; line-height: 160%; vertical-align: middle; display: inline-block;}
.price .per-month {position: absolute; bottom: 0; left: 20px; font-size: 14px; line-height: 160%; font-weight: 400;}
.price.smaller {font-size: 45px; line-height: 100%;}
.price.smallest {font-size: 35px; line-height: 100%;}
.price .package {display: block; clear: both; font-size: 40px; line-height: 100%; color: #231f20; font-weight: 800; padding: 10px 0 0 0;}
.price .line-rental {display: block; clear: both; font-size: 30px; line-height: 160%; padding: 10px 0 0 0; font-weight: 400;}
.price.package-first .package {font-size: 55px; line-height: 100%; padding: 10px 0 0 0;}
.price.package-first .line-rental {padding: 0;}
.price.flexible {font-size: 300%;}
.price .small-figure {font-size: 50%;}
.larger {font-size: 175%; font-weight: 700; vertical-align: middle;}
.smaller {font-size: 14px; line-height: 160%;}
.smallest {font-size: 10px; line-height: 160%;}
.cursive {font-family: 'Caveat', cursive; font-weight: 600;}
.uppercase {text-transform: uppercase;}
.background-black {background: #231f20;}
.background-white {background: #FFFFFF;}
.background-grey {background: #f8f8f8;}
.background-green {background: #0fbf42;}
.background-yellow {background: #f8df08;}
.background-red {background: #BA1B1D;}
.color-black {color: #231f20;}
.color-white {color: #FFFFFF;}
.color-white h1, .color-white h2, .color-white h3, .color-white h4, .color-white h5, .color-white h6 {color: #FFFFFF;}
.color-yellow {color: #f8df08;}
.color-green {color: #0fbf42;}
.color-red {color: #F24333;}
.underline-yellow {border-bottom: 3px solid #f8df08;}
.underline-green {border-bottom: 3px solid #0fbf42;}
.underline-red {border-bottom: 3px solid #D1345B;}
.center, .center * {text-align: center;}
.margin-larger {margin: 0 0 50px 0;}
.text-weight-400 {font-weight: 400;}
.text-weight-600 {font-weight: 600;}
.text-weight-700 {font-weight: 700;}
.text-weight-800 {font-weight: 800;}
.padding-50 {padding: 50px;}
.padding-25 {padding: 25px;}
.padding-5 {padding: 5px;}
.figure {font-size: 75px; font-weight: 800; padding: 15px; background: #FFFFFF; margin: 0; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; color: #231f20; display: block; clear: both;}
.figure .small-figure {font-size: 50%; font-weight: 800; line-height: 160%; vertical-align: middle; display: inline-block;}
.figure span.provider {font-size: 18px; line-height: 160%; font-weight: 400; display: block; clear: both; padding: 0 0 10px 0;}
.figure .smaller {display: block; clear: both; font-weight: 600; text-align: center;}
.icon {width: 35px; margin: 0 5px 0 0; display: inline-block; vertical-align: middle;}
div.packages div.contents .align-central {display: inline-block; vertical-align: middle; font-size: 16px; line-height: 160%;}
.privacy_policy_trigger {cursor: pointer;}
.postcode_pull {padding: 5px 30px; background: #FFFFFF; -webkit-border-radius: 25px; display: table; -moz-border-radius: 25px; border-radius: 25px; font-weight: 700; color: #231f20; clear: both; margin: 10px auto 0 auto; bordeR: 3px solid #231f20; text-transform: uppercase;}
.postcode_pull img {display: inline-block; width: 32px; margin: 0 5px 0 0; vertical-align: middle;}
.postcode_pull span {display: inline-block; vertical-align: middle;}
table {margin: 0 auto 25px auto; clear: both; float: left; width: 100%;}
table {background: white; border: 1px solid #A3A3A3; font-size: 12px; line-height: 160%; border-collapse: collapse;}
table thead th,
table tfoot th {background: #f8f8f8;}
table caption {padding: 10px;}
table th,
table td {padding: 10px; border: 1px solid #A3A3A3;}


.flex-container {display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; justify-content: center; margin: 0 0 25px 0;}
.flex-container.center-vertically {align-items: center;}
.flex-container.center-vertically .column {align-self: center;}
.flex-container.margin {margin: 0 0 25px 0!important;}
.flex-container:last-of-type {margin: 0;}
.flex-container .column {padding: 0 10px 20px 10px; flex-direction: column; align-items: flex-start;}
.flex-container.padding-less .column {padding: 0 10px 20px 10px!important;}
.flex-container.padding-more .column {padding: 0 20px 40px 20px;}
.flex-container.align-left {justify-content: flex-start;}
.flex-container.seven .column {flex-basis: calc((100% / 7));}
.flex-container.six .column {flex-basis: calc((100% / 6));}
.flex-container.five .column {flex-basis: calc((100% / 5));}
.flex-container.four .column {flex-basis: calc((100% / 4));}
.flex-container.three .column {flex-basis: calc((100% / 3));}
.flex-container.two .column {flex-basis: calc((100% / 2));}


ul:not(header ul) {margin: 0 0 25px 0;}
ul li:not(header ul li, ul.overpaying-points li) {margin: 0 0 5px 0; padding: 0 0 0 35px;}
ul li:not(header ul li, ul.overpaying-points li):before {content: ''; background: #f8df08 url(../img/svg/check.svg) no-repeat center center; background-size: 12px; -webkit-background-size: 12px; -moz-background-size: 12px; -o-background-size: 12px; width: 25px; height: 25px; position: absolute; top: 2px; left: 0; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%;}


ul.overpaying-points {padding: 25px 0 0 0; width: 100%; float: left; clear: both;}
ul.overpaying-points li {padding: 0 50px 0 85px; font-weight: 500; margin: 0 0 25px 0;}
ul.overpaying-points li h5 {margin: 0 0 5px 0;}
ul.overpaying-points li div.icon, section.our-promise div.icon {width: 70px; height: 70px; border: 3px solid #231f20; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; position: absolute; top: 0; left: 0; margin: 0; background: #FFFFFF;}
section.our-promise div.icon {position: relative; margin: 0 auto 25px auto;}
ul.overpaying-points li div.icon img, section.our-promise div.icon img {width: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
ul.overpaying-points li div.icon div.emoji {position: absolute; top: 5px; left: -5px; width: 25px;}
ul.overpaying-points li div.icon div.emoji img {width: 100%;}


div.wrap {width: 90%; max-width: 1200px; margin: 0 auto; display: block; clear: both; position: relative; z-index: 50;}
div.wrap.wider {max-width: 1400px;}
div.wrap.narrower {max-width: 1000px;}
div.wrap:after {content: ""; display: table; clear: both;}


header {height: 75px; width: 100%; background: #FFFFFF; border-bottom: 3px solid #f8f8f8;}
header ul {position: absolute; top: 50%; transform: translateY(-50%); right: 0;}
header ul li {display: table-cell; float: left; margin: 0 0 0 25px;}
header ul li a {color: #231f20; font-weight: 500;}
header ul li a img {width: 32px; margin: 0 5px 0 0; display: inline-block;}
header div.logo {width: 100px; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
header div.wrap {height: 100%;}


div.form.free {display: table; margin: 0 auto; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; width: 100%; max-width: 575px;}
div.form.free h4 {text-align: center; padding: 0 50px;}
div.form.free .price {font-size: 125px;}
div.form.free.background-green h4 {color: #FFFFFF;}
div.form.free.background-grey form div.ssl img {filter: invert(100%);}
div.form.free.background-grey form div.ssl {color: #231f20;}
div.form.free div.router {width: 150px; position: absolute; top: -50px; left: -50px; transform: rotate(-15deg);}
div.form form {display: block; clear: both; width: 100%; max-width: 575px; margin: 0 auto; float: none;}
div.form form.wider {width: 800px;}
div.form form input {width: 100%; height: 75px; float: left; -webkit-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.25); box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.25); padding: 0 200px 0 35px;}
div.form form select {height: 75px; -webkit-box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.25); box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.25);}
div.form form .submit {width: 175px; position: absolute; top: 0; right: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-top-right-radius: 25px; -webkit-border-bottom-right-radius: 25px; -moz-border-radius-topright: 25px; -moz-border-radius-bottomright: 25px; border-top-right-radius: 25px; border-bottom-right-radius: 25px;}
div.form form .submit.normal, div.form.step-2 .submit {position: relative; top: auto; right: auto; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; margin: 0 auto; float: none;}
div.form form label .arrow {width: 65px; transform: rotate(130deg); position: absolute; top: -5px; right: 0; z-index: -1;}
div.form form p.form-explainer {-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; background: #231f20; padding: 5px 35px; display: table; margin: 0 auto 25px auto; font-size: 16px; line-height: 160%; font-weight: 500; color: #FFFFFF; text-align: center;}
div.form.step-2, section.call-to-action div.form.step-2 {width: 100%; background: #FFFFFF; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; padding: 75px 50px; float: left;}
div.form.step-2 form {max-width: 625px;}
div.form.step-2 form input {border: 1px solid #A3A3A3; -webkit-box-shadow: none; box-shadow: none; height: 50px; padding: 0 50px 0 35px;}
div.form.step-2 form .submit {width: auto; padding: 0 50px;}
div.form.step-2 form div.ssl, div.form.step-2 form div.ssl a {color: #231f20;}
div.form.step-2 form label {text-align: left; font-size: 22px;}


div.reviews {float: left; width: 100%;}
div.reviews * {text-align: left;}
div.reviews ul {float: left; width: 100%; height: auto; padding: 0; overflow: visible!important;}
div.reviews ul li {height: auto; width: 425px; margin: 0 25px; padding: 0; vertical-align: top; white-space: normal;}
div.reviews ul li:before {display: none;}
div.reviews ul li div.contents {padding: 50px; background: #FFFFFF; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; float: left; width: 100%; display: block; -webkit-box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); border: 1px solid #A3A3A3;}
div.reviews ul li div.author {padding: 25px 0 0 0; border-top: 1px solid #A3A3A3; margin: 25px 0 0 0; font-weight: 800;}
div.reviews ul li div.author div.name, div.reviews ul li div.author div.reviews-logo {float: left; width: 47.5%; font-size: 16px; line-height: 160%;}
div.reviews ul li div.author div.reviews-logo img {width: 75px; float: right;}
div.reviews span.prev-next {position: absolute; left: 50px; z-index: 150; width: 50px; height: 50px; background: #231f20; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; color: #FFFFFF; cursor: pointer;}
div.reviews span.prev-next#next {left: auto; right: 50px;}
div.reviews span.prev-next img {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 15px;}
div.reviews span.prev-next#prev img {-webkit-transform: scaleX(-1); transform: translate(-50%,-50%) scaleX(-1);}
div.reviews div.slider {height: 100%; display: block; clear: both; width: 100%; overflow: hidden;}
div.reviews div.review-list-navigation {position: absolute; top: 40%; transform: translateY(-50%); width: 100%;}


div.packages .column {background: #FFFFFF; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; float: left; width: 100%; display: block;}
div.packages div.heading {padding: 25px 35px; background: #231f20; -webkit-border-top-left-radius: 25px; -webkit-border-top-right-radius: 25px; -moz-border-radius-topleft: 25px; -moz-border-radius-topright: 25px; border-top-left-radius: 25px; border-top-right-radius: 25px;}
div.packages div.heading .h5 {color: #FFFFFF; text-align: center; margin: 0;}
div.packages div.heading .h5 span {display: block; clear: both; font-size: 50%; line-height: 160%; font-weight: 400;}
div.packages div.contents {padding: 35px; border: 0; border-left: 1px solid #A3A3A3; border-top: 1px solid #A3A3A3; border-right: 1px solid #A3A3A3; border-bottom: 1px solid #A3A3A3; -webkit-box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); -webkit-border-bottom-right-radius: 25px; -webkit-border-bottom-left-radius: 25px; -moz-border-radius-bottomright: 25px; -moz-border-radius-bottomleft: 25px; border-bottom-right-radius: 25px; border-bottom-left-radius: 25px; float: left; width: 100%;}
div.packages div.contents a {color: #231f20;}
div.packages div.contents div.badge {position: absolute; top: -15px; right: -35px; width: 100px;}
div.packages div.contents div.badge span {position: absolute; top: 24px; left: 50%; transform: translateX(-50%); font-size: 10px; line-height: 120%; text-align: center; z-index: 15; font-weight: 600;}
div.packages div.contents .background-yellow {padding: 3px 7px; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;}
div.packages div.contents .smaller {display: block; clear: both;}
div.packages div.contents .h4, div.packages div.contents p, div.packages div.contents ul {margin: 0;}
div.packages div.contents ul li {font-size: 16px; line-height: 160%;}
div.packages div.contents ul li:before {content: ''; background: #0fbf42 url(../img/svg/check-white.svg) no-repeat center center; background-size: 10px; -webkit-background-size: 10px; -moz-background-size: 10px; -o-background-size: 10px; width: 22px; height: 22px; position: absolute; top: 1px; left: 0; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%;}
div.packages div.contents div.reviews-logo {width: 75px; position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
div.packages div.contents div.section {border-bottom: 1px solid #A3A3A3; padding: 15px 0; float: left; width: 100%;}
div.packages div.contents div.section:first-of-type {padding: 0 0 15px 0;}
div.packages div.contents div.section:last-of-type, div.packages div.contents div.section.no-border {border-bottom: 0; padding: 15px 0 0 0;}
div.packages div.contents div.section.split div.description {width: 100%; padding: 0 0 0 100px; float: right;}
div.packages div.contents div.section.split div.logo {position: absolute; top: 5px; left: 0; width: 80px;}


div.ratings-comparison {padding: 50px; background: #FFFFFF; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; -webkit-box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); border: 1px solid #A3A3A3;}
div.ratings-comparison .flex-container.two .column:first-of-type {flex-basis: 30%;}
div.ratings-comparison .flex-container.two .column:last-of-type {flex-basis: 70%; border-left: 1px solid #A3A3A3;}
div.ratings-comparison .flex-container.two .column div.logo {width: 80%;}
div.ratings-comparison .flex-container.two .column div.reviews-logo {padding: 25px 0 0 0; float: left; width: 65%;}
div.ratings-comparison .flex-container.three .column {flex-basis: calc((100% / 3))!important;}
div.ratings-comparison .flex-container.three .column:last-of-type {border: 0;}
div.ratings-comparison .flex-container.three .column div.logo {width: 90%; max-width: 120px; margin: 0 auto;}
div.ratings-comparison .flex-container.three .column div.reviews-logo {float: none; width: 70%; margin: 0 auto; padding: 15px 0 0 0;}


div.choices div.italk-phone {width: 325px; margin: 0 auto;}
div.choices .button {line-height: 160%; height: auto; padding: 25px 35px;}
div.choices .button img {display: block; clear: both; width: 100px; margin: 10px auto 0 auto;}
div.choices p {color: #FFFFFF;}


div.reviews-logo, section.key-points div.content img {width: 275px; margin: 0 auto;}
section.key-points div.content {text-align: center;}
section.key-points div.content img {display: inline-block; vertical-align: middle;}
section.key-points div.content em, .button em {margin: 0; display: inline-block; vertical-align: middle;}
section.key-points div.trustpilot-widget:before {content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 500;}


div.laptop-guy {width: 575px; position: absolute; bottom: 0; left: 125px; display: none;}


div.overcharging-examples {background: #FFFFFF; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; padding: 25px 0 0 0; overflow: hidden; margin: 15px 0 40px 0; float: left;}
div.overcharging-examples * {text-align: center; color: #231f20;}
div.overcharging-examples .flex-container div.column {padding: 0;}
div.overcharging-examples .flex-container div.column img {width: 50%; margin: 0 auto;}
div.overcharging-examples .flex-container div.column .figure {padding: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%;}
div.overcharging-examples .flex-container div.column:nth-of-type(1), div.overcharging-examples .flex-container div.column:nth-of-type(2), div.overcharging-examples .flex-container div.column:nth-of-type(5), div.overcharging-examples .flex-container div.column:nth-of-type(6), div.overcharging-examples .flex-container div.column:nth-of-type(9), div.overcharging-examples .flex-container div.column:nth-of-type(10), div.overcharging-examples .flex-container div.column:nth-of-type(13), div.overcharging-examples .flex-container div.column:nth-of-type(14) {background: #f8f8f8;}
div.overcharging-examples div.figure {background: none;}
div.overcharging-examples h4 {padding: 0 25px;}


div.modal {width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 500; display: none;}
div.modal div.contents {width: 90%; max-width: 1200px; height: 90%; max-height: 90%; background: #FFFFFF; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; position: absolute; top: 5%; left: 50%; transform: translateX(-50%); padding: 50px; overflow-y: scroll;}
div.modal div.contents ul {padding: 0 0 0 15px;}
div.modal div.contents ul li {padding: 0 0 0 25px;}
div.modal div.contents ul li:before {background: #231f20; width: 8px; height: 8px; top: 11px;}
div.modal div.opaque {background: #231f20; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.75; z-index: -1;}
div.modal div.close {padding: 10px 25px; top: 25px; right: 25px; position: absolute; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; background: #f8df08; color: #231f20; cursor: pointer; font-weight: 700;}


section.call-to-action {padding: 50px 0 100px 0;}
section.call-to-action.overflow-hidden {overflow: hidden;}
section.call-to-action div.banner {padding: 2px 10px; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; background: #f8df08; color: #231f20; font-weight: 600;}
section.call-to-action p, section.call-to-action h1, section.call-to-action h2, section.call-to-action h5 {color: #FFFFFF; text-align: center;}
section.call-to-action h1 {font-weight: 800;}
section.call-to-action p, section.call-to-action h5 {margin: 0 0 10px 0;}
section.call-to-action div.price-before {width: 175px; height: 175px; background: #231f20; position: absolute; top: 25px; left: 30px; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; text-align: center; color: #FFFFFF; z-index: 2; display: none;}
section.call-to-action div.price-before span.contents, section.call-to-action div.router-girl div.banner span.contents, section.call-to-action.product-focused .column.padded div.router-large div.banner span.contents, section.free-router div.router div.banner span.contents {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%;}
section.call-to-action div.price-before div.arrow {width: 125px; transform: rotate(25deg); position: absolute; top: 15px; right: -100px; z-index: -1;}
section.call-to-action div.price-before div.banner {transform: rotate(-5deg); position: absolute; left: 0; top: 0;}
section.call-to-action div.price-before .price:before {content: ''; width: 75%; height: 3px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(-15deg); background: #f8df08; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;}
section.call-to-action div.arrow.first {width: 75px; position: absolute; top: -110px; left: 50%; transform: rotate(90deg) scaleX(-1); z-index: -1;}
section.call-to-action div.overlay {opacity: 0.92; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2;}
section.call-to-action div.background {width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; filter: grayscale(100%);}
section.call-to-action div.cheetah {position: absolute; bottom: -50px; right: -150px; width: 500px; z-index: 5;}
section.call-to-action div.router {width: 200px; position: absolute; top: 50px; right: 50px; transform: rotate(5deg);}
section.call-to-action div.router div.banner {transform: rotate(5deg); position: absolute; right: -10px; top: -10px;}
section.call-to-action div.router div.spark, div.form.free div.router div.spark {width: 165%; height: 165%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: -1;}
section.call-to-action div.router div.spark img, div.form.free div.router div.spark img {width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
section.call-to-action div.router-girl {width: 490px; position: absolute; bottom: 0; right: 0; z-index: 5;}
section.call-to-action div.router-girl div.banner {width: auto; background: #231f20; color: #FFFFFF; position: absolute; bottom: 240px; right: 75px; width: 100px; height: 100px; text-align: center; line-height: 120%; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%;}
section.call-to-action div.arrow-rest-of-page {position: absolute; bottom: -125px; left: 50%; transform: translateX(-50%);}
section.call-to-action div.arrow-rest-of-page img {width: 45px; padding: 10px; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; background: #FFFFFF;}


section.call-to-action.thank-you div.icon {width: 75px; height: 75px; margin: 0 auto 15px auto; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; display: block;}
section.call-to-action.thank-you div.icon img {width: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
section.call-to-action.thank-you h1 {font-size: 65px;}


section.call-to-action.check-list .column.right div.router {top: -115px; width: 65%; right: -15%; transform: rotate(10deg); z-index: 1;}
section.call-to-action.check-list .column.right div.router div.spark {width: 125%; height: 125%;}
section.call-to-action.check-list .column.right ul, section.call-to-action .column.left ul {padding: 185px 0 0 0; width: 400px; margin: 0 auto;}
section.call-to-action.check-list .column.left ul {padding: 0 0 25px 0; display: none; width: 100%; max-width: 400px;}
section.call-to-action.check-list .column.right ul li, section.call-to-action .column.left ul li {font-size: 22px; line-height: 160%; font-weight: 500; padding: 0 0 0 45px; margin: 0 0 10px 0;}
section.call-to-action.check-list .column.right ul li:before, section.call-to-action .column.left ul li:before {background: #f8df08 url(../img/svg/check.svg) no-repeat center center; background-size: 15px; -webkit-background-size: 15px; -moz-background-size: 15px; -o-background-size: 15px; width: 30px; height: 30px;}


section.call-to-action.product-focused {padding: 75px 0 0 0;}
section.call-to-action.product-focused.no-padding {padding: 0;}
section.call-to-action.product-focused div.price-before {top: -40px; left: auto; right: -175px; width: 150px; height: 150px;}
section.call-to-action.product-focused div.price-before div.arrow {transform: rotate(180deg) scaleX(1); top: 35px; right: auto; left: -90px;}
section.call-to-action.product-focused form {width: 100%;}
section.call-to-action.product-focused div.background {filter: grayscale(0); filter: blur(6px); width: 150%; height: 150%; left: -15%; top: -15%;}
section.call-to-action.product-focused div.left {padding: 0 0 100px 0;}
section.call-to-action.product-focused .column.padded {padding: 100px 150px;}
section.call-to-action.product-focused .column.padded.background-black {overflow: hidden;}
section.call-to-action.product-focused .column.padded div.router-girl {right: auto; left: 50%; transform: translateX(-50%); width: 450px}
section.call-to-action.product-focused .column.padded div.router-girl div.banner {bottom: 215px;}
section.call-to-action.product-focused .column.padded div.router-large {width: 500px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 5;}
section.call-to-action.product-focused .column.padded div.router-large div.banner {width: auto; background: #231f20; color: #FFFFFF; position: absolute; bottom: 50px; left: -50px; width: 150px; height: 150px; text-align: center; line-height: 120%; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; font-size: 18px; opacity: 0;}
section.call-to-action.product-focused .column.padded div.cheetah {width: 500px; right: -150px; opacity: 0;}
section.call-to-action.product-focused .column.padded div.price-before {z-index: 10; right: -90px; top: 100px; width: 175px; height: 175px;}
section.call-to-action.product-focused .column.padded div.price-before div.arrow {left: -85px; transform: rotate(-25deg) scaleX(-1);}
section.call-to-action.product-focused .column.padded .price .package {font-size: 35px;}
section.call-to-action.product-focused .column.padded div.form form label .arrow {right: -25px;}


section.bullet-points div.icon {width: 70px; height: 70px; border: 3px solid #231f20; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; position: absolute; top: 0; left: 0; margin: 0; background: #FFFFFF;}
section.bullet-points div.icon img {width: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
section.bullet-points div.content {padding: 0 0 0 75px;}
section.bullet-points div.content h5 {margin: 0 0 5px 0;}
section.bullet-points span.smaller {display: block; clear: both; font-weight: 400;}
section.bullet-points div.check {border: 3px solid #0fbf42; background: #FFFFFF; width: 70px; height: 70px; margin: 0 auto 25px auto; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%;}
section.bullet-points div.check img {width: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}


section.testimonials {overflow: hidden;}
section.testimonials div.trustpilot-widget:before {content: ''; width: 200px; height: 100%; position: absolute; top: 0; left: 0; z-index: 500;}


section.overcharge h2 em.logo {width: 90px; display: inline-block;}
section#overpaying .flex-container:first-of-type div.column:first-of-type h3 {padding: 0 25px 0 0;}
section#overpaying .button.free {margin: 0;}


section.free-router h2, section.free-router p {color: #FFFFFF;}
section.free-router .button.free {margin: 15px 0;}
section.free-router div.router {width: 450px; position: absolute; top: -50px; right: 0;}
section.free-router div.router img {transform: rotate(15deg);}
section.free-router div.router div.banner {width: auto; background: #231f20; color: #FFFFFF; position: absolute; top: 0; left: -50px; width: 150px; height: 150px; text-align: center; line-height: 120%; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; font-size: 18px; z-index: 60;}


section.our-promise div.wrap {border: 1px solid #A3A3A3; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; padding: 50px; -webkit-box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05); box-shadow: 0px 25px 25px 0px rgba(0,0,0,0.05);}
section.our-promise p:last-of-type {margin: 0;}


form {width: 100%; float: left; z-index: 100;}
form input, form select, form textarea {width: 100%; float: left; height: 50px; outline: none; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; -webkit-appearance: none; padding: 0 35px; font-size: 18px; font-weight: 400; color: #231f20; font-family: 'Montserrat', sans-serif; border: 0; background: #FFFFFF;}
form input.uppercase {text-transform: uppercase;}
form textarea {min-height: 120px; height: 150px; min-width: 100%; max-width: 100%; resize: none; padding: 35px;}
form select {background: #FFFFFF url(../img/svg/arrow-solid-down.svg) no-repeat; background-position : calc(100% - 35px) center; background-size: 15px; -webkit-background-size: 15px; -moz-background-size: 15px; -o-background-size: 15px; padding: 0 35px;}
form select::-ms-expand {display: none;}
form input[type=number]::-webkit-inner-spin-button, 
form input[type=number]::-webkit-outer-spin-button {-webkit-appearance: none; margin: 0; }
form .submit {outline: none; -webkit-appearance: none; border: 0; margin: 0 0 15px 0; float: left; width: 100%; text-transform: uppercase; font-family: 'Montserrat', sans-serif; height: 75px; line-height: 75px;}
form .submit:disabled {opacity: 0.50; cursor: not-allowed;}
form label {font-weight: 600; font-size: 25px; line-height: 160%; margin: 0 0 15px 0; display: block; clear: both; text-align: center;}
form div.field {display: block; clear: both; margin: 0 0 25px 0; width: 100%; float: left; width: 100%;}
form div.field:last-of-type {margin: 0;}
form .field-error:before {content: ''; position: absolute; top: 7px; left: -35px; color: #F24333; width: 20px; height: 20px; background: url(../img/svg/error.svg) no-repeat center center; background-size: contain;}
form .field-error label:first-child {color: #F24333;}
form .field-error input, form .field-error select, form .field-error textarea {border: 2px solid #F24333;}
form .field-error input:placeholder, form .field-error select:placeholder form .field-error textarea:placeholder {color: #F24333;}
form label.error {display: none; background: #F24333; padding: 5px 15px; color: #FFFFFF; font-size: 12px!important; line-height: 160%; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; display: table; margin: 5px 0 0 0; float: left; font-weight: 400;}
form label.error:before {content: ''; width: 0; height: 0; border-style: solid; border-width: 0 5px 5px 5px; border-color: transparent transparent #F24333 transparent; position: absolute; top: -5px; left: 25px;}
form input.secure {background: #FFFFFF url(../img/svg/padlock.svg) no-repeat; background-position : calc(100% - 35px) center; background-size: 15px; -webkit-background-size: 15px; -moz-background-size: 15px; -o-background-size: 15px;}
form div.field.final {padding: 15px 0 0 0;}
form div.ssl {display: table; clear: both; text-align: left; color: #FFFFFF; padding: 0 35px; width: auto; margin: 0 auto;}
form div.ssl span {padding: 0 0 0 25px; display: block; text-align: left;}
form div.ssl span a {color: #FFFFFF; text-decoration: underline; font-weight: 600;}
form div.ssl img {width: 12px; position: absolute; top: 0; left: 35px;}
form .custom-checkbox {display: none;}
form .custom-checkbox + label {position: relative; cursor: pointer; outline: none; margin: 0; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; width: 100%; font-family: 'Montserrat', sans-serif; font-weight: 400; background: #f8f8f8; line-height: 50px; height: 50px; font-size: 18px!important; text-align: left; border: 1px solid #A3A3A3; padding: 0 35px 0 55px;}
form .custom-checkbox + label:before {position: absolute; width: 18px; height: 18px; display: block; z-index: 5; background: #f8f8f8; content: ''; top: 50%; left: 15px; transform: translateY(-50%); -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; border: 3px solid #A3A3A3;}
form .custom-checkbox:checked + label {background: #0fbf42; border: 1px solid #0fbf42; color: #FFFFFF;}
form .custom-checkbox:checked + label:before {background: #0fbf42; border: 3px solid #FFFFFF;}
form ul.options {display: block; clear: both; width: 100%; margin: 0;}
form ul.options li {width: 100%; display: block; float: left; padding: 0!important; background: none; margin: 0 0 10px 0!important;}
form ul.options.two li {width: 50%; padding: 0 15px 15px 0;}
form ul.options.three li {width: 33.333333%; padding: 0 15px 15px 0;}
form ul.options li:before {display: none;}


footer {background: #231f20;}
footer * {color: #FFFFFF;}
footer div.logo {width: 75px; margin: 0 auto 25px auto;}
footer p {margin: 0 0 15px 0; text-align: center;}
footer p:last-of-type {margin: 0;}


span.viewport:after {content: 'Full Desktop'; font-weight: 400; color: #FFFFFF; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; display: none; position: fixed; bottom: 15px; right: 15px; background: red; z-index: 500; padding: 5px 15px; font-size: 10px;}


@media screen and (min-height: 850px) {
section#overpaying div.wrap {display: flex; justify-content: space-around; align-items: flex-start;}
section#overpaying div.sticky {position: -webkit-sticky; position: sticky; top: 25px; float: left; width: 100%;}
}








/* -------------------------------------------------------------------------------
			WIDE
------------------------------------------------------------------------------- */

@media only screen and (min-width: 1200px) and (max-width: 1500px) {
span.viewport:after {content: 'Wide Desktop'; background: green;}
	
	
.price .package {font-size: 35px;}
	

div.wrap {max-width: 1100px;}
	
	
div.laptop-guy {width: 500px; left: 50px;}
	
	
ul.overpaying-points li {padding: 0 25px 0 85px;}
	
	
section.call-to-action div.cheetah {bottom: -25px; right: -125px; width: 425px;}
	
	
section.call-to-action div.price-before {left: 20px;}
section.call-to-action.product-focused div.price-before {right: -185px;}
	
	
section.call-to-action.product-focused .column.padded {padding: 75px;}
section.call-to-action.product-focused .column.padded:first-of-type {flex-basis: 55%;}
section.call-to-action.product-focused .column.padded:last-of-type {flex-basis: 45%;}
section.call-to-action.product-focused .column.padded div.cheetah {width: 350px; right: -100px;}
section.call-to-action.product-focused .column.padded div.router-large {width: 400px;}
section.call-to-action.product-focused .column.padded div.router-large div.banner {width: 125px; height: 125px;}
section.call-to-action.product-focused .column.padded div.price-before {right: -75px; top: 100px; width: 150px; height: 150px;}
section.call-to-action.product-focused .column.padded div.price-before div.arrow {left: -50px; top: 35px; width: 65px;}
section.call-to-action.product-focused .column.padded div.form form label .arrow {right: 0;}
	

section.call-to-action.check-list .column.right ul {padding: 185px 0 0 0;}
section.call-to-action.check-list .column.right div.router {width: 60%; top: -100px; right: -2.5%;}
}





/* -------------------------------------------------------------------------------
			Tablet Landscape: 960px.
------------------------------------------------------------------------------- */

@media only screen and (min-width: 960px) and (max-width: 1200px) {
span.viewport:after {content: 'Tablet Landscape'; background: blue;}
	
	
h1, .h1 {font-size: 70px;}
	
	
.price {font-size: 165px;}
.price .per-month {left: 20px;}
.price.smaller {font-size: 40px;}
.price.smallest {font-size: 30px;}
.price .package {font-size: 35px;}
.price .line-rental {font-size: 25px; padding: 5px 0 0 0;}
.price.package-first .package {font-size: 45px;}
.figure span.provider {padding: 0 0 5px 0;}
.figure {font-size: 50px;}
	
	
div.wrap, div.wrap.narrower {width: 90%;}
	
	
header ul li a {font-size: 14px;}
header ul li a img {width: 24px;}
	
	
div.form.free .price {font-size: 100px;}
div.form.free .price .per-month {bottom: -5px; left: 15px;}
div.form form .submit:hover {transform: none;}
div.form form label .arrow {right: 25px;}
	
	
div.reviews ul li {width: 375px; margin: 0 20px;}
div.reviews ul li div.contents {padding: 35px;}
div.reviews span.prev-next {left: 25px;}
div.reviews span.prev-next#next {right: 25px;}
	
	
div.packages .flex-container .column {flex-basis: calc((100% / 2));}
	
	
div.ratings-comparison {padding: 35px;}
div.ratings-comparison .flex-container.two .column div.reviews-logo {padding: 20px 0 0 0;}
div.ratings-comparison .flex-container.three .column div.reviews-logo {padding: 10px 0 0 0;}
	
	
div.laptop-guy {width: 400px; left: 50px;}
	
	
ul.overpaying-points li {padding: 0 25px 0 85px;}
	
	
section.call-to-action .column.left {flex-basis: 65%;}
section.call-to-action .column.right {flex-basis: 35%;}
section.call-to-action div.router {width: 175px; top: 40px; right: 0;}
section.call-to-action div.router-girl {width: 300px;}
section.call-to-action div.router-girl div.banner {bottom: 190px; right: -15px;}
section.call-to-action div.arrow.first {width: 65px; top: -90px;}
section.call-to-action div.price-before {width: 150px; height: 150px; left: 0;}
section.call-to-action div.price-before div.arrow {width: 75px; top: -15px; right: -35px;}
section.call-to-action div.cheetah {bottom: -15px; right: -125px; width: 350px;}
	
	
section.call-to-action.thank-you h1 {font-size: 60px;}
	
	
section.call-to-action.check-list {overflow: hidden;}
section.call-to-action.check-list .column.right ul {display: none;}
section.call-to-action.check-list .column.left ul {display: block;}
section.call-to-action.check-list .column.right ul li, section.call-to-action.check-list .column.left ul li {font-size: 18px; line-height: 160%; padding: 0 0 0 35px; margin: 0 0 5px 0;}
section.call-to-action.check-list .column.right ul li:before, section.call-to-action.check-list .column.left ul li:before {background: #f8df08 url(../img/svg/check.svg) no-repeat center center; background-size: 10px; -webkit-background-size: 10px; -moz-background-size: 10px; -o-background-size: 10px; width: 25px; height: 25px; top: 0;}
section.call-to-action.check-list .column.right div.router {width: 150%; transform: rotate(15deg); top: 100px; right: -175px;}
	
	
section.call-to-action.product-focused div.price-before div.arrow {top: 75px; left: -50px;}
	
	
section.call-to-action.product-focused .column.padded {padding: 50px; flex-basis: 100%;}
section.call-to-action.product-focused .column.padded div.form {width: 575px; margin: 0 auto;}
section.call-to-action.product-focused .column.padded div.cheetah {width: 350px; right: -100px; bottom: -50px;}
section.call-to-action.product-focused .column.padded div.router-large {width: 450px; position: relative;}
section.call-to-action.product-focused .column.padded div.router-large div.banner {width: 125px; height: 125px;}
section.call-to-action.product-focused .column.padded div.price-before {right: 5%; top: 75px; width: 150px; height: 150px;}
section.call-to-action.product-focused .column.padded div.price-before div.arrow {left: -50px; top: 35px; width: 65px;}
section.call-to-action.product-focused .column.padded div.form form label .arrow {right: 25px;}
	
	
section.call-to-action.check-list {padding: 50px 0 0 0;}
	
	
section.bullet-points div.icon, section.bullet-points div.check, section.our-promise div.icon {margin: 0 auto 15px auto; display: block; position: relative;}
section.bullet-points h5 {text-align: center;}
section.bullet-points div.content {text-align: center; padding: 0;}
	
	
section#overpaying .flex-container.margin .column {flex-basis: calc((100% / 2));}
	
	
section.free-router div.router {width: 375px; top: 50%; transform: translateY(-50%);}
section.free-router div.router img {transform: rotate(15deg);}
section.free-router div.router div.banner {left: -50px; width: 125px; height: 125px;}
	
	
section.our-promise .flex-container .column {flex-basis: calc((100% / 2));}
}





/* -------------------------------------------------------------------------------
			Tablet Portrait: 640px.
------------------------------------------------------------------------------- */
	
@media only screen and (min-width: 768px) and (max-width: 960px) {
span.viewport:after {content: 'Tablet Portrait'; background: pink;}
	
	
h1, .h1 {font-size: 70px;}
	
	
.price {font-size: 150px;}
.price .per-month {left: 18px;}
.price.smaller {font-size: 30px;}
.price.smallest {font-size: 25px;}
.price .package {font-size: 30px;}
.price .line-rental {font-size: 25px; padding: 5px 0 0 0;}
.price.package-first .package {font-size: 45px;}
.figure span.provider {padding: 0 0 5px 0;}
section, footer {padding: 50px 0;}
.smaller {font-size: 12px;}
.smallest {font-size: 10px;}
	
	
div.wrap, div.wrap.narrower {width: 90%;}
	
	
header ul li a {font-size: 14px;}
header ul li a img {width: 24px;}
	
	
div.form.free .price {font-size: 100px;}
div.form.free .price .per-month {bottom: -5px; left: 15px;}
div.form form label .arrow {right: 50px;}
div.form form .submit:hover {transform: none;}
	
	
div.reviews ul {padding: 0 0 50px 0;}
div.reviews ul li {width: 425px; margin: 0 15px;}
div.reviews ul li div.contents {padding: 35px;}
div.reviews div.review-list-navigation {position: relative; top: 0; transform: none; text-align: center;}
div.reviews span.prev-next {position: relative; left: 0; display: inline-block; margin: 0 5px;}
div.reviews span.prev-next#next {left: auto; right: 0;}
	
	
div.packages div.contents .icon {width: 25px; display: block; clear: both; margin: 0 auto;}
div.packages div.contents .align-central {text-align: center; display: block; clear: both;}
div.packages div.contents div.reviews-logo {width: 65px;}
div.packages div.contents div.section.split div.description {padding: 0 0 0 80px;}
div.packages div.contents div.section.split div.logo {width: 60px;}
div.packages div.contents ul li {font-size: 16px; line-height: 160%;}
div.packages .flex-container .column {flex-basis: calc((100% / 2));}
div.packages div.contents div.badge {top: -15px; right: -35px; width: 80px;}
div.packages div.contents div.badge span {top: 20px; font-size: 8px; line-height: 120%;}
	
	
div.ratings-comparison {padding: 35px;}
div.ratings-comparison .flex-container.two .column {flex-basis: calc((100% / 1))!important; padding: 0;}
div.ratings-comparison .flex-container.two .column:first-of-type {margin: 0 0 25px 0; border-bottom: 1px solid #A3A3A3; padding: 0 0 25px 0;}
div.ratings-comparison .flex-container.two .column:last-of-type {border: 0;}
div.ratings-comparison .flex-container.two .column div.logo {width: 200px; margin: 0 auto;}
div.ratings-comparison .flex-container.two .column div.reviews-logo {padding: 20px 0 0 0; width: 200px; margin: 0 auto; float: none;}
div.ratings-comparison .flex-container.three .column {flex-basis: calc((100% / 3))!important; padding: 0 0 15px 0;}
div.ratings-comparison .flex-container.three .column:first-of-type {border: 0; margin: 0; padding: 0;}
div.ratings-comparison .flex-container.three .column div.logo {width: 75%;}
div.ratings-comparison .flex-container.three .column div.reviews-logo {width: 65%; padding: 15px 0 0 0;}
	
	
div.choices div.italk-phone {width: 85%; margin: 0 auto;}
	
	
div.laptop-guy {width: 450px; left: auto; right: -125px; -webkit-transform: scaleX(-1); transform: scaleX(-1); display: block;}
	
	
div.reviews-logo, section.key-points div.content img {width: 250px;}
section.key-points div.content em {font-size: 16px; line-height: 160%; margin: 0 15px 0 0;}
	
	
ul.overpaying-points {padding: 0; margin: 0;}
ul.overpaying-points li {padding: 0 25px 0 85px;}
	
	
div.modal div.contents {padding: 50px 35px;}
	

section.call-to-action {padding: 25px 0 50px 0;}
section.call-to-action .column.left {flex-basis: 100%; padding: 0 0 15px 0;}
section.call-to-action .column.right {flex-basis: 250px;}
section.call-to-action div.router {width: 125px; top: 0; left: 0; transform: rotate(-5deg);}
section.call-to-action div.router div.banner {transform: rotate(-5deg); right: auto; left: -10px;}
section.call-to-action div.router-girl {width: 200px; right: 0; position: relative; margin: 10px auto -20px auto;}
section.call-to-action div.router-girl div.banner {bottom: auto; top: 25px; right: -50px; width: 75px; height: 75px;}
section.call-to-action div.arrow.first {width: 50px; top: -65px;}
section.call-to-action div.form {width: 575px; margin: 0 auto;}
section.call-to-action div.price-before {width: 125px; height: 125px; left: 0;}
section.call-to-action div.price-before div.arrow {width: 65px; top: -15px; right: -25px;}
section.call-to-action div.price-before span.color-yellow {font-size: 16px; line-height: 160%;}
section.call-to-action div.cheetah {bottom: -15px; right: auto; left: -100px; transform: scaleX(-1); width: 225px;}
section.call-to-action div.arrow-rest-of-page {bottom: -75px;}
	
	
section.call-to-action.thank-you h1 {font-size: 55px;}
	
	
section.call-to-action.check-list {overflow: hidden; padding: 50px 0!important;}
section.call-to-action.check-list .column.right ul {display: none;}
section.call-to-action.check-list .column.left ul {display: block;}
section.call-to-action.check-list .column.right ul li, section.call-to-action.check-list .column.left ul li {font-size: 18px; line-height: 160%; padding: 0 0 0 35px; margin: 0 0 5px 0;}
section.call-to-action.check-list .column.right ul li:before, section.call-to-action.check-list .column.left ul li:before {background: #f8df08 url(../img/svg/check.svg) no-repeat center center; background-size: 10px; -webkit-background-size: 10px; -moz-background-size: 10px; -o-background-size: 10px; width: 25px; height: 25px; top: 0;}
section.call-to-action.check-list .column.right {width: 33%; position: absolute; top: 0; left: -125px;}
section.call-to-action.check-list .column.right div.router {width: 100%; transform: rotate(-15deg); top: 0; right: auto; left: 0;}
	
	
section.call-to-action.product-focused {padding: 50px 0 0 0;}
section.call-to-action.product-focused div.left {padding: 0 0 15px 0;}
section.call-to-action.product-focused div.price-before, section.call-to-action div.price-before {left: auto; right: -25px; top: -15px; width: 125px; height: 125px;}
section.call-to-action.product-focused div.price-before div.banner, section.call-to-action div.price-before div.banner {transform: rotate(5deg); left: auto; right: 0;}
section.call-to-action.product-focused div.price-before div.arrow, section.call-to-action div.price-before div.arrow {transform: rotate(180deg) scaleX(1); top: 45px; right: auto; left: -50px;}
	
	
section.call-to-action.product-focused .column.padded {padding: 50px; flex-basis: 100%;}
section.call-to-action.product-focused .column.padded div.form {width: 575px; margin: 0 auto;}
section.call-to-action.product-focused .column.padded div.cheetah {width: 350px; left: auto; right: -100px; bottom: -50px;}
section.call-to-action.product-focused .column.padded div.router-large {width: 450px; position: relative;}
section.call-to-action.product-focused .column.padded div.router-large div.banner {width: 125px; height: 125px;}
section.call-to-action.product-focused .column.padded div.price-before {right: 5%; top: 65px; width: 125px; height: 125px;}
section.call-to-action.product-focused .column.padded div.price-before div.arrow {left: -50px; top: 35px; width: 65px;}
section.call-to-action.product-focused .column.padded div.form form label .arrow {right: 25px;}
	
	
section.call-to-action.side-by-side div.price-before div.banner {transform: rotate(5deg); left: auto; right: 0;}
	
	
section.call-to-action.location div.price-before {top: 80px;}
	
	
section.bullet-points .flex-container.center .column, section.free-router .flex-container .column, section#overpaying .flex-container .column, section.call-to-action .column, footer .flex-container .column {flex-basis: calc((100% / 1))!important;}
section#overpaying .flex-container .column .flex-container .column {flex-basis: calc((100% / 2))!important;}
section.bullet-points .flex-container .column {flex-basis: calc((100% / 2)); padding: 0 25px 25px 25px;}
section.bullet-points h5, section.our-promise h5 {margin: 0 0 15px 0; text-align: center;}
section.bullet-points div.icon, section.bullet-points div.check, section.our-promise div.icon {margin: 0 auto 15px auto; display: block; position: relative;}
section.bullet-points div.content {padding: 0; text-align: center;}
	
	
section#overpaying {overflow: hidden;}
section#overpaying .flex-container .column {flex-basis: calc((100% / 1));}
section#overpaying .flex-container.margin .column {flex-basis: calc((100% / 3));}
section#overpaying p {padding: 0 300px 0 0;}
section#overpaying div.wrap {display: block; justify-content: flex-start; align-items: flex-start;}
section#overpaying div.sticky {position: relative; top: 0;}
section#overpaying .flex-container:first-of-type div.column:first-of-type h3 {padding: 0;}
	
	
section.free-router * {text-align: center;}
section.free-router div.router {width: 350px; top: 0; transform: none; position: relative; margin: 25px auto 0 auto;}
section.free-router div.router div.banner {left: -50px; width: 125px; height: 125px;}
section.free-router .button.free {margin: 15px auto;}
	

section.our-promise div.wrap {padding: 35px;}
section.our-promise .flex-container .column {flex-basis: calc((100% / 2));}
	
	
footer div.logo {margin: 0 auto 10px auto; float: none;}
footer .flex-container .column {padding: 0 0 5px 0;}
footer .flex-container .column:last-of-type p {text-align: center;}
}





/* -------------------------------------------------------------------------------
			Wide Mobile Layout: 480px.
------------------------------------------------------------------------------- */
	
@media only screen and (min-width: 480px) and (max-width: 768px) {
span.viewport:after {content: 'Mobile Wide'; background: orange;}
	
	
html, body {font-size: 16px; line-height: 160%;}
	
	
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {line-height: 140%;}
h1, .h1 {font-size: 60px;}
h2, .h2 {font-size: 32px;}
h3, .h3 {font-size: 25px;}
h4, .h4 {font-size: 22px;}
h5, h6, .h5, .h6 {font-size: 18px;}
	
	
.button {-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;}
	
	
.price {font-size: 100px;}
.price .per-month {bottom: -5px; left: 5px; font-size: 12px;}
.price.smaller {font-size: 25px;}
.price.smallest {font-size: 22px;}
.price .package, section.call-to-action.product-focused .column.padded .price .package {font-size: 25px;}
.price .line-rental {font-size: 22px; padding: 5px 0 0 0;}
.price.package-first .package {font-size: 35px;}
.figure span.provider {padding: 0 0 5px 0;}
.figure {font-size: 50px;}
section, footer {padding: 50px 0;}
.smaller {font-size: 12px;}
.smallest {font-size: 10px;}
.icon {width: 30px;}
.larger {font-size: 150%;}
.margin-larger {margin: 0 0 35px 0;}
.postcode_pull {padding: 3px 25px;}
	
	
.flex-container .column {padding: 0 5px 10px 5px; flex-direction: column; align-items: flex-start;}
.flex-container.padding-less .column {padding: 0 5px 10px 5px!important;}
.flex-container.padding-more .column {padding: 0 15px 25px 15px;}
	
	
div.wrap, div.wrap.narrower {width: 90%;}
div.wrap.mobile-full {width: 95%;}
	
	
header ul li a {font-size: 14px;}
header ul li a img {width: 24px;}
	
	
div.form form {width: 100%;}
div.form form label .arrow {right: 0; width: 50px; top: -10px;}
div.form form input {padding: 0 25px; text-align: center; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-top-left-radius: 25px; -webkit-border-top-right-radius: 25px; -moz-border-radius-topleft: 25px; -moz-border-radius-topright: 25px; border-top-left-radius: 25px; border-top-right-radius: 25px;}
div.form form .submit {width: 100%; position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-bottom-right-radius: 25px; -webkit-border-bottom-left-radius: 25px; -moz-border-radius-bottomright: 25px; -moz-border-radius-bottomleft: 25px; border-bottom-right-radius: 25px; border-bottom-left-radius: 25px; margin: 0 auto; float: none;}
div.form form .submit:hover {transform: none;}
div.form.free {width: 100%; display: block; padding: 35px;}
div.form.free .price {font-size: 100px;}
div.form.free .price .per-month {bottom: -5px; left: 15px;}
div.form.free div.router {width: 100px; left: 25px;}
div.form.free h4 {padding: 0;}
div.form form p.form-explainer {font-size: 12px; line-height: 160%; margin: 0 auto 15px auto;}
div.form.step-2, section.call-to-action div.form.step-2 {padding: 35px 25px;}
div.form.step-2 form .submit {padding: 0 35px;}
div.form.step-2 form input {-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; text-align: left; padding: 0 50px 0 25px;}
	
	
div.reviews ul {padding: 0 0 25px 0;}
div.reviews ul li {width: 425px; margin: 0 10px;}
div.reviews ul li div.contents {padding: 35px;}
div.reviews div.review-list-navigation {position: relative; top: 0; transform: none; text-align: center;}
div.reviews span.prev-next {position: relative; left: 0; display: inline-block; margin: 0 5px;}
div.reviews span.prev-next#next {left: auto; right: 0;}
	
	
div.reviews ul {padding: 0 0 50px 0;}
div.reviews ul li {width: 425px; margin: 0 15px;}
div.reviews ul li div.contents {padding: 35px;}
div.reviews div.review-list-navigation {position: relative; top: 0; transform: none; text-align: center;}
div.reviews span.prev-next {position: relative; left: 0; display: inline-block; margin: 0 5px;}
div.reviews span.prev-next#next {left: auto; right: 0;}
	
	
div.packages div.contents .icon {width: 25px; display: block; clear: both; margin: 0 auto;}
div.packages div.contents .align-central {text-align: center; display: block; clear: both;}
div.packages div.contents ul li {font-size: 16px; line-height: 160%;}
div.packages .flex-container .column {flex-basis: calc((100% / 1)); padding: 0; margin: 0 0 25px 0;}
	
	
div.ratings-comparison {padding: 35px;}
div.ratings-comparison .flex-container.two .column {flex-basis: calc((100% / 1))!important; padding: 0;}
div.ratings-comparison .flex-container.two .column:first-of-type {margin: 0 0 25px 0; border-bottom: 1px solid #A3A3A3; padding: 0 0 25px 0;}
div.ratings-comparison .flex-container.two .column:last-of-type {border: 0;}
div.ratings-comparison .flex-container.two .column div.logo {width: 200px; margin: 0 auto;}
div.ratings-comparison .flex-container.two .column div.reviews-logo {padding: 20px 0 0 0; width: 200px; margin: 0 auto; float: none;}
div.ratings-comparison .flex-container.three .column {flex-basis: calc((100% / 2))!important; padding: 0 0 15px 0;}
div.ratings-comparison .flex-container.three .column:first-of-type {border: 0; margin: 0; padding: 0;}
div.ratings-comparison .flex-container.three .column div.logo {width: 75%;}
div.ratings-comparison .flex-container.three .column div.reviews-logo {width: 65%; padding: 15px 0 0 0;}
	

div.choices * {text-align: center;}
div.choices .button {margin: 0 auto;}
div.choices .flex-container .column {padding: 0; flex-basis: calc((100% / 1));}
div.choices div.italk-phone {width: 150px; display: block; clear: both; margin: 25px auto 0 auto;}
	
	
div.laptop-guy {width: 300px; left: auto; right: 0; top: auto; position: relative; margin: 0 auto -50px auto; display: block;}
	
	
div.reviews-logo, section.key-points div.content img {width: 225px;}
	
	
ul.overpaying-points {padding: 0; margin: 0;}
ul.overpaying-points li {padding: 0 25px 0 75px;}
ul.overpaying-points li div.icon, section.our-promise div.icon {width: 60px; height: 60px;}
	
	
div.modal div.contents {padding: 35px 25px;}
div.modal div.contents ul {padding: 0 0 0 5px;}
div.modal div.close {padding: 5px 10px; top: 10px; right: 10px; font-size: 12px; line-height: 160%;}
	
	
section.key-points div.content em {font-size: 14px; line-height: 160%; margin: 0 15px 0 0;}
	

section.call-to-action {padding: 25px 0 50px 0;}
section.call-to-action .column.left {flex-basis: 100%; padding: 0 0 15px 0;}
section.call-to-action .column.right {flex-basis: 250px;}
section.call-to-action div.router-girl {width: 175px; right: 0; position: relative; margin: 10px auto -10px auto;}
section.call-to-action div.router-girl div.banner {bottom: auto; top: 25px; right: -50px; width: 75px; height: 75px;}
section.call-to-action div.arrow.first {width: 40px; top: -55px;}
section.call-to-action div.form {width: 100%; margin: 0 auto;}
section.call-to-action div.price-before div.arrow {width: 50px;}
section.call-to-action div.price-before div.banner {font-size: 10px; transform: none; top: 30px; left: -100px;}
section.call-to-action div.price-before span.color-yellow {font-size: 14px; line-height: 160%;}
section.call-to-action div.arrow.first {display: none;}
section.call-to-action div.cheetah {bottom: auto; top: -5px; right: auto; left: -50px; transform: scaleX(-1); width: 150px;}
section.call-to-action div.arrow-rest-of-page {bottom: -70px;}
section.call-to-action div.arrow-rest-of-page img {width: 35px;}
	
	
section.call-to-action.thank-you div.icon {width: 55px; height: 55px; margin: 0 auto 10px auto;}
section.call-to-action.thank-you h1 {font-size: 45px;}
	
	
section.call-to-action.check-list {overflow: hidden; padding: 40px 0!important;}
section.call-to-action.check-list .column.right {width: 33%; position: absolute; top: -15px; left: -20%;}
section.call-to-action.check-list .column.right div.router {width: 100%; transform: rotate(-15deg); top: 0; right: auto; left: 0;}
section.call-to-action.check-list .column.right ul {display: none;}
section.call-to-action.check-list .column.left ul {display: block; max-width: 315px; padding: 0 0  15px 0;}
section.call-to-action.check-list .column.right ul li, section.call-to-action.check-list .column.left ul li {font-size: 18px; line-height: 160%; padding: 0 0 0 35px; margin: 0 0 5px 0;}
section.call-to-action.check-list .column.right ul li:before, section.call-to-action.check-list .column.left ul li:before {background: #f8df08 url(../img/svg/check.svg) no-repeat center center; background-size: 10px; -webkit-background-size: 10px; -moz-background-size: 10px; -o-background-size: 10px; width: 25px; height: 25px; top: 0;}
	
	
section.call-to-action.product-focused {padding: 50px 0 0 0;}
section.call-to-action.product-focused div.left {padding: 0 0 15px 0;}
section.call-to-action.product-focused div.price-before, section.call-to-action div.price-before {left: auto!important; right: 0; top: -65px; width: 100px; height: 100px;}
section.call-to-action.product-focused div.price-before div.arrow, section.call-to-action div.price-before div.arrow {display: none;}
	
	
section.call-to-action.product-focused .column.padded {padding: 50px 5%; flex-basis: 100%;}
section.call-to-action.product-focused .column.padded div.form {width: 100%; margin: 0 auto;}
section.call-to-action.product-focused .column.padded div.cheetah {width: 300px; left: auto; right: -100px; top: auto; bottom: -50px;}
section.call-to-action.product-focused .column.padded div.router-large {width: 375px; position: relative;}
section.call-to-action.product-focused .column.padded div.router-large div.banner {width: 100px; height: 100px; left: -25px; font-size: 16px;}
section.call-to-action.product-focused .column.padded div.price-before {right: 5%; top: -35px; width: 80px; height: 80px;}
section.call-to-action.product-focused .column.padded div.price-before div.arrow {display: none;}
section.call-to-action.product-focused .column.padded div.form form label .arrow {right: 25px;}
	
	
section.call-to-action.side-by-side div.router {width: 90px; top: -35px; right: auto; left: -10px; transform: rotate(-5deg);}
section.call-to-action.side-by-side div.router div.banner {font-size: 10px;}
	
	
section.call-to-action.location {padding: 50px 0;}
section.call-to-action.location div.price-before {top: -65px; right: auto; left: 55%!important; background: none; width: 80px; height: 80px;}
section.call-to-action.location div.price-before div.arrow {display: none;}
	
	
section.bullet-points .flex-container .column, section.free-router .flex-container .column, section#overpaying .flex-container .column, section.call-to-action .column, footer .flex-container .column {flex-basis: calc((100% / 1))!important;}
section#overpaying .flex-container .column .flex-container .column {flex-basis: calc((100% / 2))!important;}
section.bullet-points .flex-container .column {flex-basis: calc((100% / 2)); padding: 0 25px 25px 25px;}
section.bullet-points h5, section.our-promise h5 {margin: 0 0 15px 0; text-align: center;}
section.bullet-points div.icon, section.bullet-points div.check, section.our-promise div.icon {width: 60px; height: 60px; margin: 0 auto 15px auto; display: block; position: relative;}
section.bullet-points div.content {padding: 0; text-align: center;}
	
	
section#overpaying {overflow: hidden;}
section#overpaying .flex-container .column {flex-basis: calc((100% / 1));}
section#overpaying .flex-container.margin .column {flex-basis: calc((100% / 3));}
section#overpaying h5, section#overpaying p {padding: 0;}
section#overpaying div.wrap {display: block; justify-content: flex-start; align-items: flex-start;}
section#overpaying ul.overpaying-points {position: relative; top: 0;}
section#overpaying .flex-container:first-of-type div.column:first-of-type h3 {padding: 0;}
	
	
section.free-router * {text-align: center;}
section.free-router div.router {width: 300px; top: 0; transform: none; position: relative; margin: 25px auto 0 auto;}
section.free-router div.router div.banner {left: -50px; width: 125px; height: 125px;}
section.free-router .button.free {margin: 15px auto;}
	
	
section.our-promise div.wrap {padding: 35px;}
section.our-promise .flex-container .column {flex-basis: calc((100% / 1)); padding: 0 25px 25px 25px;}
	
	
form div.ssl {padding: 0;}
form div.ssl img {left: 0;}
form div.field {margin: 0 0 15px 0;}
form .field-error:before {left: auto; right: 0; top: -10px; width: 12px; height: 12px; background: url(../img/svg/error.svg) no-repeat center center; background-size: contain;}
form input.secure {background: #FFFFFF url(../img/svg/padlock.svg) no-repeat; background-position : calc(100% - 25px) center; background-size: 15px; -webkit-background-size: 15px; -moz-background-size: 15px; -o-background-size: 15px;}
	
	
footer div.logo {margin: 0 auto 10px auto; float: none;}
footer .flex-container .column {padding: 0 0 5px 0;}
footer .flex-container .column:last-of-type p {text-align: center;}
}





/* -------------------------------------------------------------------------------
			Mobile Layout: 320px.
------------------------------------------------------------------------------- */

@media only screen and (max-width: 480px) {
span.viewport:after {content: 'Mobile Portrait'; background: yellow;}
	
	
html, body {font-size: 16px; line-height: 160%;}
	

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {line-height: 140%;}
h1, .h1 {font-size: 60px;}
h2, .h2 {font-size: 32px;}
h3, .h3 {font-size: 25px;}
h4, .h4 {font-size: 22px;}
h5, h6, .h5, .h6 {font-size: 18px;}
	
	
.button {-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;}
	
	
.price {font-size: 75px;}
.price .per-month {bottom: -5px; left: 5px; font-size: 12px;}
.price.smaller {font-size: 22px;}
.price.smallest {font-size: 18px;}
.price .package, section.call-to-action.product-focused .column.padded .price .package {font-size: 22px;}
.price .line-rental {font-size: 18px; padding: 5px 0 0 0;}
.price.package-first .package {font-size: 35px;}
.figure span.provider {padding: 0 0 5px 0;}
.figure {font-size: 35px;}
section, footer {padding: 50px 0;}
.smaller {font-size: 12px;}
.smallest {font-size: 10px;}
.icon {width: 30px;}
.larger {font-size: 150%;}
.margin-larger {margin: 0 0 35px 0;}
.postcode_pull {padding: 3px 25px;}
	
	
.flex-container .column {padding: 0 5px 10px 5px; flex-direction: column; align-items: flex-start;}
.flex-container.padding-less .column {padding: 0 5px 10px 5px!important;}
.flex-container.padding-more .column {padding: 0 15px 25px 15px;}
	
	
div.wrap, div.wrap.narrower {width: 90%;}
div.wrap.mobile-full {width: 100%;}
	
	
header ul li a {font-size: 14px;}
header ul li a img {width: 24px;}
	
	
div.form form {width: 100%;}
div.form form label .arrow {right: 0; width: 35px; top: -10px;}
div.form form input {padding: 0 50px; text-align: center; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-top-left-radius: 25px; -webkit-border-top-right-radius: 25px; -moz-border-radius-topleft: 25px; -moz-border-radius-topright: 25px; border-top-left-radius: 25px; border-top-right-radius: 25px;}
div.form form .submit {width: 100%; position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-bottom-right-radius: 25px; -webkit-border-bottom-left-radius: 25px; -moz-border-radius-bottomright: 25px; -moz-border-radius-bottomleft: 25px; border-bottom-right-radius: 25px; border-bottom-left-radius: 25px; margin: 0 auto; float: none;}
div.form form .submit:hover {transform: none;}
div.form.free {width: 110%; left: -5%; display: block; padding: 15px; background: none; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
div.form.free.background-green h4 {color: #231f20;}
div.form.free .price {font-size: 75px;}
div.form.free .price .per-month {bottom: -5px; left: 15px;}
div.form.free div.router {width: 100px; left: 50%; transform: translateX(-50%) rotate(-15deg); top: -95px;}
div.form.free h4 {padding: 0;}
div.form form p.form-explainer {font-size: 12px; line-height: 160%; margin: 0 auto 15px auto;}
div.form.step-2, section.call-to-action div.form.step-2 {padding: 35px 20px; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;}
div.form.step-2 form .submit {padding: 0 35px;}
div.form.step-2 form input {-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px; text-align: left; padding: 0 50px 0 25px;}
	

div.reviews ul {padding: 0 0 25px 0;}
div.reviews ul li {width: 300px; margin: 0 10px;}
div.reviews ul li div.contents {padding: 25px;}
div.reviews div.review-list-navigation {position: relative; top: 0; transform: none; text-align: center;}
div.reviews span.prev-next {position: relative; left: 0; display: inline-block; margin: 0 5px;}
div.reviews span.prev-next#next {left: auto; right: 0;}
	
	
div.packages div.contents {padding: 25px;}
div.packages div.contents .icon {width: 25px; display: block; clear: both; margin: 0 auto;}
div.packages div.contents .align-central {text-align: center; display: block; clear: both;}
div.packages div.contents ul li {font-size: 16px; line-height: 160%;}
div.packages .flex-container .column {flex-basis: calc((100% / 1)); padding: 0; margin: 0 0 25px 0;}
div.packages div.contents div.section.split div.description {width: 100%; padding: 0; float: left; display: block; clear: both; text-align: center;}
div.packages div.contents div.section.split div.logo {position: relative; top: 0; left: 0; margin: 0 auto 15px auto; width: 80px;}
div.packages div.contents div.badge {top: -15px; right: -40px; width: 80px;}
div.packages div.contents div.badge span {top: 20px; font-size: 8px; line-height: 120%;}
	
	
div.ratings-comparison {padding: 35px;}
div.ratings-comparison .flex-container.two .column {flex-basis: calc((100% / 1))!important; padding: 0;}
div.ratings-comparison .flex-container.two .column:first-of-type {margin: 0 0 25px 0; border-bottom: 1px solid #A3A3A3; padding: 0 0 25px 0;}
div.ratings-comparison .flex-container.two .column:last-of-type {border: 0;}
div.ratings-comparison .flex-container.two .column div.logo {width: 175px; margin: 0 auto;}
div.ratings-comparison .flex-container.two .column div.reviews-logo {padding: 20px 0 0 0; width: 175px; margin: 0 auto; float: none;}
div.ratings-comparison .flex-container.three .column {flex-basis: calc((100% / 1))!important; padding: 0; margin: 0 0 15px 0;}
div.ratings-comparison .flex-container.three .column:first-of-type {border: 0; padding: 0;}
div.ratings-comparison .flex-container.three .column div.logo {width: 90%;}
div.ratings-comparison .flex-container.three .column div.reviews-logo {width: 150px; padding: 15px 0 0 0;}
	

div.choices * {text-align: center;}
div.choices .button {margin: 0 auto;}
div.choices .flex-container .column {padding: 0; flex-basis: calc((100% / 1));}
div.choices div.italk-phone {width: 150px; display: block; clear: both; margin: 25px auto 0 auto;}
	
	
div.laptop-guy {width: 300px; left: auto; right: 0; top: auto; position: relative; margin: 0 auto -50px auto; display: block;}
	
	
div.reviews-logo, section.key-points div.content img {width: 225px;}
	
	
ul.overpaying-points {padding: 0; margin: 0;}
ul.overpaying-points li {padding: 0 0 0 75px;}
ul.overpaying-points li div.icon, section.our-promise div.icon {width: 60px; height: 60px;}
	
	
div.modal div.contents {padding: 25px 15px;}
div.modal div.contents ul {padding: 0 0 0 5px;}
div.modal div.close {padding: 5px 10px; top: 5px; right: 5px; font-size: 12px; line-height: 160%;}
	
	
section.mobile-background-green {background: #0fbf42;}
section.mobile-background-green div.form.free.background-green h4 {color: #FFFFFF;}
	
	
section.key-points {padding: 15px 0;}
section.key-points div.content em {font-size: 14px; line-height: 160%; margin: 0 15px 0 0;}
	

section.call-to-action {padding: 25px 0 50px 0;}
section.call-to-action .column.left {flex-basis: 100%; padding: 0 0 15px 0;}
section.call-to-action .column.right {flex-basis: 250px;}
section.call-to-action div.router-girl {width: 175px; right: 0; position: relative; margin: 10px auto -10px auto;}
section.call-to-action div.router-girl div.banner {bottom: auto; top: 25px; right: -50px; width: 75px; height: 75px;}
section.call-to-action div.arrow.first {width: 40px; top: -55px;}
section.call-to-action div.form {width: 100%; margin: 0 auto;}
section.call-to-action div.price-before div.arrow {width: 35px;}
section.call-to-action div.price-before div.banner {font-size: 10px; transform: none; top: 30px; left: -100px;}
section.call-to-action div.price-before span.color-yellow {font-size: 14px; line-height: 160%;}
section.call-to-action div.arrow.first {display: none;}
section.call-to-action div.cheetah {bottom: auto; top: -5px; right: auto; left: -25px; transform: scaleX(-1); width: 100px;}
section.call-to-action h1 {margin: 0 0 15px 0;}
section.call-to-action div.arrow-rest-of-page {bottom: -70px;}
section.call-to-action div.arrow-rest-of-page img {width: 35px;}
	
	
section.call-to-action.thank-you div.icon {width: 55px; height: 55px; margin: 0 auto 10px auto;}
section.call-to-action.thank-you h1 {font-size: 35px;}
	
	
section.call-to-action.check-list {overflow: hidden; padding: 40px 0!important;}
section.call-to-action.check-list .column.right {width: 25%; position: absolute; top: -25px; left: -10%;}
section.call-to-action.check-list .column.right div.router {width: 100%; transform: rotate(-15deg); top: 0; right: auto; left: 0;}
section.call-to-action.check-list .column.right ul {display: none;}
section.call-to-action.check-list .column.left ul {display: block; max-width: 315px; padding: 0 0  15px 0;}
section.call-to-action.check-list .column.right ul li, section.call-to-action.check-list .column.left ul li {font-size: 16px; line-height: 160%; padding: 0 0 0 35px; margin: 0 0 5px 0;}
section.call-to-action.check-list .column.right ul li:before, section.call-to-action.check-list .column.left ul li:before {background: #f8df08 url(../img/svg/check.svg) no-repeat center center; background-size: 10px; -webkit-background-size: 10px; -moz-background-size: 10px; -o-background-size: 10px; width: 25px; height: 25px; top: 0;}
	
	
section.call-to-action.product-focused {padding: 50px 0 0 0;}
section.call-to-action.product-focused div.left {padding: 0 0 15px 0;}
section.call-to-action.product-focused div.price-before, section.call-to-action div.price-before {left: auto!important; right: 0; top: -55px; width: 75px; height: 75px;}
section.call-to-action.product-focused div.price-before div.arrow, section.call-to-action div.price-before div.arrow {display: none;}
	
	
section.call-to-action.product-focused .column.padded {padding: 50px 5%; flex-basis: 100%;}
section.call-to-action.product-focused .column.padded div.form {width: 100%; margin: 0 auto;}
section.call-to-action.product-focused .column.padded div.cheetah {width: 200px; left: auto; right: -50px; top: auto; bottom: -50px;}
section.call-to-action.product-focused .column.padded div.router-large {width: 85%; position: relative;}
section.call-to-action.product-focused .column.padded div.router-large div.banner {width: 100px; height: 100px; left: -25px; font-size: 16px;}
section.call-to-action.product-focused .column.padded div.form form label .arrow {right: 25px; margin: 0 0 10px 0;}
	
	
section.call-to-action.side-by-side {padding: 35px 0 50px 0;}
section.call-to-action.side-by-side p {font-size: 14px; line-height: 160%;}
section.call-to-action.side-by-side div.price-before {width: 80px; height: 80px; left: auto; top: -25px; right: -10px; background: none;}
section.call-to-action.side-by-side div.price-before div.arrow {display: none;}
section.call-to-action.side-by-side div.price-before div.banner {position: absolute; left: auto; right: 0; top: 5px; transform: rotate(5deg); font-size: 8px;}
section.call-to-action.side-by-side div.router {width: 65px; top: -5px; right: auto; left: 0; transform: none;}
section.call-to-action.side-by-side div.router div.banner {font-size: 8px; top: -15px; transform: rotate(-5deg); right: auto; left: -10px;}
	
	
section.call-to-action.location {padding: 50px 0;}
section.call-to-action.location div.price-before, section.call-to-action.product-focused .column.padded div.price-before {top: -65px; right: auto; left: 55%!important; background: none; width: 80px; height: 80px;}
section.call-to-action.product-focused .column.padded div.price-before {top: -15px;}
section.call-to-action.location div.price-before div.arrow, section.call-to-action.product-focused .column.padded div.price-before div.arrow {display: none;}
	
	
section.bullet-points .flex-container .column, section.free-router .flex-container .column, section#overpaying .flex-container .column, section.call-to-action .column, footer .flex-container .column {flex-basis: calc((100% / 1))!important;}
section.bullet-points .flex-container .column {flex-basis: calc((100% / 2)); padding: 0 25px 25px 25px;}
section.bullet-points h5, section.our-promise h5 {margin: 0 0 15px 0; text-align: center;}
section.bullet-points div.icon, section.bullet-points div.check, section.our-promise div.icon {width: 60px; height: 60px; margin: 0 auto 15px auto; display: block; position: relative;}
section.bullet-points div.content {padding: 0; text-align: center;}
section.bullet-points div.check {margin: 0 auto 15px auto;}
	
	
section.testimonials div.trustpilot-widget:before {left: 50%; transform: translateX(-50%);}
	
	
section#overpaying {overflow: hidden;}
section#overpaying .flex-container.margin .column {flex-basis: calc((100% / 2))!important;}
section#overpaying h5, section#overpaying p {padding: 0;}
section#overpaying .smaller {font-size: 10px; line-height: 160%;}
section#overpaying div.wrap {display: block; justify-content: flex-start; align-items: flex-start;}
section#overpaying ul.overpaying-points {position: relative; top: 0;}
section#overpaying .flex-container:first-of-type div.column:first-of-type h3 {padding: 0;}
	
	
section.free-router * {text-align: center;}
section.free-router div.router {width: 85%; top: 0; transform: none; position: relative; margin: 25px auto 0 auto;}
section.free-router div.router div.banner {left: auto; right: -25px; width: 75px; height: 75px; font-size: 12px;}
section.free-router .button.free {margin: 15px auto;}
	
	
section.our-promise div.wrap {padding: 35px 25px;}
section.our-promise .flex-container .column {flex-basis: calc((100% / 1)); padding: 0 25px 25px 25px;}
	
	
form input, form select, form textarea {padding: 0 25px; font-size: 16px;}
form textarea {padding: 25px;}
form select {background: #FFFFFF url(../img/svg/arrow-solid-down.svg) no-repeat; background-position : calc(100% - 25px) center; padding: 0 25px; background-size: 15px; -webkit-background-size: 15px; -moz-background-size: 15px; -o-background-size: 15px;}
form div.ssl {padding: 0;}
form div.ssl img {left: 0;}
form div.field {margin: 0 0 15px 0;}
form .custom-checkbox + label {font-size: 16px!important;}
form .field-error:before {left: auto; right: 0; top: -10px; width: 12px; height: 12px; background: url(../img/svg/error.svg) no-repeat center center; background-size: contain;}
form input.secure {background: #FFFFFF url(../img/svg/padlock.svg) no-repeat; background-position : calc(100% - 25px) center; background-size: 15px; -webkit-background-size: 15px; -moz-background-size: 15px; -o-background-size: 15px;}
	
	
footer div.logo {margin: 0 auto 10px auto; float: none;}
footer .flex-container .column {padding: 0 0 5px 0;}
footer .flex-container .column:last-of-type p {text-align: center;}
}



.animation-up-down {-webkit-animation: animation-up-down 1s infinite  alternate; animation: animation-up-down 1s infinite  alternate;}
@-webkit-keyframes animation-up-down {
	0% { transform: translateY(0); }
	100% { transform: translateY(-10px); }
}
@keyframes animation-up-down {
	0% { transform: translateY(0); }
	100% { transform: translateY(-10px); }
}
.animation-in-out {
	-webkit-animation: in-out 1s infinite  alternate;
    animation: in-out 1s infinite  alternate;
}
@keyframes in-out {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}