/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: rgba(0,0,0,.01) 0 0 1px;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

button { border: 0; }

/* ==========================================================================
   OUTAGE MESSAGE - Change to display:block; to show/trigger message during outage
   ========================================================================== */

div.outage, div.outage-minimal { background: #f77b21; width: 100%;}
div.outage div.container { display: block; padding: 15px 10px; }
div.outage-minimal div.container { display: none; height: 28px; }
div.outage.debug { background: #A0A0A0; bottom: 0px; position: fixed; z-index: 999;}
div.outage.debug b { color: #424242; }
div.outage.debug button { border: none; margin-top: 5px; }
div.outage div.container a { background: url(../img/icon_close.png) no-repeat; background-size: 20px 20px; width: 20px; height: 20px; position: absolute; top: 20px; right: 20px; }
div.outage-minimal div.container a { background: url(../img/icon_open.png) no-repeat; background-size: 20px 12px; width: 20px; height: 12px; position: absolute; top: 8px; right: 20px; }
div.outage.debug div.container a { background: url(../img/icon-refresh.png) no-repeat; background-size: 20px 20px; width: 20px; height: 20px; position: absolute; top: 20px; right: 20px; }
div.outage div.container img { float: left; width: 70px; margin-right: 3%; }
div.outage div.container h5 { font-family: 'open_sansbold', sans-serif; font-size: 18px; color: #FFF; margin: 5px 0; }
div.outage div.container p { font-size: 12px; color: #FFF; }
 
div.outage > div.container > div { float: left; width: 50%; }

/* ==========================================================================
   Typography
   ========================================================================== */

@font-face {
    font-family: 'open_sansextrabold';
    src: url('../fonts/OpenSans-ExtraBold-webfont.eot');
    src: url('../fonts/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/OpenSans-ExtraBold-webfont.woff') format('woff'),
         url('../fonts/OpenSans-ExtraBold-webfont.ttf') format('truetype'),
         url('../fonts/OpenSans-ExtraBold-webfont.svg#open_sansextrabold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sansbold';
    src: url('../fonts/OpenSans-Bold-webfont.eot');
    src: url('../fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/OpenSans-Bold-webfont.woff') format('woff'),
         url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype'),
         url('../fonts/OpenSans-Bold-webfont.svg#open_sansbold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sanssemibold';
    src: url('../fonts/OpenSans-Semibold-webfont.eot');
    src: url('../fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/OpenSans-Semibold-webfont.woff') format('woff'),
         url('../fonts/OpenSans-Semibold-webfont.ttf') format('truetype'),
         url('../fonts/OpenSans-Semibold-webfont.svg#open_sanssemibold') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sansregular';
    src: url('../fonts/OpenSans-Regular-webfont.eot');
    src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),
         url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
         url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'open_sanslight';
    src: url('../fonts/OpenSans-Light-webfont.eot');
    src: url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/OpenSans-Light-webfont.woff') format('woff'),
         url('../fonts/OpenSans-Light-webfont.ttf') format('truetype'),
         url('../fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg');
    font-weight: normal;
    font-style: normal;
}

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

h1 { font-family: 'open_sanslight', sans-serif; color: #FFF; font-size: 45px; margin: 10px 0; }
h4 { font-family: 'open_sansbold', sans-serif; text-transform: uppercase; color: #FFF; font-size: 25px; letter-spacing: 1px; }

p { font-family: 'open_sansregular', sans-serif; }

a { text-decoration: none; }
a:focus, input:focus { outline: 0; }
a:hover { text-decoration: none; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

ul { padding: 0; margin: 0; }
ul li { list-style: none; }

span.monthly { font-family: 'open_sanslight', sans-serif; color: inherit; text-transform: uppercase; font-size: 25px; }

label.error { color: red !important; font-size: 11px !important; display: block; clear: both; }
input.error { border: 1px solid red !important; }

/* ==========================================================================
   Helpers
   ========================================================================== */

.margin-top-15 { margin-top: 15px !important; }
.margin-top-30 { margin-top: 30px !important; }
.margin-top-45 { margin-top: 45px !important; }

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn-blue { display: block; background: #004c98; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.btn-red { display: block; background: #d02329; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.btn-orange { display: block; background: #f77b21; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.btn-grey { display: block; background: #8e8e8e; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.btn-white { display: block; background: none; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; border: 1px solid #FFF; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } 
.btn-dark { display: block; background: none; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; border: 1px solid #c8cbd2; color: #4b4b4b; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.btn-blue:hover { color: #FFF; background: #003d7a; }
.btn-red:hover { color: #FFF; background: #ae0c11; }
.btn-orange:hover { color: #FFF; background: #d65a00; }

.btn-white:hover { color: #004c98; background: #FFF; }
.btn-dark:hover { color: #323131; border: 1px solid #979797; }

/* ==========================================================================
   Header
   ========================================================================== */

header { background: #004c98; width: 100%; height: 55px; position: relative; }
header #header-container { width: 100%; max-width: 1280px; display: block; margin: 0 auto; position: relative; }
header #header-container a#logo { background: url(../img/logo-medium.png) no-repeat; width: 250px; height: 114px; position: absolute; left: 0; top: 0; z-index: 30; }

header #header-container nav { float: left; padding-left: 23.5%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
header #header-container nav ul { margin: 0; padding: 0; }
header #header-container nav ul li { list-style: none; float: left; }
header #header-container nav ul li a { font-family: 'open_sans', sans-serif; color: #FFF; font-size: 12px; text-transform: uppercase; padding: 18px 12px; float: left; position: relative; }
header #header-container nav ul li a.active { font-family: 'open_sansextrabold', sans-serif; line-height: 16px; }
/* header #header-container nav ul li a#nav-products { background: url(../img/arrow_nav.png) no-repeat center right; background-size: 24px 10px; } */

header #header-container nav ul li a:hover, header #header-container nav ul li a#nav-products:hover { background-color: #0b3a6a; }

header #nav-right { float: right; padding-top: 18px; position: relative; z-index: 30; }
header #nav-right a { font-family: 'open_sanssemibold', sans-serif; font-size: 12px; color: #90b3d6; text-transform: uppercase; float: left; margin: 0 10px; }
header #nav-right a:hover { color: #FFF; }

header #nav-right a#nav-cart, header #nav-right a#nav-search, header #nav-right a#nav-mobile, header #nav-right a#nav-chat { width: 28px; margin-top: -2px; }

header #nav-right a img { width: 100%; }

/* ==========================================================================
   Dropdown Menu
   ========================================================================== */

header #header-container nav ul li div.drop { display: none; width: 100%; height: auto; position: absolute; z-index: 40; top: 54px; left: 0; padding-left: 23.5%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
header #header-container nav ul li div.drop div.col-sm-3 { background: rgba(255,255,255,0.9); height: 200px; border-right: 1px solid #e1e1e1; border-bottom: 2px solid #d02329; padding-left: 25px; padding-right: 25px; padding-top: 10px; }
header #header-container nav ul li div.drop div.col-sm-3 h4 { font-family: 'open_sansextrabold', sans-serif; color: #004c98; font-size: 16px; letter-spacing: normal; margin: 15px 0; }
header #header-container nav ul li div.drop div.col-sm-3 h4 a { font-family: 'open_sansextrabold', sans-serif; color: #004c98; font-size: 16px; letter-spacing: normal; margin: 15px 0; padding:0px !important; font-size:16px !important }
header #header-container nav ul li div.drop div.col-sm-3 p { font-size: 12px; height: 80px; }

header #header-container nav ul li:hover > div { display: block; }

header #header-container nav ul li div.drop div.col-sm-3 > a, header #header-container nav ul li div.drop div.col-sm-4 > a { padding: 6px 20px; margin-top: 20px; text-transform: none; }

header #header-container nav ul li div.drop div.col-sm-3 ul li, header #header-container nav ul li div.drop div.col-sm-4 ul li { float: none; display: block; clear: both; width: 100%; }
header #header-container nav ul li div.drop div.col-sm-3 ul li a, header #header-container nav ul li div.drop div.col-sm-4 ul li a { font-family: 'open_sanssemibold', sans-serif; font-size: 12px; padding: 4px 0; color: #000; text-transform: none; width: 100%; }
header #header-container nav ul li div.drop div.col-sm-3 ul li a:hover, header #header-container nav ul li div.drop div.col-sm-4 ul li a:hover { background: none; text-decoration: underline; }

header #header-container nav ul li div.drop div.col-sm-3 ul li a#nav-wifi, header #header-container nav ul li div.drop div.col-sm-4 ul li a#nav-wifi { font-size: 16px; color: #004c98; }
header #header-container nav ul li div.drop div.col-sm-3 ul li a#nav-wifi:after, header #header-container nav ul li div.drop div.col-sm-4 ul li a#nav-wifi:after {
  left: 85%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-left-color: #004c98;
  border-width: 7px;
  margin-top: -7px;
}

/* ==========================================================================
   Sticky Navigation
   ========================================================================== */

div#sticky-nav { display: none; background: #004c98; width: 100%; height: 55px; position: fixed; top: 0; left: 0; z-index: 50; }
div#sticky-nav ol { float: left; }
div#sticky-nav div.container div { float: right; margin-top: 17px; }
div#sticky-nav div.container div a { font-family: 'open_sanssemibold', sans-serif; font-size: 13px; color: #90b3d6; text-transform: uppercase; float: left; margin: 0 10px; }

/* ==========================================================================
   Search Popup
   ========================================================================== */

.search.popup { display: none; position: absolute; z-index: 30; width: 400px; right: 40px; margin-top: 10px; }
.search.popup div#search-form { position: relative; width: 100%; }
.search.popup div#search-form input { background: #FFF; padding: 10px 25px; border-radius: 30px; color: #004c98; text-align: center; border: 1px solid #ccc; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%; text-align: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.search.popup div#search-form button { background: none; border: 0 none; color: #004c98; position: absolute; right: 10px; top: 8px; font-size: 20px; }
 
.search.popup div#search-form > div { display: none; }
 
.search.popup div#search-form ::-webkit-input-placeholder   { color: #004c98; }
.search.popup div#search-form :-ms-input-placeholder        { color: #004c98; }
.search.popup div#search-form :-moz-placeholder             { color: #004c98; opacity: 1; }
.search.popup div#search-form ::-moz-placeholder            { color: #004c98; opacity: 1; }


/* ==========================================================================
   Footer
   ========================================================================== */

footer { background: #004c98; display: block; width: 100%; }
footer #footer-container { width: 100%; max-width: 1280px; display: block; margin: 0 auto; padding: 40px 20px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  }
footer #footer-container a:hover { text-decoration: underline; }

footer #footer-container .col { float: left; margin-right: 1%; width: 19%; }
footer #footer-container .col h4 { font-family: 'open_sanssemibold', sans-serif; text-transform: uppercase; color: #FFF; font-weight: normal; font-size: 16px; }

footer #footer-container .col ul {  }
footer #footer-container .col ul li { font-family: 'open_sansregular', sans-serif; font-size: 13px; display: block; line-height: 220%; }
footer #footer-container .col ul li a { color: #FFF; }

.social {  }
.social a { float: left; margin-right: 25px; width: 40px; }
.social a img { width: 100%; }

footer #footer-container #footer-bottom { display: block; width: 100%; clear: both; margin: 15px 0; color: #FFF; font-family: 'open_sansregular', sans-serif; font-size: 12px; }
footer #footer-container #footer-bottom .footer-left { float: left; padding-top: 15px; }
footer #footer-container #footer-bottom .footer-right { float: right; }
footer #footer-container #footer-bottom .footer-right a { float: left; margin: 0 10px; }

footer #footer-container #footer-bottom a { font-family: 'open_sanssemibold', sans-serif; color: #FFF; }

/* ==========================================================================
   Universal styles
   ========================================================================== */

section { width: 100%; display: block; clear: both; position: relative; z-index: 1; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.wrap { width: 100%; max-width: 1160px; display: block; margin: 0 auto; padding: 0 15px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.mobile-only { display: none; }
.desktop-only { display: block; }

#chat { background: #ed6e22; position: absolute; border-radius: 20px 0 0 20px; padding: 12px 20px; position: absolute; right: 0; top: 150px; font-family: 'open_sanssemibold', sans-serif; text-transform: uppercase; color: #FFF; font-size: 14px; letter-spacing: 2px; z-index: 10; }
#chat img { width: 25px; }
#chat:hover { background: #074d93; }

section#check-line #chat { top: 30px; }

/* ==========================================================================
   Banner
   ========================================================================== */

section.banner { padding: 80px 0 30px; }
section.banner p { font-size: 14px; margin-top: 0; color: #FFF; }

a.info { float: left; text-decoration: underline; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; color: #FFF; margin-right: 20px; margin-top: 30px; }


/* ==========================================================================
   Testimonials Carousel
   ========================================================================== */

section#testimonials { min-height: 570px; background: #fafafa;}

section#testimonials div.testimonial { float: right; margin-top: 17%; width: 100%; max-width: 485px; text-align: center; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
section#testimonials div.testimonial h5 { font-family: 'open_sansbold', sans-serif; font-size: 18px; color: #024e99; display: inline; padding-left: 10px; }
section#testimonials div.testimonial q { font-family: 'open_sansregular', sans-serif; font-style: italic; font-size: 18px; color: #4b4a4a; }
section#testimonials div.testimonial a { max-width: 180px; display: block; margin: 25px auto 0; }

section#testimonials img { width: 100%; max-width: 275px; float: left; margin-top: 150px; }

.owl-carousel .owl-item > div { width: 100%; min-height: 570px; display: block; }
/* ==========================================================================
   Carousel setup
   ========================================================================== */

div.owl-carousel, .owl-carousel .owl-item { min-height: 570px; } 

div#customDots { position: relative; float: right; margin-top: -130px; z-index: 10; width: 100%; max-width: 310px; }
div#customDots div.owl-dot { width: 15px; height: 15px; float: left; background: #bdbdbd; margin: 0 10px; border-radius: 20px; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

div#customDots div.owl-dot.active { background: #f57b20; }
div#customDots div.owl-dot:hover { background: #0C56A0; cursor: pointer; }

/* ==========================================================================
   Specials Cards
   ========================================================================== */

section#specials { background: #f9f9f9; padding: 20px 0; }

div.card { }
div.card div.details { width: 100%; max-width: 280px; min-height: 260px; padding: 20px; margin: 20px auto; border-radius: 20px; position: relative; border: 1px solid #d6d5d5; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
div.card div.details h4 { font-family: 'open_sanssemibold', sans-serif; font-size: 20px; text-transform: none; margin: 0; font-weight: normal; letter-spacing: normal; }
div.card div.details h4 span { font-family: 'open_sansextrabold', sans-serif; font-size: 22px; }
div.card div.details small { font-family: 'open_sansregular', sans-serif; font-size: 13px; color: #656565; display: block; margin: 10px 0 5px; }
div.card div.details h1 { margin: 0; font-family: 'open_sanslight', sans-serif; font-size: 45px; color: #000; letter-spacing: normal; }
div.card div.details strong { font-weight: normal; font-family: 'open_sansextrabold', sans-serif; font-size: 22px; text-transform: uppercase; }
div.card div.details p { font-size: 11px; color: #9c9c9c; line-height: 160%; }

div.card div.details img { width: 100%; max-width: 195px; }
div.card div.details .promo-tagline {margin-bottom:10px; margin-top:-5px}
div.card div.details h5.promo-tagline {margin-bottom:10px; margin-top:4px}

div.card a { margin: 10px auto; }
div.card a.view { display: block; text-align: center; text-decoration: underline; font-size: 14px; color: #4b4b4b; font-family: 'open_sansregular', sans-serif; }

div.card div.details.details-blue h4, div.card div.details.details-blue h5, div.card div.details.details-blue strong      { color: #004c98; }
div.card div.details.details-red h4, div.card div.details.details-red strong        { color: #d02329; }
div.card div.details.details-orange h4, div.card div.details.details-orange strong  { color: #f77b21; }

/* ==========================================================================
   Homepage Cards - New - 13 May 2016
   ========================================================================== */
div.card div.details.details-blue-home { background-color: #004c98; border-color: #004c98; color: #fff; }
div.card div.details.details-red-home { background-color: #d02329; border-color: #d02329; color: #fff; }
div.card div.details.details-orange-home { background-color: #f77b21; border-color: #f77b21; color: #fff; }
.details div.row1 { background: transparent none repeat scroll 0 0; border-radius: 2px; box-shadow: 0 36px 0 0 #fff; color: #fff; display: inline-block; font-family: "open_sansbold",sans-serif; font-size: 22px; height: 4px; width: -moz-fit-content; }
div.card div.details.details-blue-home span.promo { background: #fff none repeat scroll 0 0;	color: #004c98;	right: 1px;	top: 1px;}
div.card div.details.details-red-home span.promo { background: #fff none repeat scroll 0 0; color: #d02329; right: 1px; top: 1px; }
div.card div.details.details-orange-home span.promo { background: #fff none repeat scroll 0 0; color: #f77b21; right: 1px; top: 1px; }
.details div.row2 { display: block; font-family: "open_sansextrabold",sans-serif; font-size: 30px; margin-top: 14px; position: relative; }
.details div.row3 { font-family: "open_sansregular",sans-serif; font-size: 20px; line-height: 26px; }
.details div.row3 span.subtext { font-size: 14px; }
.details div.row3.large-text, .details div.row4.large-text { font-size: 30px !important; }
.details div.row4 {	font-family: "open_sansregular",sans-serif; }
.details div.row3, .details div.row4 sub { top: 0; }
.details div.row5 { bottom: 10px; font-family: "open_sansregular",sans-serif; position: absolute; }
.details div.row5.small { font-size: 11px; }

/* ==========================================================================
   Help Me Decide Slice
   ========================================================================== */
section#help-me-decide{margin-bottom: 20px}
section#help-me-decide .btn-red:visited{color:#ffffff}
section#help-me-decide h1.bold-center{color: black; text-align: center; margin: 30px 0; }
section#help-me-decide p.bold-center{color: black; text-align: center;padding-bottom: 30px; font-size: 20px}
section#help-me-decide p.bold{color: black; padding-bottom: 30px; font-size: 20px}

section#help-me-decide-results p.bold-center{color: black; text-align: center; font-weight: bold;}
section#help-me-decide-results {margin-top:20px}

section#help-me-decide .right-border{border-right: 1px solid #e3e3e3;}
section#help-me-decide label {font-family: 'open_sanssemibold', sans-serif;font-size: 14px;color: #000;font-weight: normal;margin-top: 7px;display: block;}
section#help-me-decide label:hover {cursor: pointer;}
section#help-me-decide input[type=text], section#specials input[type=mobile], help-me-decide#specials input[type=email], textarea 
{padding: 5px;width: 100%;border: 1px solid #dcdbdb;max-width: 500px;margin-bottom: 15px;}
section#help-me-decide p.btn-red { display: block; background: #d02329; max-width: 285px; padding: 10px 0; border-radius: 30px; color: #FFF; text-align: center; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

section#help-me-decide .styledRadio {float: left;}
section#help-me-decide .question-stack{min-width:320px}
section#help-me-decide .question {display: block;padding: 5px 10px;clear: both;min-height: 50px;text-align: left;}
section#help-me-decide .question.selected {background: #f4f4f4;border-radius: 10px;display: inline-block;}
section#help-me-decide .question label {float: left;margin-left: 10px;width: auto;}


/* ==========================================================================
   Results Card
   ========================================================================== */

section#results { z-index: 0; }
section#results div.card { margin-bottom: 30px; }
section#results div.card div.details { padding-top: 40px } 
section#results div.card div.details h4 { font-size: 14px; }
section#results div.card div.details h4 span { font-size: 35px; }
section#results div.card div.details h1 { margin-bottom: 10px; }

div.card div.details span.promo { position: absolute; background: #ed6e22; font-size: 20px; font-family: 'open_sansextrabold', sans-serif; color: #FFF; text-transform: uppercase; top: -1px; right: -1px; border-radius: 0 20px 0 20px; padding: 10px 15px; }

a#load-more { width: 100%; border-top: 1px solid #d7d7d7; text-align: center; color: #999; padding: 20px 0 50px; display: block; margin-top: 15px; font-family: 'open_sansregular', sans-serif; font-size: 30px; }
a#load-more:hover { color: #232323; }

div.select-container { position: relative; width: 100%; height: 50px; }
div.select-container div.dk-select { float: left; }
div.select-container a.info-hover { background: url(../img/icon_info.png) no-repeat; background-size: 16px 16px; width: 16px; height: 16px; position: absolute; top: 8px; right: -10px; }

/* ==========================================================================
   Breadcrumbs - Bootstrap overrides
   ========================================================================== */

.breadcrumb { background-color: transparent; padding: 15px 0 0; margin-bottom: 0; }
.breadcrumb > li + li::before { content: "|"; color: #FFF; }
.breadcrumb li a { color: #FFF; text-transform: uppercase; font-family: 'open_sansregular', sans-serif; font-size: 14px; }
.breadcrumb li.active { font-family: 'open_sansbold', sans-serif; color: #FFF; text-transform: uppercase; }

/* ==========================================================================
   Select Fields - Dropkick plugin overrides
   ========================================================================== */

div.dk-select { width: 95%; margin: 5px 0; }
div.dk-selected { background: #ededed; border: 0; padding: 10px 15px; border-radius: 20px; font-family: 'open_sansregular', sans-serif; font-size: 14px; color: #232323; }
div.dk-selected::before { border-color: #000 transparent transparent; border-width: 0.55em 0.45em 0; margin: -0.125em 1em 0 0; }
.dk-selected::after { border-left: none !important; }

.dk-select-open-up .dk-selected::before, .dk-select-open-down .dk-selected::before { border-bottom-color: #000; border-width: 0 0.45em 0.45em !important; }

.dk-selected:hover:before, .dk-selected:focus:before { border-top-color: #004c98; }

ul.dk-select-options { background: #ededed; border: 0; padding: 0 10px 15px; }
.dk-select-open-down .dk-select-options {  border-radius: 0 0 20px 20px !important; }
ul.dk-select-options li { padding: 5px 0; }

ul.dk-select-options li:hover { background: none; color: #004c98; }
.dk-select-options-highlight, .dk-option-selected, .dk-option.dk-option-selected.dk-option-highlight, .dk-select-options .dk-option-highlight { background-color: none !important; color: #232323; }

/* ==========================================================================
   FAQ'S
   ========================================================================== */

section#faq { background: url(../img/bg_faq.jpg) no-repeat -90% 0 #dbdfe2; padding: 80px 0 30px; min-height: 560px; }
section#faq h1 { font-family: 'open_sansregular', sans-serif; color: #000; margin-bottom: 30px; }

section#faq .question { display: block; margin: 25px 0; max-width: 450px; }
section#faq .answer { display: none; width: 100%; max-width: 550px; margin: 10px 0; line-height: 170%; }
section#faq h4 { font-size: 20px; text-transform: none; font-family: 'open_sansregular', sans-serif; color: #616161; letter-spacing: normal; }
section#faq h4:hover { cursor: pointer; color: #004c98; }

section#faq a.btn-blue { max-width: 200px; }

section#faq ul { padding-left: 15px; }
section#faq li { font-size: 14px; font-family: 'open_sansregular', sans-serif; list-style: inside; }

/* ==========================================================================
   Filter - 4 Column filter
   ========================================================================== */

section#filter { padding: 30px 0; }

section#filter div.container { border-bottom: 1px solid #d7d7d7; }

section#filter label { float: left; margin-top: 11px; margin-right: 10px; font-family: 'open_sanssemibold', sans-serif; color: #000; font-size: 14px; font-weight: normal; }

section#filter div.col-filter { float: left; width: 100%; margin-bottom: 20px; }

/*
section#filter div.col-filter#col-1 { max-width: 30%; }
section#filter div.col-filter#col-2 { max-width: 20%; }
section#filter div.col-filter#col-3 { max-width: 30%; }
section#filter div.col-filter#col-4 { max-width: 20%; }

ection#filter div.col-filter div.dk-select#dk0 { width: 60%; }
section#filter div.col-filter div.dk-select#dk1 { width: 60%; }
section#filter div.col-filter div.dk-select#dk2 { width: 60%; }


*/
section#filter div.col-filter#col-5 { max-width: 20%; }

section#filter div.col-filter#col-1 { max-width: 33.33333333%; }
section#filter div.col-filter#col-2 { max-width: 33.33333333%; }
section#filter div.col-filter#col-3 { max-width: 33.33333333%; }

section#filter.capped div.col-filter#col-1 { max-width: 25%; }
section#filter.capped div.col-filter#col-2 { max-width: 30%; }
section#filter.capped div.col-filter#col-3 { max-width: 30%; }
section#filter.capped div.col-filter#col-4 { max-width: 20%; }

section#filter div.dk-select { float: left; }
section#filter div.dk-select#dk0 { width: 60%; }
section#filter div.dk-select#dk1 { width: 60% }
section#filter div.dk-select#dk2 { width: 60%; }

section#filter div.dk-select#dk3-ddl-promotion { width: 63%; }
section#filter div.dk-select#dk2-ddl-promotion { width: 63%; }
section#filter div.dk-select#dk1-ddl-promotion { width: 63%; }
section#filter div.dk-select#dk0-speed { width: 60%; }
section#filter div.dk-select#dk1-sort { width: 60% }
section#filter div.dk-select#dk2-sort { width: 60% }
section#filter div.dk-select#dk2 { width: 60%; }

section#filter.capped div.dk-select#dk0-cap { width: 66%; }
section#filter.capped div.dk-select#dk1-sort { width: 60% }

section#filter div.dk-selected { padding: 7px 15px; }

div.filter-top { display: none; width: 100%; margin: 0 0 15px; height: 50px; }

div.filter-top a#trigger, div.filter-top a#trigger-5 { background: url(../img/icon_filter.png) no-repeat; background-size: 38px 25px; width: 38px; height: 25px; float: left; margin-top: 13px; }
div.filter-top a#trigger.filter-active, div.filter-top a#trigger-5.filter-active { background: url(../img/icon_close.png) no-repeat; background-size: 20px 20px; width: 20px; height: 20px; float: left; margin-top: 13px; }
div.filter-top span { float: left; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; color: #FFF; margin-left: 25px; margin-top: 12px; }
div.filter-top a.btn-white { max-width: 170px; float: right; }


/* ==========================================================================
   Filter - 5 Column filter
   ========================================================================== */

section#filter-5 { padding: 30px 0; }

section#filter-5 .col-xs-15 { width: 25%; float: left; padding-left: 15px; padding-right: 15px; margin-bottom: 20px; }
section#filter-5 .col-xs-15 a.btn-blue { margin-top: 27px; }

section#filter-5 .col-xs-15 span#area { font-family: 'open_sanssemibold', sans-serif; font-size: 14px; color: #818181; }


/* ==========================================================================
   Results Fibre
   ========================================================================== */

section#results.fibre-results,
section#filter-5.fibre,
section#suggested { display: none; }

section#fibre-results-superhero div.card div.details h1 {
    margin-bottom: 10px;
}

section#fibre-results div.card div.details h4,
section#fibre-results-superhero div.card div.details h4 { font-size: 14px; }

#fibre-results-superhero .fibre-results-superhero-title {
    display: block;
    padding: 50px 0 50px;
    text-align: center;
}
#fibre-results-superhero .fibre-results-superhero-title h3 {
    color: #adadad;
    font-size: 28px;
    font-family: 'open_sansregular', sans-serif;
    margin: 0;
}

/* ==========================================================================
   Advert
   ========================================================================== */

section#advert { background: #000; padding: 50px 0; }

section#advert img.mobile-only { width: 100%; max-width: 440px; margin: 0 auto; }

section#advert img { width: 100%; }

/* ==========================================================================
   More info page
   ========================================================================== */

p.select { display: block; text-align: center; font-family: 'open_sansbold', sans-serif; margin-top: 30px; }


/* ==========================================================================
   Optional Extras
   ========================================================================== */

section#extras { background: #07529c; padding: 50px 0; text-align: center; }
section#extras h1 { font-family: 'open_sansregular', sans-serif; margin-bottom: 50px; } 

section#extras img { width: 100%; max-width: 150px; display: block; margin: 0 auto; }
section#extras h3 { font-family: 'open_sanssemibold', sans-serif; font-size: 22px; color: #FFF; }
section#extras p { color: #FFF; font-size: 14px; }

/* ==========================================================================
   Requirements
   ========================================================================== */

section#requirements { background: #FFF; padding: 50px 0; text-align: center; }
section#requirements h1 { font-family: 'open_sansregular', sans-serif; margin-bottom: 50px; color: #000; } 

section#requirements img { width: 100%; max-width: 150px; display: block; margin: 0 auto; }
section#requirements h3 { font-family: 'open_sanssemibold', sans-serif; font-size: 22px; color: #4a4a4a; }
section#requirements p { color: #4a4a4a; font-size: 14px; }

a#load-terms { width: 100%; display: block; padding: 25px 0; background: #f4f4f4; color: #000; text-align: center; }
a#load-terms:hover { color: #474747; }

a#load-terms span { background: url(../img/icon_plus.png) no-repeat center right; background-size: 22px 21px; padding: 0 30px; font-family: 'open_sansregular', sans-serif; font-size: 28px; margin: 0 auto; display: block; width: 100%; max-width: 410px; }
a#load-terms.terms-active span { background: url(../img/icon_close-terms.png) no-repeat center right; background-size: 22px 21px; }

section#terms { padding: 0px 0 40px 0; text-align: center; display: none; background: #f4f4f4; }
section#terms .container { max-width: 600px; }

/* ==========================================================================
   Related Products
   ========================================================================== */

section#related { padding: 50px 0; }
section#related h2 { color: #000; font-family: "open_sansregular",sans-serif; text-align: center; font-size: 45px; }

section#related div.card h1 { text-align: left; }

/* ==========================================================================
   Wifi
   ========================================================================== */

section#wifi { text-align: center; padding: 40px 0; }

section#wifi h1 { color: #000; margin: 20px 0; }
section#wifi p { font-size: 13px; }

section#wifi h3 { font-family: 'open_sanssemibold', sans-serif; }
section#wifi h4 { font-size: 18px; color: #4a4a4a; text-transform: none; }

section#wifi img { margin: 25px auto; }


/* ============================================================================
    Load More Section for Category Pages
    ===========================================================================
*/
.load-more-container { border-top: 1px solid rgb(200, 203, 210); margin-top: 30px; margin-bottom: 30px; }
.load-button-container { text-align: center; }
.load-button-container a { margin-top: 30px; display: inline-block; }


/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 1400px) {

  section#faq { background: url(../img/bg_faq.jpg) no-repeat 100% 0 #dbdfe2; }

}

@media only screen and (max-width: 1024px){
    header #header-container nav ul li div.drop div.col-sm-3 p { height: 100px !important;}
    header #header-container nav ul li div.drop div.col-sm-3{height: 250px;}

    .mobile-only { display: block; }
    .desktop-and-tablet { display: block; }
    .desktop-only { display: none; }
    #mobile-nav { display: none; }

    /* ==========================================================================
       Popups
       ========================================================================== */

    .popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 50; background: #094e96; }
    .popup .inner { width: 100%; max-width: 400px; display: block; margin: 10% auto 0; padding: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

    .popup .inner a { font-size: 18px; font-family: 'open_sanssemibold', sans-serif; color: #FFF; text-transform: uppercase; display: block; margin: 15px 0; }
    .popup .inner ul li a { font-family: 'open_sansregular', sans-serif; font-size: 14px; text-transform: none; }
    .popup .inner .social a { margin-right: 25px; }

    .close-popup { background: url(../img/icon_close.png) no-repeat; background-size: 20px 20px; width: 20px; height: 20px; position: absolute; top: 20px; right: 20px; }

    .search.popup { position: fixed; width: 100%; top: 0; left: 0; right: auto; }
    .search.popup div#search-form { margin: 30% auto 0; max-width: 280px;  }
    .search.popup div#search-form h1 { background: url(../img/icon_search.png) no-repeat center left; background-size: 50px 41px; padding-left: 60px; }
    .search.popup div#search-form  input { background: none; padding: 10px; border-radius: 30px; color: #FFF; text-align: center; border: 1px solid #FFF; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%; text-align: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
    .search.popup div#search-form button { background: none; border: 0 none; color: #fff; position: absolute; right: 10px; top: 67px; }
 
    .search.popup div#search-form ::-webkit-input-placeholder   { opacity: 0; }
    .search.popup div#search-form :-ms-input-placeholder        { opacity: 0; }
    .search.popup div#search-form :-moz-placeholder             { opacity: 0; }
    .search.popup div#search-form ::-moz-placeholder            { opacity: 0; }
}

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

  section#testimonials div.testimonial { max-width: 375px; }
  div#customDots { max-width: 260px; }
  
    .mobile-only { display: block; }
    .desktop-and-tablet { display: block; }
    .desktop-only { display: none; }
    #mobile-nav { display: none; }
    
}

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

    header #header-container a#logo { width: 250px; height: 114px; background-size: 250px 114px; margin-left: -40px; }
    header #header-container nav ul li a { padding: 18px 12px; font-size: 12px; }
    header #nav-right a { margin: 0 5px; font-size: 12px; }

    div.card div.details h1 { font-size: 30px; }
    div.card div.details strong { font-size: 21px; letter-spacing: -1px; }

    section#filter label { font-size: 12px; }
    
    .mobile-only { display: block; }
    .desktop-and-tablet { display: block; }
    .desktop-only { display: none; }
    #mobile-nav { display: none; }
}

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

    .mobile-only { display: block; }
    .desktop-and-tablet { display: none; }
    .desktop-only { display: none; }

    #mobile-nav { display: none; }

    header #header-container a#logo { background: url(../img/logo_mobile.png) no-repeat; width: 150px; height: 90px; background-size: 150px 90px; margin-left: 0; }

    header #nav-right { margin-right: 20px; }
    
    footer #footer-container .col { float: none; margin: 0; width: 100%; }
    footer #footer-container .col h4 { background: url(../img/icon_arrow-down.png) no-repeat center right; background-size: 15px 8px; border-bottom: 1px solid #6793c0; padding: 10px 0 12px; font-size: 15px; letter-spacing: normal; }


    /* ==========================================================================
       Popups
       ========================================================================== */

    .popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 50; background: #094e96; }
    .popup .inner { width: 100%; max-width: 400px; display: block; margin: 10% auto 0; padding: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

    .popup .inner a { font-size: 18px; font-family: 'open_sanssemibold', sans-serif; color: #FFF; text-transform: uppercase; display: block; margin: 15px 0; }
    .popup .inner ul li a { font-family: 'open_sansregular', sans-serif; font-size: 14px; text-transform: none; }
    .popup .inner .social a { margin-right: 25px; }

    .close-popup { background: url(../img/icon_close.png) no-repeat; background-size: 20px 20px; width: 20px; height: 20px; position: absolute; top: 20px; right: 20px; }

    .search.popup { position: fixed; width: 100%; top: 0; left: 0; right: auto; }
    .search.popup div#search-form { margin: 30% auto 0; max-width: 280px;  }
    .search.popup div#search-form h1 { background: url(../img/icon_search.png) no-repeat center left; background-size: 50px 41px; padding-left: 60px; }
    .search.popup div#search-form  input { background: none; padding: 10px; border-radius: 30px; color: #FFF; text-align: center; border: 1px solid #FFF; font-family: 'open_sanssemibold', sans-serif; font-size: 16px; width: 100%; text-align: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
    .search.popup div#search-form button { background: none; border: 0 none; color: #fff; position: absolute; right: 10px; top: 67px; }
 
    .search.popup div#search-form ::-webkit-input-placeholder   { opacity: 0; }
    .search.popup div#search-form :-ms-input-placeholder        { opacity: 0; }
    .search.popup div#search-form :-moz-placeholder             { opacity: 0; }
    .search.popup div#search-form ::-moz-placeholder            { opacity: 0; }


    .social { margin-top: 15px; }
    .social a { width: 45px; margin-right: 25px; }

    footer #footer-container #footer-bottom .footer-left, footer #footer-container #footer-bottom .footer-right { display: block; width: 100%; float: none; }
    footer #footer-container #footer-bottom .footer-right { padding-top: 20px; }

    section#testimonials { max-height: 100%; height: auto; } 
    section#testimonials img { float: none; margin: 80px auto 0px; display: block; }
    section#testimonials div.testimonial { position: relative; max-width: 420px; float: none; display: block; clear: both; margin: 0 auto; padding: 30px; right: auto; top: auto; }


    .owl-carousel .owl-item > div { background: none !important; }

    div.owl-carousel { max-height: 100%; height: auto; }
    div#customDots { position: relative; float: none; right: auto; bottom: auto; display: block; clear: both; margin: 0 auto 20px; max-width: 145px; padding-bottom: 35px; }

    section#check-line div#line-check input[type=text] { float: none; display: block; margin: 0 auto; }
    section#check-line div#line-check input[type=submit] { float: none; margin: 15px auto; }

    div.dk-selected, ul.dk-select-options li { font-size: 11px; }

    section#filter .btn-blue { font-size: 14px; }

    div.card div.details span.promo { font-size: 16px; }
    section#results div.card div.details h4 span { font-size: 30px; }

    div.info-grid { margin-bottom: 50px; }


}

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

    div#sticky-nav ol { display: none; } 

    section#testimonials, div.owl-carousel, .owl-carousel .owl-item, .owl-carousel .owl-item > div { min-height: 480px; }

    section#faq { background-image: none; }
    section#faq h4 { color: #004c98; }

    div.filter-top { display: block; }

    section#filter { background: #004c98; padding: 30px 0 15px; }
    section#filter div.container { border-bottom: none; }
    section#filter div.col-filter { display: none; margin: 5px 0; }
    section#filter div.col-filter#col-1, section#filter div.col-filter#col-2, section#filter div.col-filter#col-3, section#filter div.col-filter#col-4, section#filter div.col-filter#col-5 { max-width: 100%; clear: both; }

    section#filter label { width: 30%; color: #FFF; font-size: 14px; }

    section#filter a.btn-blue { display: none; }
  
  	section#filter.capped div.col-filter#col-1 { max-width: 100%; }
	section#filter.capped div.col-filter#col-2 { max-width: 100%; }
	section#filter.capped div.col-filter#col-3 { max-width: 100%; }
	section#filter.capped div.col-filter#col-4 { max-width: 100%; }	
  
	section#filter.capped div.dk-select#dk0-cap { width: 65%; }
	section#filter.capped div.dk-select#dk1-sort { width: 65% }

}

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

      h1, section#related h2 { font-size: 35px; }


    header #nav-right { }
    div#sticky-nav div.container div a { font-size: 11px; margin: 0 5px; }
    footer #footer-container #footer-bottom .footer-right a img { width: 55px; }

    .breadcrumb li, .breadcrumb li a { font-size: 12px; }

    section#faq h4 { font-size: 15px; }

}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.clear {
    display: block;
    clear: both;
}

.right {
  text-align: right;
  display: block;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

