@charset 'UTF-8';

:root {
  --color-text-primary: #000;
  --color-text-secondary: #666;
  --color-green: #008741;
  --color-dark-grey: #444;
  --color-yellow: #fabe00;
  --color-grey: #ebebeb;
  --font-main: 'Montserrat', sans-serif;
  --transition: .2s ease-in-out;
}

* {
  font-family: var(--font-main);
  box-sizing: border-box;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

a {
	text-decoration: none;
	color: var(--color-text-primary);
	transition: var(--transition);
}
a:hover {
	color: var(--green);
}

.fancybox__container * {
  color: white;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#main {
  flex-grow: 1;
  max-width: 100vw;
  overflow-x: hidden;
}

[data-lazy-image] {
  opacity: 0;
}

.mobile {
  display: none;
}

.fs-7 {
	font-size: .875rem !important;
}
.fs-8 {
	font-size: .75rem !important;
}
.fs-9 {
	font-size: .625rem !important;
}
.fs-10 {
	font-size: .5rem !important;
}

.link-arrow svg {
  vertical-align: middle;
  transition: .2s ease-in-out;
}
.link-arrow:hover svg {
  margin-left: 5px;
}

.btn-primary {
	--bs-btn-bg: var(--color-green);
	--bs-btn-border-color: var(--color-green);
	--bs-btn-hover-bg: var(--color-dark-grey);
	--bs-btn-hover-border-color: var(--color-dark-grey);
	--bs-btn-focus-shadow-rgb: var(--color-green-dark-rgb); 
	--bs-btn-active-bg: var(--color-dark-grey);
	--bs-btn-active-border-color: var(--color-dark-grey);
	--bs-btn-disabled-bg: var(--color-green-light);
	--bs-btn-disabled-border-color: var(--color-green-light);
}
.btn-outline-primary {
  --bs-btn-border-color: var(--color-green);
  --bs-btn-hover-border-color: var(--color-green);
  --bs-btn-active-border-color: var(--color-green);
  --bs-btn-hover-bg: transparent;
  --bs-btn-active-bg: transparent;
}
.btn-lg {
  --bs-btn-font-size: 1rem;
  line-height: 1rem;
  --bs-btn-padding-y: 1.25rem;
  --bs-btn-padding-x: 1rem;
  --bs-border-radius-lg: 0;
  font-weight: 500;
}
.text-primary {
	color: var(--color-green) !important;
}
.hover-effect-scale {
	overflow: hidden;
}
.hover-effect-scale .hover-effect-target {
	transition: transform .35s ease-in-out;
}
.hover-effect-scale:focus-visible .hover-effect-target, .hover-effect-scale:focus-within .hover-effect-target, .hover-effect-scale:hover .hover-effect-target {
	transform: scale(1.06);
}
.hover-effect-shadow {
	transition: var(--transition);
}
.hover-effect-shadow:hover {
	box-shadow: 2px 4px 8px rgba(0,0,0,0.15);
}
.hover-card-img-overlay .card-img-overlay {
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}
.hover-card-img-overlay:hover .card-img-overlay {
	opacity: 1;
	visibility: visible;
}

.sidebar {
  border: 1px solid #ddd;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

#main-loading {
  position: fixed;
  inset: 0;
  max-width: 100vw;
  min-height: 100vh;
  background: #fff;
  z-index: 999999999;
  pointer-events: none;
  transition: all .3s ease-in-out;
  animation: logoLoading .5s 1s forwards;
}
#main-loading .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 270px;
  height: auto;
  transform: translate(-50%,-50%);
  animation: logoWrapper .5s .5s forwards;
}
#main-loading .inner img {
  max-width: 270px;
  height: auto;
  pointer-events: none;
  opacity: 0;
}
#main-loading .inner img.top {
  animation: logoDown .5s forwards;
}
#main-loading .inner img.bottom {
  width: 260px;
  margin-left: 13px;
  margin-top: 4px;
  animation: logoUp .5s forwards;
}
@keyframes logoLoading { from {opacity:1;visibility:visible} to {opacity:0;visibility:hidden} }
@keyframes logoWrapper { from {transform:translate(-50%,-50%) scale(1)} to {transform:translate(-50%,-50%) scale(0)} }
@keyframes logoDown { from {opacity:0;transform: translate(0,-100px)} to {opacity:1;transform: translate(0,0)} }
@keyframes logoUp { from {opacity:0;transform: translate(0,100px)} to {opacity:1;transform: translate(0,0)} }

.page-header {
  padding: 0;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 15px;
}
.page-header h1,
.page-header h2 {
  margin: 0;
  display: inline-block;
  padding: 10px 0;
  position: relative;
  font-size: 1.125rem;
  color: #111;
  font-weight: bold;
}
.page-header h1:after,
.page-header h2:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: calc( 100% + 50px );
  height: 3px;
  background: #008741;
}

.socials-list {
  list-style: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
}
.socials-list li {
  margin-bottom: 5px;
}
.socials-list li a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.socials-list li a .icon {
  width: 32px;
  text-align: center;
}
.socials-list li a span {
  margin-left: 10px;
}
.socials-list li.yt a svg {
	color: #f00;
}
.socials-list li.tg a svg {
	color: #28a7e8;
}
.socials-list li.vk a svg {
	color: #0077ff;
}
.socials-list li.ok a svg {
	color: #ff7700;
}
.socials-list li.rt a svg {
	color: #00a1e7;
}

.socials.inlist {
  display: flex;
}
.socials.inlist a {
  width: 42px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.socials.inlist a:hover {
  background: var(--color-yellow);
  color: #000;
}
.socials.inlist a.yt:hover {
	color: #f00;
}
.socials.inlist a.tg:hover {
	color: #28a7e8;
}
.socials.inlist a.vk:hover {
	color: #0077ff;
}
.socials.inlist a.ok:hover {
	color: #ff7700;
}
.socials.inlist a.rt:hover {
	color: #00a1e7;
}
.cookie-agreement {
  position: fixed;
  z-index: 999;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 8px 15px;
  background: #fff;
  font-size: 14px;
  line-height: 1em;
  text-align: center;
  color: var(--color-1);
}
.cookie-agreement a {
  color: var(--color-1);
  transition: var(--transition);
}
.cookie-agreement a:hover {
  color: var(--color-4);
}
.cookie-agreement .btn {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1em;
  margin-left: 7px;
}
.privacy-agreement {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.privacy-agreement input {
  margin-right: 7px;
}
.privacy-agreement span {
  font-size: 12px;
  line-height: 14px;
}
.privacy-agreement a {
  color: inherit;
  transition: var(--transition)
}
.privacy-agreement a:hover {
  color: var(--color-text-yellow);
}
.was-validated .privacy-agreement input[type="checkbox"]:invalid {
  box-shadow: 0 0 10px var(--bs-form-invalid-border-color);
}
.product-card .prices {
	height: 38px;
}
.product-card .prices .btn {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}
.product-card:hover .prices .btn {
	opacity: 1;
	visibility: visible;
}
.pagination {
	--bs-pagination-padding-x: .75rem;
	--bs-pagination-padding-y: .375rem;
	--bs-pagination-font-size: 0.875rem;
	--bs-pagination-color: #9d9d9d;
	--bs-pagination-bg: var(--bs-body-bg);
	--bs-pagination-border-color: var(--bs-border-color);
	--bs-pagination-border-radius: var(--bs-border-radius);
	--bs-pagination-hover-color: var(--color-green);
	--bs-pagination-hover-bg: transparent;
	--bs-pagination-hover-border-color: var(--color-red);
	--bs-pagination-focus-color: var(--color-green);
	--bs-pagination-focus-bg: transparent;
	--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--color-red-dark-rgb), .25);
	--bs-pagination-active-color: #fff;
	--bs-pagination-active-bg: var(--color-green);
	--bs-pagination-active-border-color: var(--color-green);
	--bs-pagination-disabled-color: #9d9d9d;
	--bs-pagination-disabled-bg: var(--bs-secondary-bg);
	--bs-pagination-disabled-border-color: var(--bs-secondary-bg);
}
.pagination li {
  margin-right: .5rem;
}
.pagination li:last-child {
  margin-right: 0;
}
.pagination li > a,
.pagination li > span {
  border-radius: var(--bs-pagination-border-radius);
	font-family: var(--font-secondary);
}
.pagination .page-link:focus {
	border-color: var(--color-red);
}
	.reviews .review {
	position: relative;
  display: block;
  height: 300px;
  margin-bottom: 27px;
}
.reviews .review {
  height: 217px;
  margin-bottom: 27px;
}
.reviews .review.small {
	height: 150px;
}
.reviews .review img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.reviews .review .icon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.reviews .review .icon svg {
  color: #fff;
  opacity: .6;
  width: 64px;
  height: 64px;
  transition: .3s;
}
.reviews .review:hover .icon svg {
  opacity: 1;
}