/* variables */
/* catalog categories */
/* press review categories */
/* industries */
/* fonts */
/* mixins */
.columns {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 150px;
}
@media (max-width: 1599px) {
  .columns {
    flex-direction: column;
  }
}

.column--left {
  width: 32.5%;
}
@media (max-width: 1599px) {
  .column--left {
    width: 100%;
    order: 1;
  }
}

@media (min-width: 1024px) and (max-width: 1599px) {
  .btn-group--items {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) and (max-width: 1599px) {
  .btn-group--item {
    width: calc((100% - 4px) / 2);
  }
  .btn-group--item:last-child {
    margin-bottom: 4px;
  }
}

.default-icon svg {
  width: 20px;
  fill: #101010;
  stroke: #101010;
}

.sidebar-img-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 15px;
}

.column--right {
  width: 65%;
}
@media (max-width: 1599px) {
  .column--right {
    width: 100%;
    order: 0;
    margin-bottom: 50px;
  }
}
@media (max-width: 1199px) {
  .column--right {
    margin-bottom: 0px;
  }
}

/* base - start */
.category--families {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 40px;
}
.category--families.no-margin {
  margin-top: 0px;
}
@media (max-width: 1599px) {
  .category--families {
    margin-top: 0px;
  }
}

.category--family {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: calc((100% - 20px) / 2);
  min-height: 160px;
  padding: 30px 20px;
  margin-bottom: 20px;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .category--family:after {
    content: "";
    position: absolute;
    top: 0;
    right: -358px;
    width: 358px;
    height: 150px;
    background-image: linear-gradient(to top right, transparent 50%, #F3F3F3 calc(50% + 2px));
    background-position: top right;
    background-size: 100%;
    background-repeat: no-repeat;
    z-index: -10;
    transition: all 500ms ease-in-out;
  }
}
@media (max-width: 1023px) {
  .category--family {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .category--family {
    flex-direction: column-reverse;
  }
}

body:not(.touch-device) .category--family:hover:after {
  right: 0;
  transition: all 250ms cubic-bezier(0, 1, 0, 1);
}

.category--familyInfo {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 55%;
  padding-right: 5%;
}
@media (max-width: 767px) {
  .category--familyInfo {
    flex-basis: 100%;
    padding-right: 0;
  }
}

.category--familyNoImage .category--familyInfo {
  width: 100%;
}

.category--familyTitle {
  color: #101010;
  font-size: 1.125rem;
  line-height: 1.22;
  font-weight: 700;
  transition: all 250ms cubic-bezier(0.23, 1, 0.32, 1);
}

.category--familySubTitle {
  color: #444444;
  line-height: 1.375;
}

.category--familyImgWrap {
  flex-grow: 0;
  flex-shrink: 0;
  width: 200px;
  height: 100px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media (max-width: 767px) {
  .category--familyImgWrap {
    margin: 0 auto 25px;
  }
}

.category--familyImg {
  max-width: 100%;
  height: auto;
  transition: all 250ms cubic-bezier(0.23, 1, 0.32, 1);
}

.category--content {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
@media (max-width: 1199px) {
  .category--content {
    display: block;
  }
}

.rich-text--category {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 61.5%;
  padding: 0 20px;
  margin-right: 25px;
}
@media (max-width: 1599px) {
  .rich-text--category {
    flex-basis: 70.5%;
    padding: 0;
  }
}
@media (max-width: 1199px) {
  .rich-text--category {
    margin-right: 0px;
    margin-bottom: 50px;
  }
}

.insights-group {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 36.05%;
  padding: 0 0 0 20px;
}
@media (max-width: 1599px) {
  .insights-group {
    flex-basis: 27.05%;
    padding: 0;
  }
}
@media (max-width: 1199px) {
  .insights-group {
    margin-bottom: 35px;
  }
}

.insights-group--item {
  display: flex;
  align-items: center;
  color: #101010;
  margin-bottom: 10px;
  transition: all 250ms cubic-bezier(0.23, 1, 0.32, 1);
}
.insights-group--item:last-child {
  margin-bottom: 0px;
}

body:not(.touch-device) .insights-group--item:hover {
  color: #444444;
}
body:not(.touch-device) .insights-group--item:hover .insights-group--icon > svg {
  fill: #444444;
}

.insights-group--icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
}
.insights-group--icon > svg {
  fill: #101010;
  transition: all 250ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* base - end */
/* optics - start */
.optics .page-header--title {
  color: #1D4F91;
}
.optics .category--family {
  background-image: linear-gradient(to top right, transparent 50%, #1D4F91 calc(50% + 2px));
  background-position: top right;
  background-size: 305px 128px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .optics .category--family {
    background-size: 205px 128px;
  }
}
.optics:not(.touch-device) .category--family:hover .category--familyTitle {
  color: #1D4F91;
}

/* optics - end */
/* lighting - start */
.lighting .page-header--title {
  color: #009A44;
}
.lighting .category--family {
  background-image: linear-gradient(to top right, transparent 50%, #009A44 calc(50% + 2px));
  background-position: top right;
  background-size: 305px 128px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .lighting .category--family {
    background-size: 205px 128px;
  }
}
.lighting:not(.touch-device) .category--family:hover .category--familyTitle {
  color: #009A44;
}

/* lighting - end */
/* cameras - start */
.cameras .page-header--title {
  color: #86C8BC;
}
.cameras .category--family {
  background-image: linear-gradient(to top right, transparent 50%, #86C8BC calc(50% + 2px));
  background-position: top right;
  background-size: 305px 128px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .cameras .category--family {
    background-size: 205px 128px;
  }
}
.cameras:not(.touch-device) .category--family:hover .category--familyTitle {
  color: #86C8BC;
}

/* cameras - end */
/* software - start */
.software .page-header--title {
  color: #CFDF00;
}
.software .category--family {
  background-image: linear-gradient(to top right, transparent 50%, #CFDF00 calc(50% + 2px));
  background-position: top right;
  background-size: 305px 128px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .software .category--family {
    background-size: 205px 128px;
  }
}
.software:not(.touch-device) .category--family:hover .category--familyTitle {
  color: #CFDF00;
}

/* software - end */
/* accessories - start */
.accessories .page-header--title {
  color: #C99700;
}
.accessories .category--family {
  background-image: linear-gradient(to top right, transparent 50%, #C99700 calc(50% + 2px));
  background-position: top right;
  background-size: 305px 128px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .accessories .category--family {
    background-size: 205px 128px;
  }
}
.accessories:not(.touch-device) .category--family:hover .category--familyTitle {
  color: #C99700;
}

/* accessories - end */
/* kits - start */
.kits .page-header--title {
  color: #000;
}
.kits .category--family {
  background-image: linear-gradient(to top right, transparent 50%, #E6E6E6 calc(50% + 2px));
  background-position: top right;
  background-size: 305px 128px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .kits .category--family {
    background-size: 205px 128px;
  }
}
.kits:not(.touch-device) .category--family:hover .category--familyTitle {
  color: #000;
}

/* kits - end */