@media (min-width: 1200px) {}

@media (min-width: 992px) and (max-width: 1199px) {}

@media (min-width: 768px) and (max-width: 991px) {

  .ribbon__estimate {
    padding: 8px 0 8px 8px;
    margin-right: 0;
  }

  .ribbon__estimate a {
    width: auto;
    padding: 7px 12px;
  }

  .ribbon__social {
    padding: 12px;
  }

  .ribbon__contact {
    float: left;
    padding: 16px 12px 16px 0;
    font-size: 12px;
  }

  .ribbon__contact a {
    padding-left: 12px;
  }

  header {
    height: auto;
  }

  header .logo {
    height: 40px;
    margin: 20px 0;
  }

  header ul {
    float: left;
    margin: 0 0 20px;
  }

  .banners__banner {
    height: 500px;
    background-position: right 20px top 20px, center top;
    background-size: 120px auto, cover;
  }

  .banners__banner h3 {
    font-size: 32px;
    margin-top: 20px;
  }

  .banners__news__article {
    padding: 20px;
    min-height: 120px;
    font-size: 16px;
  }

  .blocks__row__block {
    min-height: 330px;
    padding: 20px 20px 20px 0;
  }

  #map {
    height: 330px;
  }

  .blocks__row.right .blocks__row__block {
    padding: 20px 0 20px 20px;
  }

  .blocks__row__block h3 {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 16px;
  }

  .blocks--case-studies .blocks__row__block h3 {
    font-size: 18px;
  }

  .blocks__row__block h4 {
    font-size: 16px;
  }

  .blocks__row__block p {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .blocks__row__block .button {
    font-size: 14px;
    padding: 10px 20px;
  }

  .page {
    padding: 20px 0;
  }

  .body h2 {
    font-size: 26px;
    line-height: 1.4;
  }

  .body--case-studies h2 {
    margin-bottom: 20px;
  }

  .body h3 {
    font-size: 18px;
    line-height: 1.5;
  }

  .body h4 {
    font-size: 16px;
  }

  .body p {
    font-size: 16px;
  }

  .news__previous {
    float: left;
    width: 100%;
    margin: 0 0 20px;
  }

  .promo-button {
    padding: 10px 20px;
    font-size: 16px;
    text-transform: uppercase;
    color: #fff;
    line-height: 1.2;
    background-color: #5ab1a2;
    border: 2px solid #fff;
    letter-spacing: 0.05em;
    margin: 0 10px;
  }

}

@media (max-width: 767px) {

  .js .slicknav_menu {
    display: block;
  }

  .container {
    padding: 0 10px;
  }

  .half-container {
    max-width: 100%;
  }

  .ribbon {
    padding-top: 49px;
    height: auto;
    background-color: #3b332f;
  }

  .ribbon__estimate {
    float: left;
    margin-right: 0;
  }

  .ribbon__estimate a {
    font-size: 12px;
    width: auto;
    padding: 7px 12px;
    text-align: center;
  }

  .ribbon__social {
    padding: 12px;
    border-right: 0;
    border-left: 0;
  }

  .ribbon__social a,
  .footer__social a {
    width: 22px;
    height: 20px;
    background-size: auto 16px;
  }

  .ribbon__contact {
    width: 100%;
    text-align: center;
    padding: 0 0 12px;
    font-size: 14px;
    line-height: 1.5;
  }

  .ribbon__contact a {
    padding-left: 0;
  }

  header {
    height: auto;
    text-align: center;
  }

  header .logo {
    float: none;
    display: inline-block;
    height: 40px;
    margin: 20px 0;
  }

  header ul {
    display: none;
  }

  .banners__banner {
    height: 400px;
    background-position: right 20px top 20px, center top;
    background-size: 80px auto, cover;
  }

  .banners__banner h3 {
    font-size: 22px;
    line-height: 1.2;
    width: 80%;
    margin-top: 20px;
  }

  .banners__news {
    z-index: 9979;
  }

  .banners__news__article {
    width: 100%;
    margin-right: 0;
    border-bottom: 1px solid #fff;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 10px;
    min-height: 1px;
    line-height: 1.4;
    font-size: 14px;
  }

  .banners__news__article:first-of-type {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }

  .banners__news__article:last-of-type {
    border-bottom: 0;
  }

  .blocks__row {
    background-position: center top;
    background-size: auto 200px;
  }

  .blocks__row.right {
    background-position: center top;
  }

  .blocks__row__block {
    min-height: 1px;
    width: 100%;
    padding: 210px 0 0;
    margin-bottom: 20px;
  }

  .blocks__row__map {
    width: 100%;
  }

  #map {
    height: 230px;
  }

  .blocks__row.right .blocks__row__block {
    float: left;
    padding: 210px 0 0;
  }

  .blocks__row__block h3 {
    font-size: 22px;
  }

  .blocks--case-studies .blocks__row__block h3 {
    font-size: 18px;
  }

  .blocks__row__block h4 {
    font-size: 16px;
  }

  .blocks__row__block p {
    font-size: 14px;
  }

  .blocks__row__block .button {
    font-size: 14px;
    padding: 8px 12px;
  }

  .page {
    padding: 20px 0;
  }

  .body h2 {
    font-size: 22px;
  }

  .body--case-studies h2 {
    margin-bottom: 20px;
  }

  .body h3 {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 20px;
  }

  .body h4 {
    font-size: 16px;
  }

  .body p {
    font-size: 14px;
    line-height: 1.5;
  }

  .body .button-group {
    margin: 0;
  }

  .body .button-group a {
    margin: 0 0 10px;
  }

  .promo-button {
    padding: 10px 20px;
    font-size: 14px;
  }

  .products {
    margin-top: 20px;
  }

  .products__product {
    width: 48%;
    margin: 0 4% 20px 0;
  }

  .products__product:nth-of-type(even) {
    margin-right: 0;
  }

  .products__product h3 {
    font-size: 14px;
    line-height: 1.5;
  }

  .projects {
    margin-top: 20px;
  }

  .projects__project {
    width: 48%;
    margin: 0 4% 20px 0;
  }

  .projects__project:nth-of-type(3n+3) {
    margin-right: 4%;
  }

  .projects__project:nth-of-type(even) {
    margin-right: 0;
  }

  .projects__project h3 {
    font-size: 14px;
    line-height: 1.5;
  }

  .gallery {
    margin-top: 20px;
  }

  .gallery__image {
    width: 48%;
    margin: 0 4% 20px 0;
  }

  .gallery__image:nth-of-type(3n+3) {
    margin-right: 4%;
  }

  .gallery__image:nth-of-type(even) {
    margin-right: 0;
  }

  .news__articles {
    width: 100%;
    padding: 20px;
  }

  .news__articles h2 {
    font-size: 18px;
    margin-bottom: 20px;
  }

  .news__articles__article__image {
    width: 100%;
    margin: 0 0 20px;
  }

  .news__articles__article__body {
    width: 100%;
  }

  .news__articles__article__body h3 {
    font-size: 18px;
  }

  .news__articles__article__body p {
    font-size: 14px;
  }

  .news__previous {
    display: none;
  }

  .product__nav {
    height: auto;
    margin-bottom: 20px;
  }

  .product__nav ul {
    float: left;
    width: 100%;
    height: auto;
    padding: 9px;
    text-align: left;
  }

  .product__nav li {
    padding: 4px 2px;
    font-size: 12px;
    margin: 0 10px 0 0;
  }
  
  .product__nav li.enquire {
    background-color: transparent;
    margin-right: 0;
  }

  .product__main {
    margin: 20px 0;
  }

  .product__main__body {
    width: 100%;
    margin-bottom: 20px;
  }

  .product__main__body h1 {
    font-size: 22px;
  }

  .product__main__body h2 {
    font-size: 18px;
  }

  .product__main__body p {
    font-size: 14px;
  }

  .product__main__body li {
    font-size: 14px;
  }

  .product__main__estimate {
    width: 100%;
  }

  .product__media {
    margin-bottom: 20px;
  }

  .product__media__slider {
    width: 100%;
    margin: 0 0 20px;
  }

  .product__media__gallery {
    width: 100%;
  }

  .product__key-features {
    padding: 20px;
  }

  .product__key-features__feature {
    width: 100%;
    margin: 0 0 20px 0;
  }

  .product__key-features__feature p {
    font-size: 14px;
  }

  .product__colours {
    padding-bottom: 20px;
  }

  .product__performance {
    padding-bottom: 20px;
  }

  .product__certifications {
    padding-bottom: 20px;
  }

  .product__warranty {
    padding-bottom: 20px;
  }

  .product__colours h3,
  .product__glazing h3,
  .product__text-block h3,
  .product__performance h3,
  .product__certifications h3,
  .product__warranty h3 {
    font-size: 16px;
  }

  .product__colours p,
  .product__glazing p,
  .product__text-block p,
  .product__performance p,
  .product__certifications p,
  .product__warranty p {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .product__glazing {
    padding: 20px 0;
  }

  .product__text-block {
    padding: 20px 0;
  }

  .product__glazing__option {
    width: 100%;
    margin: 0 0 20px 0;
  }

  .product__glazing__option h4 {
    font-size: 14px;
  }

  .colours__colour {
    width: 49%;
    margin: 0 2% 10px 0;
  }

  .colours__colour:nth-of-type(even) {
    margin-right: 0;
  }

  .colours__colour__swatch {
    height: 100px;
  }

  .performance-ratings {
    width: 100%;
  }

  .performance-ratings th,
  .performance-ratings td {
    padding: 6px;
    font-size: 12px;
  }

  .certifications {
    padding: 10px;
  }

  .warranty .promo-button {
    margin: 0 20px 0 0;
  }

  .warranty p {
    margin-top: 10px;
  }

  .estimate-button {
    width: 100%;
  }

  footer .logos {
    padding: 20px 0;
    margin-bottom: 20px;
  }

  footer .logos img {
    height: 24px;
  }

  .footer__social {
    float: left;
    margin-top: 20px;
  }

  .blocks--contact .blocks__row.right .blocks__row__block {
    padding-top: 20px;
    text-align: center;
  }

  .half-container {
    width: 100%;
  }
  
  .staff__person {
    width: 100%;
    margin: 0 0 20px 0;
}

.staff__person img {
    width: 100%;
}

}

@media (max-width: 480px) {}
