@import url('https://fonts.googleapis.com/css?family=Montserrat:400,700|Open+Sans:400,400i,700&display=swap');

* {
	margin:0;
	padding:0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
  color: #222;
  font-family: "Open Sans", Arial, sans-serif;
  font-style: normal;
  font-size: 1em;
  line-height: 1.4;
  overflow-x: hidden;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
  max-width: 100%;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header {}
section {
	display: table;
	border-collapse: collapse;
}
header .logo {
	padding: 20px 0px;
	text-align: center;
}
.logo img {
	width: 260px;
}
.hero video {
	width: 100%;
	max-width: 1920px;
	background: #148f8e;
}
footer {
	background-color: black;
	color: white;
}
footer a {
	color: white;
}
footer .logo {
	margin-bottom: 30px;
}
h1, h2, h3 {
	font-family: "Montserrat", Arial, sans-serif;
	color: #707070;
}
h1 {
	margin: 30px auto;
	font-size: clamp(2.5em, 9vw, 90px);
}
h3 {
	margin-bottom: 1em;
}
em {
	color: #CE705A;
}
.phone a {
	font-family: "Montserrat", Arial, sans-serif;
	color: #707070;
	font-size: 2em;
	font-weight: bold;
	text-decoration: none;
}
.getquote a {
	padding: 10px 12px;
	background-color: rgba(255, 255, 255, 0.8);
	border: 2px solid #707070;
	border-radius: 10px;
	margin: 20px auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	column-gap: 10px;
	text-decoration: none;
	color: #707070;
	font-size: 1.5em;
	transition: background-color 0.5s;
}
.getquote a:hover {
	background-color: rgba(255, 255, 255, 1.0);
}
p.rush {
	font-weight: bold;
	color: #707070;
	margin: 1em 0px;
}
h2.extra {
	color: #f00;
	padding: 0 20px;
	margin: 3vw auto;
	max-width: 75%;
	font-size: clamp(2em, 4vw, 56px);
	font-family: Impact, sans-serif;
}
h2.extra a {
	color: inherit;
	text-decoration: none;
}
p.extra {
	margin: 1em 0px;
}
.call2action {
	color: #F00;
	font-family: Impact, sans-serif;
	font-size: clamp(2em, 14vw, 35px);
	font-weight: normal;
	margin-top: 1em;
}
.call2action a {
	color: inherit;
	text-decoration: none;
}
.broadband {
	width: 100%;
	padding: 30px 0px;
	padding: 10vw 0px;
}
.container {
  margin-left: auto;
  margin-right: auto;
  padding: 10vw 15px;
  width: 100%;
}
.grid {
  display: grid;
  grid-template-columns: 1fr;
}
.grid:nth-child(even) div:first-of-type {
	order: 1;
}
.gray {
	background-color: #efefef;
}
.green {
	background-color: #F2F2F2;
}
.orange {
	background-color: #F2F2F2;
}
.services {

}
.service {
	margin-bottom: 30px;
}
.green h2 {
	color: white;
	padding: 10px 0px;
	background-color: #008E8F;
}
.orange h2 {
	color: white;
	padding: 10px 0px;
	background-color: #F89A41;
}
.visual {
	min-height: 200px;
	max-width: 100%;
}
.textual {
	padding: 20px;
}
.buttons {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 20px;
	margin: 20px 0px;
}
.button {
	padding: 15px;
	border: 2px solid #CE705A;
	border-radius: 10px;
	background-color: rgba(246, 161, 85, 0.0);
	transition: background-color 0.3s 0.5s, color 0.3s 0.5s;
	cursor: pointer;
	font-weight: bold;
	font-size: 1.0em;
	color: #707070;
	text-decoration: none;
}
.button:hover {
	background-color: rgba(246, 161, 85, 0.9);
	color: white;
}
h4:has(a.opportunity) {
	margin-bottom: 30px;
	font-size: large;
}
.opportunity {
	padding: 10px;
	border: 2px solid #00B88F;
	border-radius: 10px;
	background-color: rgba(0, 184, 143, 0.0);
	transition: background-color 0.3s 0.5s, color 0.3s 0.5s;
	cursor: pointer;
	font-weight: bold;
	font-size: 1.0em;
	color: #707070;
	text-decoration: none;
	text-align: center;
}
.opportunity:hover {
	background-color: rgba(0, 184, 143, 0.9);
	color: white;
}
#signage {
	background: url('../img/signage.png') no-repeat, #F2F2F2;
	background-position-x: center;
	background-position-y: 45px;
	background-size: contain;
	min-height: 275px;
}
#wearables {
	background: url('../img/wearables.png') no-repeat center center, #F2F2F2;
	background-size: contain;
	min-height: 275px;
}
#labels {
	background: url('../img/labels.png') no-repeat, #F2F2F2;
	background-position-x: center;
	background-position-y: 45px;
	background-size: contain;
	min-height: 275px;
}
#printers {
	background: url('../img/scanners.png') no-repeat, #F2F2F2;
	background-position-x: center;
	background-position-y: 75px;
	background-size: contain;
	min-height: 275px;
}
#specialties {
	background: url('../img/bgpromotional.png') no-repeat center bottom, #F2F2F2;
	background-size: contain;
	min-height: 275px;
}
#printing {
	background: url('../img/commercial-printing.png') no-repeat center center, #F2F2F2;
	background-size: contain;
	min-height: 275px;
}
.about {
	grid-gap: 20px;
}
.officephoto img {
	width: 100%;
}
.people {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	margin: 30px 0px;
}
.person {
	margin: 25px 10px;
}
.person img {
	border-radius: 100%;
	max-width: 200px;
	min-width: 100px;
	width: 70%;
	margin: 0px auto 15px;
}
.title {
	font-size: 0.9em;
	font-style: italic;
}
.personname {
	font-family: "Open Sans", sans-serif;
	font-weight: bold;
	color: #707070;
	font-size: 0.9em;
}
.m a {
	color: #008E8F;
	transition: color 1s;
	display: inline-block;
	margin: 20px 0;
}
.m a:hover {
	color: #F89A41;
}
.ph {
	font-size: 0.9em;
}
.ph a {
	color: inherit;
	text-decoration: none;
}
footer .logo img {
	max-width: 150px;
}
footer {
	font-size: 0.85em;
}
.promocode {
	border: 3px dashed  #008E8F;
	padding: 3px 5px;
	color: #707070;
	font-family: "Open Sans", sans-serif;
	font-weight: bold;
}
.greentext {
	color: #008E8F;
}
.dashgreen {
	border-top: 8px dashed #008E8F;
	border-bottom: 8px dashed #008E8F;
	padding: 30px 0px;
}
.newproductpage {
	text-align: center;
}
.relative {
	position: relative;
}
.fullwidth {
	width: 100%;
	max-width: 920px;
}
.milkywayorange {
	background-image: url('../img/milky-way.jpg');
	background-position: center;
	background-size: cover;
}
.textlink {
	font-style: italic;
	color: inherit;
	
}
/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
}
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}
.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}
.invisible {
  visibility: hidden;
}
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.clearfix:after {
  clear: both;
}
.center {
	text-align: center;
}

    /*==========  Mobile First Method  ==========*/

    /* Custom, iPhone Retina */ 
    @media only screen and (min-width : 320px) {
        * {
        	text-align: center;
        }
    }

    /* Extra Small Devices, Phones */ 
    @media only screen and (min-width : 480px) {
		.buttons {
			grid-template-columns: repeat( 4, 1fr );
		}
		.button {
			grid-column: span 2;
		}
		.button:nth-last-child(1):nth-child(odd) {
			grid-column: 2 / span 2;
		}
    }

    /* Small Devices, Tablets */
    @media only screen and (min-width : 768px) {
    	header {
    		display: block;
    		position: absolute;
    		top: 0px;
    		width: 100%;
    		height: 50px;
    		background-color: white; 
    	}
    	header::after {
    		content: '';
    		position: absolute;
    		border-top: 100px solid white;
    		border-right: 98.8vw solid transparent;
    		bottom: -100px;
    	}
    	.logo, .quickcontact {
    		z-index: 1;
    	}
    	.quickcontact {
    		padding-top: 20px;
    	}
		.grid {
			grid-template-columns: 1fr 1fr;
		}
		.grid:nth-child(even) div:first-of-type {
			order: 0;
		}
		.toptitle {
			margin: 5vw auto 3vw;
		}
		h2.extra {
			max-width: 45%;
		}
		h4:has(a.opportunity) {
			margin-bottom: 30px;
			font-size: xxx-large;
		}
		#wearables {
			background-size: contain;
			background-position-y: center;
			background-position-x: left;
			min-height: 475px;
		}
		#printers, #signage, #specialties, #printing, #labels {
			background-size: contain;
			background-position-y: center;
			background-position-x: right;
			min-height: 475px;
		}
		.container {
			padding-top: 7vw;
			padding-bottom: 7vw;
			max-width: calc(100% - 30px);
		}
		.about {
			grid-template-columns: 50% 50%;
		}
		.buttons {
			grid-template-columns: repeat( 2, 1fr );
		}
		.button {
			grid-column: span 1;
		}
		.button:nth-last-child(1):nth-child(odd) {
			grid-column: 1 / span 1;
		}
		footer div.container {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
		}
		.footertext {
			text-align: left;
			margin-top: 0px;
		}
		.footercontact {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			min-height: 120px;
			align-items: flex-end;
		}
		.newproductpage {
			position: absolute;
			top: 80px;
			right: 40px;
		}
    }

    /* Medium Devices, Desktops */
    @media only screen and (min-width : 992px) {
		.container {
			padding-top: 7vw;
			padding-bottom: 7vw;
			max-width: 920px;
		}
		.visual.green h2 {
			text-align: right;
			padding-right: 20px;
		}
		.visual.orange h2 {
			text-align: left;
			padding-left: 20px;
		}
		.textcontainer, .textcontainer p, .textcontainer h3 {
			text-align: left;
			max-width: 500px;
		}
		.abouttext p {
			text-align: left;
		}
		.left {
			float: right;
		}
		.service {
			margin-bottom: 70px;
		}
    }

    /* Large Devices, Wide Screens */
    @media only screen and (min-width : 1200px) {

    }
        
    
@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

