.product-details-page .page-body {
  padding-top: 30px;
}

.cm-product-content {
  padding-bottom: 65px;
  position: relative;
}

@media (max-width:768px) {
  .cm-product-content {
    margin-left: -15px;
    margin-right: -15px;
    overflow: hidden;
  }
}

.col-custom-image {
  flex: 0 0 549px;
  max-width: 549px;
}

@media (min-width:992px){
  .col-custom-image {
    background: #efefef;
  }
}


@media (max-width: 1199px) {
  .col-custom-image {
    flex: 0 0 400px;
    max-width: 400px;
  }
}

@media (max-width: 991px) {
  .col-custom-image {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.col-custom-configurator {
  flex: 1;
}

@media (max-width: 991px) {
  .col-custom-configurator {
    flex: 0 0 100%;
    max-width: 100%;
  }
}


.col-custom-side-image {
  flex: 0 0 211px;
  max-width: 211px;
  background: #efefef;
}


@media (max-width:1349px) {
  .col-custom-side-image {
    display: none !important;
  }
}

@media (min-width:768px) {
  .col-custom-image {
    border-right: 1px solid #c2c2c2;
  }
  .col-custom-side-image {
    border-left: 1px solid #c2c2c2;
  }
}

.affix {
  position: sticky;
  top: 0px;
  width: auto;
}

.cm-product-attr {
  border: 0;
}

.cm-product-attr > tbody > tr:first-child > td {
  padding-top: 0;
}

.cm-product-attr > tbody > tr:last-child > td {
  padding-bottom: 0;
}

  .cm-product-attr tbody > tr > td {
    border: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .cm-product-attr th.cm-attr-header {
    clear: both;
    padding: 12px 10px 12px 10px;
    background: #efefef;
    color: #323232;
    font-weight: 500;
  }

      .cm-product-attr th.cm-attr-header:first-child {
        border-top: 0;
      }

/*      .cm-product-attr th.cm-attr-header:hover {
        background: #323232;
        color: #fff;
      }

    .cm-product-attr th.cm-attr-header.no-hover:hover {
      background: #efefef !important;
      color: #323232;
      cursor: default;
    }*/


    .cm-product-attr th.cm-attr-header .btn {
      padding: 0;
    }

.product-details-page .btn {
  text-transform: uppercase;
}

/* Product price and no-price text */
.has-no-price { display: none; }

.price-value:empty + .has-no-price {
  display: block;
}

.cm-product-attr td.cm-attr-body > item {
  display: block;
  padding: 10px 10px 0 10px;
  position: relative;
  overflow: hidden;
}

/* Attribute show hide */
.two-paged-product .cm-add-to-card .add-to-cart,
.two-paged-product .step-2-attributes,
.two-paged-product.step-2 .cm-attr-item.collection-and-swatches {
  display: none;
}
.two-paged-product .cm-add-to-card .prices {
  visibility: hidden;
}

.two-paged-product.step-2 .cm-add-to-card .add-to-cart,
.two-paged-product.step-2 .step-2-attributes,
.two-paged-product .cm-attr-item.collection-and-swatches {
  display: block;
}
.one-paged-product .cm-add-to-card .prices,
.two-paged-product.step-2 .cm-add-to-card .prices {
  visibility: visible;
}

.one-paged-product .collection-and-swatches .collapsePrev,
.one-paged-product .step-1-attributes .cm-attr-item:last-child .collapseNext {
  display: none;
}

.step-1-attributes > td,
.step-1-attributes > td > table,
.step-2-attributes > td,
.step-2-attributes > td > table,
.cm-attr-item > td {
  display: block;
  width: 100%;
}

  .step-1-attributes > td:first-child,
  .step-1-attributes .cm-attr-item:first-child td,
  .step-2-attributes > td:first-child,
  .step-2-attributes .cm-attr-item:first-child td {
    padding-top: 0
  }
  /* Swatches */
  @media (min-width: 768px) {
    .scroll-swatches {
    overflow-y: scroll !important;
    overflow-x: hidden;
  }
}

@media (min-width: 991px) {
  .scroll-swatches {
    max-height: 510px !important;
    -webkit-overflow-scrolling: touch;
  }
}

  .swatchGroup {
    width: 100%;
  }

    .swatchGroup:not(:last-child):not(.swatchGroup-hidden) {
      border-bottom: 1px solid #cfcfcf;
      margin-bottom: 1rem;
    }


/* Color group filter */
.color-group-filter .custom-checkbox .custom-control-label::before {
  background-color: var(--backgroundColor);
  background-image: var(--backgroundImage);
  background-size: contain;
}

/* Attribute image square columns */
@media (min-width: 768px) {
  /* Force 3 cols */
  .image-square-attr[class$="-topplist"] .col-6,
  .image-square-attr[class$="-forstoff"] .col-6,
  .image-square-attr[class$="-bunnprofil"] .col-6,
  .image-square-attr[class$="_plassering"] .col-6,
  .image-square-attr[class$="-gh-lengde"] .col-6,
  .image-square-attr[class$="-gh_maljegardin-maljefarge"] .col-6,
  .image-square-attr[class$="-farge"] .col-6,
  .image-square-attr[class$="-endedekor"] .col-6,
  .image-square-rg-profilfarge .col-6,
  .image-square-pg_enkel_c-spesifikasjon_profilfarge .col-6,
  .image-square-pg_duette_c-spesifikasjon_profilfarge .col-6,
  .image-square-attr[class$="-rett_parkering"] .col-6,
  .image-square-attr[class$="-spesifikasjon_profilfarge"] .col-6 {
    -ms-flex: 0 0 33.333333% !important;
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }
  /* Force 4 cols */
  .image-square-attr[class$="-spesifikasjon_snortrekk"] .col-6,
  .image-square-attr[class$="-spesifikasjon_kjedetrekk_plast"] .col-6,
  .image-square-attr[class$="-spesifikasjon_kjedetrekk_metall"] .col-6,
  .image-square-attr[class$="-farge"] .col-6,
  .image-square-attr[class$="-kroker"] .col-6
  {
    -ms-flex: 0 0 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }

  /* Medium padding on sides */
  .image-square-attr[class$="-stigesnor_stigeband"],
  .image-square-attr[class$="-montering"],
  .image-square-attr[class$="-plassering_trekk_tilt_snor"],
  .image-square-attr[class$="-plassering_trekksnor_vristang"],
  .image-square-attr[class$="-kontrolltype"],
  .image-square-attr[class$="-betjeningsside_snortrekk"],
  .image-square-attr[class$="-betjeningsside_kjedetrekk_plast"],
  .image-square-attr[class$="-betjeningsside_kjedetrekk_metall"],
  .image-square-attr[class$="-utstyr"],
  .image-square-attr[class$="-spesifikasjon_haandtak"],
  .image-square-attr[class$="-spesifikasjon_rulling"],
  .image-square-attr[class$="-betjeningsside"],
  .image-square-attr[class$="-gh-funksjon"],
  .image-square-attr[class$="-oppheng"],
  .image-square-attr[class$="-oppheng_stang"],
  .image-square-attr[class$="-oppheng_skinne"],
  .image-square-attr[class$="-oppheng-stangtykkelse"],
  .image-square-attr[class$="-gardinringer"],
  .image-square-attr[class$="-spesifikasjon_reim_snor"],
  .image-square-attr[class$="-spesifikasjon_ringer"],
  .image-square-attr[class$="-spesifikasjon_snoromtag"],
  .image-square-attr[class$="-skinne"],
  .image-square-attr[class$="-losning"],
  .image-square-attr[class$="-endelokk"],
  .image-square-attr[class$="-storrelse"],
  .image-square-attr[class$="-ramme"],
  .image-square-attr[class$="-innmat"],
  .image-square-attr[class$="-montering_vegg_skruehull"],
  .image-square-attr[class$="-rett_gardinstopper"],
  .image-square-attr[class$="-montering_vegg_avstand"],
  .image-square-attr[class$="-profilfarge"] {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  /* Large padding on sides */
  .image-square-attr[class$="-spesifikasjon_stigeband"],
  .image-square-attr[class$="-spesifikasjon_kjedetrekk"],
  .cm-attr-item[class$="-forestang"] .attribute-pre-description,
  .cm-attr-item[class$="-gardinholder"] .attribute-pre-description {
    padding-left: 120px;
    padding-right: 120px;
  }
  /* Large padding on sides */
  .cm-attr-item[class$="-installasjonskit"] .attribute-pre-description {
    padding-left: 150px;
    padding-right: 150px;
  }
}
  /* Attributt beskrivelse */
.cm-product-attr .attribute-description {
  background: #e9ecef;
  padding: 15px 10px;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  margin-top: 4px;
  font-size: 13px;
}
  .cm-product-attr .attribute-description [class^="col-"] {
    margin-bottom: 1rem;
  }
    .cm-product-attr .attribute-description p:last-child {
      margin-bottom: 0;
    }

    .cm-product-attr .attribute-description .fad {
      color: #d3aa47;
      margin-left: 4px;
    }

  .cm-product-attr td.cm-attr-body > item .attribute-description {
    margin-left: -10px;
    margin-right: -10px;
  }

.cm-product-attr .attribute-description ul {
  margin-top: .5rem;
}

/* Fancybox for attribute description */
.fancybox-product-description-wrapper .fancybox-bg {
  display:none;
}
.fancybox-product-description-wrapper .fancybox-content {
  width: 350px;
  height: 350px;
  border: 10px solid #fff;
  box-shadow: 5px 8px 10px rgba(0,0,0,0.06);
}

.fancybox-product-description-wrapper .fancybox-image {
  width: 100%;
  height: 100%;
}

.fancybox-product-description-wrapper .fancybox-caption {
  display: none;
}

.cm-attr-step {
  font-weight: 500;
  text-transform: uppercase;
  font-size: 13px;
}

  .cm-attr-step .attr-icon-check {
    margin-right: 4px;
    font-size: 15px;
  }

  .cm-attr-selected-value {
    font-size: 13px;
  }

  .cm-attr-selected-value .btn {
    padding: 0 0 0 2px;
  }

  @media (max-width: 991px) {
    .cm-attr-selected-value {
      padding-left: 22px;
      font-weight: normal;
    }
  }

.cm-attr-selected-value:empty + .cm-attr-step > .attr-icon-check .attr-icon-selected,
.cm-attr-selected-value:not(:empty) + .cm-attr-step > .attr-icon-check .attr-icon-not-selected,
.cm-attr-selected-value:not(:empty) + .cm-attr-step > .attr-icon-check .attr-icon-error,
.cm-attr-selected-value:empty + .cm-attr-step > .attr-icon-check .attr-icon-error + .attr-icon-not-selected {
  display: none;
}

.cm-attr-selected-value:empty + .cm-attr-step > .attr-icon-check .attr-icon-not-selected,
.cm-attr-selected-value:not(:empty) + .cm-attr-step > .attr-icon-check .attr-icon-selected {
  display: inline-block;
}

.qty-attribute {
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.cm-next-prev {
  padding: 0 10px;
}
  item .cm-next-prev {
    padding: 0;
  }
  .cm-prev-button {
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: left;
  }
  .cm-next-button {
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: right;
  }

.step-1-attributes .cm-attr-item:first-child .cm-prev-button .collapsePrev,
.step-2-attributes .cm-attr-item:first-child .cm-prev-button .collapsePrev,
.step-2-attributes .cm-attr-item:last-child .cm-next-button .collapseNext {
  display: none;
}

  /* Custom checkboxes */
  .square-checkbox {
    position: relative;
    padding: 0;
  }

    .square-checkbox label {
      margin-bottom: 0;
      width: 100%;
    }

      .square-checkbox label:hover {
        cursor: pointer;
      }

    .square-checkbox .square-color {
      display: block;
    }

    .square-checkbox input {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0;
    }

      .square-checkbox input ~ .square-checkmark {
        position: absolute;
        border: 1px solid #bdbdbd;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
      }

      .square-checkbox input:not(:checked):hover ~ .square-checkmark {
        -webkit-box-shadow: inset 0px 0px 0px 3px rgba(108, 117, 125, 1);
        -moz-box-shadow: inset 0px 0px 0px 3px rgba(108, 117, 125, 1);
        box-shadow: inset 0px 0px 0px 3px rgb(108, 117, 125);
      }

      .square-checkbox input:checked ~ .square-checkmark {
        -webkit-box-shadow: inset 0px 0px 0px 3px rgba(211,170,71,1);
        -moz-box-shadow: inset 0px 0px 0px 3px rgba(211,170,71,1);
        box-shadow: inset 0px 0px 0px 3px rgba(211,170,71,1);
      }

.square-checkbox-title {
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  color: #393635;
  padding: 0 5px;
}

.swatches .square-checkbox-title,
.image-square-attr[class$="-p-stigeband_farge"] .square-checkbox-title {
  font-size: 10px;
  text-align: left;
}

/* Gardinstenger gardinringer med uten ringer */
.image-square-ogs-gardinringer > div:first-child::before {
  content: "Sett med ringer";
  position: absolute;
  width: 100%;
  height: auto;
  clear: both;
  top: 0;
  font-weight: bold;
}

.image-square-ogs-gardinringer > div:nth-child(3)::before {
  content: "Sett uten ringer";
  position: absolute;
  width: 100%;
  height: auto;
  clear: both;
  top: 0;
  font-weight: bold;
}

.image-square-ogs-gardinringer > div {
  padding-top: 30px;
}


/* Add to cart bar */
.cm-add-to-card {
  position: fixed;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
}

  @media (min-width: 372px) {
    .cm-add-to-card {
      display: flex;
    }

      .cm-add-to-card .add-to-cart {
        float: right;
      }  
  }

@media (max-width: 767px) {
  .cm-add-to-card.container {
    padding-left: 0;
    padding-right: 0;
  }
}

.cm-add-to-card .prices {
  text-align: right;
}

  @media (max-width: 767px) {
    .cm-add-to-card .prices {
      margin-right: 10px;
      line-height: 13px;
      font-size: 13px;
    }
  }

  @media (min-width: 768px) {
    .cm-add-to-card .prices {
      line-height: 15px;
      margin-right: 20px;
    }
  }

.cm-add-to-card .prices .price-value-1 {
  font-size: 18px;
  font-weight: 500;
}

  .cm-add-to-card .qty-input.form-control {
    width: 60px;
  }



  /* Wall Colorpicker */
  .colorpicker.cm-wall-colorpicker {
    width: 263px;
    margin: 0 auto;
    border: 0;
    display: block;
  }

  .cm-wall-colorpicker .colorpicker-saturation {
    width: 200px;
    height: 200px;
  }

  .cm-wall-colorpicker .colorpicker-hue,
  .cm-wall-colorpicker .colorpicker-alpha {
    width: 30px;
    height: 200px;
  }

  .cm-wall-colorpicker .colorpicker-alpha,
  .cm-wall-colorpicker .colorpicker-preview {
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
  }

    .cm-wall-colorpicker .colorpicker-preview,
    .cm-wall-colorpicker .colorpicker-preview div {
      display: none;
      height: 30px;
      font-size: 13px;
      line-height: 160%;
    }

  .colorpicker-saturation .colorpicker-guide {
    height: 10px;
    width: 10px;
    border-radius: 10px;
    margin: -5px 0 0 -5px;
  }

  .cm-colorpicker-defaults .color-box {
    width: 30px;
    height: 30px;
    float: left;
    margin: 5px;
    border: 1px solid #eee;
    cursor: pointer;
  }

  .cm-colorpicker-defaults .color-name {
    line-height: 42px;
    text-align: left;
    margin-left: 4px;
    display: inline-block;
  }


  /* product image */
  .cm-product-img {
    position: relative;
  }

  .cm-product-img {
    position: relative;
    width: 100%;
  }

  .cm-image-overlay {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    position: absolute;
    z-index: 1;
  }

  /* Custom scrollbar */
  body div ::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
  }

  body div ::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 1px #6c757d;
  }

  body div ::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0);
  }

  /* Bootstrap input number */
.bootstrap-input-number {
  max-width: 150px;
  margin-left: auto;
  margin-right: auto;
}

  .bootstrap-input-number .btn {
    height: calc(1.5em + .75rem + 6px);
  }


/* Minikalkulator */
@media (min-width: 768px){
  #priceTable .price-group {
    max-width:115px;
    white-space: nowrap;

  }
  #priceTable .price {
    white-space: nowrap;
  }
  #priceTable .collection {
    text-align:left;
  }
}

/* Loading overlay*/
.loading-overlay:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999999;
  background: url('/Themes/RootTheme/Content/js/lazyload/lazyload.gif') center no-repeat, rgb(255 255 255 / 65%);
}