/*
 * HTML5 Boilerplate
 *
 * 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.
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */


/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }


/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

html, button, input, select, textarea { font-family: sans-serif; color: #222; }

body { margin: 0; font-size: 1em; line-height: 1.4; }

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: hot pink! (or customize the background color to match your design)
 */

::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
::selection { background: #fe57a1; color: #fff; text-shadow: none; }


/* =============================================================================
   Links
   ========================================================================== */

a { color: #fff; }
a:visited { color: #fff; }
a:hover { background: #fe57a1; text-decoration:none; }
a:focus {  }

/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
a:hover, a:active { outline: 0; }


/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

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

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: h5bp.com/j */
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; }

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }


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

/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
 */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

/*
 * Correct overflow not hidden in IE9
 */

svg:not(:root) { overflow: hidden; }


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


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

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

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/*
 * 1. Correct color not inheriting in IE6/7/8/9
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */

button, input { line-height: normal; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }

/*
 * Re-set default cursor for disabled elements
 */

button[disabled], input[disabled] { cursor: default; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */

textarea { overflow: auto; vertical-align: top; resize: vertical; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* =============================================================================
   Chrome Frame Prompt
   ========================================================================== */

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }


/* ==|== primary styles =====================================================
   Author:
   ========================================================================== */

body { font-family: 'Dosis', Arial, sans-serif; font-size:18px; font-weight: 300; }
h1,
h2,
#footer h3 { font-family: 'Lobster', cursive; font-weight:normal; margin:0 0 .2em; text-shadow: 0 1px rgba(0,0,0,0.8) }
h1 { font-size:60px; }
h2 { font-size:48px; }
p { line-height:1.3em; }

.container {position: relative; width: 990px; padding-top:100px; margin:0 auto; min-height:500px; color:#fff;}

.separator { clear:both; display:block; font-family: 'Lobster', cursive; font-weight:normal; font-size:23px; text-align:center; background:url(../img/separator.gif) repeat-x 0 35%; margin:20px 0 0 0;  padding:20px 0 60px 0; }
.separator strong { font-weight:normal; display:inline-block; padding:0 20px;}

.col2Group {margin-bottom:2em;}
.col2Group .col1 {float:left; width:49%;}
.col2Group .col2 {float:right; width:49%;}

.col3Group .col1 {float:left; width:30%;}
.col3Group .col2 {float:left; width:40%;}
.col3Group .col3 {float:right; width:30%;}

p, ul {margin-left:10px;margin-right:10px;}

.new {position: absolute; top:0; right:0; display: inline-block; width:41px; height:41px; background:url(../img/iconNew.png) no-repeat 0 0; text-indent:-9000px;}

/* navi */
#nav {position: absolute; top:540px; left:0; width:100%; z-index:99; background:url(../img/bgMeta.gif); height:60px; overflow:hidden; -webkit-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); -moz-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); -o-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); -ms-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8) }
#nav div {position: relative; width:990px; margin:0 auto;}
#nav h2 {position: absolute; color:#fff; font-size:18px; top:16px; text-shadow: 0 1px rgba(0,0,0,1); display:none;}
#nav ul {width: 990px; margin:0 auto;}
#nav li {float:left; display:inline; margin:0 20px; padding:17px 0; font-family: 'Lobster', cursive; font-weight:normal !important; }
#nav li a {text-decoration: none;}
#nav li a:hover {background: none}
#nav li span {display: inline-block; width:30px; height:30px; margin:-5px 10px 0 0; float:left; background: transparent url(../img/navSprite.png) no-repeat 0 0; overflow:hidden; text-indent:-9000px; -webkit-transition: .1s ease-in;
-moz-transition: .1s ease-in;
-o-transition: .1s ease-in;
-ms-transition: .1s ease-in;
transition: .1s ease-in;}
.iconServices span {background-position: -30px 0 !important}
.iconReferences span {background-position: 0 -30px !important}
.iconContact span {background-position: -30px -30px !important}
#nav li a:hover span {margin-top:-10px;}

/* home */
#home {background: #2d7da8 url(../img/bgHome.jpg) repeat-x 50% 0;}
#home h1 {padding:110px 0 0 30px; background:url(../img/logoFrings.png) no-repeat 0 0; margin-left:-30px;}
#home p {width:520px; margin:0 0 0 17px;}
#home p.separator {width:auto; margin:20px 0; padding:20px 0;}

.homePic {position: absolute; top:50px; right:0; display: block; width:391px; height:440px;}
.homePic .mask {position: absolute; top:0; left:0; width:391px; height:440px; background:url(../img/homePic.png) no-repeat 0 0; }

/* services */
#services {background:#71a7c6 url(../img/bgServices.gif) no-repeat 50% bottom;}
#services .separator strong {background:#71a7c6;}
#services ul,#services li {padding:0; list-style:none;}
#services li {background: url(../img/liIcon.png) no-repeat 0 5px; padding:10px 50px 5px 35px; position:relative; float:left; clear:left;}

/* references */
#references {background: #2d7eab url(../img/bgReferences.jpg) no-repeat 50% bottom; -webkit-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); -moz-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); -o-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); -ms-box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); box-shadow:  0px 5px 5px 0px rgba(0, 0, 0, 0.8); }
#references .separator strong {background: #2d7eab;}
#references .container {background: url(../img/bgReferencesTop.gif) no-repeat 50% 0;}

.refBox li {position: relative; width: 243px; height:243px; overflow: hidden; float:left; margin:30px;}
.refBox li a {color:#fff}
.refInfo {position: absolute; top:180px; left:0; width:243px; height:263px; background: rgba(0,0,0,.8); text-align:center; 
-webkit-transition: .5s ease-in;
-moz-transition: .5s ease-in;
-o-transition: .5s ease-in;
-ms-transition: .5s ease-in;
transition: .5s ease-in;}
.refBox li a:hover .refInfo {top:-15px;}
.refInfo span {display: block; background:url(../img/iconZoom.png) no-repeat 37% 0; padding:0 0 10px 20px; margin-top:5px;}
.refInfo  h3 {margin-top: 80px !important; font-size:15px !important}
.refInfo  h3,
.refInfo  p {margin:0; padding: 0 30px; font-size:13px;}
.mask {position: absolute; top:0; left:0; width:243px; height:243px; background:url(../img/refMask.png) no-repeat 0 0; }

/* footer */
#footer {width: 100%; background: #363733 url(../img/bgFooterShadow.gif) repeat-x 0 0; }
#footer a {color:#fff}
#footer .container {height:250px !important; min-height:250px; padding-top:70px; width:100%; background: url(../img/bgFooter.jpg) no-repeat 50% 0;}
#footer .footerContact {width: 990px; margin:0 auto;}
#footer strong {display: inline-block; width:70px; text-transform:uppercase; font-size:15px}
#footer h2 {font-size:40px;}
#footer h3 {font-size:30px;}
#footer .col3 a {display: block; width:270px; height:130px; overflow:hidden; text-indent:-9000px; background:url(../img/fbButton.png) no-repeat 0 0;}
#footer .col3 a:hover {background-position: 0 -130px;}
#footer a:hover {text-decoration: none;}

/* meta */
#meta {position: absolute; top:0; left:0; width:100%; height:21px; background:url(../img/bgMeta.gif) repeat-x 0 0;}
#meta ul {width:990px; margin:0 auto; }
#meta li {float:right; display:inline; margin:3px 10px 0; font-size:11px; color:#fff; font-family:Arial, Helvetica, sans-serif}
#meta a {color:#fff; text-decoration:none;}

/* imprint */
.layer {width: 500px; height:500px; overflow:auto; background: #2d7eab; color:#fff; margin:10px; padding:20px;}
.layer h3 {font-size:16px;}
.layer p {font-size:14px; margin-left:0;}
.fancybox-wrap a:hover {background: none !important;}


/* ==|== media queries ======================================================
   EXAMPLE Media Query for Responsive Design.
   This example overrides the primary ('mobile first') styles
   Modify as content requires.
   ========================================================================== */

@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
 h1 {font-size: 40px;}
 h2 {font-size: 30px; padding-left:10px;}
 .container {width: 100% !important; margin:0; overflow:hidden;}
 .homePic {display: none !important;}
 #footer .footerContact {width:100%;}
 #meta ul {width:100%; margin:0;}
 #meta li {float: left; margin:0 5px;}
 .layer {width: 60%; height:60%;}
 .col2Group .col1,
 .col2Group .col2,
 .col3Group .col1,
 .col3Group .col2,
 .col3Group .col3{width: 100%; float:none;}
 #footer .container {height: auto !important;}
 #home h1 {padding-left: 47px;}
 #home p {width: 90%; text-align:justify}
 #nav {top: 0;}
 #nav div {display: none;}
 #nav ul {width: 100%;}
 #nav li {margin: 0 5px; font-size:20px;}
 #nav li span {display: none;}
 .refBox li {float: none; margin: 30px auto; }
 #meta {position: relative; height:auto; padding:10px 0; background-repeat:repeat; }
 #references ul {margin: 0 !important}
}



/* ==|== non-semantic helper classes ========================================
   Please define your styles before this section.
   ========================================================================== */

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.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: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }



/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}

