:root {
	--blue: #29477b;
	--body-color: #666;
	--lightgrey: #f5f6fa;
	--grey: #ddd;
	--darkgrey: #0f0f0f;
	--darkgrey-hover: #242424;
	--border-radius: 4px;
	--content-padding: 30px;
}
@media(max-width:480px) {
	:root {
		--content-padding: 15px;
	}
}
 

* {
	box-sizing: border-box;
}
body {
	background: var(--lightgrey);
	color: var(--body-color);
	font-family: Arial, Helvetica, Roboto, sans-serif;
	margin: 0;
}
b {
	color: var(--blue)
}
a {
	color: var(--blue);
	text-decoration: none;
}
a:hover {
	color:black;
}
p {
	margin: 0 0 15px 0;
	line-height: 1.6;
}
h1, h2, h3 {
	color: var(--blue);
}


img {
	max-width: 100%;
	height: auto;
}



header {
	background: white;
}
header .grid {
	max-width: 1200px;
	padding: var(--content-padding);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 300px 1fr;
	align-items: center;
}

header .mobile-menu-toggler {
	display: none;
	justify-content: end;
}
header .mmt {
	display: flex;
	background: var(--lightgrey);
	padding: 15px 10px;
	border: 0;
    flex-flow: row wrap;
    gap: 7px;
	width: 50px;
}
header .mmt span {
	width: 100%;
	height: 3px;
	background: var(--darkgrey);
	display: block;
	border-radius: var(--border-radius);
}
header .mmt span:last-child { margin: 0 }

.mobile-menu {
	height: 100%;
	width: 250px;
	position: fixed;
	z-index: 3;
	top: 0;
	left: -250px;
	background-color: var(--blue);
	overflow-x: hidden;
	transition: .5s;
}
.mobile-menu ul {
	margin: 0;
	padding: 0;
}
.mobile-menu li {
	list-style: none;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.mobile-menu a {
	color: white;
	display: block;
	padding: 10px 15px;
}
.mobile-menu .sub-menu {
	margin: 0;
	padding: 0;
}
.mobile-menu .sub-menu a {
	padding-left: 30px
}



header .menu {
	display: flex;
	flex-flow: row wrap;
	list-style: none;
	justify-content: end;
	margin: 0;
	padding: 0;
}
header .sub-menu {
	list-style: none;
	position: absolute;
	background: white;
	display: none;
	box-shadow: 0 9px 15px rgba(0,0,0,0.1);
	min-width: 250px;
	padding: 0;
	font-size: smaller;
}
header .sub-menu a:hover {
	background: var(--lightgrey);
}
header .menu a {
	display: block;
	padding: 5px 10px;
}
header .menu-item-has-children {
	position: relative;
}
header .menu-item-has-children>a {
	padding-right: 25px;
}
header .menu-item-has-children:hover > .sub-menu {
	display: flex;
	flex-flow: column wrap;
}
header .menu-item-has-children::after {
	content: '';
	position: absolute;
	top: 6px;
	right: 0;
	width: 16px;
	height: 13px;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%2329477b" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708"/></svg>');
}


@media(max-width:600px){
	header nav {
		display: none;
	}
	header .mobile-menu-toggler {
		display: flex;
	}
	header .grid {
		grid-template-columns: 200px 1fr;
	}
}



main {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--content-padding);
}
main li {
	line-height: 1.6;
}



.btn {
	display: inline-flex;
	border: 2px solid var(--blue);
	padding: 10px 20px;
	color: var(--blue);
	font-weight: 700;
	border-radius: var(--border-radius);
	transition: background-color 0.3s;
}
.btn:hover,
.btn:focus {
	background: var(--blue);
	color: white;
}




.table {
	width: 100%;
	overflow-x: auto;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 30px 0;
}
table td {
	padding: 8px;
	text-align: left;
	vertical-align: top;
}
table th {
	padding: 8px;
	text-align: left;
	background: var(--blue);
	font-weight: 400;
	color: white;
}
table tr:hover td {
	background: var(--grey);
}
table tr:nth-child(odd) {
	background: var(--lightgrey);
}
table span {
	display: block;
	font-size: 14px;
	color: #70797c;
	margin-top: 5px;
}


.pagination {
	text-align: center;
}
.pagination h2 {
	display: none;
}
.pagination .nav-links {
	display: flex;
	flex-flow: row wrap;
	gap: 15px;
}
.pagination .page-numbers {
	display: inline-block;
	color: var(--body-color);
	border: 0;
	background: white;
	padding: 5px 15px;
	border-radius: var(--border-radius);
	box-shadow: 0 0 2px 0 rgba(51, 51, 51, 0.08);
}
.pagination a:hover {
	background: var(--body-color);
	color: white;
}
.pagination .current {
	background: var(--blue);
	color:white;
}


.gallery .thumbs {
	display: flex;
	flex-flow: row wrap;
	gap: 15px;
	margin-top: 15px;
	justify-content: center;
}
.gallery .thumbs img {
	border: 1px solid white;
	cursor: pointer;
	max-width: 80px;
}
.gallery .thumbs img.active {
	border-color: var(--grey);
}
.gallery img {
	display: block;
}


.product-page-grid {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 30px
}
@media(max-width:800px) {
	.product-page-grid {
		grid-template-columns: 1fr;
	}
	.gallery .large {
		max-width: 400px;
		margin: 0 auto;
	}
}

.videos {
	display: flex;
	flex-flow: row wrap;
	gap: 15px;
}



footer {
	background: var(--blue);
	color: rgba(255,255,255,0.6);
	font-size: smaller;
}
footer .grid {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: var(--content-padding);
}
footer ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
footer ul li:first-child {
	font-weight: 700;
}
footer img {
	max-width: 500px;
}



.product-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: var(--content-padding);
}
@media(max-width:900px) {
	.product-list {
		grid-template-columns: 1fr 1fr 1fr
	}
}
@media(max-width:700px) {
	.product-list {
		grid-template-columns: 1fr 1fr
	}
}
@media(max-width:480px) {
	.product-list {
		grid-template-columns: 1fr
	}
	.product-box img {
		max-width: 200px;
	}
}
.product-box {
	background: white;
	padding: 15px;
	border-radius: 5px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border: 1px solid var(--grey);
}
.product-box .model-number span {
	background: var(--blue);
	color: white;
	display: inline-flex;
	padding: 5px 15px;
	border-radius: 5px;
	font-size: smaller;
}
.product-box .name {
	font-weight: 700;
}
.product-box .logo img {
	max-width: 100px;
	display: block;
}

.main-text-logos {
	float: right;
	max-width: 400px;
	margin: 0 0 20px 20px
}