@import url('https://fonts.googleapis.com/css?family=Libre+Caslon+Text|Playfair+Display|Roboto|Roboto+Slab&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP|Open+Sans&display=swap');

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
    ========================================================================== */

/**
* Remove the margin in all browsers.
*/

body {
	margin: 0;
}

/**
* Render the `main` element consistently in IE.
*/

main {
	display: block;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
    ========================================================================== */

/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
    ========================================================================== */

/**
* Remove the gray background on active links in IE 10.
*/

a {
	background-color: transparent;
}

/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/

b,
strong {
	font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
* Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
    ========================================================================== */

/**
* Remove the border on images inside links in IE 10.
*/

img {
	border-style: none;
}

/* Forms
    ========================================================================== */

/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/

button,
input {
	/* 1 */
	overflow: visible;
}

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/

button,
select {
	/* 1 */
	text-transform: none;
}

/**
* Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
* Remove the inner border and padding in Firefox.
*/

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
* Restore the focus styles unset by the previous rule.
*/

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
* Correct the padding in Firefox.
*/

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/

progress {
	vertical-align: baseline;
}

/**
* Remove the default vertical scrollbar in IE 10+.
*/

textarea {
	overflow: auto;
}

/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
* Remove the inner padding in Chrome and Safari on macOS.
*/

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
    ========================================================================== */

/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/

details {
	display: block;
}

/*
* Add the correct display in all browsers.
*/

summary {
	display: list-item;
}

/* Misc
    ========================================================================== */

/**
* Add the correct display in IE 10+.
*/

template {
	display: none;
}

/**
* Add the correct display in IE 10.
*/

[hidden] {
	display: none;
}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html {
	font-size: 0.95em;
}

body {
	font-size: 130%;
	background-color: #f3f7fc;
	border-top: 5px solid #679bd5;
	font-family: 'Open Sans', sans-serif;
}

h2 {
	margin: 1em 0;
}
h3 {
	margin: 0.8em 0;
}
h4 {
	margin: 0.7em 0;
}

/* .cover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-image: url('img/cover.jpg');
    z-index: -1;
    filter: brightness(30%);
} */

.overlay {
	background-image: url('img/logo.svg');
	background-position: right 12rem;
	background-repeat: no-repeat;
	background-attachment: scroll;
}

.header,
.main,
.customers .inner {
	max-width: 90%;
	margin: 0 auto;
	padding: 2rem 1rem;
}

.grid-item {
	width: 200px;
}
.grid-item--width2 {
	width: 500px;
}

.header {
	font-family: "Open Sans", sans-serif;
	color: #222222;
	height: 21vh;
	display: flex;
}

.main-nav {
	flex: 1;
	text-transform: uppercase;
	text-align: right;
}

.main-nav-list {
	list-style-type: none;
	display: flex;
	flex-grow: 1;
	flex-shrink: 1;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: stretch;
	align-content: stretch;
}

.main-nav-list li {
	/* flex: 1; */
	line-height: 1.6;
}

.main-nav-list li a {
	color: #333333;
	text-decoration: none;
}

.logo-text {
	flex: 1;
	margin: 0;
	font-size: 1.6rem;
	font-weight: normal;
	text-transform: uppercase;
	padding: 0;
}

.logo-text a {
	color: #679bd5;
	text-decoration: none;
}

button {
	background-color: #3366ff;
	color: #ffffff;
	border: 0px;
	border-radius: 1rem;
	padding: 0.5rem 1rem;
}

.main {
	padding-top: 5rem;
	height: 59vh;
}

.jumbo .text {
	margin: 0;
	font-family: 'Noto Serif JP', serif;
	font-size: 4rem;
	font-weight: 100;
	color: #333333;
}

.jumbo .text .period {
	color: #3366ff;
}

.jumbo .subtext {
	margin: 0;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	font-size: 1.5rem;
	line-height: 4rem;
	color: #999999;
}

.callus {
	margin-top: 2rem;
	display: block;
}

.products {
	width: 100%;
	background-color: #ffffff;
	height: 21vh;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.products h3 {
	font-weight: normal;
	font-size: 0.9rem;
	padding: 0.5rem 5rem;
}

.product,
.productx {
	text-align: center;
	padding: 20vh 0 0 0;
	position: relative;
}

.product::before,
.productx::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	filter: brightness(81%) saturate(80%);
	background-position: center;
	background-size: cover;
}

.product:hover::before,
.productx:hover::before {
	filter: brightness(81%) saturate(100%);
}

.product:hover,
.productx:hover {
	filter: grayscale(0%);
}

.product .inside {
	position: relative;
	color: #ffffff;
	padding: 1em 0;
	background-color: rgba(0, 0, 0, 0.5);
}

.cctv::before {
	background-image: url('img/cctv.jpg');
}
.vdp::before {
	background-image: url('img/vdp.jpg');
}
.pas::before {
	background-image: url('img/pas.jpg');
}
.epabx::before {
	background-image: url('img/epabx.jpg');
}
.bio::before {
	background-image: url('img/bio.jpg');
}

.customers {
	background: white;
	padding-top: 5rem;
}

.customers h2 {
	margin-bottom: 2rem;
	padding-left: 2rem;
}

.contactmain {
	display: flex;
}

.contactinfo,
.map {
	flex: 1;
	padding: 5%;
}

.contactinfo td {
	display: block;
}

.contactinfo tr {
	padding: 0;
	margin: 0;
}

.fcol {
	font-weight: bold;
	margin: 0.5em 0;
}

.productx {
	float: none;
	display: block;
	width: 30%;
}

.producti:nth-child(odd) {
	background: #dfe9f7;
}

.productx .inside {
	position: relative;
	color: #ffffff;
	padding: 0.5em 0;
	background-color: rgba(0, 0, 0, 0.5);
}

.producti {
	display: block;
	clear: left;
	content: "";
	overflow: hidden;
}

.productb,
.productx {
	float: left;
}

.productb {
	clear: right;
}

.productb {
	width: 70%;
	padding: 1.5rem 3rem;
}

.productb p {
	font-style: italic;
	padding-bottom: 1em;
}

.productb ul:before {
	content: 'Brands: ';
	padding-bottom: 0.5em;
	display: block;
}

.productb ul {
	padding-left: 1.5em;
}

.productsec.main {
	max-width: 1080px;
	margin: 0 auto;
}

@media screen and (max-width: 1365px) {
	.overlay {
		background-image: none;
	}

	body {
		padding: 0;
	}

	.header,
	.main {
		height: auto;
		max-width: 100%;
		padding: 2rem;
	}

	.productsec.main {
		padding: 0;
	}

	.customers {
		max-width: 90%;
	}

	.header {
		padding: 0;
		display: block;
		max-width: 100%;
	}

	.logo-text,
	.main-nav {
		display: block;
		float: none;
		text-align: center;
		width: 100%;
	}

	.logo-text {
		padding: 1.4rem 0;
		background-color: #333333;
	}

	.main-nav {
		overflow: hidden;
		border: 1px solid #dfe9f7;
		background-color: #dfe9f7;
		color: #ffffff;
		border-width: 1px 0;
	}

	.main-nav-list li:first-child {
		display: none;
	}

	.main-nav-list li a {
		color: #111111;
		display: inline-block;
		width: 100%;
		padding: 1rem 0;
	}

	.main-nav-list li a:hover {
		background-color: #cadcf2;
	}

	.products {
		grid-template-columns: 1fr 1fr;
		height: auto;
	}

	.product:last-child {
		grid-column-start: 1;
		grid-column-end: 3;
	}

	.contactmain {
		display: block;
	}

	.callus {
		text-align: center;
		margin: 3rem 0;
	}

	.callus button {
		padding: 1.2rem;
		border-radius: 3rem;
	}

	.callus button:before {
		content: "Call us at ";
	}

	.contactinfo {
		display: block;
	}
}

.image-grid .grid-item {
	width: 200px;
	padding: 0.5em;
}

.image-grid .grid-item--width2 {
	width: 400px;
}

@media screen and (max-width: 425px) {
	.customers .inner {
		padding: 5%;
		margin: 0;
	}

	.image-grid .grid-item {
		max-width: 42%;
		padding: 0.3em;
		margin: 0.2em;
		/* box-shadow: #dddddd 0 0 1px 1px; */
	}

	.image-grid .grid-item--width2 {
		max-width: 100%;
	}
}

@media screen and (max-width: 676px) {
	.productx,
	.productb {
		display: block;
		float: none;
		width: 100%;
	}
}

.contactinfo table tr {
	padding-bottom: 2rem;
}

/* Slideshow container */
.slideshow-container {
	position: relative;
	background: #f1f1f1f1;
	margin-top: 3.5rem;
}

/* Slides */
.mySlides {
	display: none;
	padding: 80px;
	text-align: center;
}

/* Next & previous buttons */
.prev,
.next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	margin-top: -30px;
	padding: 16px;
	color: #888;
	font-weight: bold;
	font-size: 20px;
	border-radius: 0 3px 3px 0;
	user-select: none;
}

/* Position the "next button" to the right */
.next {
	position: absolute;
	right: 0;
	border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
	background-color: rgba(0, 0, 0, 0.8);
	color: white;
}

/* The dot/bullet/indicator container */
.dot-container {
	text-align: center;
	padding: 20px;
	background: #ddd;
}

/* The dots/bullets/indicators */
.dot {
	cursor: pointer;
	height: 15px;
	width: 15px;
	margin: 0 2px;
	background-color: #bbb;
	border-radius: 50%;
	display: inline-block;
	transition: background-color 0.6s ease;
}

/* Add a background color to the active dot/circle */
.active,
.dot:hover {
	background-color: #717171;
}

/* Add an italic font style to all quotes */
q {
	font-style: italic;
}

/* Add a blue color to the author */
.author {
	color: cornflowerblue;
	margin-top: 1em;
}

h2 {
	text-align: center;
	padding: 20px;
}
/* Slider */

.customers.container {
	min-width: 100%;
}

.customer-logos {
	max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 2rem;
}

.slick-slide {
	margin: 0px 20px;
	background-color: #ffffff;
}

.slick-slide img {
	width: 100%;
}

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}

.jumbo .text {
	text-align: left;
	padding: 0;
}

footer {
    background-color: #dddddd;
}

footer .container {
    padding: 2rem 1rem;
    max-width: 90%;
    margin: 0 auto;
}
