/*SETTINGS*/
:root {
   --boxShadow: 0px 4px 64px 0px #23439814, 0px 2px 8px 0px #2343981F;
   --lilacColor: #A8BEF8;
   --blueColor: #557FF2;
   --mainColor: #3C3C3C;
}

/*html,
:has(:target) {
   scroll-behavior: smooth;
}*/

html {
   height: 100%;
   font-size: 16px;
}

body {
   font-family: "Montserrat", sans-serif;
   font-weight: 500;
   font-size: 16px;
   line-height: 1;
   height: 100%;
   width: 100%;
   margin: 0;
   min-width: 344px;
   color: var(--mainColor);
   background: #fff;
}

a {
   color: var(--mainColor);
   cursor: pointer;
   transition: 0.5s;
}

a:hover,
a:focus {
   color: inherit;
   text-decoration: none;
}

a:focus {
   outline: none;
   outline-offset: 0px;
}

.bg,
.bg_menu {
   position: fixed;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
   background: rgba(24, 58, 79, 0.5);
   z-index: 110;
   opacity: 0;
   pointer-events: none;
   transition: all 0.5s ease-in-out;
}

.bg_menu {
   z-index: 101;
}

.bg.__open,
.bg.__open2 {
   opacity: 1;
   pointer-events: auto;
}

img {
   display: block;
   max-width: 100%;
   height: auto;
}

input,
textarea,
select,
button {
   font: inherit;
}

:where(ul, ol):where([class]) {
   padding-left: 0;
}

:where(ul[class]) {
   list-style: none;
}

:where(ul, ol, dl):where([class]) {
   margin-block: 0 !important;
}

p {
   --paragraphMarginBottom: 1.2em;
   margin-block: 0;
}

p:where(:not([class]):not(:last-child)) {
   margin-bottom: var(--paragraphMarginBottom);
}

@media (prefers-reduced-motion: reduce) {

   *,
   ::before,
   ::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
   }
}

#body {
   display: flex;
   flex-direction: column;
   min-height: 100%;
   padding-inline: 10px;
}

#content {
   flex: 1 0 auto;
}

footer {
   flex: 0 0 auto;
}

.container {
   width: 100%;
   margin: 0 auto;
   padding-inline: 24px;
   position: relative;
   max-width: 1440px;
}

.container-inner {
   width: 100%;
   margin: 0 auto;
   max-width: 1440px;
}

.container::after,
.container::before {
   display: none;
}

button {
   background: none;
   border: none;
   padding: 0;
   cursor: pointer;
}

section,
.ob-fit {
   position: relative;
}

.ob-fit img {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   object-fit: cover;
}

input::-moz-placeholder {
   color: #A3A3A3;
}

input::-webkit-input-placeholder {
   color: #A3A3A3;
}

textarea:-moz-placeholder {
   color: #A3A3A3;
}

textarea::-webkit-input-placeholder {
   color: #A3A3A3;
}

.input-container input::-moz-placeholder {
   color: transparent;
}

.input-container input::-webkit-input-placeholder {
   color: transparent;
}

.input-container textarea:-moz-placeholder {
   color: transparent;
}

.input-container textarea::-webkit-input-placeholder {
   color: transparent;
}

/*focus*/
:focus {
   outline: none !important;
   -moz-outline: 3px solid #fff !important;
}

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"]>input[type="button"]::-moz-focus-inner {
   border: none;
}

input[type="radio"]:focus {
   -moz-outline-radius: 12px !important;
   -moz-outline-offset: 0px !important;
}

input[type="checkbox"]:focus {
   -moz-outline-offset: -1px !important;
   -moz-outline: 1px solid #000 !important;
}


/*-----All-----*/
.description {
   line-height: 1.2;
}

.description :where(h1,
   h2,
   h3,
   h4,
   h5,
   h6) {
   font-weight: 700;
   margin-top: 0;
   margin-bottom: 16px;
}

.description h4{
   font-size: clamp(1rem, 0.903rem + 0.4vw, 1.25rem);
}

.description h5{
   font-size: clamp(0.875rem, 0.827rem + 0.2vw, 1rem);
}

.description ul,
.description ol {
   margin-bottom: 1em;
}

.description a {
   font-weight: 500;
   color: var(--blueColor);
   text-decoration: underline;
}

.description a:hover {
   color: var(--blueColor);
   text-decoration: none;
}

.description img {
   border-radius: 5px;
}

.description--20 {
   font-size: clamp(0.875rem, 0.738rem + 0.59vw, 1.25rem);
   padding-top: clamp(0rem, -0.183rem + 0.78vw, 0.5rem);
}

.card-pr-tabs .description--20{
   padding-top: 0;
}

.description--table table{
   width: 100%;
   max-width: 770px;
   margin-inline: auto;
   font-size: clamp(0.875rem, -2.25rem + 13.33vw, 1rem);
}
.description--table table td{
   padding: 10px;
}

.description--table table tbody tr{
   border-bottom: 1px solid var(--mainColor);
}

.description--table table tbody td:first-child{
   font-weight: 700;
}

.d-none {
   display: none;
}

.button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-width: 294px;
   padding: 14px 24px;
   font-size: 20px;
   font-weight: 700;
   line-height: 1.2;
   border: 2px solid var(--lilacColor);
   background: linear-gradient(100.08deg, #D9E3FF 18.04%, #CAD7FE 86.5%);
   transition: 0.5s;
   cursor: pointer;
   border-radius: 30px;
   box-sizing: border-box;
}

.button .icon-dashed {
   font-size: 24px;
}

.button .icon-arrow_Down {
   font-size: 12px;
}

.button--catalog {
   justify-content: flex-start;
}


/**/
.title-h2 {
   font-size: clamp(1.25rem, 0.976rem + 1.17vw, 2rem);
   font-weight: 700;
   line-height: 1.2;
   color: #fff;
   padding: 8px 24px;
   background: linear-gradient(111.52deg, #557FF2 -0.45%, #A1CCF1 109.8%);
   border-radius: 12px;
   margin: 0;
   margin-bottom: 16px;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}

.title-h2--top20{
   margin-top: 20px;
}

.article__content .title-h2,
.blog .title-h2,
.case .title-h2,
.in-reviews .title-h2,
.prodect-slider .title-h2,
.brands .title-h2{
   margin-bottom: 0;
}

.sec-padding {
   padding-block: clamp(1rem, 0.909rem + 0.39vw, 1.25rem);
}

.sec-padding--top {
   padding-top: 0;
}

.sec-padding--bottom {
   padding-bottom: clamp(1rem, 0.909rem + 0.39vw, 1.25rem);
}

/*swiper*/
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal{
   bottom: -3px;
}

.swiper-pagination{
   position: relative;
}

.swiper-pagination-bullet{
   width: 24px;
   border-radius: 10px;
   opacity: 0.3;
   background: var(--lilacColor);
}

.swiper-pagination-bullet-active{
   opacity: 1;
}


/*input-container*/
.input-container {
   position: relative;
   z-index: 2;
}

.input-container input,
.input-container textarea,
.input-container .btn-container {
   height: 50px;
   border: 1px solid var(--blueColor);
   border-radius: 8px;
   padding: 0 24px;
   display: flex;
   align-items: center;
   width: 100%;
   font-size: 16px;
}

.input-container input:focus,
.input-container textarea:focus {
   border-color: var(--blueColor);
}

.input-container textarea {
   height: 175px;
   border-radius: 8px;
   padding: 16px 24px;
   resize: none;
}

.input-container label {
   display: none;
   width: calc(100% - 4px);
   position: absolute;
   top: calc(25px - 10px);
   left: 2px;
   transition: all .5s;
   margin-bottom: 0;
   color: #A3A3A3;
   font-size: 16px;
   line-height: 20px;
   pointer-events: none;
   background: #fff;
   font-weight: 500;
   padding-inline: 22px;
}

/*label placeholder
.input-container.placeholder input:placeholder-shown:focus + label {
   display: inline-block;
   width: auto;
   top: -10px;
   left: 16px;
   font-size: 12px;
   pointer-events: none;
   background: #fff;
   color: var(--mainColor);
   padding-inline: 8px;
 }*/

.input-container label span{
   color: #DF4C4C;
   margin-right: 3px;
   margin-left: -10px;
}
.input-container--required .select2-selection__placeholder::before{
   content: '*';
   color: #DF4C4C;
   margin-right: 3px;
   margin-left: -10px;
}

.input-container input:focus + label span{
   display: none;
}

.input-container select {
   width: 100%;
}

.input-container input:placeholder-shown:not(:focus)+*,
.input-container textarea:placeholder-shown:not(:focus)+* {
   display: block;
}

.input-container .__error {
   display: none;
   padding: 0 2px;
}

.input-container.input__error input,
.input-container.input__error textarea,
.input-container.input__error .select2-container .select2-selection--single {
   border-color: var(--blueColor);
}

.__error.simplecheckout-error-text,
.input__error .__error,
.input-container.input__error .__error {
   font-size: 12px;
   display: block;
   /*text-align: center;*/
   color: #DF4C4C;
   text-align: left;
}

/*select2*/
body .select2 {
   width: 100% !important;
}

.input-container--2.input-container--active{
   position: relative;
   z-index: 114;
}

.select2-container .select2-selection--single {
   height: 50px;
   border: 1px solid var(--blueColor);
   border-radius: 8px !important;
   padding: 0 24px;
   display: flex;
   align-items: center;
   font-size: 16px;
}

.select2-container .select2-dropdown {
   border-radius: 8px !important;
   border: 1px solid #DCDEDA !important;
   margin: 0px 0;
   padding: 2px 2px 2px 0px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
   padding: 0;
}

.select2-container .select2-selection--single .select2-selection__placeholder {
   color: #A3A3A3;
   font-size: 16px;
   line-height: 20px;
   transition: all 0.5s ease-in-out;
   position: absolute;
   top: calc(25px - 10px);
   left: 24px;
}

.select2-container .select2-selection--single .select2-selection__arrow {
   height: 100%;
   top: 0;
   right: 20px;
   width: 16px;
   display: flex;
   align-items: center;
}

.select2-container .select2-selection--single .select2-selection__arrow b {
   height: 16px;
   width: 16px;
   background: url('../img/select-arrow.svg') no-repeat center;
   padding: 0;
   margin: 0;
   position: static;
   border: none;
   transition: all 0.5s ease-in;
}

.input-container.input__error .select2-container .select2-selection--single .select2-selection__arrow b {
   background: url('../img/select-arrow-error.svg') no-repeat center;
}

.select2-container.select2-container--open .select2-selection--single .select2-selection__arrow b {
   transform: rotatex(180deg);
}

.select2-container.select2-container--open .select2-selection--single,
.select2-container.select2-container--open .select2-dropdown {
   border-color: var(--blueColor);
}

.select2-container .select2-results__option--highlighted.select2-results__option--selectable {
   background-color: #E1E9FB;
   color: var(--mainColor);
}

.select2-container .select2-results__option {
   padding: 8px 20px;
   font-weight: 500;
   font-size: 14px;
}

.placeholder .select2-container:not(.select2-container--open)+label {
   font-size: 16px;
   top: 10px;
}

.placeholder .select2-container.select2-container--selected+label {
   font-size: 12px;
   top: -10px;
}

.placeholder .select2-container.select2-container--above+label {
   font-size: 12px;
   top: inherit;
   bottom: -10px;
}

.select2-container .select2-results>.select2-results__options::-webkit-scrollbar {
   width: 4px;
   height: 4px;
   background-color: #E1E9FB;
}

.select2-container .select2-results>.select2-results__options::-webkit-scrollbar-thumb {
   background-color: var(--blueColor);
   border-radius: 20px;
}

.select2-container .select2-results>.select2-results__options::-webkit-scrollbar-track {
   background-color: #E1E9FB;
   border-radius: 20px;
}

.select2-container .select2-dropdown.select2-dropdown--below {
   top: 0px;
   padding-top: 0px;
   z-index: 113;
}

.select2-container .select2-dropdown.select2-dropdown--above {
   padding-bottom: 0px;
   top: 0px;
   z-index: 113;
}


.select2-container .select2-dropdown .select2-results {
   padding: 3px 1px;
}

.select2-container--default .select2-results>.select2-results__options {
   max-height: 190px;
}

.select2-container--default .select2-results__option--selected {
    background-color: var(--lilacColor);
}
.select2-container--default.select2-container .select2-selection--single .select2-selection__clear {
   font-size: 0;
   margin: 0;
}
.select2-container--default .select2-selection__clear span:before {
    content: "\e907";
    font-family: 'icomoon' !important;
    font-size: 11px;
    position: absolute;
    right: 8px;
    top: calc(50% - 5px);
    color: var(--blueColor);
}

/*select placeholder
.select2-container.select2-container--open .select2-selection--single .select2-selection__placeholder {
   font-size: 12px;
   top: -10px;
   left: 16px;
   padding-inline: 8px;
   background: #fff;
   color: var(--mainColor);
}

.select2.select2-container.select2-container--open.select2-container--above .select2-selection__placeholder {
   top: calc(100% - 10px);
}*/

/*product*/
.item-price,
.item-sertificate,
.item-blog,
.item-in-category,
.product,
.item-subcategory {
   width: 100%;
   display: flex;
   flex-direction: column;
   gap: 8px;
   background: #fff;
   border-radius: 12px;
   box-shadow: var(--boxShadow);
   padding: 8px;
   position: relative;
}

.item-in-category,
.product,
.item-subcategory {
   max-width: 372px;  /*250*/
   margin-inline: auto;
}

.cart-table__img img,
.item-price__img img,
.item-sertificate__img img,
.product__img img,
.product2__img img,
.item-in-category__img img {
   object-fit: contain;
}

.item-sale__name,
.item-price__name,
.item-sertificate__name,
.item-blog__name,
.product__name,
.product2__name {
   display: block;
   font-weight: 700;
   line-height: 1.2;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}

.title-h3{
   font-size: 20px;
   font-weight: 700;
   line-height: 1.2;
   text-align: center;
}
.title-label{
   font-size: 16px;
   font-weight: normal;
}
.align-left{
   text-align: left;
}

/*animation*/

.item-sale__img img,
.item-blog__img img,
.item-subcategory__img img {
   transition: 0.5s;
   transform: scale(1);
}

.item-sale:hover .item-sale__img img,
.item-blog:hover .item-blog__img img,
.item-subcategory:hover .item-subcategory__img img {
   transform: scale(1.03);
}

.item-sertificate__img img,
.product__img img {
    transition: 0.5s;
    transform: scale(0.97);
}

.item-sertificate:hover .item-sertificate__img img,
.product:hover .product__img img {
    transform: scale(1.00);
}

/*hover*/
.active .universal__link,
.universal-list__link:hover,
.universal__link:hover,
.item-mat-contact a:hover,
.header-phone__link:hover,
.header-mail__link:hover,
.footer-menu__link:hover{
   color: var(--blueColor);
   text-shadow: 0.5px 0px 0px var(--blueColor);
}

body .mfp-figure:after {
   background: #fff;
   box-shadow: none;
}

/*custom css*/
[data-modal-window='my_modal-registration'] [data-step='2']{
   display: none;
}
.alert{
   margin-bottom: 15px;
   border-radius: 12px;
}
.personal-area .alert{
   margin: 0;
}
#filter .noUi-handle:after,
#filter .noUi-handle:before,
#filter .noUi-pips-horizontal{
  display: none;
}
#filter .noUi-handle {
    border: none;
    border-radius: 50%;
    background: var(--mainColor);
    box-shadow: none;
}
#filter .noUi-connect {
    background: var(--blueColor);
    box-shadow: none;
}
#filter .noUi-background {
    background: var(--lilacColor);;
    box-shadow: none;
}
#filter .noUi-target {
    border-radius: 0;
    border: none;
    box-shadow: none;
}
#filter .scale {
    margin-top: 4px;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
}
#filter .noUi-horizontal {
    height: 2px;
}
#filter .noUi-horizontal .noUi-handle {
    width: 10px;
    height: 10px;
    left: -4px;
    top: -4px;
}
#ocfilter {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}