* {
  font-family: Lato, "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;

  -webkit-text-rendering: optimizeLegibility;
  -moz-text-rendering: optimizeLegibility;
  text-rendering: optimizeLegibility;

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background-attachment: fixed;
  background-color: #fffdf2;
  background-image: url(../img/body-bg.png);
  background-position: right 57px;
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  color: #333;
}

.resp {
  display: none;
}

.page-limit {
  max-width: 1000px;
  margin: 0 auto;
}

.row:before, .row:after { content: " "; display: table; }
.row:after { clear: both; }

header {
  width: 100%;
  background: #fff;
  border-top: 4px solid #bfc400;
}

header .row {
  width: 100%;
}

header .logo {
  float: left;
  margin: 21px 0 18px;
}

header .houzz-link {
  position: absolute;
  top: 12px;
  right: 9px;
}

header .social {
  margin: 39px 0 0;
  padding: 0;
  list-style: none;
  float: right;
}

header .social li {
  float: left;
  width: 21px;
  margin: 0 0 0 24px;
}

header .social li:first-of-type {
  margin: 0;
}

header nav {
  background: url(../img/nav-bg.png) repeat;
  border-top: 1px solid rgba(0, 0, 0, .5);
  border-bottom: 1px solid rgba(0, 0, 0, .5);
}

header nav .nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

header nav .nav:before, header nav .nav:after { content: " "; display: table; }
header nav .nav:after { clear: both; }

header nav li.menu-item {
  width: calc(100% / 8);
  float: left;
  border-right: 1px solid rgba(0, 0, 0, .5);
}

header nav li.menu-item:nth-of-type(2) {
  border-left: 1px solid rgba(0, 0, 0, .5);
}

header nav a {
  font-size: 15px;
  font-weight: 700;
  display: block;
  text-align: center;
  color: #59545a;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .3);
  text-decoration: none;
  padding: 12px 0;
}

header nav a:hover {
  background: #bfc400;
  background: -moz-linear-gradient(top, #eaf277 0%, #bfc400 30%);
  background: -webkit-linear-gradient(top, #eaf277 0%, #bfc400 30%);
  background: linear-gradient(to bottom, #eaf277 0%, #bfc400 30%);
}

header nav li.responsive-item {
  display: none;
}

header ul.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: -1px;
  background: #EAE340;
  border: 1px solid rgba(0, 0, 0, .5);
  padding: 0;
  width: calc(150% + 2px);
  z-index: 10000;

  -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
  -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
  box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
}

header ul.submenu li {
  list-style: none;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, .5);
}

header ul.submenu li:last-of-type {
  border-bottom: 0;
}

header ul.submenu a {
  font-size: 13px;
  font-weight: 700;
  display: block;
  text-align: left;
  color: #59545a;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .3);
  text-decoration: none;
  padding: 9px;
}

header ul.submenu a:hover {
  background: #bfc400;
  background: -moz-linear-gradient(top, #eaf277 0%, #bfc400 30%);
  background: -webkit-linear-gradient(top, #eaf277 0%, #bfc400 30%);
  background: linear-gradient(to bottom, #eaf277 0%, #bfc400 30%);
}

header nav li.has-submenu {
  position: relative;
}

header nav li.has-submenu:hover > .submenu {
  display: block;
}

.index-page {
  margin-top: 30px;
}

.index-page .left-panel {
  float: left;
  width: 74.5%;
}

.index-page .right-panel {
  float: left;
  width: 25.5%;
  padding-left: 30px;
}

.index-page .right-panel:before, .index-page .right-panel:after { content: " "; display: table; }
.index-page .right-panel:after { clear: both; }

.main-slider {
  width: 100%;
  background: #000;

  -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
  -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
  box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
}

.main-slider .slide-collection {
  position: relative;
}

.main-slider .slide-collection .slide-element {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}

.main-slider .slide-collection .slide-element:first-of-type {
  position: relative; /* Quick hack to set the height of the slideshow */
}

.main-slider .slide-collection .slide-element.current {
  opacity: 1;
}

.main-slider .slide-element img {
  display: block;
  width: 100%;
}

.pitch:before, .pitch:after { content: " "; display: table; }
.pitch:after { clear: both; }

.pitch {
  margin-top: 30px;
}

.pitch .pitch-left {
  width: 110px;
  float: left;
}

.pitch .pitch-right {
  width: calc(100% - 110px);
  float: left;
  padding-left: 30px;
}

.pitch .pitch-left img {
  margin-bottom: 15px;
}

.pitch .pitch-left img:last-of-type {
  margin-bottom: 0;
}

.pitch .pitch-title {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  border-bottom: 1px solid rgba(144, 144, 144, .5);
  padding-bottom: 9px;
  margin-bottom: 12px;
}

.pitch .pitch-text {
  font-size: 15px;
  line-height: 21px;
}

.pitch .call-to-action {
  margin-top: 21px;
  display: inline-block;
  float: right;
  background: #bfc400;
  color: #fff;
  line-height: 21px;
  font-size: 13px;
  font-weight: 700;
  padding: 9px 18px;
  text-decoration: none;
}

.pitch .call-to-action:hover {
  text-decoration: underline;
}

.side-slider {
  position: relative;
  width: 100%;
  height: 726px;
  background: rgba(255, 255, 255, .7);
  overflow: hidden;

  -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
  -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
  box-shadow: 2px 2px 3px rgba(0, 0, 0, .3);
}

.side-slider .slide-collection {
  position: absolute;
  top: 0;
  width: 100%;
}

.side-slider .slide-collection .slide-element {
  width: 100%;
  text-align: center;
  padding: 15px 0;
}

.side-slider .slide-collection img {
  display: inline-block;
}

.index-panes {
  margin-top: 15px;
}

.index-panes .pane {
  float: left;
  width: 24.25%;
  border: 1px solid #bfc400;
  margin-right: 1%;
  padding: 9px;
  overflow: hidden;

  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.index-panes .pane:last-of-type {
  margin-right: 0;
}

.index-panes .pane img {
  width: 100%;
  display: block;
}

.index-panes .pane a {
  text-decoration: none;
}

.index-panes .pane .pane-title {
  text-align: right;
  display: inline-block;
  float: right;
  color: #666;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  border-bottom: 1px solid transparent;
}

.index-panes .pane a:hover > .pane-title {
  border-bottom: 1px solid #666;
}

.sidebar {
  float: left;
  width: 25%;
}

.sidebar .sidebar-title {
  position: relative;
  font-size: 24px;
  line-height: 33px;
  font-weight: 700;
  margin: 12px 0 30px 18px;
}

.sidebar .sidebar-title:after {
  content: '';
  background: #bfc400;
  height: 5px;
  width: 50px;
  position: absolute;
  bottom: -10px;
  left: 0;
}

.sidebar .sidebar-nav {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(144, 144, 144, .5);
}

.sidebar .sidebar-nav a {
  display: block;
  color: #333;
  padding: 15px 18px;
  border-bottom: 1px solid rgba(144, 144, 144, .2);
  font-size: 13px;
  line-height: 18px;
  margin-left: 15px;
  text-decoration: none;
}

.sidebar .sidebar-nav a:hover {
  text-decoration: underline;
  color: #999;
}

.middle-content {
  float: left;
  width: 75%;
  min-height: 500px;
  border-left : 1px solid rgba(144, 144, 144, .5);
  padding: 12px 30px;
  padding-right: 0;
}

.middle-content .page-title {
  font-size: 21px;
  font-weight: 700;
  line-height: 27px;
  margin-bottom: 15px;
}

.middle-content .breadcrumbs {
  font-size: 13px;
  line-height: 18px;
  text-align: right;
  background: rgba(144, 144, 144, .15);
  padding: 3px 9px;
}

.middle-content .page-content {
  font-size: 13px;
  font-weight: 400;
  line-height: 21px;
}

.middle-content .timeline {
  padding: 0;
  margin: 0 0 15px;
  width: 100%;
  border-collapse: collapse;
}

.middle-content .timeline td {
  padding: 9px 0;
}

.middle-content .timeline td:first-of-type {
  width: 60%;
  border-bottom: 1px dotted rgba(144, 144, 144, .5);
}

.middle-content .timeline td:nth-of-type(2) {
  padding-left: 15px;
  vertical-align: top;
}

.middle-content .timeline .year {
  display: inline-block;
  margin-right: 3px;
  color: #8f9400;
  font-weight: 700;
}

.middle-content .section-header {
  font-size: 15px;
  font-weight: 700;
  border-bottom: 1px solid #bfc400;
  margin: 15px 0 6px;
  padding: 0 0 6px;
}

.middle-content p {
  margin: 0 0 18px;
  padding: 0;
}

.middle-content p a {
  color: #666;
}

.middle-content img {
  display: block;
  width: 100%;
  margin: 18px auto;
}

.middle-content img.ecodesign-1 {
  width: 100%;

  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.middle-content .product {
  overflow: hidden;
  margin: 15px 0;
}

.middle-content .product-image {
  float: left;
  width: 25%;
}

.middle-content .product-details {
  float: right;
  width: 75%;
  padding: 12px 15px;
}

.middle-content .product-image img {
  margin: 0;
}

.middle-content .product-details .product-name {
  font-size: 15px;
  font-weight: 700;
}

.middle-content .info-table {
  border-collapse: collapse;
  width: 100%;
}

.middle-content .info-table tr:nth-of-type(odd) {
  background: rgba(224, 224, 224, .4);
}

.middle-content .info-table th {
  border-bottom: 1px solid rgba(0, 0, 0, .3);
  padding: 6px 9px;
  background: rgba(224, 224, 224, .4);
  text-align: center;
}

.middle-content .info-table td {
  border-bottom: 1px solid rgba(0, 0, 0, .3);
  padding: 6px 9px;
}

.middle-content .info-table td:first-of-type {
  font-weight: 700;
}

.middle-content .info-table td:nth-of-type(2),
.middle-content .info-table td:nth-of-type(3) {
  color: #8f9400;
}

.middle-content .less-is-more-table {
  border-collapse: collapse;
}

.middle-content .less-is-more-table td {
  padding: 15px;
  font-size: 15px;
  font-weight: 700;
}

.middle-content .page-rule {
  height: 3px;
  background: #bfc400;
  margin: 45px 0;
}

.middle-content .tools-how {
  overflow: hidden;
  margin-bottom: 30px;
}

.middle-content .tools-how-image {
  float: right;
  width: 40%
}

.middle-content .tools-how-content {
  float: left;
  width: 60%
}

.middle-content .gallery {
  width: 100%;
  margin-top: 15px;
  overflow: hidden;
}

.middle-content .gallery img {
  margin: 0;
  border: none;
}

.middle-content .gallery .gallery-item {
  display: inline-block;
  margin: 0 9px 15px 0;
  width: calc((100% - 18px) / 3);
  vertical-align: top;
  text-align: center;

  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, .3);
  -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, .3);
  box-shadow: 1px 1px 0 rgba(0, 0, 0, .3);
}

.middle-content .gallery .gallery-item:nth-child(3n) {
  margin-right: 0;
}

.middle-content .gallery .gallery-caption {
  margin: 0;
  text-align: center;
  font-size: 13px;
  padding: 6px 6px 3px;
  background: #fff;
}

.middle-content .form-table {
  border-collapse: collapse;
  margin: 0 0 15px;
  width: 100%;
}

.middle-content .form-table td:first-of-type {
  text-align: right;
  padding-top: 12px;
}

.middle-content .form-table td {
  padding: 6px;
  vertical-align: top;
}

.middle-content .form-table input[type="text"],
.middle-content .form-table input[type="email"]{
  font-size: 13px;
  padding: 3px;
  border: 1px solid #ccc;
  width: 60%;
}

.middle-content .form-table textarea {
  font-size: 13px;
  padding: 3px;
  border: 1px solid #ccc;
  width: 80%;
  height: 90px;
  resize: none;
}

.middle-content .form-table .chk {
  padding: 4px 6px 4px 3px;
  display: inline-block;
}

.middle-content .form-table input[type="submit"],
.middle-content .form-table input[type="reset"] {
  font-size: 13px;
  font-weight: 700;
  padding: 9px 15px;
  background: #ddd;
  border: none;
  margin-right: 9px;

  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.middle-content .form-table input[type="reset"]:hover {
  background: #eee;
}

.middle-content .form-table input[type="submit"] {
  background: #8f9400;
  color: #fff;
}

.middle-content .form-table input[type="submit"]:hover {
  background: #bfc400;
}

.middle-content .address-group .logo {
  margin: 0;
}

.middle-content .address-group .group-name {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 27px;
}

.middle-content .address {
  margin: 15px 0 30px;
}

.middle-content .address .country {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 3px;
  color: #8f9400;
  text-transform: uppercase;
}

.middle-content .address .company {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 3px;
}

.middle-content .address img {
  max-width: 200px;
  margin: 15px 0;
}

.middle-content .address em {
  font-family: Georgia, "Times New Roman", Times;
}

.footer-table {
  margin-top: 60px;
  overflow: hidden;
}

.footer-table.table-content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;

  overflow: hidden;
  background: #fff;
  background-image: url(../img/footer-bg.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  margin-top: 0;
  border-bottom: 4px solid #bfc400;
}

.footer-table .footer-col {
  width: 21.25%;
  float: left;
}

.footer-table .footer-col:last-of-type {
  width: 15%;
}

.footer-table.table-content .footer-col {
  border-left: 1px solid #bfc400;
}

.footer-table.table-content .footer-col:last-of-type {
  border-right: 1px solid #bfc400;
}

.footer-table .footer-col img {
  display: block;
  float: right;
}

.footer-table .footer-col .footer-head {
  height: 54px;
  overflow: hidden;
  border-bottom: 4px solid #bfc400;
}

.footer-table .footer-title {
  float: left;
  margin-top: 21px;
  margin-left: 21px;
  font-size: 18px;
  font-weight: 700;
  color: #666;
}

.footer-table .footer-nav {
  display: block;
  width: 100%;
  margin: 0;
  padding: 27px 21px 15px;
  list-style: none;
}

.footer-table .footer-nav a {
  display: block;
  margin-bottom: 12px;
  text-decoration: none;
  color: #666;
  font-size: 12px;
  /*margin-left: 12px;
  text-indent: -12px;*/
}

.footer-table .footer-nav a:hover {
  text-decoration: underline;
}

.footer-footer {
  margin-top: 60px;
  background: #bfc400;
  color: #333;
  padding: 6px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

.footer-footer a {
  color: #333;
}

footer .responsive-col {
  display: none;
}

footer .responsive-item {
  display: block;
}

.copyright {
  padding: 9px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

@media all and (min-width: 1024px) {
  header nav .menu-item.closed {
    display: block;
  }
}

@media all and (max-width: 1023px) and (min-width: 667px) {
  header .top {
    padding: 0 15px;
  }

  header .houzz-link {
    position: absolute;
    top: 12px;
    right: 0;
  }

  header nav .menu-item.closed {
    display: block;
  }

  header nav a {
    font-size: 12px;
  }

  .index-page {
    margin-top: 15px;
  }

  .index-page .left-panel {
    width: 100%;
    padding: 0 15px;
  }

  .index-page .right-panel {
    display: none;
  }

  .index-panes {
    padding: 0 15px;
  }

  .pitch .pitch-text {
    font-size: 13px;
  }

  footer {
    margin-top: 15px;
    padding: 0 15px;

  }

  footer .footer-table {
    display: none;
    border-top: 4px solid #bfc400;
  }

  footer .table-content .responsive-title {
    display: block;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 700;
    color: #666;
  }
}

@media all and (max-width: 666px) and (min-width: 320px) {
  header .top {
    padding: 0;
  }

  header .houzz-link {
    display: none;
  }

  header .logo {
    margin: 9px 0 9px 9px;
  }

  header .logo img {
    height: 33px;
  }

  header .social {
    margin: 15px 9px 9px 0;
  }

  header .social li {
    margin-left: 12px;
    width: 18px;
  }

  header .social img {
    width: 100%;
  }

  header nav {
    border: none;
  }

  header nav li {
    width: 100%;
    border: 1px solid rgba(0, 0, 0, .5);
    border-bottom: none;
    /*background: #7D7870;*/
    background: #EAE340;
  }

  header nav li:last-of-type {
    border-bottom: 1px solid rgba(0, 0, 0, .5);
  }

  header nav .menu-item {
    display: block;
  }

  header nav .menu-item.closed {
    display: none;
  }

  header nav .menu-item.opened {
    display: block;
  }

  header nav a,
  header nav li.responsive-menu {
    font-size: 12px;
    font-weight: 700;
    display: block;
    text-align: center;
    color: #59545a;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .3);
    text-decoration: none;
    padding: 12px 0;
  }

  header nav li.responsive-menu {
    background: url(../img/nav-bg.png) repeat;
    border-bottom: 1px solid rgba(0, 0, 0, .5);
  }

  header nav a:hover {
    background: #bfc400;
    background: -moz-linear-gradient(top, #eaf277 0%, #bfc400 30%);
    background: -webkit-linear-gradient(top, #eaf277 0%, #bfc400 30%);
    background: linear-gradient(to bottom, #eaf277 0%, #bfc400 30%);
  }

  header nav li.menu-item {
    display: none;
  }

  header nav li.responsive-menu.selected {
    border-bottom: none;
    
    background: #bfc400;
    background: -moz-linear-gradient(top, #eaf277 0%, #bfc400 30%);
    background: -webkit-linear-gradient(top, #eaf277 0%, #bfc400 30%);
    background: linear-gradient(to bottom, #eaf277 0%, #bfc400 30%);
  }

  header nav li.responsive-unitem {
    display: none;
  }

  header nav li.responsive-item {
    font-size: 12px;
    font-weight: 700;
    display: block;
    text-align: center;
    color: #59545a;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .3);
    text-decoration: none;
    background: url(../img/nav-bg.png) repeat;
    border-bottom: 1px solid rgba(0, 0, 0, .5);
  }

  .index-page {
    margin-top: 15px;
  }

  .index-page .left-panel {
    width: 100%;
    padding: 0 15px;
  }

  .index-page .right-panel {
    display: none;
  }

  .index-panes {
    padding: 0 15px;
  }

  .index-panes .pane {
    width: 49.5%;
    margin-right: 1%;
    margin-bottom: 1%;
  }

  .index-panes .pane:nth-child(2n) {
    margin-right: 0;
  }

  .pitch .pitch-left {
    width: 100%;
    text-align: center;
  }

  .pitch .pitch-left img {
    display: inline-block;
    margin: 0 30px 0 0;
  }

  .pitch .pitch-left img:last-of-type {
    margin-right: 0;
  }

  .pitch .pitch-right {
    width: 100%;
    padding: 15px 0;
  }

  .pitch .pitch-text {
    font-size: 13px;
  }

  .sidebar {
    display: none;
  }

  .middle-content {
    border: none;
    padding: 0;
    width: 100%;
    min-height: 0;
  }

  .middle-content .tools-how {
    overflow: hidden;
    margin-bottom: 30px;
  }

  .middle-content .tools-how-image {
    width: 100%
  }

  .middle-content .tools-how-content {
    width: 100%
  }

  .middle-content .gallery .gallery-item {
    display: block;
    margin: 0 9px 15px 0;
    width: 100%;
    float: left;
    text-align: center;
  }

  .middle-content .gallery img {
    height: auto;
    width: 100%;
  }

  footer {
    margin-top: 15px;
    padding: 0 15px;

  }

  footer .footer-table {
    display: none;
    border-top: 4px solid #bfc400;
    border-right: 1px solid #bfc400;
  }

  footer .footer-table.table-content {
    display: block;
    overflow: hidden;
  }

  footer .table-content .footer-col,
  footer .table-content .footer-col:last-of-type {
    width: 100%;
    border-bottom: 1px solid #bfc400;
    border-right: none;
  }

  footer .responsive-col {
    display: block;
  }

  footer .responsive-item {
    display: none;
  }

  footer .table-content .responsive-title {
    display: block;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 700;
    color: #666;
  }

  footer .table-content .footer-col:last-of-type .responsive-title {
    display: none;
  }

  footer .footer-footer {
    margin-top: 15px;
    padding: 6px 9px;
  }
}
