@import url(reset.css);

/*@import url(bootstrap-grid.min.css);*/

@import url(bootstrap.min.css);
@import url(slick.css);
@import url(slick-theme.css);
@import "https://use.fontawesome.com/releases/v5.3.1/css/all.css";

@font-face {
    font-family: 'Montserrat Regular';
    src: url("../fonts/Montserrat-Regular.otf");
}

@font-face {
    font-family: 'Montserrat ExtraBold';
    src: url("../fonts/Montserrat-ExtraBold.otf");
}

@font-face {
    font-family: 'Montserrat Bold';
    src: url("../fonts/Montserrat-Bold.otf");
}

@font-face {
    font-family: 'Montserrat Medium';
    src: url("../fonts/Montserrat-Medium.otf");
}

@font-face {
    font-family: 'Montserrat Medium';
    src: url("../fonts/Montserrat-SemiBold.otf");
}

:root {
    --clr: #2c3e50;
    --clr-default: #2c3e50;
    /* factory 1*/
    --clr-blue: #2E3E4F;
    /* factory 2 */
    --clr-red: #AB0000;
    /* secondary colors */
    --clr-orange: #e74c3c;
    --clr-lightgray: #ECECEC;
}

body {
    padding: 0 !important;
    overflow: auto !important;
}

.row {
    padding: 0;
    margin-left: -5px;
    margin-right: -5px;
}

.container {
    padding: 0 5px;
}

[class^="col-"] {
    padding: 5px;
}

img {
    height: 100%;
    width: auto;
    object-fit: contain;
    max-width: 100%;
}

li {
    list-style: none;
}

form {
    width: 100%;
}

.video-wrapper {
    position: relative;
    padding: 30% 0;
    /* 16:9 33.35% 0; */
    height: 0;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* Анимация схем */

.fadeable {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
    background: #d5d5d5;
}

.fadeable.show {
    max-height: 500px;
    transition: max-height 0.25s ease-in;
}

.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 333;
}

input:focus,
input:active {
    outline: none;
}

body * {
    font-family: 'Montserrat Regular';
}

#root {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

main {
    flex-grow: 1;
}

.header {
    background-color: var(--clr);
    height: 103px;
    -webkit-box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.52);
    -moz-box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.52);
    box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.52);
}

.header.red {
    background-color: #900000;
}

.header.light-red {
    background-color: #b40001;
}

.header--volume {
    min-height: 25px;
    background-color: #ececec;
    display: flex;
    align-items: center;
    font-size: 14px;
}

.header--volume a {
    margin-right: 5px;
    text-decoration: underline;
}

.header--volume p {
    margin-right: 5px;
}

.header--volume .container {
    display: flex;
    justify-content: end;
    align-items: center;
    flex-wrap: wrap;
    padding: 1.5ch 0.25ch;
    gap: 1.5ch
}

.header--volume-content {
    display: flex;
}

.nav-bar {
    display: flex;
    gap: clamp(0.5ch, 1.5ch, 5ch);
    margin-right: auto;
    margin-left: auto;
    font-size: clamp(12px, 4vw, 18px);
    font-family: 'Montserrat Medium';
    padding: 0.5ch 0;
}

@media screen and (min-width: 1200px) {
    .nav-bar {
        margin-left: calc(25% + 5px);
        align-self: flex-start;
        justify-content: flex-start;
    }
}

.nav-bar li {
    flex-shrink: 2;
}

.logo {
    position: relative;
}

.logo:after {
    position: absolute;
    content: '';
    right: 10px;
    background-color: #fff;
    top: 0;
    bottom: 0;
    width: 1px;
}

.logo img {
    max-height: 6.5ch;
}

.search .flex {
    align-items: center;
}

.search-form {
    position: relative;
    display: flex;
    width: 100%;
}

.search--border {
    border: 1px solid #fff;
}

.search--input {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 100%;
    -moz-box-flex: 0;
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    background-color: #fff;
    margin: -1px;
    font-size: 16px;
    color: #4c4a4a;
    padding: 11px 0 11px 15px;
    height: 36px;
    border: 1px solid #ececec;
    font-family: 'Montserrat Regular';
    font-weight: 700;
}

.search--submit {
    position: absolute;
    right: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 128px;
    -moz-box-flex: 1;
    -ms-flex: 1 0 128px;
    flex: 1 0 128px;
    padding: 1ch 2ch;
    background-color: #2c3e50;
    border: 1px transparent;
    outline: 1px solid #ececec;
    outline-offset: -1px;
    height: 36px;
    color: #ffffff;
    cursor: pointer;
    font-family: 'Montserrat Medium';
    font-size: 14px;
    max-width: min-content;
    transform: translateY(-0.8px);
}

.search--submit.dblue {
    background-color: #2c3e50;
}

.lang-switcher {
    padding-left: 15px;
    margin-left: 3.4px;
}

.lang-switcher--btn {
    border: 1px solid #ffffff;
    font-size: 16px;
    font-family: 'Montserrat Medium';
    padding: 2.5px 16px;
    height: 23px;
    color: #ffffff;
    -webkit-transition: .1s;
    -o-transition: .1s;
    -moz-transition: .1s;
    transition: .1s;
}

.lang-switcher--btn.active {
    background-color: #ffffff;
    font-family: 'Montserrat ExtraBold';
    color: #2c3e50;
}

.lang-switcher--btn.active:hover {
    background-color: #ffffff;
}

.lang-switcher--btn:hover {
    background-color: rgba(255, 255, 255, 0.6);
    -webkit-transition: .1s;
    -o-transition: .1s;
    -moz-transition: .1s;
    transition: .1s;
}

.lang-switcher--btn:nth-of-type(1) {
    margin-right: 15px;
}

.lang-switcher select {
    padding: 0.75ch 2ch 0.75ch 1.25ch;
    min-width: 15ch;
    font-weight: 700;
}

.lang-switcher select,
.lang-switcher select option {
    font-family: "Montserrat Medium";
    font-size: 16px;
}

.account {
    position: relative;
}

.account > div.inactive {
    display: none;
}

.account:active .login-container,
.account:hover .login-container,
.account:focus-within .login-container,
.account:active .logged-in-container,
.account:hover .logged-in-container,
.account:focus-within .logged-in-container {
    transform-origin: top;
    transform: rotateX(0deg);
    transition: transform 200ms linear;
}

.login-container,
.logged-in-container {
    position: absolute;
    right: 0;
    top: 100%;
    display: grid;
    grid-gap: 1ch;
    width: 15em;
    grid-template-columns: 1fr 1fr;
    background-color: #EDEDED;
    padding: 1em;
    z-index: +1;
    transform-origin: bottom;
    transform: rotateX(90deg);
    transition: transform 200ms linear;
}

header .logged-in-container {
    padding: 1ch;
}

.login-container label,
.logged-in-container a {
    width: 100%;
    grid-column: 1 / -1;
}

.logged-in-container a {
    color: #000000;
}

.login-container label input {
    width: 100%;
}

.login-container > input,
.login-container > a {
    place-self: center stretch;
}

.logged-in-container svg {
    max-height: 1em;
    min-width: 2em;
}

.register-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1ch;
    background-color: #19181881;
    z-index: +10;
}

.register-container--inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1ch;
}

.register-container--inner > * {
    width: 250px;
    place-items: stretch;
    grid-template-rows: auto 1fr;
    grid-gap: 3px;
}

.register-container--inner > * > input {
    width: 100%;
}

.register-container--inner label[for="phone"] input {
    width: 100%;
    font-size: 1rem;
    letter-spacing: 0;
    border-width: 1px;
    border-color: rgb(118, 118, 118);
    border-radius: 2px;
    padding-left: 0;
    height: 25px;
}

.register-container--inner .react-tel-input .flag-dropdown {
    border-width: 0;
    left: -38px;
    background-color: transparent;
}

.cbx-hidden {
    display: none;
}

.cbx-pseudo::before {
    content: '\f0c8';
    font-family: "Font Awesome 5 Free";
}

.cbx-hidden:checked ~ .cbx-pseudo::before {
    content: '\f14a';
}

.account .row {
    justify-content: flex-end;
}

.account--text {
    color: #ffffff;
    font-size: medium !important;
    margin: auto 1px auto 7px;
    cursor: pointer;
}

.account--btn {
    outline: none;
    background-color: transparent;
    border: 0;
    width: 5px;
    margin-left: 5px;
    height: 15px;
    cursor: pointer;
    color: #ffffff;
}

.content {
    padding-top: 0px;
}

.content h1 {
    font-family: 'Montserrat Bold';
    font-size: 24px;
    line-height: 28px;
    color: #2c3e50;
    font-weight: 900;
}

.content h2 {
    font-family: 'Montserrat Bold';
    font-size: 18px;
    line-height: 24px;
    color: #2c3e50;
    font-weight: 900;
}

.sidebar {
    padding-left: 0;
    padding-top: 5px;
}

.sidebar-title {
    color: #ffffff;
    font-family: 'Montserrat Bold';
    background-color: var(--clr);
    width: 100%;
    font-size: 18px;
    padding-left: 15px;
    line-height: 56px;
    text-transform: uppercase;
}

.sidebar-title.red {
    background-color: #900000;
}

.sidebar-title.light-red {
    background-color: #b40001;
}

.sidebar-choise--btns {
    padding-top: 7px;
}

.sidebar-choise--btn {
    position: relative;
    display: inline-block;
    width: 50%;
    text-transform: uppercase;
    color: #ffffff;
    padding: 24px 5px 16px;
    font-family: 'Montserrat Medium';
    cursor: pointer;
    text-align: center;
}

.sidebar-choise--btn.active {
    padding: 20px 10px;
    border: 1px solid #ececec;
    background-color: var(--clr);
}

.sidebar-choise--btn.active.red:after {
    background-color: #900000;
}

.sidebar-choise--btn.active.light-red:after {
    background-color: #b40001;
}

.sidebar-choise--btn:after {
    position: absolute;
    content: '';
    background-color: var(--clr-default);
    top: 8px;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: -1;
}

.sidebar-choise--btn.f-1:after {
    background-color: var(--clr-blue);
}

.sidebar-choise--btn.f-2:after {
    background-color: var(--clr-red);
}

.sidebar-content {
    padding-top: 5px;
    -webkit-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    -moz-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
}

.sidebar-content--tab {
    display: none;
    margin-bottom: 15px;
}

.sidebar-content--tab.active {
    display: block;
}

.sidebar-nav a {
    position: relative;
    display: block;
    padding: 18px 15px;
    color: #2c3e50;
    text-transform: uppercase;
    font-size: 16px;
    font-family: 'Montserrat Medium';
    -webkit-transition: .1s;
    -o-transition: .1s;
    -moz-transition: .1s;
    transition: .1s;
}

.sidebar-nav a:hover,
.sidebar-nav-selected {
    font-family: 'Montserrat Bold' !important;
    background-color: #c6c6c6;
    -webkit-transition: .1s;
    -o-transition: .1s;
    -moz-transition: .1s;
    transition: .1s;
}

.submenu-wrap {
    position: relative;
}

.submenu-wrap.active > a {
    background-color: #c6c6c6;
}

.submenu-wrap > a {
    width: calc(100% - 45px);
}

.remove-item-button:hover,
.remove-item-button:focus {
    color: #b40001;
    background-color: inherit !important;
    outline: none !important;
}

.no-circle:hover,
.no-circle:focus {
    background-color: white !important;
    outline: none !important;
}

.submenu-toggle {
    position: absolute;
    height: 52px;
    top: 0;
    right: 0;
    padding: 16px 15px;
    width: 48px;
    text-align: center;
    cursor: pointer;
    z-index: 3;
}

.submenu-toggle:hover {
    background-color: rgba(198, 198, 198, 0.6);
}

.submenu-toggle i {
    font-size: 16px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.submenu-toggle.active {
    background-color: #c6c6c6;
}

.submenu-toggle.active i {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.submenu {
    display: none;
    background-color: #f3f2f2;
}

.submenu a {
    padding-left: 40px;
}

.sidebar-product--item:nth-child(1) {
    margin-top: 15px;
}

.sidebar-product--item > div {
    width: 85%;
    box-shadow: 0 0 5.8px 1px rgb(44 44 44 / 25%);
    margin-bottom: 15px;
}

.sidebar-product--item {
    position: relative;
    margin-top: 2px;
    padding: 15px;
}

.sidebar-product--item i {
    font-size: 30px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.sidebar-product--item:hover i {
    -webkit-transform: translateX(10px);
    -moz-transform: translateX(10px);
    -ms-transform: translateX(10px);
    -o-transform: translateX(10px);
    transform: translateX(10px);
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.text-pale-red {
    color: #2c3e50;
}

.text-dblue {
    color: #2c3e50;
}

.sidebar-product--img {
    -webkit-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    -moz-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    padding: 10px;
    max-width: 143px;
    margin-right: 23px;
}

.sidebar-product--name {
    font-size: 18px;
    font-family: 'Montserrat SemiBold';
    margin-bottom: 20px;
}

.sidebar-product--info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.banner {
    --clr: var(--clr-default);
    position: relative;
    padding: 30px 30px;
    /* background-color: #2c3e50;
    background-image: url("../images/banner-bg.png");
    -moz-background-size: cover;
    background-size: cover; */
    overflow: hidden;
    isolation: isolate;
    background-color: var(--clr-lightgray);
    display: grid;
    grid-template-areas: "h2 img" "p img";
    grid-template-columns: auto minmax(33%, 1fr);
}

.banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vw;
    transform-origin: top right;
    transform: rotateX(45deg);
    background-image: linear-gradient(135deg, var(--clr) 0%, var(--clr) 49.9%, transparent 50%, transparent 100%);
    background-repeat: no-repeat;
    z-index: -1;
}

.content .banner--title {
    color: #ffffff !important;
    font-family: 'Montserrat ExtraBold' !important;
    font-size: 26px;
    grid-area: h2;
    text-transform: uppercase;
}

.banner--descr {
    padding-top: 50px;
    color: #ffffff;
    line-height: 24px;
    max-width: 405px;
    grid-area: p;
}

.banner--image {
    position: static;
    right: 30px;
    /*bottom: calc(50% - 150px);*/
    bottom: 30px;
    max-width: 200px;
    max-height: 200px;
    z-index: 6;
    grid-area: img;
    place-self: center;
}

@media screen and (max-width: 768px) {
    .banner .banner--image,
    .banner .banner--descr {
        display: none;
    }
}

.results-per-page {
    position: absolute;
    display: inline-block;
    right: 0;
    bottom: 0;
    padding: 0.25ch 0.25ch 0.25ch 4.5ch;
    background-image: linear-gradient(147.5deg, transparent 0%, transparent 32%, var(--clr-lightgray) 33%, var(--clr-lightgray) 100%);
    background-position-x: -35px;
    background-repeat: no-repeat;
    background-blend-mode: unset;
}

.results-per-page select {
    margin-left: 1ch;
}

.sidebar-product--item:hover .product-item--info {
    background-color: var(--clr-red);
    -webkit-transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    transition: .5s;
}

.default-font {
    font-family: Montserrat Regular !important;
    font-size: 12px;
    color: rgba(0, 0, 0, 0.87) !important;
}

.sidebar-product--item:hover .product-item--name {
    -webkit-transition: .2s;
    -o-transition: .2s;
    -moz-transition: .2s;
    transition: .2s;
    color: white;
}

.product-item {
    /* min-width: 220px; */
    margin-top: 1ch;
    background-color: #fff;
    -webkit-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    -moz-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
    place-self: stretch;
    cursor: pointer;
}

.product-item:hover .product-item--info {
    background-color: var(--clr-red);
    -webkit-transition: .5s;
    -o-transition: .5s;
    -moz-transition: .5s;
    transition: .5s;
}

.product-item:hover .product-item--name {
    -webkit-transition: .2s;
    -o-transition: .2s;
    -moz-transition: .2s;
    transition: .2s;
    color: white;
}

.product-item--image {
    padding: 2px;
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    aspect-ratio: 1/1;
}

.product-item--image img {
    width: 100%;
}

.product-item--info {
    font-family: 'Montserrat Regular';
    position: relative;
    height: 46px;
    background-color: #ececec;
    padding: 17px 15px;
}

.product-item--btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: var(--clr-red);
    color: #ffffff;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 150px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.product-item--btn i {
    margin-left: 10px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.product-item--btn.dblue {
    background-color: #2c3e50;
}

.product-item--btn:hover i {
    -webkit-transform: translateX(2px);
    -moz-transform: translateX(2px);
    -ms-transform: translateX(2px);
    -o-transform: translateX(2px);
    transform: translateX(2px);
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.product-item--name {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 18px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
    font-family: 'Montserrat Regular';
    text-align: center;
    width: 80%;
}

.footer {
    -webkit-box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.52);
    -moz-box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.52);
    box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.52);
    background-color: #2c3e50;
    padding: 12px 0;
}

.footer p {
    font-size: 12px;
    line-height: 18px;
    color: #ffffff;
}

.footer.dark {
    background-color: #0e1013;
}

.logo-footer {
    margin-bottom: 12px;
}

.banner-main {
    background-color: #2c3e50;
}

.slider {
    width: 100%;
    padding: 80px 0;
}

.slider-container {
    width: 100%;
    padding-bottom: 2em;
}

.slider-container img {
    max-height: min(400px, 30vw, 25vh);
    object-fit: scale-down;
    object-position: right;
}

.slide,
.slide div {
    height: 100%;
}

.slider-content {
    z-index: +1;
}

.slider--title {
    color: #ffffff;
    font-family: 'Montserrat ExtraBold';
    font-size: 40px;
    text-transform: uppercase;
    padding: 0 0 33px;
    max-width: 440px;
}

.slider--descr {
    color: #ffffff;
    font-size: 25px;
    font-family: 'Montserrat Medium';
    line-height: 30px;
}

@media screen and (max-width: 991px) {
    .slider--title {
        font-size: 30px;
    }
}

@media screen and (max-width: 600px) {
    .slider--title {
        font-size: max(5vw, 15px);
        line-height: max(6vw, 16px);
    }

    .slider--descr {
        font-size: max(4vw, 16px);
        line-height: max(5vw, 18px);
    }
}

.slider-item:active,
.slider-item:focus {
    outline: none;
}

.slider-image {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 100%;
}

.slider-image img {
    margin-left: auto;
}

.slick-slide img {
    margin: 0 auto;
}

.auth {
    position: relative;
    text-align: right;
    padding: 17px 15px;
}

.auth span,
.auth a {
    font-size: 24px;
    color: #1f1f1f;
}

.toggle-auth {
    background-image: url("../images/toggle-arrow.png");
    display: inline-block;
    width: 10px;
    height: 9px;
    padding: 10px 13px;
    background-position: 50%;
    background-repeat: no-repeat;
    margin-bottom: -3px;
    cursor: pointer;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.toggle-auth.active {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.auth-menu {
    position: absolute;
    right: 0;
    bottom: -29px;
    background-color: #fff;
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
    -webkit-box-shadow: 0 0 9.6px 0.4px rgba(255, 255, 255, 0.52);
    -moz-box-shadow: 0 0 9.6px 0.4px rgba(255, 255, 255, 0.52);
    box-shadow: 0 0 9.6px 0.4px rgba(255, 255, 255, 0.52);
    z-index: 123;
}

.auth-menu.active {
    opacity: 1;
    visibility: visible;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.site-note {
    padding: 16px 0;
    margin-bottom: 32px;
    background-color: #e8e8e8;
}

.site-note p {
    font-size: 16px;
    font-family: 'Montserrat Bold';
}

.product-main {
    padding-left: 0;
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    place-items: center;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .product-main {
        grid-template-columns: 1fr 1fr;
        font-size: 14px;
    }

    .product-main .product-main--item {
        width: min(103px, calc(25vw - 15px));
        height: auto;
    }

    .product-main--title {
        white-space: nowrap;
    }

    .product-main .justify-content-between {
        justify-content: space-evenly;
    }
}

.product-main--item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    width: 122px;
    height: 116px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 12px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px;
    -webkit-box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.33);
    -moz-box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.33);
    box-shadow: 0 0 9.6px 0.4px rgba(0, 0, 0, 0.33);
}

.product-main--title {
    font-size: 19px;
    text-transform: uppercase;
    font-family: 'Montserrat Bold';
    background-color: var(--clr);
    padding: 15px;
    margin-bottom: 12px;
    height: 48px;
    color: #ffffff;
    text-align: center;
}

.map-location {
    min-height: min(423px, 83vw);
    aspect-ratio: 137/114;
    width: 100%;
    position: relative;
    background-image: url("../images/map2.png");
    -moz-background-size: contain;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50%;
}

.location {
    position: absolute;
    right: 0;
    font-size: 22px;
    text-transform: uppercase;
    color: #272727;
    font-family: 'Montserrat Bold';
    text-align: right;
    display: flex;
}

.location:before {
    position: relative;
    content: '';
    width: 29px;
    height: 36px;
    left: 0;
    bottom: 10px;
    background-repeat: no-repeat;
    background-position: left;
    text-align: right;
    display: block;
}

.factory-1 {
    white-space: nowrap;
    bottom: 80px;
}

.factory-1:before {
    background-image: url("../images/red-location.png");
}

.factory-2 {
    white-space: nowrap;
    bottom: 30px;
}

.factory-2:before {
    background-image: url("../images/blue-location.png");
}

.site-descr {
    margin-top: 38px;
}

.site-descr p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .content-header .filters {
        display: none;
    }

    .content-header.content-header--opened .filters .filter-top {
        position: sticky;
        top: 0;
        z-index: 12;
        margin-bottom: 1ch;
    }

    .content-header.content-header--opened .filter .filters {
        position: fixed;
        top: 7ch;
        right: 0;
        width: min-content;
        display: flex;
        max-width: 100vw;
        height: calc(100% - 11ch);
        height: calc(100svh - 11ch);
        overflow-y: scroll;
        isolation: isolate;
        z-index: +1000;
        background-color: #FFFe;
        backdrop-filter: blur(5px);
        -webkit-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
        -moz-box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
        box-shadow: 0 0 5.8px 0.2px rgba(44, 44, 44, 0.25);
        padding: 0;
        flex-direction: column;
        flex-wrap: nowrap;
        z-index: 120;
        padding: 0;
        column-width: unset;
    }

    .content-header.content-header--opened .filter .filters .filter-item {
        padding-left: 1ch;
        padding-right: 0.5ch;
    }
}

@media screen and (min-width: 768px) {
    .filter-top + .filters.filter-top,
    .content-header.content-header--opened .filters .filter-top,
    .content-header .filters .filter-top {
        display: none;
    }
}

.filter-top {
    /* background-color: #900000; */
    background-color: var(--clr);
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 12px 20px 12px 20px;
    height: 56px;
}

.filter--title {
    font-size: 18px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    font-family: 'Montserrat Bold';
}

.filter--title:hover .arrow-circle {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.filter--title.active .arrow-circle {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.arrow-circle {
    display: inline-block;
    width: 29px;
    height: 29px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: #fff;
    margin-left: 15px;
    background-image: url("../images/arrow-down.png");
    background-position: 50% 60%;
    background-repeat: no-repeat;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -moz-transition: .3s;
    transition: .3s;
}

.filter--reset {
    color: #fff;
    cursor: pointer;
    text-decoration: underline;
    font-family: 'Montserrat Medium';
    text-align: end;
}

.filter--reset:hover {
    text-decoration: none;
}

.filter--counter {
    display: inline;
    white-space: nowrap;
}

.filter--counter.hidden {
    visibility: hidden;
}

.filters {
    width: 100%;
    margin-top: 36px;
    display: inline-block;
    column-count: auto;
    column-fill: balance;
    column-width: 185px;
}

.filter-item {
    min-width: 185px;
    margin: 0 22px 0 18px;
    break-inside: avoid;
}

.filter-item--title {
    font-family: 'Montserrat Bold';
    font-size: 18px;
    color: #272424;
    margin-bottom: 10px;
    margin-top: 20px;
}

.filter-top + .filter-item .filter-item--title {
    margin-top: 0;
}

.filter-points p {
    width: 100%;
}

.filter-point {
    position: relative;
    padding-left: 34px;
    margin-bottom: 8px;
    height: 26px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer;
}

.filter--input {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 26px;
    opacity: 0;
    z-index: 10;
    cursor: pointer;
}

.filter--input:checked ~ .filter--mask:after {
    opacity: 1;
}

.filter--input:checked ~ p {
    font-weight: 700;
}

.filter--mask {
    position: absolute;
    left: 0;
    background-color: #fff;
    border: 1px solid #2c3e50;
    width: 26px;
    height: 26px;
    z-index: 9;
    cursor: pointer;
}

.filter--mask:after {
    position: absolute;
    content: '';
    background-image: url("../images/checked.png");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 16px;
    height: 17px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
}

@media screen and (max-width: 1200px) {
    .product-item:hover .product-item--btn {
        opacity: 1;
        visibility: visible;
        -webkit-transition: .3s;
        -o-transition: .3s;
        -moz-transition: .3s;
        transition: .3s;
    }

    .product-item:hover .product-item--name {
        -webkit-transition: 0s;
        -o-transition: 0s;
        -moz-transition: 0s;
        transition: 0s;
        left: auto;
        -webkit-transform: translate(0, -50%);
        -moz-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
        transform: translate(0, -50%);
        opacity: 0;
        visibility: hidden;
    }

    .product-item--btn {
        width: 100%;
    }

    .product-main--item {
        width: 103px;
    }

    .dn {
        display: none;
    }
}


/*# sourceMappingURL=main.css.map */

.card {
    border: 1px solid #000000;
    margin: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0px;
}

.card--content .card {
    aspect-ratio: 4/3;
}

.card--content .card img {
    object-fit: cover;
    display: flex;
    width: 100%;
}

.card--content figcaption {
    display: none;
}

.card_first {
    margin-left: 0;
    margin-right: 10px;
    isolation: isolate;
}

.card_last {
    margin-right: 0;
    margin-left: 10px;
}

.card_category {
    position: relative;
    height: 170px;
    cursor: pointer;
    border: 0;
    -webkit-box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    -moz-box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
}

.card_category--title {
    position: absolute;
    top: 0;
    left: 0;
    padding: 10px;
    background-color: #ececec;
    font-size: 14px;
    line-height: 16px;
    font-family: 'Montserrat Bold';
    font-weight: 900;
    z-index: 1;
}

.card--content .col-4 {
    padding: 0;
}

.card--body {
    margin-bottom: 0px;
}

.card--body .row {
    display: flex;
    align-items: stretch;
}

.card--body .card--content,
.card--body .card--content > div,
.card--body .card--content > div > div {
    min-height: 100%;
    transition: height 150ms;
}

.card--body .card--content > div > div {
    display: flex;
    flex-direction: column;
    padding: 0 5px;
}

.card--body .card--content > div > div .card-spacer {
    margin-bottom: auto;
}

.product-miniatures {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 15px;
    position: relative;
    place-items: stretch;
    margin-inline: -5px;
}

.product-miniatures div {
    aspect-ratio: 4/3;
    cursor: pointer;
    transition: transform 150ms;
}

.product-miniatures .hidden {
    height: 0;
    transform: scale(0);
}

.product-miniatures > div:not(.hidden) {
    margin-top: 10px;
}

.product-miniatures figure {
    margin: 0;
}

.product-miniatures .see-more {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: +1;
    grid-row: 3/4;
    grid-column: 3/4;
    top: 10px;
    right: 0px;
    left: 0px;
    bottom: 0px;
    color: #FFF;
    padding: 5px;
    background-color: #0008;
    cursor: pointer;
}

.diagram .fadeable {
    background: #FFFFFF;
}

.card--logo {
    padding: 0;
}

.card--logo img {
    aspect-ratio: 3/2;
    object-fit: contain;
}

.card--logo .card_first {
    margin-top: 0;
    cursor: pointer;
}

.card--content {
    align-self: stretch;
}

.card--code {
    font-size: 16px;
    margin-bottom: 20px;
}

.card--go-back {
    margin-left: auto;
    position: relative;
}

.card--go-back > * {
    position: absolute;
    right: 0;
    top: 50%;
    width: max-content;
}

.card--title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}

.card--description {
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 1.4;
}

.card--information {
    margin-bottom: 15px;
    -webkit-box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    -moz-box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    padding: 0;
    box-shadow: none;
}

.card--information table {
    -webkit-box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    -moz-box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
    box-shadow: 0px 0px 4px 3px rgba(34, 60, 80, 0.2);
}

.card--information th,
.card--information td {
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    padding: 0 3px;
    height: min-content;
}

.card--information_param .param--value {
    height: 30px;
}

.card--information .row {
    display: flex;
}

.card--information input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.card--information .param--value:nth-child(3) span {
    text-align: center;
}

.card--information.dimensions-table {
    display: grid;
    grid-template-columns: repeat(6, auto);
}

.card--information.dimensions-table div.param--value_second:nth-child(6n - 5) span {
    width: 100%;
    margin-left: 1ch;
    text-align: left;;
}

.card--order-list h2 {
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 15px;
    margin-left: 20px;
}

.param--title {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    background-color: #2c3e50;
}

.param--title_icon {
    height: 45px;
}

.param--text {
    color: #FFF;
}

.param--title img {
    max-height: 20px;
}

.param--title .big_L {
    max-height: 34px;
}

.param--title .big_H {
    max-height: 30px;
}

.param--value {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    /* border-top: 1px solid #cccccc; */
    border-bottom: 1px solid #cccccc;
}

.param--title_second {
    text-align: center;
    background-color: #ececec;
    font-size: 12px;
}

.param--value button:not(.remove) {
    outline: none;
    border: 0;
    background-color: #b40001;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    padding: 4px 10px;
    cursor: pointer;
}

.param--value button:not(.remove).in-cart {
    background-color: var(--clr-blue);
}

.param--btn {
    padding: 8px 0;
}

.param--ellipse {
    height: 20px;
    width: 20px;
    border-radius: 100%;
    border: 2px solid #2c3e50;
}

.param--value_underline span {
    text-decoration: underline;
}

.card--order-btn {
    height: 44px;
    color: #2c3e50;
    border: 1px solid #2c3e50;
    background-color: #2c3e50;
    margin-bottom: 40px;
}

.card--order-btn--box.to-cart {
    margin-top: 5px;
    display: flex;
    justify-content: end;
    padding-right: 5px;
}

.card--order-btn--box.to-cart a {
    text-decoration: none;
    text-transform: uppercase;
}

.card--order-btn--box.to-cart a:hover {
    color: var(--clr-blue);
}

.card--order-btn .col-12 {
    padding: 0;
    display: flex;
}

.card--order-btn--btn {
    font-family: 'Montserrat Bold';
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 21px;
    text-align: center;
    height: 100%;
    background-color: #ffffff;
    justify-content: center;
}

@media screen and (max-width: 1300px) {
    .card--order-btn--btn {
        font-size: 18px;
        line-height: 21px;
    }
}

.card--order-btn--arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.card--order-btn--arrow img {
    height: unset;
}

.category--list {
    width: 100%;
    height: auto;
    margin-top: 20px;
}

.category--list h2 {
    font-family: 'Montserrat Bold';
    font-size: 18px;
    line-height: 21px;
    color: #2c3e50;
    font-weight: 900;
}

.category--list-items {
    width: 95%;
    margin: 0 auto 0;
}

.category--list-items .slide {
    padding-bottom: 1ch !important;
}

@media screen and (max-width: 992px) {
    .category--list .slider-control-centerleft,
    .category--list .slider-control-centerright {
        display: none;
    }

    .category--list .card_category--title {
        font-size: min(14px, 3vw);
    }
}

@media screen and (max-width: 768px) {
    .category--list .card_category--title {
        padding: 0px 2px;
        background-color: transparent;
    }
}

.order--title {
    margin: 15px 0 12px 8px;
    display: flex;
    flex-wrap: wrap;
}

.order--title span {
    margin-left: auto;
}

.order--description {
    margin-bottom: 40px;
    line-height: 24px;
}

.order--description b {
    font-family: 'Montserrat Bold';
}

.order-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #2c3e50;
    color: #ffffff;
    font-family: 'Montserrat Bold';
    font-weight: 900;
    height: 45px;
    cursor: pointer;;
}

.order-title {
    margin-bottom: 12px;
}

.order-input {
    outline: none;
    border-radius: 0;
    border: 1px solid #000000;
    height: 45px;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 25px;
}

.order-input_textarea {
    margin: 10px 0 0;
    height: calc(100% - 25px - 25px);
    max-width: 100%;
    min-height: 5ch;
}

.order-modal.order-input_textarea {
    width: 80ch;
}

.order-modal span {
    width: 100%;
}

.order--form-box .react-tel-input .form-control {
    width: 100%;
    height: 100%;
    border-radius: 0;
    border: 1px transparent;
}

.order--form-box .react-tel-input .flag-dropdown {
    border-radius: 0;
    border: 1px transparent;
}

.contact {
    display: flex;
    justify-content: center;
    height: 55px;
    margin-bottom: 10px;
}

.contact_nav {
    padding: 10px 0;
}

.contact_nav:after {
    left: 0;
    right: 0;
}

.contact--icon {
    max-width: auto;
}

.contact--icon img {
    margin: 0 10px;
}

.contact-us--row.contact--icons {
    display: flex;
    gap: 1ch
}

.contact--icons img {
    background-color: var(--clr-default);
    border-radius: 12%;
    outline: 4px solid #FFF;
    outline-offset: -2px;
    max-height: 50px;
    width: auto;
    transition: background-color 125ms linear;
}

.contact--icons a:hover img {
    background-color: var(--clr-red);
}


/*search page*/

.search-results .banner--title {
    color: #ffffff;
}

#search-query {
    filter: drop-shadow(2px 2px 5px var(--clr)) drop-shadow(2px -2px 5px var(--clr)) drop-shadow(-2px -2px 5px var(--clr)) drop-shadow(-2px 2px 5px var(--clr));
    text-transform: uppercase;
    line-height: 1.25;
}

#search-query::before {
    content: '\00AB';
}

#search-query::after {
    content: '\00BB';
}

#search-query::before,
#search-query::after {
    color: #c6c6c6;
    padding: 0.25ch;
    font-size: 125%;
}


/*search preview block*/

.query-results-peek.hidden-peek {
    display: none;
}

.query-results-peek {
    position: absolute;
    top: 36px;
    left: -1px;
    width: min(476px, calc(96vw - 30px));
    max-height: 90vh;
    z-index: +1;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    padding: 1ch;
    transition: height 200ms linear;
}

.qurey-result-peek--item {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: 80px;
    grid-gap: 1ch;
    place-items: center left;
    background-color: #ffffff;
    border: 5px solid #ffffff;
    transition: border-color 250ms linear;
    margin: auto;
}

.qurey-result-peek--item:hover {
    border-left-color: var(--clr-accent, #900000);
    border-right-color: var(--clr-accent, #900000);
}

.qurey-result-peek--item img {
    aspect-ratio: 4/3;
    min-width: 6ch;
    place-self: center;
    height: 100%;
    width: auto;
    object-fit: cover;
}

.qurey-result-peek--item .item-code {
    font-weight: 700;
    margin-bottom: 0.5ch;
}

.qurey-result-peek--item .item-description {
    width: min(340px, 70vw);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.query-results-peek button {
    background-color: #2c3e50;
    border: 1px solid #ececec;
    height: 36px;
    color: #ffffff;
    cursor: pointer;
    font-family: 'Montserrat Medium';
    width: auto;
    margin-right: auto;
    padding: 0.5ch 2ch;
    transition: background-color 150ms linear, color 150ms linear;
}

.card--filters {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12ch, 1fr));
    grid-template-rows: repeat(auto-fill, 1fr);
    grid-gap: 1ch;
    width: auto;
    margin-bottom: 1em;
    font-size: 12px;
    place-items: center;
    background-color: var(--clr-lightgray);
}

.dimension-table--filger-header {
    place-self: center start;
    margin-left: 1ch;
}

.card--filters .filter-point {
    margin-bottom: 0;
}

.card--filters input[type="checkbox"] {
    display: none;
}

.card--filters label::before {
    display: inline-block;
    min-width: 1.25em;
    height: 1em;
    font-family: "Font Awesome 5 Free";
    font-weight: 500;
}

.card--filters input[type="checkbox"]:not(:checked) ~ label::before {
    content: '\f0c8';
}

.card--filters input[type="checkbox"]:checked ~ label::before {
    content: '\f14a';
}

.query-results-peek button:hover {
    background-color: #ececec;
    color: var(--clr-accent, #900000);
}


/* pagination element */

.pagination {
    display: flex;
    justify-content: center;
    max-height: 2em;
    width: 100%;
    margin: 2rem 0 1rem;
    flex-wrap: wrap;
}

.pagination.hide-pagination {
    display: none;
}

@media screen and (max-width: 525px) {
    .pagination {
        margin-top: 6ch;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 1ch;
        margin-bottom: 4ch;
    }

    .pagination-stack-1 {
        margin-left: unset;
        margin-right: auto;
    }

    .pagination-stack-2 {
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        justify-content: space-evenly;
    }

    .pagination-stack-3 {
        margin-left: auto;
        margin-right: unset;
    }
}

.pagination svg {
    display: inline;
    height: 0.75rem;
}

.pagination > div > * {
    display: inline-block;
    font-size: 1.25rem;
    padding: 0.5ch;
    margin: 0 0.125ch;
    border-radius: 0.25ch;
    transition: background-color 100ms linear, color 100ms linear;
}

.pagination > div > a:hover {
    background-color: #e74c3c;
    color: #ffffff;
    fill: #ffffff;
}

.pagination [class^="page-"] {
    transform: translateY(0.125ch);
}

.pagination [class^="page-"].active {
    color: #b40001;
    font-weight: 900;
}

.pagination [class^="page-"].active:hover {
    background-color: inherit;
    color: #b40001;
    cursor: default;
}

.pagination-stack-1,
.pagination-stack-2,
.pagination-stack-3 {
    display: flex;
}

.pagination-stack-1 > *:first-child {
    margin-left: auto;
}


/* downloads page */

.downloads-wrap {
    display: flex;
    flex-direction: column;
    padding: 2ch;
    gap: 1ch;
}

.download-item {
    display: grid;
    grid-template-columns: min-content auto;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    gap: 1ch;
    width: 100%;
}

.download-item .mime {
    grid-column: 1/2;
    grid-row: 1/3;
    display: inline-block;
    width: 53px;
    height: 52px;
    background-repeat: no-repeat;
    background-size: contain;
}

.download-name {
    grid-column: 2/3;
    grid-row: 1/2;
    margin-left: 1ch;
    place-self: center start;
}

.download-buttons {
    grid-column: 2/3;
    grid-row: 2/3;
    display: flex;
    gap: 1ch;
    font-size: 75%
}

.download-item.no-buttons .download-name {
    grid-column: 2/3;
    grid-row: 1/3;
}

.download-buttons svg {
    height: 1.5ch;
    fill: var(--clr-default);
    object-fit: scale-down;
    transition: fill 150ms linear;
    margin-inline: 1ch;
}

.download-buttons a:hover svg {
    fill: var(--clr-red)
}


/* company page */

.company-description p {
    text-align: justify;
    line-height: 133%;
    font-size: 110%;
}

.company-description p + p {
    margin-top: 1em;
}

.company-description .text-center {
    text-align: center;
}


/* contact-us page */

.contact-us--table {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
}

.contact-us--table div {
    padding: 0.5ch;
}

.contact-us--header {
    color: #e74c3c;
    font-weight: 700;
}

.contact-us--row {
    display: grid;
    grid-template-columns: 10ch auto;
}

.feedback-form {
    display: grid;
    grid-template-columns: 40% auto;
    grid-template-areas: "ff-subject ff-message" "ff-name ff-message" "ff-mail ff-message" "ff-submit ff-captcha";
    grid-gap: 1ch;
}

@media screen and (max-width: 576px) {
    .feedback-form--message {
        min-height: 8em;
    }

    .feedback-form {
        display: grid;
        grid-template-columns: 100%;
        grid-template-areas: "ff-subject" "ff-name" "ff-mail" "ff-message" "ff-submit" "ff-captcha";
        grid-template-rows: 1fr 1fr 1fr auto 1fr auto;
        grid-gap: 1ch;
    }
}

.feedback-form input[type="text"] {
    width: 100%;
}

.feedback-form input[type="text"],
.feedback-form input[type="email"],
.feedback-form textarea {
    border-radius: 0;
    border-style: solid;
    border-width: 2px;
    border-color: #4c4a4a;
}

.feedback-form .form-required {
    color: #b40001;
}

.feedback-form--subject {
    grid-area: ff-subject;
}

.feedback-form--name {
    grid-area: ff-name;
}

.feedback-form--e-mail {
    grid-area: ff-mail;
}

.feedback-form--submit {
    grid-area: ff-submit;
    place-self: center end;
    padding: 0.75em 1.5em;
    background-color: #2c3e50;
    color: #ffffff;
    border: none;
    cursor: pointer;
}

.feedback-form--message {
    grid-area: ff-message;
}

.feedback-form--captcha {
    grid-area: ff-captcha;
    place-self: center start;
}

.feedback-form--captcha .description {
    display: none;
}

.feedback-form--message textarea {
    width: 100%;
    height: calc(100% - 1.2em);
}


/* btn styles */

.button {
    appearance: none;
    background-color: #2c3e50;
    border: 1px solid #ececec;
    height: 36px;
    color: #ffffff;
    cursor: pointer;
    padding: 0.5ch 1.5ch;
}

.button-gray {
    background-color: #c6c6c6;
    color: #4c4a4a;
}

.button-red {
    background-color: #900000;
    color: #ffffff;
}


/* bootstrap overrides */

.modal-content {
    border-radius: 0;
    overflow-y: auto;
    max-height: calc(100vh - 1rem);
}

.modal-header {
    background-color: #2c3e50;
    color: #ffffff;
    border-radius: 0;
}

.modal-header .close {
    font-size: 2.5em;
    padding: 0.25em 0.5em;
    color: #ffffff;
    font-weight: 100;
    text-shadow: none;
    transition: text-shadow 100ms linear;
}

.modal-header .close:focus {
    outline: 1px solid #fffa;
    text-shadow: 2px 3px 2px #c6c6c6;
}


/* personal cabinet */

.cabinet {
    display: flex;
    flex-direction: column;
    gap: 1ch;
    align-items: center;
}

.cabinet h2 {
    align-self: flex-start;
}

.cabinet label {
    width: 100%;
    display: grid;
    grid-template-columns: min(12ch, 28vw) auto;
}

.cabinet-nav {
    display: flex;
    flex-direction: column;
    font-size: 1.25em;
}

.cabinet-nav a {
    color: #000000;
}

.cabinet-nav a svg {
    height: 1em;
    width: 2em
}

@media screen and (max-width: 500px) {
    .cabinet label:not(:last-child) {
        display: grid;
        grid-auto-flow: row;
        grid-template-columns: 1fr;
        grid-gap: 0.5ch;
    }
}


/* orders */

.orders-table {
    overflow-x: auto;
    padding-left: 15px;
    overflow-y: auto;
    min-height: 100%;
}

.orders-table .row {
    display: grid;
    grid-template-columns: 3em 5em 8em 8em 8em 8em 8em auto;
    grid-template-rows: auto;
    transition: background-color 100ms linear;
    cursor: pointer;
    width: 100%;
}

.orders-table .row:hover {
    background-color: var(--clr-lightgray);
}

.orders-table--item .param--value {
    padding-top: 0.75ch;
    padding-bottom: 0.75ch;
}

.modal-xlg {
    max-width: 1100px;
}


/* cart */

.param--quantity {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 2ch 5ch 2ch;
    place-items: center;
}

.param--quantity input {
    width: 3ch;
    margin: 0;
    border: none;
    text-decoration: underline;
    text-align: center;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cart-product-img {
    max-width: 150px;
    min-width: 75px;
}


/* product options modal */

.cat-code {
    font-weight: 900;
    margin-right: 0.75ch;
}

.select-container--inner {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
}

.select-colors {
    display: flex;
    flex-wrap: wrap;
}

.select-colors div {
    width: 100%;
    margin-bottom: 8px;
}

.select-colors div label {
    width: 12ch;
}

.select-pattern {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
    place-items: center;
    grid-gap: 1ch;
}

.select-pattern input {
    display: none;
}

.select-pattern label {
    display: grid;
    position: relative;
    width: 100%;
    height: 100%;
    z-index: +1;
    cursor: pointer;
}

.select-pattern img {
    object-fit: contain;
    outline: 2px solid #e8e8e8;
    outline-offset: -2px;
    transition: outline linear 100ms;
}

.select-pattern input:checked ~ label > img {
    outline-color: #2c3e50;
    outline-width: 3px;
}

.modal-body .form-select {
    max-width: 100%;
}

.modal-footer {
    gap: 0.5ch;
}

@media screen and (max-width: 600px) {
    .modal-footer {
        flex-direction: column;
    }
}

.modal-footer .button {
    white-space: nowrap;
}

.modal-footer .param--quantity--wide {
    grid-template-columns: 2ch 8ch 2ch;
    margin-left: 1ch;
    margin-right: 3ch;
}

.modal-footer .param--quantity--wide input {
    width: 6ch;
}

.modal-footer .param--quantity .button {
    border-radius: 100%;
    display: grid;
    place-items: center;
    width: 2em;
    height: 2em;
    z-index: +1;
    background-color: #fff;
    border: 2px solid #B8BEC4;
    padding: 0;
    margin: 0;
    font-weight: 900;
}

.modal-footer .param--quantity .button:hover {
    border-color: #900000;
}


/* end */

.slider-dot {
    justify-content: center;
    position: relative;
    bottom: -5px;
    display: flex;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    top: -10px;
}

.slider-dot li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slider-dot li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 14px;
    height: 14px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: 0;
    background: 0 0
}

.slider-dot li button:focus,
.slider-dot li button:hover {
    outline: 0
}

.slider-dot li button:focus:before,
.slider-dot li button:hover:before {
    opacity: 1
}

.slider-dot li button:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #fff;
    content: '';
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slider-dot li.slick-active button:before {
    background-color: #fff;
}

.floating-container {
    position: fixed;
    right: 0;
    bottom: 80px;
    display: flex;
    flex-direction: column;
    padding: 2vw;
    gap: 2vw;
    z-index: +100;
}

.floating-container a {
    display: grid;
    place-items: center;
    width: 5ch;
    height: 5ch;
    padding: 1.25ch;
    border-radius: 50%;
    background-color: #53D26D;
}

.products-wrap {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(153px, 1fr));
    grid-gap: 1ch;
    padding: 0 1ch;
    place-items: center;
}

.products-wrap div {
    max-height: 100%;
}

.products-wrap img {
    max-height: 220px;
    object-fit: contain;
}

@media screen and (max-width: 400px) {
    .products-wrap {
        grid-template-columns: repeat(auto-fill, minmax(40vw, 1fr));
    }
}

.overflow-auto {
    overflow: auto;
}

.mb-md-2 {
    margin-bottom: 2ch;
}

table.MuiTable-root .buy-count-container {
    display: grid;
    place-items: center;
    grid-auto-flow: row;
    height: 100%;
}

table.MuiTable-root .buy-count-container input {
    text-align: right;
}

.index-card {
    --border: -2px;
    cursor: pointer;
    position: relative;
    z-index: +2;
    isolation: isolate;
    padding: 2px;
    margin-bottom: 12px;
}

.index-card.plant-1 {
    --clr: var(--clr-blue);
}

.index-card.plant-2 {
    --clr: var(--clr-red);
}

.index-card::after {
    content: '';
    display: block;
    position: absolute;
    top: var(--border);
    right: var(--border);
    bottom: var(--border);
    left: var(--border);
    background-image: linear-gradient(135deg, var(--clr) 0%, var(--clr) 45%, transparent 49%);
    background-size: 400% 100%;
    background-position: 100%;
    transition: background-position 333ms ease-in-out;
    z-index: -2;
}

.index-card:hover::after {
    background-position: 0%;
}

.index-card::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #FFF;
    z-index: -1;
}

.index-card .product-main--item {
    z-index: +3;
    background-color: #fff5;
    backdrop-filter: blur(5px);
}

.index-card .product-main--title + .flex .product-main--item {
    margin-bottom: 0;
}

.index-card .product-main--item + .product-main--item {
    margin-left: min(12px, 2vw);
}

.grecaptcha-badge {
    visibility: hidden;
}

#root .scroll-to-top {
    right: calc(2vw + 8px);
    bottom: 25px;
}


/* 404 */

.not-found .row div + div {
    margin-top: min(40px, 5vh);
}

.not-found--sign {
    display: flex;
    justify-content: space-around;
}

.not-found--sign span {
    font-size: 100px;
    user-select: none;
}

.not-found--text {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    font-size: 30px;
}

.not-found--navigation {
    display: flex;
    gap: 2ch;
    justify-content: center;
}

article .card--information {
    font-size: 12px;
}


/* info page*/

main.info {
    background-image: url(/images/info_bkg.webp);
    background-size: cover;
    background-position: center;
    font-size: min(15px, calc(100vw / 32));
    font-family: "Monteserrat medium";
}

.info .links hr {
    width: 20em;
    border-width: 2px;
}

main.info img {
    width: 10em;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
}

.links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2ch;
    padding: 2.5em 0.5em 1em;
}

.info-link {
    display: flex;
    flex-direction: column;
    padding: 2ch;
    background-color: var(--clr-lightgray);
    color: var(--clr-default);
    width: 40em;
    max-width: min(40em, 100%);
    min-height: 4.25em;
    border-radius: 6.7em;
    align-items: center;
    justify-content: space-evenly;
    gap: 0.5ch;
    transition: background-color 150ms linear, color 150ms linear;;
}

.info-link:hover {
    background-color: var(--clr-default);
    color: var(--clr-lightgray);
    text-decoration: none;
}

.info-link h3 {
    font-size: 150%;
    font-weight: 700;
    text-transform: uppercase;
}

.info-link p {
    font-size: 1.25;
    text-align: center;
}

.info-link img {
    width: 10.6em;
}


/* Breadcrumbs */

.breadcrumbs {
    margin-bottom: 0.75ch;
    padding-inline: 0;
}

.breadcrumbs ul {
    display: flex;
    padding: 12px 0 0;
    gap: 0.5ch;
    flex-wrap: wrap;
}

.breadcrumbs li {
    list-style: none;
}

.breadcrumbs li + li::before {
    content: '« ';
    color: var(--clr);
}

.edit-button-parent .edit-button-child {
    transition: opacity 270ms;
    opacity: 0;
}

.edit-button-parent:hover .edit-button-child {
    transition: opacity 270ms;
    opacity: 1;
}
