/*! HTML5 Boilerplate v5.0.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
*/

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
@import url('http://fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,700,700italic,800,800italic|Oswald:400,700,300');
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
*/

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
*/

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
*/

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
*/

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
*/

textarea {
  resize: vertical;
}

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

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

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

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;font-size:1em;}
html,body{
  font-family: 'Open Sans', sans-serif;
  background:#eee;
  color:#424242;
}
img{
  max-width: 100%;
}
p{
  line-height: 1.5em;
}
a{
  text-decoration: none;
  color: #555;
}
h1, h2, h3, h4, h5,h6{
  /*font-family: "Oswald","Helvetica Neue",Helvetica,sans-serif;*/
}
h1{
  font-size: 1.8em;
  font-weight: 600;
}
p{
  margin: 1.2em 0;
}
label{
  padding: 5px 0;
  font-weight: 700;
  display: block;
}
select, textarea, input[type="text"], input[type="tel"], input[type="email"], input[type="password"], input[type="number"]{
  font-size: 16px;
  display: block;
  height: 45px;
  margin: 0;
  width: 100%;
  font-family: sans-serif;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  padding: 5px 10px;
  border: solid 1px #ccc;
  transition: box-shadow 0.3s, border 0.3s;
}
textarea{
  min-height: 150px;
}
select:focus, textarea:focus, input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus{
  outline: none;
  border: solid 1px #9c9c9c;
  box-shadow: 0 0 5px 1px #b5b5b5;
}
/*input:focus:required:invalid, select:invalid {
  border: 1px solid red;
  box-shadow: 0 0 5px 1px #febbbb;
  outline: none;
}*/
input[type='submit'], .linkBtn{
  cursor: pointer;
  display: inline-block;
  white-space: nowrap;
  background: #263c89;
  border: 1px solid #777;
  padding: 0 1.5em;
  margin: 0.5em 0;
  font: bold 1em/2em Arial, Helvetica;
  text-decoration: none;
  color: #FFF;
  text-shadow: 0 1px 0 rgba(0,0,0,.8);
  border-radius: .2em;
  /*box-shadow: 0 0 1px 1px rgba(255,255,255,.8) inset, 0 1px 0 rgba(0,0,0,.3);*/
}
input[type='submit']:hover {
  /*    background-color: #ddd;        
      background-image: linear-gradient(top, #fafafa, #ddd);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#fafafa', EndColorStr='#dddddd');*/
  background: #001C72;
}
input[type='submit']:active {
  box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset;
  position: relative;
  top: 1px;
}
input[type='submit']:focus {
  outline: 0;
} 
input[type='submit']:before {
  background: #ccc;
  background: rgba(0,0,0,.1);
  float: left;        
  width: 1em;
  text-align: center;
  font-size: 1.5em;
  margin: 0 1em 0 -1em;
  padding: 0 .2em;
  box-shadow: 1px 0 0 rgba(0,0,0,.5), 2px 0 0 rgba(255,255,255,.5);
  border-radius: .15em 0 0 .15em;
  pointer-events: none;        
}
#wrapper{
  margin: 0 auto;
  box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);
  background: #FFF;
  /*padding: 45px 25px;*/
}
#logo{
  margin: 0 auto;
  display:block;
}
header{
  padding: 25px 30px;
  text-align: center;
}
header hr{
  border: none;
  border-bottom: 1px dotted #ccc;
}
header .socialMedia{
  display: none;
  padding: 10% 0;
}
header .socialMedia img{
  width: 30px;
  opacity: 0.5;
}
nav{
  width: 100%;
  /*font-size: 0.876em;*/
}
nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li a{
  text-align: left;
  display: block;
  margin: 10px 0;
  line-height: 1.6em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-family: 'Times New Roman';
  width: 100%;
}
nav ul li a:hover{
  color: #dd514c;
}
#page{
  display:block;
  overflow:hidden;
  padding: 10px 30px;
}
#page h1{
  margin: 0;
}
#page hr{
  background: #424242;
  border: solid 1px #424242;
}
#front-img{
  list-style: none;
  margin: 5% 0 0 0;
  padding: 0;
}
#front-img li{
  float: left;
  width: 32%;
  /*height: 380px;*/
  max-height: 250px;
  overflow: hidden;
  margin: 0 0 2% 0;
}
#front-img li a{
  width: 100%;
  max-height: 250px;
  margin: 0 0 2% 0;
  display: inline-block;
  overflow: hidden;
  background: #000;
  position: relative;
}
#front-img li span{
  position:absolute;
  top:10px;
  left: 10px;
  display: none;
}
#front-img li a:hover span{
  display: block;
  color:#fff;
  font-size: 1.68em;
  font-family: "Oswald","Helvetica Neue",Helvetica,sans-serif;
  -webkit-transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -ms-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
}
#front-img img{
  overflow: hidden;
  width: 100%;
  box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);
  display: block;

  -webkit-transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -ms-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  /*  position: relative;
    top: 50%;
    transform: translateY(-50%);*/
}
#front-img img:hover{
  opacity: 0.2;
}

#front-img li a{
  height: auto;
}
#front-img li:nth-of-type(3n+2){
  margin: 0 2% 2% 2%;
}
#front-img img{
  max-width: 100%;
  max-height: 100%;
}
.clients{
  list-style: none;
  margin: 0;
  padding: 0;
  box-sizing: content-box;
}
.clients li{
  display:block;
  float: left;
  max-width: 15%;
  padding: 2%;
  height: 100px;
  text-align: center;
  box-sizing: content-box;
}
.clients img{
  overflow: hidden;
  max-height: 100px;
  max-width: 100%;
  vertical-align: middle;
}
footer{  
  border: none;
  text-align: center;
  font-size: 0.8em;
  padding: 10px 25px;
}
footer hr{
  border:none;
  border-top: 1px dotted #ccc;
}
footer p{
  margin: 5px 0;
}
footer .socialMedia{
  padding: 5px 0;
}
footer .socialMedia img{
  width: 30px;
  opacity: 0.5;
}

.alertError, .alertSuccess, .alertWarning{
  padding: 10px;
}
.alertSuccess{
  color: #69B92F; 
  border: solid thin #69B92F;
  background: #E1FCCF;
}
.alertError{
  color: #CC0000;
  border: solid thin #CC0000;
  background: #f2dede;
}
.alertWarning{
  color: #F47D0E;
  border: solid thin #F47D0E;
  background: #FFD8C1;
}
.mobileHide{
  display: none;
}
.nonMobile{
  max-width: 100%;
  display: block;
}









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

/*
 * Hide visually and from screen readers:
 * http://juicystudio.com/article/screen-readers-display-none.php
*/

.hidden {
  display: none !important;
  visibility: hidden;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*/

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

/*
 * 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;
}

/*
 * Hide visually and from screen readers, but maintain layout
*/

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
*/

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

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 45em) {
  /* Style adjustments for viewports that meet the condition */
  html,body{
    font-size: 0.9em;
  }
  #wrapper{
    margin: 0 auto;
    min-width: 800px;
    max-width: 1330px;
    width: 90%;
    box-shadow: 0 2px 6px rgba(100, 100, 100, 0.3);
    background: #FFF;
  }
  #wrapper .headingImg{
    float: right;
    width: 77.5%;
    display: block;
  }
  header{
    text-align: left;
    float: left;
    width: 20%;
    margin: 0 2.5% 0 0;
    padding: 25px 0 0 25px;
  }
  header .socialMedia{
    display: block;
  }
  footer .socialMedia{
    display: none;
  }
  #logo{
    margin: 0;
    display:block;
  }
  #page{
    padding: 25px 25px 0 0;
  }
  .floatRight{
    float:right;
    margin: 0 0 2% 2%;
  }
  .floatLeft{
    float:left;
    margin: 0 2% 2% 0;
  }
  .mobileHide{
    display: block;
  }
  .nonMobile{
    display: none;
  }
}

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

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

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster:
                               http://www.sanbeiji.com/archives/953 */
    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,
  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;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
