@charset "UTF-8";

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/Poppins-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/Poppins-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Poppins';
	src: url('../fonts/Poppins-Light.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}



/*--------------------------------------------------------------
Reset
--------------------------------------------------------------*/

html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,legend,hr,h1,h2,h3{margin:0;padding:0}button,input,select,textarea{all:unset;box-sizing:border-box}*,*:before,*:after{box-sizing:border-box}img,video,svg{display:block;height:auto;max-width:100%;border:0}

/*--------------------------------------------------------------
Vars
--------------------------------------------------------------*/

:root{
	--leading:1.75rem;

	--white:#fff;
	--dark:#3b3a3a;
	--green:#70c02f;
	--blue:#303291;
	--light_blue:#ddefff;
	--gray:#f5f5f5;
	--dark_gray: #a0a0a0;
}

/*--------------------------------------------------------------
Typography
--------------------------------------------------------------*/

html{
	font-size:106.25%;
	-webkit-text-size-adjust:100%;
}
body{
	position:relative;
	min-height: 100vh;
	display:flex;
	flex-direction: column;
	text-rendering:optimizeSpeed;
	background:var(--white);
	color:var(--dark);
	font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
	font-size:1rem;
	line-height:1.75;
	overflow-x:hidden;
	word-wrap: break-word;
}
a{
	color:var(--green);
	text-underline-offset:.25em;
	text-decoration-color:currentColor;
	text-decoration-thickness: 1px;
}
a:hover,a:focus{
	text-decoration-color:currentColor;
	text-decoration-thickness: 2px;
}
* + :is(figure,h1,h2,h3,p,ul,ol,blockquote,table,.btn,.grid,.faq), p+div{margin-top:1.75em}
h1,h2,h3,.h1-like,.h2-like,.h3-like{
	font-weight:700;
	line-height:1.3;
	font-size:2rem;
	color:var(--blue);
}
h1, .h1-like{line-height: 1;}
h2, .h2-like{font-size:1.75rem;}
h3, .h3-like{font-size:1.2rem;}
h1 span, h2 span, h3 span, .h1-like span, .h2-like span, .h3-like span{color:var(--green)}
.subtitle{
	line-height: 1.3;
	color:var(--green);
	font-size:1.2rem;
}
.subtitle + h1, .subtitle + h2, .subtitle + h3, h1 + .subtitle, h2 + .subtitle, h3 + .subtitle, .subtitle + .h1-like, .subtitle + .h2-like, .subtitle + .h3-like, .h1-like + .subtitle, .h2-like + .subtitle, .h3-like + .subtitle{
	margin-top:0;
}
nav ul, nav ol{
	list-style: none;
	margin:0
}
ul,ol{
	margin-left:1.5rem;
}
ul{
	list-style: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2370c02f' viewBox='0 0 48 48'%3E%3Cpath d='M6 24a2.3 2.3 0 0 1 2.3-2.3h31.4a2.3 2.3 0 0 1 0 4.6H8.3A2.3 2.3 0 0 1 6 24'/%3E%3C/svg%3E");
	list-style-position: inside;
}
em,address,cite{
	font-style:italic;
	position:relative;
	vertical-align:baseline;
}
address{font-style: normal}
abbr{
	text-transform:uppercase;
	letter-spacing:.05em;
}
abbr[title]{
	text-decoration:none;
	border-bottom:1px dotted;
}
summary{cursor: pointer}
sup,sub{
	font-size:.8rem;
	line-height:0;
	position:relative;
	vertical-align:baseline;
}
sup{top:-.5em}
sub{bottom:-.5em}
small{font-size:.8rem;}

/*--------------------------------------------------------------
Forms
--------------------------------------------------------------*/

button, .btn{
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	text-align: center;
	font-weight: 700;
	color:var(--white);
	background: var(--green);
	border:2px solid var(--green);
	padding:.25rem 2rem;
	border-radius:7px;
	text-decoration: none;
}
button:hover, button:focus, .btn:hover, .btn:focus{
	background: #5CA026;
	border-color: #5CA026;
}
.btn-block{
	display: block !important;
	width: 100% !important;
}
.btn-blue{
	background: var(--blue);
	border-color: var(--blue);
}
.btn-alt{
	background: transparent;
	border-color: var(--blue);
	color:var(--blue);
}
.btn-blue:hover, .btn-blue:focus, .btn-alt:hover, .btn-alt:focus{
	background: #23246b;
	border-color:#23246b;
	color:var(--white);
}
input[type=date],input[type=email],input[type=file],input[type=number],input[type=tel],input[type=text],textarea,select{
	font-family:inherit;
	font-size:1rem;
	line-height:1.5;
	color:var(--dark);
	border:1px solid currentColor;
	border-radius:.5rem;
	padding:1rem 1rem;
	width:100%;
	font-family: inherit;
}
input[type=date]:focus,input[type=email]:focus,input[type=file]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=text]:focus,textarea:focus,select:focus{
	outline:0;
	border-color:var(--green);
}
textarea{min-height:5rem}

label{
	display:block;
	font-weight: 200;
	width:fit-content;
	max-width: calc(100% - 2rem);
	background: var(--white);
	padding:0 .5rem;
	transform: translate(.75rem,.75rem);
}
.bg-blue label{
	background: var(--blue);
	color:var(--white);
}
.bg-light_blue label{
	background: var(--light_blue);
}
::placeholder{
	color:#9d9d9d;
	opacity:.8;
}

/*--------------------------------------------------------------
Utilities
--------------------------------------------------------------*/

@media (prefers-reduced-motion: no-preference) {
	html:focus-within{scroll-behavior:smooth}
}

:focus:not(:focus-visible){outline:0;}
:focus-visible{
	outline-color: gray;
	outline-offset:5px;
	outline-width: 1px;
	outline-style: dashed;
}
::selection{
	background:var(--dark);
	color:var(--white);
}
.sr,.email{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
}
.sr:focus{
	background-color:var(--dark);
	color:var(--white);
	display:block;
	width:auto;
	height:auto;
	top:0;
	left:0;
	padding:.5em 1em;
	text-decoration:none;
	z-index:9;
}

.wrapper{
	max-width:var(--width);
	padding-left:var(--leading);
	padding-right:var(--leading);
	margin-left:auto;
	margin-right:auto;
}

/* Grids */
.grid{display: grid}
.grid{gap:var(--leading)}

/* Text alignments */
.text-center{text-align: center}
.text-right{text-align: right}

/* Icons */
.has-icon{
	display: flex;
	align-items: center;
	gap:.5rem;
}
.has-icon svg{
	width:1.5rem;
	height:1.5rem;
}

/* Backgrounds */
.bg-blue{
	background: var(--blue);
	color:var(--white);
}
.bg-blue h1, .bg-blue h2, .bg-blue h3, .bg-blue a{
	color:var(--white);
}
.bg-light_blue{
	background: var(--light_blue);
}
.bg-gray{
	background: var(--gray);
}

/* Forms errors */

.alert-error{
	color:red;
}

/*--------------------------------------------------------------
Breadcrumbs
--------------------------------------------------------------*/

.breadcrumb ol{
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	font-size:.75rem;
}
.breadcrumb svg{
	width:1rem;
	height:1rem;
}
.breadcrumb + *{margin-top:1rem}
.breadcrumb a{
	text-decoration: none;
}
.breadcrumb a:hover, .breadcrumb a:focus{
	text-decoration: underline;
}

/*--------------------------------------------------------------
Accordions
--------------------------------------------------------------*/

.accordion-intro{
	position:relative;
	display:grid;
	gap:var(--leading);
	align-items: center;
	padding:1rem 0;
	grid-template-columns:1fr 2rem;
	border-top: 2px solid var(--blue);
	color:var(--blue);
	text-transform: uppercase;
	font-size:1.25rem;
	cursor: pointer;
}
.accordion-intro:after{
	content: '+';
	width:2rem;
	height:2rem;
	line-height: 2rem;
	font-size:1.75rem;
	text-align: center;
	border-radius: 50%;
	color: var(--blue);
}
.accordion-active .accordion-intro:after{
	content:'-';
}
:not(.accordion-active) > .accordion-content {
	max-height: 0;
	overflow: hidden;
	will-change: max-height;
	transition: max-height 0.25s ease-out;
	opacity: 0;
}
.accordion .accordion-content > *{
	max-width: none;
}
.accordion-active .accordion-content {
	padding:var(--leading) 0;
	opacity: 1;
}
.grid:has(.accordion) h2{
	height:100%;
	padding-left:var(--leading);
	border-left:5px solid var(--blue);
}

/*--------------------------------------------------------------
Main Header
--------------------------------------------------------------*/

/* Main header container */
.main-header{
	position:relative;
	z-index: 99;
	padding:var(--leading) 0;
}

.main-header .wrapper{
	display:flex;
	justify-content: space-between;
	gap:var(--leading);
	align-items:center;	
}
/* Logo
------------------------*/
.logo{
	border:none
}
.logo img{
	height:5rem;
	width:5rem;
}

/* Nav toggle
------------------------*/
.menu-toggle{
	border:none;
	background: none;
	padding:0;
	z-index: 2;
}
.menu-toggle:hover, .menu-toggle:focus{
	background: none;
}
.menu-toggle svg{
	fill:var(--blue);
	width:1.5rem;
}
.menu-toggle path{transition:opacity .2s, transform .2s;}
.menu-toggle[aria-expanded=true] path:nth-child(1) {
	transform: rotate(-45deg) translateX(-11px) translateY(-5px);
}
.menu-toggle[aria-expanded=true] path:nth-child(2) {
	opacity: 0;
}
.menu-toggle[aria-expanded=true] path:nth-child(3) {
	transform: rotate(45deg) translateX(4px) translateY(-6px);
}

/* Main nav
------------------------*/

.main-nav{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:var(--leading);
}

/* Main menu
------------------------*/
.menu-container{
	position:absolute;
	background:var(--white);
	top:5rem;
	padding:var(--leading);
	box-shadow: 0 5px 2px rgba(0,0,0,.15);
	left:0;
	right:0;
	z-index:99;
	opacity:0;
	transform:scale(.5);
	transform-origin:100% 0;
	pointer-events: none;
	transition:opacity .2s,transform .2s;
	display:flex;
	flex-direction:column;
	justify-content: space-between;
	overflow-y: scroll;
}
.menu-container > .btn{margin:1rem 0 0}
.menu-container ul{margin:0}
.menu-container.active{
	opacity:1;
	pointer-events:auto;
	transform:scale(1);
}
.main-menu{
	display: flex;
	flex-direction: column;
	gap:var(--leading);
}
.main-menu a, .main-menu button{
	display:block;
	width: fit-content;
	padding:0;
	font-weight: 400;
	text-decoration: none;
	color:var(--blue);
	border:none;
}
.main-menu button{
	text-transform: none;
	background:transparent;
	display:flex;
	align-items:center;
	gap:.5rem;
	line-height: 1.75;
}
.main-menu a:hover, .main-menu a:focus, .main-menu button:hover, .main-menu button:focus, .main-menu a.active, .main-menu button.active{
	text-decoration: underline;
	text-decoration-color: var(--green);
	text-underline-offset: .5rem;
	text-decoration-thickness: 2px;
}
.main-menu button svg{
	height:1rem;
	transition: transform .2s ease;
}
.main-menu button[aria-expanded="true"] svg{
	transform: rotate(180deg);
}
.submenu{
	display: none;
	opacity: 0;
	transition: opacity .2s ease;
	padding-top:1rem;
}
.submenu.active{
	display: block;
	opacity: 1
}
.submenu a{
	font-size:1rem;
	font-weight:400;
	margin-left:var(--leading)
}
.submenu ul{display:none}
.marker{display: none;}

/* secondary-menu */
.secondary-menu{
	display: flex;
	align-items: center;
	gap:1rem;
}
.icon-btn{
	background: transparent;
	border:none;
	padding:0;
	border-radius:0;
	color:var(--blue);
	position:relative;
	margin:0;
}
.icon-btn:hover, .icon-btn:focus{
	background: transparent;
}
.icon-btn svg{
	width:1.5rem;
	height:1.5rem;
}
.icon-btn span{
	display: none;
}

/*--------------------------------------------------------------
Main content
--------------------------------------------------------------*/

.content > div{
	padding:3rem 0;
}
.content h2, .content h3, .content h4, .content p, .content blockquote, .content ul, .content ol{
	max-width:40rem;
	margin-inline:auto
}
.content img{
	margin-inline:auto;
	border-radius:.75rem;
}
.content .wrapper:not(.grid) h2, .content .wrapper:not(.grid) h3{
	text-align: center;
}
.content .wrapper:not(.grid) .btn{
	display:block;
	width:max-content;
	max-width: 100%;;
	margin-inline:auto;
}

/*--------------------------------------------------------------
Main footer
--------------------------------------------------------------*/

.main-footer{
	margin-top:auto;
	background: var(--blue);
	color:var(--white);
	text-align: center;
	padding:3rem 0;
	font-size:.75rem;
	text-align: center;
}
.main-footer h2{
	font-size:.9rem;
	margin-bottom:1rem;
}
.footer-logo{
	margin-inline:auto;
	width:100%;
	max-width:12rem;
}
.footer-logo img{
	filter:brightness(100);
	width:100%;
	height:auto;
}
.footer-nav h2, .footer-nav a{
	color:var(--white);
	text-decoration: none;
}
.footer-nav a:hover, .footer-nav a:focus{
	text-decoration: underline;
}
.social{
	display: flex;
	justify-content: center;
	margin-top:1rem;
	gap:1rem;
	color:var(--white);
}
.social svg{
	width: 2rem;
	height: 2rem;
}
.location{
	background: var(--gray);
	padding:3rem;
	border-radius:.75rem;
	color:var(--blue);
}
.location p{margin-top:.75rem;}
.location-popup{
	padding:0;
	text-align: center;
	background: transparent;
}
.location-popup a.btn{
	color:var(--white)
}

.credits{text-align: center;}
.credits a{
	color:var(--white);
	text-decoration: none;
}
.credits a:hover, .credits a:focus{
	color:var(--green);
}
.credits svg{
	display: inline-block;
	height:1rem;
}

/*--------------------------------------------------------------
Page header
--------------------------------------------------------------*/

.page-header{
	position:relative;
	padding:3rem 0;
}
.page-header img{
	border-radius: .75rem;
}

/*--------------------------------------------------------------
Slider
--------------------------------------------------------------*/

.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}

/*--------------------------------------------------------------
Custom blocks
--------------------------------------------------------------*/

/* Highlights */
.highlights h2{margin-bottom:3rem;}
.highlights .btn{margin-top:var(--leading)}
.highlight-items{
	display:flex;
	flex-wrap: wrap;
	gap:var(--leading);
	justify-content: center;
}
.highlight-icon{
	text-align:center;
	font-size:1.25rem;
	font-weight: 700;
	color:var(--blue);
	border:2px solid var(--blue);
	border-radius:.75rem;
	padding:var(--leading);
	aspect-ratio: 1 / 1;
	display:flex;
	flex-direction: column;
	justify-content: center;
	width:100%;
	max-width: 18rem;
}
.highlight-icon img{
	margin:0 auto 1rem;
}

/* Products */
.product-list-item .price{font-size:.875rem}

/* Products categories */
.product-categories-list{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--leading);
	margin-top:3rem;
}
.product-category-item{
	max-width:18rem;
	display:grid;
	grid-template-areas: "content";
	text-decoration: none;
	border-radius: 7px;
	overflow: hidden;
	filter: drop-shadow(1px -3px 10px rgba(0,0,0,.1));
}
.product-category-item:hover, .product-category-item:focus{
	filter: drop-shadow(1px -3px 10px rgba(0,0,0,.2));
}
.product-category-item > *{
	grid-area: content;
}
.product-category-item img{
	border-radius:7;
}
.product-category-item .btn{
	display:block;
	width:100% !important;
	margin:0 !important;
	align-self:end;
	position: relative;
}
.product-category-item:hover .btn, .product-category-item:focus .btn{
	background: #5CA026;
	border-color: #5CA026;
}

/* Services */
.service-item{
	display:grid;
	grid-template-areas: "content";
	text-decoration: none;
}
.service-item > *{
	grid-area: content;
}
.service-item img{
	border-radius:10px;
}
.service-item:hover img, .service-item:focus img{
	filter:brightness(.5);
}
.service-item .btn{
	align-self:end;
	margin-bottom:var(--leading);
	position: relative;
}
.service-item:hover .btn, .service-item:focus .btn{
	background: #5CA026;
	border-color: #5CA026;
}

/* Catalogs */
.catalogs h2{text-align: left;}
.catalogs-list{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:var(--leading);
}
.catalog{
	display:grid;
	grid-template-areas: "content";
	text-decoration: none;
}
.catalog.wide{
	grid-column-end: span 2;
}
.catalog > *{
	grid-area: content;
}
.catalog img{
	border-radius:10px;
}
.catalog:hover img, .catalog:focus img{
	filter:brightness(.5);
}
.catalog .btn{
	align-self:end;
	margin-bottom:var(--leading);
	position: relative;
}
.catalog:hover .btn, .catalog:focus .btn{
	background: #5CA026;
	border-color: #5CA026;
}
.catalog:hover .btn-blue, .catalog:focus .btn-blue{
	background: var(--dark);
	border-color: var(--dark);
}

/* Partners */
.partners-list{
	margin-top:3rem;
	display:flex;
	justify-content: space-around;
	align-items: center;
}
.partners-list img{max-width:18rem}
.partners-block .tns-outer{
	position: relative;
}
.partners-block .tns-outer [data-action="start"], .partners-block .tns-outer [data-action="stop"]{
	position: absolute;
	right: 0;
	bottom:-1.5rem;
}
.partners-block .tns-outer [data-controls="prev"], .partners-block .tns-outer [data-controls="next"]{
	position: absolute;
	left: -3rem;
	top:50%;
	transform: translateY(-50%);
}
.partners-block .tns-outer [data-controls="next"]{
	left: auto;
	right: -3rem;
}
.partners-block .tns-outer button{
	color:var(--green);
	background: transparent;
	border:none;
	padding:0;
}
.partners-block .tns-outer button svg{
	width:1.5rem;
	height:1.5rem;
	fill: currentColor;
}
.partners-block .tns-outer [data-controls="prev"] svg, .partners-block .tns-outer [data-controls="next"] svg{
	width:3rem;
	height:3rem;
}

/*--------------------------------------------------------------
Home page
--------------------------------------------------------------*/

.home-header{margin-top:3rem;}

/*---------------------------------------------------------------
Product page
---------------------------------------------------------------*/

.product .tns-outer{
	border: 1px solid var(--dark_gray);
	border-radius: 1rem;
	overflow: hidden;
}
.slider-nav{
	display:grid;
	grid-template-columns: repeat(6, 1fr);
	gap:1rem;
	margin-top:1rem;
	list-style: none;
}
.slider-nav > li{
	border:1px solid transparent;
	border-radius:.75rem;
	overflow: hidden;
}
.slider-nav .tns-nav-active{
	border-color: var(--dark_gray);
}
.tns-outer img, .slider-nav img{border-radius:0 !important}
.product-features{
	margin-top:var(--leading);
	border:1px solid var(--dark_gray);
	border-radius: 1rem;
	padding:var(--leading);
}
.product-features table{
	width:100%;
}
.product-features th, .product-features td{
	padding-top: .5rem;
	padding-bottom: .5rem;
}
.product-features th{
	text-align: left;
	padding-right:1rem;
}
.product-features td{text-align: right;}
.product-panel{
	background: var(--light_blue);
	border-radius:1rem;
	padding:var(--leading);
	margin-top: var(--leading);
}
.product-panel h2, .product-panel h3{
	text-align: center;
}
.product-panel p + p{
	margin-top:0;
}
.product h1{
	font-size: 1.25rem;
	font-weight: 700;
	color:var(--dark);
}
.brand{
	font-size:1.25rem;
}
.price{
	margin:1rem 0;
	font-size:1.25rem;
	font-weight: 700;;
}
.add-to-cart{
	display: flex;
	gap:1rem;
	align-items: center;
}
.add-to-cart .quantity{
	width:6rem;
}

/*--------------------------------------------------------------
Category page
--------------------------------------------------------------*/

.subcategories .wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	padding-top:var(--leading);
	padding-bottom:var(--leading);
}
.subcategories a{
	padding:.25rem 2rem;
	text-decoration: none;
	border:1px solid var(--blue);
	color:var(--blue);
	border-radius:7px;
}
.subcategories a:hover, .subcategories a:focus{
	background: var(--blue);
	color:var(--white);
}

/*--------------------------------------------------------------
Subcategory page
--------------------------------------------------------------*/

.product-list-item .product-image{
	display:block;
	aspect-ratio: 1 / 1;
	background: var(--white);
	border-radius:.5rem;
	overflow: hidden;
	border:1px solid var(--white);
}
.product-list-item .product-image:hover, .product-list-item .product-image:focus{
	border-color: var(--dark_gray);
}
.product-list-item .product-image img{
	border-radius: 0;
	width:100%;
	height:100%;
	object-fit: contain;
}
.product-list-item .info-container{margin-top:1rem;}
.product-list-item .product-title{
	text-decoration: none;
	color:var(--dark);
}
.product-list-item .product-title h2{display: inline;}
.product-list-item .product-title span:after{
	content:' -';
}
.product-list-item .product-title:hover, .product-list-item .product-title:focus{
	color:var(--blue);
}
.product-list-item .product-title span{
	font-weight: 700;
	font-size:1.25rem;
	text-transform: uppercase;
}
.product-list-item .product-title h2{
	font-size:1rem;
	font-weight: 400;
	margin:0;
	color:inherit;
}
.product-list-item .add-to-cart{
	justify-content: space-between;
}
.product-list-item .add-to-cart .btn{
	font-size:.75rem;
	padding:.25rem 1.25rem;
	margin:0 !important;
}

/*--------------------------------------------------------------
Contact page
--------------------------------------------------------------*/

.contact-content .tel{
	text-decoration: none;
}
.contact-content .tel:hover, .contact-content .tel:focus{
	color:var(--green);
}
.contact-content .subtitle{font-weight: 700;}
.map{
	height:40rem;
}

/*--------------------------------------------------------------
Media queries
--------------------------------------------------------------*/

@media (min-width:72rem){

	:root{
		--width:80rem;
	}

	/* Typography */
	h1,.h1-like{font-size: 3rem}
	h2,.h2-like{font-size: 2.5rem}

	/* Grids */
	.grid{
		grid-template-columns: repeat(12, minmax(0,1fr));
		gap:3rem
	}
	.col-3{grid-column-end: span 3}
	.col-4{grid-column-end: span 4}
	.col-5{grid-column-end: span 5}
	.col-6{grid-column-end: span 6}
	.col-7{grid-column-end: span 7}
	.col-8{grid-column-end: span 8}
	.col-12{grid-column-end: span 12}

	.gap-l{gap:5rem}

	.align-center, .align-center > .grid{align-items: center}

	/* Sliders */

	.slider[data-slides="even"][data-snap="center"] .slider-container > * {
		scroll-snap-align: unset;
	}
	.slider[data-slides="even"][data-snap="center"] .slider-container > *:before{
		content: "";
		display: block;
		position: absolute;
		left: calc((var(--item-gap)/2)*-1);
		top: 0;
		/*FF fix setting w+h to 1 px - otherwise snap will not occur*/
		width: 1px;
		height: 1px;
		scroll-snap-align: var(--snap-align);
	}
	.slider-nav:after {
		width: 3rem;
		height: 3rem;
		padding: 0.5rem;
	}

	/* Main header */
	.main-header .wrapper{
		/*position: relative;*/
		display: flex;
		justify-content: space-between;
	}
	.logo img{
		height:7rem;
		width:7rem;
	}
	.menu-toggle{display:none;}
	.menu-container{
		pointer-events: auto;
		visibility:visible;
		position:static;
		top:0;
		height:auto;
		opacity:1;
		flex-direction:row;
		align-items: center;
		background:transparent;
		transform:none;
		overflow:visible;
		gap:1rem;
		padding:0;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: baseline;
		box-shadow: none;
	}
	.menu-container > .btn{
		margin:0;
	}
	.main-menu{
		flex-direction: row;
		align-items:center;
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	.menu-container .main-menu + *{margin-left:3rem}
	/*.has-submenu{position:relative}*/
	.main-menu a, .main-menu button{
		/*position:static;*/
		border:none;
	}
	.submenu{
		display:flex;
		gap:var(--leading);
		justify-content: space-between;
		flex-wrap: wrap;
		width:max-content;
		position: absolute;
		z-index: 1;
		top: 100%;
		padding:3rem calc((100% - var(--width)) / 2 + var(--leading));
		left:0;
		width:100%;
		transform: scaleY(0);
		transform-origin: top;
		background: var(--gray);
		transition: transform .3s ease, opacity .3s ease;
	}
	.submenu.active{
		display: flex;
		opacity: 1;
		transform: scaleY(1);
	}

	.submenu a{
		margin-left:0;
		font-weight: 700;
		font-size:.875rem;
	}
	.submenu ul{display:block}
	.submenu ul a{
		font-weight: 400;
		font-size:.75rem;
	}
	.login-btn, .account-btn{
		border-color: var(--blue);
		border:2px solid var(--blue);
		border-radius: 7px;
		padding:.25rem 2rem;
	}
	.login-btn:hover, .login-btn:focus{
		background: var(--blue);
		color:var(--white);
		border-color: var(--blue);
	}
	.account-btn{
		background: var(--blue);
		color:var(--white);
	}
	.account-btn:hover, .account-btn:focus{
		background: var(--green);
		border-color: var(--green);
	}
	.icon-btn svg{display: none;}
	.icon-btn span{display: inline;}

	/* Content */
	.content > div{
		padding:5rem 0;
	}
	.content img{
		border-radius:1.75rem;
	}

	/* Main footer */
	.main-footer{
		padding:5rem 0;
	}
	.footer-logo, .footer-nav{align-self: center;}
	.location{
		display: flex;
		flex-direction: column;
	}
	.location p:last-of-type{
		margin-bottom: 1rem;
	}
	.location .btn{margin-top:auto;}
	.credits{
		grid-column-end: span 12;
	}

	/* Page header */
	.page-header{
		padding:5rem 0;
	}
	.page-header img{
		border-radius: 1.75rem;
	}

	/* Home page */
	.home-header{margin-top:8rem;}
	.home-header .col-5{margin-bottom: 3rem}
	.home-header .col-7{align-self: end;}

	/* Product page */
	.product-features, .product-panel{
		padding:3rem;
		margin-top:3rem;
	}

}

/*--------------------------------------------------------------
Maps
--------------------------------------------------------------*/

.leaflet-tile,.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-bar a,.leaflet-control-attribution a{text-decoration:none}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline-offset:1px;font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-overlay-pane svg,.leaflet-tooltip{-moz-user-select:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,0.4);color:#0078a8}.leaflet-tile{filter:inherit}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane,.leaflet-pane{z-index:400}.leaflet-map-pane svg,.leaflet-tile-pane{z-index:200}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto;float:left;clear:both}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-align:center;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(../img/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../img/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../img/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;overflow:hidden;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}