/* from 480 DOWN */
@media (max-width: 600px) {
  header.site .logo {
    margin-top: 30px;
    width: 160px;
    margin-bottom: -3px;
  }
  footer.site .right-side .link-list > li {
    display: block;
  }
  footer.site .right-side .link-list > li + li {
    margin-top: .33em;
  }
  .mobile-icon-links-accordions .accordion .accordion-header .title {
    font-size: 24px;
  }
}

@media (max-width: 530px) {
  .content-container > .container > .content .price-boxes > .box {
    width: 100%;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: 32px;
    margin-bottom: .33em;
  }
  blockquote {
    margin-left: 40px;
    margin-right: 0;
  }
  .price-boxes {
    margin-top: 30px;
  }
  .price-boxes > .box {
    min-width: 185px;
  }
  .price-boxes.number-3 > .box {
    width: 50% !important;
  }
  .content-header .text-container {
    padding-top: 35px;
    padding-bottom: 30px;
  }
  .content-container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .content-container > .container > .content {
    padding-left: 25px;
    padding-right: 25px;
  }
  .icon-links > .icon-link {
    padding-left: 5px;
    padding-right: 5px;
  }
  .icon-links > .icon-link .title {
    font-size: 14px;
  }
  .speed-test-graphic {
    display: block;
    margin-left: -40px;
    margin-right: -40px;
    margin-bottom: 15px;
  }
  .speed-test-graphic img {
    margin: 0 !important;
  }
  .accordion .accordion-header {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 50px;
    padding-right: 15px;
  }
  .accordion .accordion-header:before {
    left: 15px;
    font-size: 36px;
    top: 20px;
  }
  .accordion .accordion-header .title {
    font-size: 20px;
  }
  .accordion .accordion-header .subtitle {
    margin-top: .25em;
    font-size: 16px;
  }
  .accordion.has-subtitle .accordion-header:before {
    top: 35px;
  }
}

@media (max-width: 450px) {
  .icon-links {
    display: none;
  }
  .icon-links > .icon-link {
    width: 100%;
  }
  .mobile-icon-links-accordions {
    display: block;
  }
}

@media (max-width: 400px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .price-boxes > .box {
    width: 100% !important;
  }
  header.site nav .social-icons {
    right: 65px;
  }
  .mobile-icon-links-accordions .accordion .accordion-header .title {
    font-size: 18px;
  }
  .mobile-icon-links-accordions .accordion .accordion-header .title .text {
    padding-top: 6px;
  }
}

/* Small devices (tablets, 768px and UP) */
@media (min-width: 768px) {
  h1 {
    font-size: 60px;
  }
  h2 {
    font-size: 32px;
  }
  h3 {
    font-size: 20px;
  }
  .price-boxes .title {
    font-size: 24px;
    margin-bottom: 0;
  }
  .price-boxes .subtitle {
    font-size: 20px;
  }
  .price-boxes .formatted-price {
    font-size: 50px;
  }
  .icon-link-text-content {
    padding-left: 45px;
    padding-right: 45px;
  }
  footer.site .left-side {
    float: left;
    width: 370px;
  }
  footer.site .left-side h4 {
    font-size: 14px;
  }
  footer.site .right-side {
    margin-left: 370px;
    text-align: right;
    margin-top: 0;
  }
  footer.site .right-side .link-list {
    margin-bottom: 25px;
  }
  footer.site .right-side .link-list > li {
    display: block;
    margin-left: 30px;
    margin-right: 0;
  }
  .slideshow .slide .slide-text {
    text-align: left;
    max-width: 480px;
    margin-left: auto;
    padding-right: 100px;
  }
  .slideshow .slide .slide-text .button {
    float: right;
  }
  .slideshow .slide .slide-text .button {
    background: none;
  }
  .slideshow .slide.whole-home-dvr .slide-text {
    max-width: 560px;
  }
  .slideshow .rsArrow.rsArrowLeft {
    left: 40px;
  }
  .slideshow .rsArrow.rsArrowRight {
    right: 40px;
  }
}

/* Medium devices (desktops, 992px and UP) */
@media (min-width: 992px) {
  h1 {
    font-size: 80px;
  }
  h2 {
    font-size: 40px;
  }
  h3 {
    font-size: 20px;
  }
  header.site > .container {
    padding-bottom: 20px;
  }
  header.site .logo {
    float: left;
    width: 150px;
  }
  header.site .logo + nav {
    padding-left: 30px;
    margin-left: 150px;
  }
  header.site nav {
    clear: none;
    padding-right: 90px;
  }
  header.site nav .mobile-menu-button {
    display: none;
  }
  header.site nav .social-icons {
    top: 15px;
    right: 0;
    margin-top: 0;
  }
  header.site nav .menu {
    margin-top: 0;
    position: static;
    width: auto;
    display: block !important;
    margin-left: -5px;
    margin-right: -5px;
    box-shadow: none;
  }
  header.site nav .menu:before {
    display: none;
  }
  header.site nav .menu > li {
    display: inline-block;
    background: none;
    padding-left: 0px;
    padding-right: 0px;
  }
  header.site nav .menu > li:first-child {
    padding-top: 0;
  }
  header.site nav .menu > li:last-child {
    padding-bottom: 0;
  }
  header.site nav .menu > li:hover > .sub-menu {
    display: block !important;
  }
  header.site nav .sub-menu {
    padding-top: 50px;
    position: absolute;
    width: 244px;
    left: 50%;
    margin-left: -122px;
    text-align: center;
    display: none !important;
  }
  header.site nav .sub-menu:before {
    content: '';
    border-bottom: 20px solid #fff;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    display: block;
    margin: 0 auto;
    width: 0;
  }
  header.site nav .sub-menu > li > a {
    padding: 20px 15px;
  }
  header.site .top-meta-menu {
    top: 100%;
    background: #414042;
    border-bottom-left-radius: 20px;
    padding-left: 40px;
  }
  header.site .top-meta-menu .menu {
    padding-right: 15px;
  }
  header.site .top-meta-menu:before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 100%;
    margin-bottom: 13px;
    margin-right: -1px;
    border-top: 52px solid #414042;
    border-left: 24px solid transparent;
  }
  nav .menu > li > a {
    font-size: 12px;
  }
  .top-meta-menu {
    padding-top: 22px;
    padding-bottom: 22px;
  }
  .top-meta-menu .menu > li > a {
    color: #fff;
    padding: 13px 20px;
    line-height: 16px;
    font-size: 14px;
    border-radius: 22px;
  }
  .top-meta-menu .menu > li.current-menu-item > a, .top-meta-menu .menu > li.current-menu-ancestor > a {
    color: #ff1a00;
  }
  .content-header.shrink-title .content-title {
    font-size: 56px;
  }
  .content-header.no-image {
    padding-top: 65px;
  }
  footer.site {
    padding-top: 95px;
    padding-bottom: 95px;
  }
  footer.site .right-side .link-list > li {
    display: inline-block;
    font-size: 14px;
    margin-left: 15px;
  }
  .sub-footer {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .price-boxes.number-4 > .box {
    width: 25%;
  }
  .icon-link-text-content {
    padding-left: 60px;
    padding-right: 60px;
  }
  .slideshow .slide .slide-text .title {
    font-size: 60px;
  }
  .slideshow .slide .slide-text .text-elements {
    background: none;
    padding: 0;
    margin: 0;
  }
}

/* Large devices (large desktops, 1200px and UP) */
@media (min-width: 1200px) {
  header.site .logo {
    width: 210px;
  }
  header.site .logo + nav {
    margin-left: 210px;
  }
  header.site nav .menu > li {
    padding-left: 3px;
    padding-right: 3px;
  }
  nav .menu > li > a {
    font-size: 14px;
  }
  nav .menu > li > a:before {
    margin-top: 5px;
  }
  footer.site .left-side {
    width: 420px;
  }
  footer.site .left-side h4 {
    font-size: 16px;
  }
  footer.site .right-side {
    margin-left: 420px;
  }
  footer.site .right-side .link-list > li {
    font-size: 1em;
    margin-left: 30px;
  }
  .price-boxes .formatted-price {
    font-size: 64px;
  }
  .content-container > .container > .content {
    padding-left: 110px;
    padding-right: 110px;
  }
  .slideshow .slide .slide-text .title {
    font-size: 80px;
  }
}

/* Large devices (large desktops, 1200px and UP) */
@media (min-width: 1400px) {
  .container {
    width: 1310px;
  }
  .price-boxes .formatted-price {
    font-size: 80px;
  }
}
