@font-face {
  font-family: fontHeading;
  src: url("../font/GaramondPremrPro-MedCapt.otf"); }

@font-face {
  font-family: fontNav;
  src: url("../font/Aviano Sans Regular.otf"); }

body a {
  color: #333; }
  body a:hover {
    text-decoration: none;
    color: initial; }

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

.hero-productList {
  font-family: fontHeading;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .hero-productList .hero-productList-title {
    font-size: 20px;
    margin-bottom: 16.6px;
    color: #333333; }
  .hero-productList .hero-productList-content p {
    color: #333333;
    margin: 0;
    font-size: 14px;
    text-align: center; }
    .hero-productList .hero-productList-content p:nth-child(1) {
      margin-bottom: 22.4px; }
  .hero-productList .hero-productList-content p img {
    width: 100%;
    height: auto;
  }
.productList {
  width: 100%;
  height: auto;
  font-family: fontHeading; }

.productList-filter {
  width: 100%;
  min-height: 55.2px;
  display: flex;
  box-shadow: 1px 1px #e0e0e0, -1px -1px #e0e0e0;
  background-color: #fff;
  position: sticky;
  z-index: 9; }
  .productList-filter .productList-filter-col {
    min-height: 55.2px;
    width: 115px;
    border-right: 1px solid #e0e0e0;
    height: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center; }
    .productList-filter .productList-filter-col .icon-col {
      display: block;
      opacity: 0.2;
      cursor: pointer; }
      .productList-filter .productList-filter-col .icon-col svg {
        width: 18px;
        height: 18px; }
    .productList-filter .productList-filter-col .icon-col.active {
      opacity: 1; }
    @media (min-width: 1024px) {
      .productList-filter .productList-filter-col .one-col,
      .productList-filter .productList-filter-col .three-col {
        display: none; } }
    @media (max-width: 1024px) {
      .productList-filter .productList-filter-col .one-col,
      .productList-filter .productList-filter-col .four-col {
        display: none; }
      .productList-filter .productList-filter-col .two-col,
      .productList-filter .productList-filter-col .three-col {
        display: block; } }
    @media (max-width: 525px) {
      .productList-filter .productList-filter-col .one-col,
      .productList-filter .productList-filter-col .two-col {
        display: block; }
      .productList-filter .productList-filter-col .three-col {
        display: none; } }
  .productList-filter-virtual {
    flex: 1; }
    @media (max-width: 640px) {
      .productList-filter-virtual {
        display: none; } }
  .productList-filter-sort {
    min-height: 55.2px;
    width: 144.16px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left: 1px solid #e0e0e0;
    font-size: 12px;
    color: #333333;
    cursor: pointer; }
    .productList-filter-sort .icon-sort {
      padding-left: 5px;
      width: 15px;
      height: 15px; }
    @media (max-width: 640px) {
      .productList-filter-sort {
        order: 2;
        width: calc(50vw - 57px); } }
  .productList-filter .productList-filter-hide {
    width: 138.24px;
    min-height: 55.2px;
    padding: 18px 0;
    border-left: 1px solid #e0e0e0;
    font-size: 12px;
    color: #333333;
    display: none;
    text-align: center; }
    @media (max-width: 1007px) {
      .productList-filter .productList-filter-hide {
        display: block; } }
    @media (max-width: 640px) {
      .productList-filter .productList-filter-hide {
        order: 1;
        width: calc(50vw - 57px);
        width: -moz-calc(50vw - 57px);
        width: -webkit-calc(50vw - 57px); } }

.productList-content {
  margin-top: 50px; }
  @media (max-width: 1007px) {
    .productList-content .productList-content-color {
      display: none; } }
  .productList-content .productList-content-color .productList-content-color-ul {
    padding: 0px 20px 0 30px; }
    .productList-content .productList-content-color .productList-content-color-ul .color-item {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      margin-bottom: 5px; }
    .productList-content .productList-content-color .productList-content-color-ul li {
      margin-bottom: 16px; }
      .productList-content .productList-content-color .productList-content-color-ul li a {
        color: #333;
        font-family: fontHeading;
        cursor: pointer;
        font-size: 14px; }
    .productList-content .productList-content-color .productList-content-color-ul .title {
      margin-top: 50px;
      color: #333;
      font-family: fontHeading;
      font-size: 12px; }
      .productList-content .productList-content-color .productList-content-color-ul .title:first-child {
        margin-top: 0; }
  .productList-content .productList-content-color .btn-download {
    margin-left: 30px; }
  @media (max-width: 992px) {
    .productList-content .productList-content-color {
      display: none; } }
  .productList-content .productList-content-main {
    flex: 1; }
    .productList-content .productList-content-main .item-product {
      position: relative;
      margin-bottom: 60px; }
      .productList-content .productList-content-main .item-product .item-product-tag {
        position: absolute;
        text-transform: uppercase;
        left: 35px;
        top: 6px;
        text-align: left;
        font-weight: 500;
        padding: 6px 2px;
        font-size: 11.9px;
        letter-spacing: 1px;
        z-index: 3; }
      .productList-content .productList-content-main .item-product .item-product-img {
        display: block;
        position: relative;
        margin: 0 auto; }
        .productList-content .productList-content-main .item-product .item-product-img img {
          width: 100%; }
        .productList-content .productList-content-main .item-product .item-product-img .img-before {
          position: absolute;
          opacity: 1;
          transition: opacity 0.5s ease; }
        .productList-content .productList-content-main .item-product .item-product-img .img-after {
          opacity: 0;
          transition: opacity 0.5s ease; }
        .productList-content .productList-content-main .item-product .item-product-img:hover .img-before {
          opacity: 0; }
        .productList-content .productList-content-main .item-product .item-product-img:hover .img-after {
          opacity: 1; }
      .productList-content .productList-content-main .item-product .block-content {
        display: flex;
        flex-direction: column;
        align-items: center; }
      .productList-content .productList-content-main .item-product .item-product-name {
        display: block;
        padding-top: 10px;
        font-size: 13px;
        font-weight: 500; }
      .productList-content .productList-content-main .item-product .item-product-price {
        margin-bottom: 5px;
        font-size: 13px;
        font-weight: 500; }
        .productList-content .productList-content-main .item-product .item-product-price .price-default {
          text-decoration: line-through; }
        .productList-content .productList-content-main .item-product .item-product-price .price-new {
          color: #f94c43; }
      .productList-content .productList-content-main .item-product .item-product-color {
        width: 100%; }
        .productList-content .productList-content-main .item-product .item-product-color .slick-slide {
          margin: 0 4px; }
        .productList-content .productList-content-main .item-product .item-product-color .slick-list {
          margin: 0 -4px; }
        .productList-content .productList-content-main .item-product .item-product-color .slick-track {
          width: 100% !important;
          display: flex;
          justify-content: center; }
        .productList-content .productList-content-main .item-product .item-product-color .img-dots {
          width: 20px !important;
          height: 20px;
          border-radius: 50%; }
          .productList-content .productList-content-main .item-product .item-product-color .img-dots img {
            width: 100%;
            height: 100%;
            border-radius: 50%; }
          .productList-content .productList-content-main .item-product .item-product-color .img-dots:focus {
            outline: 0; }
        .productList-content .productList-content-main .item-product .item-product-color .slick-current.img-dots {
          border: 1px solid #000;
          padding: 2px;
          border-radius: 50%; }

.productList-tab {
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 80px; }
  @media (max-width: 1024px) {
    .productList-tab {
      margin-top: 20px; } }
  @media (max-width: 768px) {
    .productList-tab {
      margin-top: 0px; } }
  .productList-tab-content {
    display: flex;
    width: 189px;
    height: 45.2px; }
    .productList-tab-content-number {
      width: 63px;
      height: 45px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 12px;
      border-bottom: 1px solid #e0e0e0; }

.productList-see {
  padding-top: 80px;
  padding-bottom: 80px; }
  .productList-see-title {
    margin-bottom: 70px;
    font-size: 18px;
    font-family: fontHeading;
    color: #333333;
    text-align: center; }
  .productList-see-content .item-product {
    width: 40%;
    position: relative;
    padding-left: 15px;
    padding-right: 15px; }
    .productList-see-content .item-product-tag {
      position: absolute;
      text-transform: uppercase;
      left: 22px;
      top: 6px;
      text-align: left;
      font-weight: 500;
      padding: 6px 2px;
      font-size: 11.9px;
      letter-spacing: 1px;
      z-index: 10; }
    .productList-see-content .item-product-img {
      display: block;
      position: relative; }
      .productList-see-content .item-product-img img {
        width: 100%; }
      .productList-see-content .item-product-img .img-before {
        position: absolute;
        opacity: 1;
        transition: opacity 0.5s ease; }
      .productList-see-content .item-product-img .img-after {
        opacity: 0;
        transition: opacity 0.5s ease; }
      .productList-see-content .item-product-img:hover .img-before {
        opacity: 0; }
      .productList-see-content .item-product-img:hover .img-after {
        opacity: 1; }
    .productList-see-content .item-product .block-content {
      display: flex;
      flex-direction: column;
      align-items: center; }
    .productList-see-content .item-product-name {
      display: block;
      padding-top: 10px;
      font-size: 13px;
      font-weight: 500; }
    .productList-see-content .item-product-price {
      margin-bottom: 5px;
      font-size: 13px;
      font-weight: 500; }
      .productList-see-content .item-product-price .price-default {
        text-decoration: line-through; }
      .productList-see-content .item-product-price .price-new {
        color: #f94c43; }
    .productList-see-content .item-product-color {
      width: 100%; }
      .productList-see-content .item-product-color .slick-slide {
        margin: 0 4px; }
      .productList-see-content .item-product-color .slick-list {
        margin: 0 -4px; }
      .productList-see-content .item-product-color .slick-track {
        width: 100% !important;
        display: flex;
        justify-content: center; }
      .productList-see-content .item-product-color .img-dots {
        width: 20px !important;
        height: 20px;
        border-radius: 50%; }
        .productList-see-content .item-product-color .img-dots img {
          width: 100%;
          height: 100%;
          border-radius: 50%; }
        .productList-see-content .item-product-color .img-dots:focus {
          outline: 0; }
      .productList-see-content .item-product-color .slick-current.img-dots {
        border: 1px solid #000;
        padding: 2px;
        border-radius: 50%; }

.sort {
  position: fixed;
  right: 0;
  z-index: 9999;
  padding: 18px 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 -2px 10px rgba(54, 54, 54, 0.2);
  transition: all 200ms ease-in-out;
  background-color: #fff;
  opacity: 0;
  visibility: hidden; }
  .sort:before {
    bottom: 100%;
    content: "";
    position: absolute;
    right: 40px;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #fff transparent;
    -webkit-filter: drop-shadow(0 -2px 2px rgba(54, 54, 54, 0.2));
    filter: drop-shadow(0 -2px 2px rgba(54, 54, 54, 0.2)); }
  .sort p {
    margin: 0;
    font-size: 12px; }
  .sort .sort-content {
    width: 100%;
    max-height: 380px;
    background-color: #fff;
    font-family: fontHeading;
    color: #333333;
    font-size: 16px; }
    .sort .sort-content a {
      color: #333333;
      display: inline-block;
      padding: 12px 50px; }
  .sort .sort-content-header {
    position: relative;
    padding: 0px 20px 13px;
    border-bottom: 1px solid rgba(224, 224, 224, 0.4);
    text-align: center;
    display: none; }
    .sort .sort-content-header .iconCloseSort {
      position: absolute; }
    .sort .sort-content-header > p {
      font-size: 16px; }

.sort.open {
  opacity: 1;
  visibility: visible; }

@media (min-width: 1007px) {
  .openFilterColor {
    display: none; } }

@media (max-width: 1007px) {
  .sort {
    width: 100vw;
    top: unset !important;
    bottom: -380px;
    text-align: center;
    transition: all 500ms ease-in-out; }
    .sort:before {
      display: none; }
    .sort .sort-content-header {
      display: block; }
  .sort.open {
    bottom: 0; }
  .openFilterColor {
    position: fixed;
    top: 0;
    right: -100%;
    bottom: 0;
    z-index: 20;
    max-width: 400px;
    height: 100vh;
    overflow-y: hidden;
    font-size: 12px;
    display: flex;
    background-color: #fff;
    transition: all 500ms ease-in-out;
    box-shadow: 2px 0 10px rgba(54, 54, 54, 0.2), -2px 0 10px rgba(54, 54, 54, 0.2); }
    .openFilterColor .subFilterColor {
      display: flex;
      flex-direction: column;
      width: 400px;
      max-width: calc(100vw - 65px);
      height: 100vh;
      background-color: #fff; }
      .openFilterColor .subFilterColor .subFilterColor-title {
        height: 62px;
        padding-left: 30px;
        padding-right: 30px;
        display: flex;
        justify-content: center;
        border-bottom: 1px solid #e0e0e0;
        align-items: center;
        position: relative; }
        .openFilterColor .subFilterColor .subFilterColor-title span {
          color: #333333;
          font-size: 16px; }
        .openFilterColor .subFilterColor .subFilterColor-title .iconCloseFilter {
          position: absolute;
          right: -12px;
          right: 5%;
          cursor: pointer; }
      .openFilterColor .subFilterColor .subFilterColor-item {
        flex: 1;
        padding-top: 35px;
        border-bottom: 1px solid #e0e0e0;
        overflow-y: auto; }
        .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul {
          padding-left: 24px;
          padding-right: 24px; }
          .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .colorClick {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px; }
            .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .colorClick .sub {
              display: none; }
          .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick {
            display: flex;
            justify-content: space-between;
            align-items: center; }
            .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick .sub {
              display: none; } }
            @media (max-width: 1007px) and (max-width: 639px) {
              .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick .sub {
                display: block; } }
          @media (max-width: 1007px) and (max-width: 639px) {
            .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick {
              height: 60.2px; } }

@media (max-width: 1007px) {
        .openFilterColor .subFilterColor .subFilterColor-item .sub-material {
          margin-top: 16px; }
          .openFilterColor .subFilterColor .subFilterColor-item .sub-material p {
            margin-bottom: 12px; }
            .openFilterColor .subFilterColor .subFilterColor-item .sub-material p a {
              color: #333333;
              text-decoration: none;
              font-size: 14px;
              font-family: fontHeading; } }
    @media (max-width: 1007px) and (max-width: 639px) {
      .openFilterColor .subFilterColor {
        padding-top: 0px; } }

@media (max-width: 1007px) {
    .openFilterColor .subFilterColor-btn {
      height: 95px;
      padding: 24px 30px 24px 30px;
      display: flex;
      font-size: 12px; }
      .openFilterColor .subFilterColor-btn button:nth-child(1) {
        width: 90px;
        height: 46.8px;
        color: #333;
        border: 1px solid rgba(51, 51, 51, 0.2);
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff; }
      .openFilterColor .subFilterColor-btn button:nth-child(2) {
        margin-left: 24px;
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #000;
        color: #fff;
        border: none; } }

.productList-content-color-ul .color-item .color-item-circle .color--tag {
  margin: 8px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor:pointer;
  /*background-image: url(../images/color-product/cam_64x64.webp); }*/
  }
  .productList-content-color-ul .color-item .color-item-circle .color--tag.active {
    border: 1px solid #658ce2 !important;
  }
.sub-color .flex-item {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5px; }
  .sub-color .flex-item .color-item-circle {
    margin: 8px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-image: url(../images/color-product/cam_64x64.webp); }

.openFilterColor.open {
  visibility: visible;
  opacity: 1;
  right: 0; }

@media (max-width: 525px) {
  .openFilterColor .subFilterColor .subFilterColor-item {
    padding-top: 0; }
    .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul {
      padding: 0; }
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul > * {
        visibility: hidden;
        transition: height 300ms ease-in-out visibility 0 ease-in-out 0.35s; }
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .colorClick,
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick {
        margin: 0;
        padding: 20px 24px;
        border-bottom: 1px solid #e0e0e0;
        position: relative;
        visibility: visible; }
        .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .colorClick:after,
        .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick:after {
          content: "+";
          display: inline;
          position: absolute;
          right: 25px;
          top: 20px; }
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .colorClick.open,
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .materialClick.open {
        border-bottom: 1px solid transparent; }
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .sub-color,
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .sub-material {
        margin: 0;
        padding: 0px 24px;
        border-bottom: 1px solid #e0e0e0;
        height: 0; }
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .sub-color.open,
      .openFilterColor .subFilterColor .subFilterColor-item .subFilterColor-item-ul .sub-material.open {
        padding: 0px 24px 12px;
        visibility: visible;
        height: auto; } }