/* Handles elastic product list */
.category-text h1,
.cmp-elastic-product-list h1 {
    font-size: 40px !important;
    margin-bottom: 20px !important;
    display: block;
}

.cmp-product-list-item figure {
    border: 1px solid #d0d3d5;
    border-radius: 2px !important;
}

.cmp-product-list-item figure:hover {
    box-shadow: 0 0 10px rgba(0,0,0,.25);
}

.cmp-product-list-item .product-code {
    margin-top: -5px;
}

.cmp-product-list-item .product-code span {
    font-size: 12px;
    opacity: .6;
    font-weight: 700;
    margin: -5px 0 5px;
    display: inline-block;
}

.cmp-product-list-item .prod-title {
    color: #002a65 !important;
    font-family: MontserratSemiBold;
    font-size: 16px;
}

.cmp-product-list-item .prod-title:hover {
    text-decoration: underline;
}

.cmp-product-list-item .price-list {
    position: relative;
    margin-top: 20px;
}

.cmp-product-list-item .prod-img {
    position: relative;
}

.cmp-product-list-item .price-starting-label {
    position: absolute;
    left: 0;
    top: -15px;
}

.cmp-product-list-item .price-list .default span {
    color: #941680;
    font-family: MontserratSemiBold;
    font-size: 20px;
}

.cmp-product-list-item .price-list .salesaction {
    margin-right: 5px;
    opacity: .7;
}

.cmp-product-list-item .price-list .salesaction span {
    font-family: MontserratSemiBold;
}

.cmp-product-list-item .ex-vat-label {
    font-size: 12px;
}

#sub-categories-ph {
    display: flex;
    flex-flow: row wrap;
    margin: 10px 0 20px;
}

#sub-categories-ph li {
    margin: 0 10px 10px 0;
}

@media (max-width: 575px) {
    .cmp-product-list-item .action-banner {
        transform-origin: left bottom;
        transform: scale(.75);
    }
}

@media (min-width: 576px) {
    .blocks .cmp-product-list-item .prod-title {
        height: 57px;
        overflow: hidden;
    }
}

/* Handles elastic product filters */
.cmp-elastic-product-filters {
    padding: 10px 17px 0;
    margin-bottom: 15px;
}

.cmp-elastic-product-filters .filters-container {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -15px;
}

.cmp-elastic-product-filters .filters-wrapper {
    padding: 0 7px;
    width: 25%;
    position: relative;
    margin-bottom: 10px !important;
}

.cmp-elastic-product-filters .filter-header {
    border: none;
    margin: 0;
}

.cmp-elastic-product-filters .filter-header {
    text-align: left;
    display: block !important;
    width: 100%;
    position: relative;
    cursor: pointer;
    margin: 0;
    font-size: 1rem !important;
    min-height: 50%;
    background: #fff;
    border: 1px solid #d0d3d5 !important;
    border-radius: 2px !important;
    line-height: normal;
    padding: 9px 10px 9px 10px;
}

.cmp-elastic-product-filters .filter-header h2 {
    font-size: 12px !important;
    font-family: MontserratSemiBold;
    margin: 0;
}

.cmp-elastic-product-filters .filter-header .dd-arrow {
    position: absolute;
    top: 8px;
    right: 10px;
}

.cmp-elastic-product-filters .filter-content {
    padding: 15px 15px 5PX !important;
    background-color: #fff;
    border: 1px solid #ddd;
    display: none;
    opacity: 0;
    transform-origin: center top;
}

.cmp-elastic-product-filters .filters-wrapper:hover .filter-content {
    animation: slide-in-megamenu .3s ease-in-out;
    width: calc(100% - 15px);
    top: 100%;
    display: block;
    opacity: 1;
    z-index: 9999;
}

@media (min-width: 992px) {
    .cmp-elastic-product-filters {
        background-color: #f2f4f7;
    }
}

@media (max-width: 991px) {
    .cmp-elastic-product-filters .filters-container {
        position: fixed;
        bottom: 0;
        left: 0;
        top: auto;
        height: auto;
        width: 100%;
        background-color: #fff;
        overflow: visible;
        padding: 0;
        margin: 0;
         min-height: 50%; 
        padding: 60px 30px 30px;
        flex-flow: column;
        box-shadow: 0 0 0 600px rgba(0,42,101,.5);
    }

    .cmp-elastic-product-filters .filters-wrapper {
        width: 100%;
        padding: 0;
    }

    .cmp-elastic-product-filters .filter-content {
        margin-right: 0 !important;
        width: 100% !important;
    }

    .cmp-elastic-product-filters .close-filters-btn i {
        font-size: 15px;
        color: #002a65 !important;
    }

    .cmp-elastic-product-filters .close-filters-btn {
        font-family: MontserratBold;
    }
}

/* Handles cmp-product-price */
.cmp-product-price .price-starting-label {
    margin-right: 5px;
}

/* Handles sorting options */
.cmp-sorting-options {
    margin-bottom: 15px !important;
}

.cmp-sorting-options .layout-buttons {
    order: 1;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}

.cmp-sorting-options i {
    font-size: 24px;
    line-height: 36px;
    display: inline-block;
}

.cmp-sorting-options .button.theme-primary {
    background-color: #fff !important;
}

.cmp-sorting-options .button.active i,
.cmp-sorting-options .button:hover i {
    opacity: 1 !important;
}

.cmp-sorting-options .button i {
    opacity: .5;
    color: #46525b !important;
}

.cmp-sorting-options .layout-buttons .label-bold {
    margin-right: 10px;
}

.cmp-sorting-options .sort-options-wrapper {
    border: none !important;
}

.cmp-sorting-options .select-label {
    font-family: MontserratSemiBold;
}

.cmp-sorting-options .product-count {
    order: 2;
}

.cmp-sorting-options .product-count {
    order: 2;
    margin-left: auto;
    margin-right: 15px;
    border-right: 1px solid #d0d3d5;
    padding-right: 15px;
}

.cmp-sorting-options .product-count .label-bold {
    margin-right: 5px;
}

.cmp-sorting-options .select-sorting {
    order: 3;
}

@media (max-width: 991px) {
    .cmp-sorting-options .toggle-filters-slot {
        width: 100% !important;
        background-color: #f2f4f7;
        border-radius: 2px !important;
        padding: 15px;
        margin-bottom: 15px;
    }

    .cmp-sorting-options .button.theme-primary {
        height: 50px;
        background-color: #4379bd !important;
        line-height: 50px;
        color: #fff;
        width: 100%;
    }
}

/* Handles pagination */
.cmp-pagination a {
    border-radius: 0 !important;
    line-height: 20px;
    height: auto;
}

.cmp-pagination .pagination-list {
    align-items: center;
}

.cmp-pagination .square-breakout,
.cmp-pagination .elipsis {
    border-right: 1px solid #46525b;
    min-width: 30px;
    border: none;
}

.cmp-pagination .next-page a,
.cmp-pagination .previous-page a {
    border: 2px solid #f2f4f7;
    border-radius: 2px !important;
    width: 45px;
    height: 38px;
    line-height: 35px;
}

.cmp-pagination .next-page a::before {
    content: "\f061";
    font-family: FontAwesome;
}

.cmp-pagination .previous-page a::before {
    content: "\f060";
    font-family: FontAwesome;
}

.cmp-pagination .button:hover,
.cmp-pagination .button.theme-primary.active {
    color: #941680 !important;
    font-family: MontserratSemiBold;
    background-color: #fff !important;
}

/* Handles product details page */
.product-details-column h1 {
    font-size: 40px;
    margin: 15px 0 25px;
    display: block;
    line-height: 1;
}

.product-details-column .prod-desc-2 {
    font-family: MontserratSemiBold;
    opacity: 1;
    font-size: 16px;
    line-height: 1.2;
    margin: 0;
}

.product-details-column .product-code span {
    font-family: MontserratBold;
}

.product-details-column .product-code span:last-child {
    opacity: .6;
}

.product-details-column .price-starting-label {
    margin-right: 5px;
}

.product-details-column .price-starting-label,
.product-details-column .ex-vat-label span {
    font-size: 15px;
    font-family: 'MontserratSemibold';
}

.product-details-column .price-list .default span {
    color: #941680 !important;
    font-size: 40px;
    font-family: 'MontserratSemibold';
}

/* cmp-tabs */
.cmp-tabs {
    border: none !important;
    /* padding: 12px 15px; */
}

.cmp-tabs .tabs {    
    margin-bottom: 30px;
}

.cmp-tabs a {
    font-family: MontserratSemibold;
    font-size: 13px;    
    color: #38a4dd;
    font-weight: 400 !important;
}

.cmp-tabs .active a {    
    color: #002a65 !important;
}

.cmp-tabs .tab {
    border: none !important;
    margin-right: 0 !important;
    padding: 12px 15px !important;
}

.cmp-tabs .tab-panels {
    padding: 0 15px;
}

.cmp-tabs .tab-panels h1,
.cmp-tabs .tab-panels h2,
.cmp-tabs .tab-panels h1 span {
    font-size: 14px !important;
    font-family: MontserratSemiBold;
    color: #46525B!important;
    margin-top: 0 !important;
    text-decoration: none !important;
}

.cmp-tabs .tabs {
    border-bottom: 1px solid #ddd;
}

.cmp-tabs .spec-item {
    width: 100%;
    padding: 6px 10px;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    border: none !important;
}

.cmp-tabs .spec-list {
    max-width: 100% !important;
}

.cmp-tabs .spec-list .spec-desc {
    max-width: 300px !important;
}

.cmp-tabs .spec-item:nth-child(2n) {
    background: #f2f4f7;
}

.product-details-column a span {
    font-family: MontserratSemibold;
    font-size: 13px;
    color: #38a4dd !important;
}

.product-details-column .prod-desc-container {
    max-height: 170px;
}

.cmp-elastic-product-details .collapse-button::before {
    bottom: 34px !important;
}

.product-details-column .favorites-icon {
    border: 1px solid #4379bd !important;
    background-color: #fff !important;
    color: #4379bd !important;
    width: auto;
    height: 50px;
    padding: 0 25px !important;
    padding-left: 15px !important;
    font-size: 14px;
    font-family: MontserratSemiBold !important;
    display: inline-flex !important;
    border-radius: 2px !important;
}

.product-details-column .favorites-icon:hover {
    background-color: #4379bd !important;
}
.product-details-column .favorites-icon:hover * {
    color: #fff !important;
}

.product-details-column .cmp-favorites-control i {
    display: inline !important;
    background: transparent;
    width: auto !important;
    font-size: 16px !important;
    margin-top: -2px;
}

.cmp-elastic-product-details .order-product {
    margin-bottom: 15px;
}

.product-details-column .action-banner {
    position: static !important;
    margin-right: 5px !important;
    font-size: 14px;
    padding: 5px;
}

.product-details-column .order-product-wrapper {
    display: flex;
    flex-flow: column;
}

.product-details-column .quantity-buttons-wrapper {
    display: flex;
    flex-flow: row nowrap;
}

.product-details-column .add-to-cart-btn {
    height: 50px;
    padding: 0 25px;
    color: #fff !important;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    background-color: #002A65 !important;
    margin-right: 15px;
    width: 140px !important;
    border-radius: 2px !important;
    justify-content: center;
}

.product-details-column .add-to-cart-btn:hover {
    background-color: rgb(40,82,141) !important
}

.product-details-column .add-to-cart-btn span {
    font-size: 14px;
    font-family: MontserratSemiBold !important;
    color: #fff !important;
}

.cmp-elastic-product-details .order-comment {
    padding-left: 8px;
}

.cmp-elastic-product-details .order-comment::placeholder {
    font-style: italic;
    color: #bbb !important;
}

.cmp-elastic-product-details .product-long-description ul {
    list-style: inside !important;
}

.cmp-elastic-product-details .product-long-description h1,
.cmp-elastic-product-details .product-long-description h2 {
    margin-bottom: 15px;
}

.cmp-product-group {
    display: flex;
    flex-flow: row nowrap;
    margin: 30px -15px !important;
    max-width: 100% !important;
}

.cmp-product-group .property {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    width: 50%;
    padding: 0 15px;
}

.cmp-product-group select {
    width: 100% !important;
}

.cmp-product-group .select-label {
    color: #002a65;
    margin-bottom: 5px;
    display: block;
}

.product-details-column .cmp-product-stock span {
    font-family: MontserratBold;
    font-size: 16px;
}

.product-details-column .cmp-product-stock .stock-indicators img {
    width: auto;
    height: auto;
}

.product-details-column .order-plus {
    margin-right: 5px;
}

.cmp-elastic-product-details .favorite {
    margin-bottom: 30px;
}

.cmp-elastic-product-details .order-product .favorite {
    margin-bottom: 0;
}

.cmp-product-carousel .nav-control {
    box-shadow: 0 0px 7px -3px rgba(17,34,68,0.9) !important;
}

.cmp-product-carousel .nav-control.disabled {
    opacity: 0;
}

.cmp-gallery {
    margin-bottom: 30px;
}

.cmp-product-carousel .nav-control.right {
    right: 0 !important;
}

.uc_favorites_overview h1 {
    display: block;
}

.uc_favorites_overview .product-count,
.uc_favorites_overview .toggle-filters-slot {
    display: none !important;
    visibility: hidden !important;
}

.nav-links-container .uc_customer_products {
    padding: 0;
    margin-top: 15px;
}

.nav-links-container .uc_customer_products a {
    padding: 0 15px;
    text-align: center;
    border-radius: 2px !important;
    height: 45px;
    line-height: 45px;
    width: auto !important;
}

.cmp-product-documents a {
    background: #fff;
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    flex-flow: row nowrap;
    padding: 5px 10px;
    margin-bottom: 10px;
    border: 1px solid #eee;
}

.cmp-product-documents a i.fa,
.cmp-product-documents span {
    color: #38A4DD !important;
}


@media (max-width: 767px) {
    .product-details-column .action-btns {
        flex-flow: column;
    }

    .product-details-column .action-btns a {
        width: 100% !important;
        margin-bottom: 15px;
        justify-content: center;
    }
}

@media (min-width: 768px) {
    .product-details-column .action-btns {
        flex-flow: row nowrap;
        display: flex;
    }
}

@media (min-width: 1201px) {
    .cmp-product-carousel .nav-control {
        top: 135px !important;
    }
}