/* ================================================================== */

/* a. Common Styles

/* ================================================================== */

.section-head h2 { font: 30px/42px montserrat-bold, sans-serif; }
.desc { font: 15px/20px opensans-regular, sans-serif; }
.intro { font: 15px/25px opensans-regular, sans-serif; }

#services a { color: #112378; text-decoration: underline;}
#services a:hover, #services a:focus { color: #333; text-decoration: none; }
#services a:visited { color: #112378; text-decoration: none; }

/* Left clearing for flexible columns - columns that changes width in
different screen sizes. Makes columns with different heights align
properly.
--------------------------------------------------------------------- */
.first { clear: left; }   /* first column in default screen */
.m-first { clear: none; } /* first column in medium size screens */

/* ================================================================== */

/* b. Header Styles

/* ================================================================== */

header {
   height: 54px;
   width: 100%;
   z-index: 99999;
   background: #333;
   /* url(../images/k-opacity-70.png); */

   position: fixed;
   top: 0;
   left: 0;
}
header.static {
   background: #fff;
   position: static;
}

/* header logo */
header .logo {
   position: relative;
   height: 54px;
   width: 150px;
   float: left;
}
header .logo a {
   display: block;
   padding: 0;
   margin: 0;
   height: 18px;
   width: 91px;
   line-height: 18px;

   position: absolute;
   left: 12px;
   top: 10px;
}

/* primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul, #nav-wrap li, #nav-wrap a {
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
}

/* nav-wrap */
#nav-wrap {
   position: relative;
   font: 13px opensans-regular, sans-serif;
   float: left;
}

/* hide toggle button */
#nav-wrap > a { display: none; }

ul#nav {
   min-height: 54px;
   width: auto;

   /* left align the menu */
   text-align: left;
}
ul#nav li {
	position: relative;
	list-style: none;
   height: 54px;
   display: inline-block;
}
ul#nav > li.active a {
   background: #fff;
   color: #112378;
   font-weight: bold;
}

/* Links */
ul#nav li a {
   display: block;
   padding: 0 14px;
   line-height: 54px;
	text-decoration: none;
   text-align: left;
   color: #fff;
   font-weight: 400;

	-webkit-transition: color .2s ease-in-out;
	-moz-transition: color .2s ease-in-out;
	-o-transition: color .2s ease-in-out;
	-ms-transition: color .2s ease-in-out;
	transition: color .2s ease-in-out;
}

ul#nav li a:active { /*background-color: transparent !important; */}
ul#nav li:hover > a { text-decoration: underline;}
ul#nav li.active a { /*border-bottom: 2px #112378 solid;*/ }

.drop {
  overflow: hidden;
  list-style: none;
  position: absolute;
  padding: 0;
  width: 100%;
  left: 0;
  top: 48px;
  color: #fff;
}
.drop div {
  -webkit-transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  transform: translate(0, -100%);
  -webkit-transition: all 0.5s 0.1s;
  -moz-transition: all 0.5s 0.1s;
  -ms-transition: all 0.5s 0.1s;
  transition: all 0.5s 0.1s;
  position: relative;
}
.drop li {
  display: block;
  padding: 0;
  width: 100%;
  background: #333;
}
#marker {
  background: transparent;
}
#nav li:nth-child(4):hover ul div {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
#nav li:nth-child(4):hover ~ #marker {
  -webkit-transform: translate(0px, 0);
  -moz-transform: translate(0px, 0);
  -ms-transform: translate(0px, 0);
  transform: translate(0px, 0);
}



/* ================================================================== */

/* c. Intro Section

/* ================================================================== */

/*#intro {
   background: url(../images/intro-bg.png) no-repeat center;
   padding-top: 156px;
   padding-bottom: 144px;
   color: #333;
}

.intro-wrapper { margin-top: 42px; }
.intro-wrapper .col {
   width: 33.33333%;
   margin-bottom: 30px;
}
.intro-wrapper h2 {
   font: 16px/24px montserrat-bold, sans-serif;
   letter-spacing: 1.5px;
   text-transform: uppercase;
   color: #112378;
   margin-bottom: 18px;
}
.intro-wrapper p {
   font-size: 16px;
   line-height: 30px;
}
#intro .intro-wrapper i { margin-right: 10px; }*/


#intro {
   background: url(../images/intro-bg.png) no-repeat center;
   border-top: 3px #333 solid;
   padding-top: 200px;
   padding-bottom: 220px;
   color: #fff;
}

#intro .section-head h2 { color: #fff; }
#intro .section-head p.desc { color: #fff;}
#intro .section-head .intro { color: #fff; }

/* ================================================================== */

/* d. Services

/* ================================================================== */

#services {
   background: #fff;
   border-top: 3px #333 solid;
   padding-top: 156px;
   padding-bottom: 120px;
   color: #333;
}

/*#services h3 {
   font-family: 'Open Sans', sans-serif;
   text-align: left;
   font-size: 24px;
   line-height: 30px;
   font-weight: 400;
   margin-bottom: 18px;
   color: #333;
}*/

#services h3 {
   font: 24px/30px montserrat-regular, sans-serif;
   margin-top: 24px;
   color: #333;
}

#services .process-wrap .col { width: 25%; }
#services .section-head h2 { color: #333; }
#services .section-head p.desc { color: #112378;}
#services .section-head .intro { color: #333; }

/*.services-wrapper { margin-top: 42px; }*/
.services-wrapper .col {
   width: 33.33333%;
   margin-bottom: 30px;
}

.services-wrapper h2 {
   font: 16px/24px montserrat-bold, sans-serif;
   letter-spacing: 1.5px;
   text-transform: uppercase;
   color: #112378;
   margin-bottom: 18px;
}

.services-wrapper ul {
   font: 15px/25px opensans-regular, sans-serif;
}
#services .services-wrapper i { margin-right: 10px; }


/* ================================================================== */

/* g. About

/* ================================================================== */

#about {
   background: #fff;
   padding-top: 156px;
   padding-bottom: 144px;
   border-top: 3px #333 solid;
   color: #333;
}
#about .section-head h2, #about h5 { color: #333; }
#about h4 { color: #112378; }
#about .section-head p.desc { color: #112378; }
#about .section-head .intro { color: #333; }

/* ================================================================== */

/* j. Contact

/* ================================================================== */

#contact {
   background-color: #fff;
   border-top: 3px #333 solid;
   padding-top: 108px;
   padding-bottom: 90px;
   color: #333;
}

#contact .section-head { margin-bottom: 42px; }
#contact .section-head h2 { color: #333; }
#contact .section-head p.desc { color: #112378; }
#contact .intro { color: #333; }
#contact p {  }

/* contact form */
#contact form { margin-bottom: 30px; }

#contact label {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 24px;
  /*margin: 12px 0;*/
  color: #333;
	display: inline-block;
	float: left;
  width: 50%;
}
#contact input,
#contact textarea,
#contact select {
  /*padding: 18px 20px;*/
	color: #112378;
	/*margin-bottom: 42px;*/
	border: 1px #333 solid;
	outline: none;
  font-size: 15px;
  line-height: 24px;
  width: 88%;
}
#contact input:focus,
#contact textarea:focus,
#contact select:focus {
	color: #112378;
	border: 2px #112378 solid;
}
#contact button.submit {
   font: 15px/30px montserrat-bold, sans-serif;
	text-transform: uppercase;
	letter-spacing: 3px;
	color:#fff;
	background: #112378;
   padding: 10px 20px;
	border: none;
   cursor: pointer;
   height: auto;
   display: inline-block;

	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-khtml-border-radius: 3px;
	border-radius: 3px;

   margin-left: 0;
}
#contact button.submit:hover {
	color: #112378;
	background: #fff;
}
#contact span.required {
	color: #112378;
	font-size: 15px;
   /*font-weight: bold;*/
}

#message-success, #message-warning {
   display: none;
	background: #fff;
	padding: 24px 24px;
	margin-bottom: 36px;
   width: 88%;
}

#message-success { color: #10b065; }
#message-warning { color: #b72222; }

#image-loader {
   display: none;
   position: relative;
   left: 18px;
   top: 12px;
}

span.field-error {
  display: none; 
  position: absolute;
  padding: 50px 0 0 20px;
  font-size: 12px;
  color: #b72222;
}

.invalid .field-value {
    color: #b72222 !important;
    border: 2px solid #b72222 !important;
    padding-top: 20px !important;
  }

.invalid .field-error {
    display: block;
  }

/* contact sidebar */
#contact aside h3 {
   font: 21px/30px montserrat-bold, sans-serif;
   margin-bottom: 18px;
   color: #333;
}

#contact aside a { color: #112378; text-decoration: none; font-weight: bold;}
#contact aside a:hover, #contact aside a:focus { color: #112378; text-decoration: underline; font-weight: bold; }
#contact aside a:visited { color: #112378; text-decoration: none; }

/* ================================================================== */

/* m. footer

/* ================================================================== */

footer {
   background: #333;
   padding-top: 30px;
   padding-bottom: 30px;
   color: #fff;
   font-size: 14px;
}
footer a, footer a:visited { color: #fff; text-decoration: none;}
footer a:hover, footer a:focus { color: #fff; text-decoration: underline;}

/* copyright */
footer .copyright {
    margin: 0;
    padding: 0;
 }
footer .copyright li {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 24px;
}
.ie footer .copyright li {
   display: inline;
}

footer .copyright li:before {
    content: "|";
    padding-left: 10px;
    padding-right: 10px;
    color: #fff;
}
footer .copyright  li:first-child:before {
    display: none;
}

/* social links 
footer .social-links {
   margin: 0;
   padding: 0;
   font-size: 18px;
   margin-top: -3px;
   float: right;
}
footer .social-links li {
    display: inline-block;
    margin: 0;
    padding: 0;
    margin-left: 24px;
}
footer .social-links li:first-child { margin-left: 0; }*/

/* ================================================================== */

/* n. Media Queries

/* ================================================================== */


/* small screens
--------------------------------------------------------------------- */
@media only screen and (max-width: 836px) {

   /* adjust sections padding top */
   #services, #about, #contact { padding-top: 120px; padding-bottom: 70px;}
   #intro { padding-top: 150px; padding-bottom: 193px;}

   /* intro section
   -------------------------------------------------------------------- */
   .slider-text h2 {
      font-size: 48px;
      line-height: 66px;}

   /* services section
   -------------------------------------------------------------------- */
   #services .section-head .col { width: 100%; }
   #services .services-wrapper { margin-top: 12px; }
   #services .services-wrapper .col { width: 50%; }
   #services .services-wrapper .col { margin-bottom: 0; }

   /* about section
   -------------------------------------------------------------------- */
   #about .process-wrap .col { width: 50%; }

   /* about section
   -------------------------------------------------------------------- */
   #about .section-head .col { width: 100%; }

   /* contact section
   ----------------------------------------------------------------------- */
   #contact label { width: 25%; }
   #contact button.submit { margin-left: 25%; }
   #contact input,
	#contact textarea,
	#contact select { width: 70%; }
  #message-success, #message-warning { width: 95%; }

   /* left clearing */
   .first { clear: none; }
   .m-first { clear: left; }

  /* error message */
  span.field-error {
  padding: 2px 0 0 20px;
  }



/* mobile wide
---------------------------------------------------------------------- */

@media only screen and (max-width: 768px) {

   /* center align some text */
   .section-head, .intro, #about h3, {
      text-align: center;
   }

   /* intro section
   -------------------------------------------------------------------- */
   .slider-text h2 {
      font-size: 48px;
      line-height: 66px;}


   /* mobile navigation
   -------------------------------------------------------------------- */

   header.mobile { height: 66px; }
   header.mobile .logo a { top: 15px; }

   .mobile #nav-wrap {
      position: absolute;
      top: 7px;
      right: 20px;
      width: auto;
      margin: 0;
   }
   .mobile #nav-wrap > a {
	   width: 48px;
		height: 48px;
		text-align: left;
		background-color: #333;
		position: relative;
      border: none;
      float: right;

      font: 0/0 a;
      text-shadow: none;
      color: transparent;
      }

	.mobile #nav-wrap > a:before,
   .mobile #nav-wrap > a:after {
	   position: absolute;
		border: 2px solid #fff;
		top: 35%;
		left: 25%;
		right: 25%;
		content: '';
	}
   .mobile #nav-wrap > a:after { top: 60%; }

   /* toggle buttons */
	.mobile #nav-wrap:not( :target ) > a:first-of-type,
	.mobile #nav-wrap:target > a:last-of-type  {
	   display: block;
	}

   /* hide menu panel */
   .mobile #nav-wrap ul#nav {
      height: auto;
		display: none;
      clear: both;
   }
   .mobile #nav-wrap ul#nav li {
      display: block;
      width: 100%;
      height: 100%;
      text-align: left;
   }
   .mobile #nav-wrap ul#nav li.active {
      border-bottom: 2px solid #fff;
   }
   .mobile #nav-wrap ul#nav > li.active a {
      color: #fff;
      background: none;
      font-weight: 800;
   }

   /* display menu panels */
	.mobile #nav-wrap:target > ul#nav	{
	   display: block;
      padding: 20px;
      background: #333;
      margin: 0;
      clear: both;
   }
   /*.mobile #nav-wrap ul#nav li { border-bottom: 1px solid #fff; }*/
   .mobile #nav-wrap ul#nav li a {
      margin: 0;
      padding: 0;
      font-size: 13px;
      margin: 10px 0;
      line-height: 14px;
      border: none;
   }

.drop {
  overflow: visible;
}


   /* contact section
   ----------------------------------------------------------------------- */
   #contact label {
      display: block;
      float: none;
      width: auto;
   }
   #contact input,
	#contact textarea,
	#contact select {
      width: 100%;
      margin-bottom: 30px;
	}
   #contact button.submit {
      margin-left: 0;
   }
   #message-success, #message-warning {
      width: 100%;
   }


   /* footer
   ------------------------------------------------------------------------ */
   footer .copyright li:before { content: none; }
   footer .copyright li { margin-right: 10px; }
   footer .copyright, footer .social-links {
      text-align: center;
      float: none;
   }
   footer .social-links { margin-top: 12px; }

}

/* error message */
  span.field-error {
  display: none; 
  position: absolute;
  padding: 2px 0 0 20px;
  font-size: 12px;
  color: #b72222;
  }

/* mobile narrow
  -------------------------------------------------------------------------- */




