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

:root {
	--iqblue: #006EC6;
	--iqred: #d43b46;
}

* {
	box-sizing: border-box;
}
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}
h1, h2, h3 {
	font-family: Georgia, 'Times New Roman', Times, serif;
}
h1 {
	font-weight: 400;
}
h3 {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif !important;
	font-style: italic;
	font-weight: normal;
	font-size: 1.5em;
}
p {
	margin-top: 0px;
}
::-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;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

 /* ==========================================================================
   Author's custom styles
   ========================================================================== */

.siteid {
	display: grid;
	grid-template-columns: 1fr;
	text-align: center;
	grid-row-gap: 20px;
}
nav {
	font-size: 0.9em;
}
a.menuitem {
	display: inline-block;
	padding: 10px;
	color: black;
	text-decoration: none;
}
a.menuitem:hover {
	background-color: var(--iqblue);
	color: white;
}
.current {
	background-color: #8cd2f7;
}
.hero {
	height: 200px;
	background-color: black;
	display: flex;
	align-items: center;
	justify-content: center;
	background-position: 50% 50%;
	background-size: cover;
	color: white;
}
.hero h1 {
	color: white;
	text-align: center;
	text-shadow: 0 0 10px black;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-weight: 400;
}
.hero.home {
	background-color: #231f20;
	background-image: url('../img/hero-home.gif');
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
}
.hero.home img {
	max-height: 180px;
}
.band {
	margin: 2vw 0 4vw;
}
.band.notop {
	margin-top: 0;
}
.band.nobottom {
	margin-bottom: 0;
}
.container {
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
.logos {
	text-align: center;
}
.logos img {
	height: 35px;
}
footer {
	font-size: 0.75em;
	text-align: center;
}
.col2 {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 20px;
}
.col4 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 10px;
}
.onethirdleft {
	grid-template-columns: 1fr;
}
.onethirdright {
	grid-template-columns: 1fr;
}
.fullwidth {
	width: 100%;
}
.titleblack {
	font-weight: bold;
	font-size: 2.3em;
}
.button {
	padding: 10px 12px;
	background-color: var(--iqred);
	color: white;
	text-decoration: none;
	margin: 20px auto;
	display: block;
	cursor: pointer;
}
.by {
	font-style: italic;
	font-size: 0.9em;
}
.quote {
	margin-left: 50px;
}
.quote::before {
	content: url('../img/quotemark.png');
	position: relative;
	margin-left: -60px;
	top: 60px;
}
h1 {
	color: var(--iqblue);
	text-align: center;
}
.contactbutton	{
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
}
.reasons li {
	margin-bottom: 2.5em;
}
figcaption {
	font-style: italic;
	text-align: center;
}
.servicetitle {
	height: 90px;
	display: flex;
	align-items: flex-end;
}
.servicetitle img {
	float: left;
	vertical-align: bottom;
	margin-right: 10px;
}
.services {
	display: grid;
}
.services div {
	/*margin-bottom: 50px;*/
}
form {
	width: 100%; 
}
.formlogo {
	width: 100%;
}

.formgroup { margin-bottom: 50px; }
.formitem	{ 
	margin-bottom: 20px;
}
.formitem label {
	color: #666;
	font-size: 0.85em;
	display: block;
	padding-bottom: 10px;
}
.formitem input[type=text],
	textarea,
	.formitem input[type=tel],
	.formitem input[type=email] {
	width: 100%;
	padding: 10px;
	font-size: 1.2em;
}
.formitem.check label {
	display: inline-block;
	margin-left: 10px;
}
ol > li {
	margin-left: -25px;
}
.thanks {
	display: none;
	background-color: #F3D985;
	padding: 5px 7px;
}
.thanks p {
	color: #4A94A0;
	font-weight: bold;
	font-style: italic;
	margin: 0;
}




 /* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

 .hidden {
  display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; /* 1 */
}

/*
* Extends the .visuallyhidden class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}
.invisible {
  visibility: hidden;
}

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}
.center {
	text-align: center;
	justify-self: center;
}

    /*==========  Mobile First Method  ==========*/
 
    /* Custom, iPhone Retina */ 
    @media only screen and (min-width : 320px) {
       html {
       	font-size: 0.9em;
       }
       .logo img { width: 300px; }
    }

    /* Extra Small Devices, Phones */ 
    @media only screen and (min-width : 480px) {
		.formlogo {
			width: auto;
		}
		.col4 {
			grid-template-columns: repeat(2, 1fr);
		}
    }

    /* Small Tablets */
    @media only screen and (min-width : 600px) {
		.hero {
			height: 350px;
		}
		.hero.home img {
			max-height: 320px;
		}
		.onethirdleft {
			grid-template-columns: 350px 1fr !important;
		}
		.onethirdright {
			grid-template-columns: 2fr 1fr !important;
		}
		.button {
			display: inline-block;
		}
    }

    /* Small Devices, Tablets */
    @media only screen and (min-width : 768px) {
       html {
       	font-size: 1em;
       }
		.container {
		  width: 736px;
		}
		.siteid {
			grid-template-columns: 1fr 1fr;
			text-align: center;
		}
		.logo {
			text-align: left;
			margin-left: 7vw;
		}
		.nav {
			margin-right: 7vw;
			display: flex;
			align-items: center;
			justify-content: flex-end;
		}
		.hero {
			height: 500px;
		}
		.hero.home img {
			max-height: 460px;
		}
		.col2 {
			grid-template-columns: 50% 1fr;
		}
		.col4 {
			grid-template-columns: repeat(4, 1fr);
		}
		.logos img {
			height: 50px;
		}
		.services {
			grid-template-rows: 1fr 1fr 1fr;
			grid-template-columns: 50% 50%;
			grid-gap: 1px 50px;
			grid-column-gap: 10px; 
		}   
		.contactbutton {
			text-align: left;
			justify-content: flex-start;
		}
	}

    /* Medium Devices, Desktops */
    @media only screen and (min-width : 992px) {
		.container {
		  width: 80vw;
		  max-width: 1240px;
		}
 		.logos img {
			height: 50px;
		}    
 		.logo img { width: auto; }
 		.quote {
			margin-left: 0px;
		}
  }

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

    }


@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:
     * 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;
    }
}


