:root {
	--gp-item-height: calc(100vh - 3 * var(--page-h-padding));
	--card-inline-height: calc(17vw + 10px);

    --line-width: var(--page-h-padding);

    --hover-text-width: 24vw;
}

.scale-handler .scale-self { transform: translate(-50%, -50%); transition: .3s ease-out; }
.scale-handler:hover .scale-self { width: 103%; }

.product-item-image {
    top: 50%;
    left: 50%;
}

.galleryPreviewItem {
    height: var(--gp-item-height);
    border-right: 2px solid #fff;
    overflow: hidden;
}

.galleryPreview:not(.galleryProducts) .more-text {display: none;}

.galleryPreviewItem:nth-last-of-type(1) {
	border-right: none;
}

.galleryPreviewItemTitle {
    position: absolute;
    background-color: rgba(255,255,255,.7);
    padding: 0px 16px;
    width: var(--gp-item-height);
    transform: rotate(-90deg);
    transform-origin: top right;
    top: 0;
    right: var(--line-width);
    height: var(--line-width);
    transition: .3s ease-out;
}

.galleryPreviewItemTitle .wrap .h2 {
	height: var(--line-width);
	line-height: var(--line-width);
}

.galleryPreviewItem:hover .galleryPreviewItemTitle {
	right: calc(var(--hover-text-width) - var(--line-width) - 11px);;
	height: calc(var(--hover-text-width) - var(--line-width) - 10px);
}

.galleryPreviewItemTitle span + span { 
    margin-left: 15px;
    line-height: calc(var(--line-width) + var(--body-bigger-size) - var(--h2-font-size));
}

.galleryPreviewItemTitle .irrotated {
    text-transform: initial;
    transform: rotate(90deg);
    height: var(--gp-item-height);
    width: calc(var(--hover-text-width) - 3 * var(--line-width) - 10px);
    position: ABSOLUTE;
    top: var(--line-width);
    transform-origin: top left;
    left: var(--gp-item-height);
    padding: 15px 0px;
}

.irrotated p:last-child { margin: 0; }

.product-groups-container {
    padding: calc(.75 * var(--page-h-padding)) 15px 20px;
}

.product-groups-wrapper * {vertical-align: middle;}

.product-groups-container .round-delimeter {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--grey-light-color);
    display: inline-block;
    margin: -1.4em 20px 0px;
}

.product-groups-container .filter-link.active,
.product-groups-container .filter-link:hover { color: var(--red-active-color); }

.product-groups-container .filter-link span p {
    margin: 0 0 0 0;
}

.product-items-list {
	padding-bottom: var(--page-h-padding);
}

.product-items-list .row { 
	margin-left: -7.5px;
	margin-right: -7.5px;
}

.product-items-list .row [class ^="col"] {
    padding-left: 7.5px;
    padding-right: 7.5px;
}

.product-item {
	height: var(--card-inline-height);
	background-color: #f3f3f3;
    background-position: center;
    background-size: 100% auto;
	margin-bottom: 15px;
    transition: .3s linear;
    overflow: hidden;
    position: relative;
    justify-content: center;
}

.product-item:hover {
    background-size: 105% auto;
}

.product-item .product-image {
    height: 100%;
    /*width: 100%;*/
    transition: .5s;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.product-item:hover .product-image {
    transform: translate(-50%, -50%);/* scale(1.03);*/
    height: 103%;
}

@media (min-width: 1600px) {
    .product-item .product-image {
        height: auto;
        width: 100%;
    }
    .product-item:hover .product-image {
        transform: translate(-50%, -50%);/* scale(1.03);*/
        height: auto;
        width: 103%;
    }
}

.product-item .product-item-title {
	position: absolute;
    background-color: rgba(255,255,255,.7);
    padding: 0px 16px;
    /*width: var(--card-inline-height);*/
    width: calc(var(--card-inline-height) + 1px);
    transform: rotate(-90deg);
    transform-origin: top right;
    top: 0;
    /*right: var(--line-width);*/
    right: calc(var(--line-width) - 1px);
    height: var(--line-width);
    transition: .3s ease-out;
}

.product-item .product-item-title h3 {
	height: var(--line-width);
	line-height: var(--line-width);
}

.product-item .product-icon {
	right: var(--line-width);
	top: var(--line-width);
	transform: translate(50%, -50%);
	width: var(--line-width);
	height: var(--line-width);
}

@media screen and ( max-width: 1180px ) and (min-height: 700px) and ( min-width: 1025px ) {
    :root {
        --card-inline-height: calc(24vw + 10px);
        --line-width: 45px;
        --gp-item-height: calc((100vh - 3 * var(--page-h-padding)) / 2 - 7px);
    }
    .galleryPreviewItem:nth-of-type(2n) { border-right: none; }
    .galleryPreviewItem:nth-of-type(n + 3) { margin-top: 2px; }
}

@media (max-width: 1024px) and (min-width: 770px) {
    :root {
        --hover-text-width: 40vw;
        --line-width: 45px;
        --gp-item-height: calc((100vh - 3 * var(--page-h-padding)) / 2 - 7px);
        --card-inline-height: calc(24vw + 10px);
    }
    .galleryPreviewItem:nth-of-type(2n) { border-right: none; }
    .galleryPreviewItem:nth-of-type(n + 3) { margin-top: 2px; }

}

@media (max-width: 769px) and (min-width: 500px) {
    :root {
        --gp-item-height: calc(57vh - 3 * var(--page-h-padding));
        --line-width: 45px;
        --hover-text-width: 50vw;
        --card-inline-height: calc(22vw + 10px);
    }

    .galleryPreviewItemTitle span + span { 
        line-height: calc(var(--line-width) + var(--body-bigger-size) - var(--h2-font-size) + 2px);
    }

    .galleryPreviewItemTitle { right: calc(var(--line-width) - 1px); }

    .galleryPreviewItem:nth-of-type(2n) { border-right: none; }

    .galleryPreviewItem:nth-of-type(n + 3) { margin-top: 2px; }

    .product-item .product-image {
        height: 103%;

    }
}

@media (max-width: 499px) {
    :root {
        --gp-item-height: calc(51vh - 3 * var(--page-h-padding) - 1px);
        --line-width: 40px;
        --card-inline-height: calc(50vw + 10px);
    }

    .galleryPreviewItemTitle { right: calc(var(--line-width) - 1px); }

    .galleryPreviewItemTitle span + span { 
        line-height: calc(var(--line-width) + var(--body-bigger-size) - var(--h2-font-size) + 2px);
    }

    .product-groups-container .round-delimeter { display: none; }

    .product-groups-container { margin: 0px -15px; }

    .filter-link .small {
        margin-top: -9px;
        display: inline-block;
    }
    .galleryPreviewItem:nth-of-type(2n) { border-right: none; }
    .galleryPreviewItem:nth-of-type(n + 3) { margin-top: 2px; }

/*
    .product-groups-container .filter-link:first-child {
        width: 100%;
        margin: 0 0 15px;
    }
*/

    .product-groups-wrapper:after {
        clear: both;
        content: "";
        display: table;
    }

    .product-groups-container .filter-link {
        width: 50%;
        float: left;
        padding: 6px 5px 1px;
        background-color: var(--grey-vlight-color);
        border: 1px solid #fff;
        height: 44px;
        margin: 0px 0px;
    }
    
    .product-groups-container .filter-link.high-btn {
        padding: 0px;
        line-height: 42px;
    }
    
    .product-groups-container .filter-link.xs-full {
        width: 100%;
    }

    .product-groups-container .filter-link.xs-full .small {
        display: none;
    }
}