/*
 * MASTER.CSS
 
 * Version: 1.0 (2011/08/01)
 * Based on HTML5 Boilerplate: http://html5boilerplate.com/
 * Based on LESS Framework: http://lessframework.com/
 
 */


/* Reset 
========= */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }


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

html { font-size: 100%; overflow-y: scroll; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body, button, input, select, textarea { color: #222; }


::-moz-selection { background: #6a6c3a; color: #fff; text-shadow: none; }
::selection { background: #6a6c3a; color: #fff; text-shadow: none; }
img::selection { background: transparent; }
img::-moz-selection { background: transparent; }


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

a { color: #6a6c3a; text-decoration: none; }
a:visited { color: #6a6c3a; }
a:focus { outline: thin dotted; }

a:hover, a:active { outline: 0; }


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

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

b, strong { font-weight: bold; }

small { font-size: 85%; }


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

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }


/* Full-size background
======================== */

#fullbg { position: fixed; width: 100%; height: 100%; background: url(../images/background.jpg) no-repeat center center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/background.jpg', sizingMethod='scale')"; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/background.jpg', sizingMethod='scale'); }

.ie6 #fullbg { display: none; }

/* No Javascript Warning
========================= */

.js .js-warning { display: none; }

.no-js .js-warning { display: block; position: relative; padding: 7px 0; width: 100%; font-family: 'Arial', sans-serif; font-size: 14px; color: #fff; text-align: center; text-shadow: 0 1px 0 rgba(0,0,0,.5); background-color: #de4343; -webkit-background-size: 40px 40px; -moz-background-size: 40px 40px; background-size: 40px 40px; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(.25, rgba(255, 255, 255, .05)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .05)), color-stop(.75, rgba(255, 255, 255, .05)), color-stop(.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent); background-image: -ms-linear-gradient(135deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(135deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent); background-image: linear-gradient(135deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent); -webkit-animation: animate-bg 5s linear infinite;  -moz-animation: animate-bg 5s linear infinite; }

@-webkit-keyframes animate-bg { from { background-position: 0 0; } to { background-position: -80px 0; } } 
@-moz-keyframes animate-bg { from { background-position: 0 0; } to { background-position: -80px 0; } }


/* LESS Framework
================== */

/* Default Layout: 992px. Gutters: 24px. Outer margins: 48px. Leftover space for scrollbars @1024px: 32px.
-----------------------------------------------------------------------------------------------------------
cols    1     2      3      4      5      6      7      8      9      10
px      68    160    252    344    436    528    620    712    804    896    */


#container { width:896px; padding:72px 48px 84px; margin: 0 auto; background: none; }

#content { margin-top: 50px; margin-bottom: 50px; }

header { background: url(../images/header.png) no-repeat top center; height: 200px; position: relative; }

#main { background: url(../images/main_bg.png) repeat top left; padding: 10px 0 10px 0; position: relative; }

h1, h2, p { font-family: 'Georgia', serif; }

h1 { font-size: 20px; font-style: italic; text-align: center; }

ul.product-box { position: relative; overflow: hidden; list-style: none; margin: 40px 0 20px 128px; }
ul.product-box li { width: 300px; height: auto; background: #fff; position: relative; float: left; margin: 0 40px 30px 0; padding-bottom: 10px; opacity: 0.9; -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; }
ul.product-box li:hover { opacity: 1; }
ul.product-box li img { padding-bottom: 8px; }
ul.product-box li h2 { font-size: 16px; text-align: center; }
ul.product-box li p { font-size: 14px; text-align: center; }
.no-boxshadow #product-box { border: 1px solid #bbb; }

#services-box { width: 600px; margin-left: 128px; background: #fff; padding: 15px 20px; -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; }
#services-box p { font-size: 16px; text-align: center; line-height: 20px; }
.no-boxshadow #services-box { border: 1px solid #bbb; }

footer { background: url(../images/main_bg.png) repeat top left; padding: 40px 0 50px 0; position: relative; }

#contact-box { width: 600px; height: 120px; margin-left: 128px; background: #fff; padding: 15px 20px; -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; }
#contact-box .left { float: left; width: 300px; }
#contact-box .right { float: right; width: 300px; }
.no-boxshadow #contact-box { border: 1px solid #bbb; }

.ie6 #contact-box { position: absolute; }
.ie6 footer { height: 200px; }
.ie7 #contact-box { position: absolute; }
.ie7 footer { height: 200px; }


/* Tablet Layout: 768px. Gutters: 24px. Outer margins: 28px. Inherits styles from: Default Layout.
---------------------------------------------------------------------------------------------------
cols    1     2      3      4      5      6      7      8
px      68    160    252    344    436    528    620    712    */

@media only screen and (min-width: 768px) and (max-width: 991px) {

body { background: url(../images/bg_mobile.jpg) no-repeat bottom center; }
	
#fullbg { display: none; }

#container { width: 712px; padding: 48px 28px 60px; }

#content { margin-bottom: 225px; }

header { height: 80px; background: url(../images/logo_widemobile.jpg) no-repeat top center; }

#main { background: #fff; padding: 10px 0 10px 0; }

ul.product-box { margin: 40px 0 20px 46px; }
ul.product-box li { margin: 0 20px 30px 0; }

#services-box { width: 580px; margin-left: 46px; }

footer { background: #fff; padding: 40px 0 10px 0; }

#contact-box { width: 580px; margin-left: 46px; }
#contact-box .left { width: 290px; }
#contact-box .right { width: 290px; }

}


@media only screen and (max-width: 1024px) and (orientation: landscape) {

body { background: url(../images/bg_ipad_landscape.jpg) no-repeat bottom center; }
	
#fullbg { display: none; }

#container { width:896px; padding:72px 48px 84px; margin: 0 auto; background: none; }

#content { margin-bottom: 225px; }

header { height: 80px; background: url(../images/logo_widemobile.jpg) no-repeat top center; }

#main { background: #fff; padding: 10px 0 10px 0; }

ul.product-box { margin: 40px 0 20px 128px; }
ul.product-box li { margin: 0 40px 30px 0; }

#services-box { width: 600px; margin-left: 128px; }

footer { background: #fff; padding: 40px 0 10px 0; }

#contact-box { width: 600px; margin-left: 126px; }
#contact-box .left { width: 300px; }
#contact-box .right { width: 300px; }

}


/* Mobile Layout: 320px. Gutters: 24px. Outer margins: 34px. Inherits styles from: Default Layout.
---------------------------------------------------------------------------------------------------
cols    1     2      3
px      68    160    252    */

@media only screen and (max-width: 767px) {
	
body { background: url(../images/bg_mobile.jpg) no-repeat bottom center; }

#container { width: 252px; padding: 48px 34px 60px; }

#fullbg { display: none; }

#content { margin-top: 0; margin-bottom: 200px; }

header { background: #fff; height: 60px; background: url(../images/logo_mobile.jpg) no-repeat top center; }

#main { background: #fff; padding: 10px 0 10px 0; }

ul.product-box { margin: 40px 0 20px 0; }
ul.product-box li { margin: 0 0 30px 0; width: 252px; height: auto; padding-bottom: 10px; }
ul.product-box li img { width: 252px; }

#services-box { width: 212px; margin-left: 0; }

footer { background: #fff; padding: 40px 0 10px 0; }

#contact-box { width: 212px; height: 200px; margin-left: 0; }
#contact-box .left { float: none; }
#contact-box .right { float: none; }

}


/* Wide Mobile Layout: 480px. Gutters: 24px. Outer margins: 22px. Inherits styles from: Default Layout, Mobile Layout.
-----------------------------------------------------------------------------------------------------------------------
cols    1     2      3      4      5
px      68    160    252    344    436    */

@media only screen and (min-width: 480px) and (max-width: 767px) {

#container { width: 436px; padding: 36px 22px 48px; }

#content { margin-bottom: 225px; }

header { height: 80px; background: url(../images/logo_widemobile.jpg) no-repeat top center; }

#main { background: #fff; padding: 10px 0 10px 0; }

ul.product-box { margin: 40px 0 20px 68px; }
ul.product-box li { margin: 0 0 30px 0; width: 300px; }
ul.product-box li img { width: 300px; }

#services-box { width: 260px; margin-left: 68px; }

footer { background: #fff; padding: 40px 0 10px 0; }

#contact-box { width: 260px; height: 200px; margin-left: 68px; }

}


/* Retina media query. Overrides styles for devices with a device-pixel-ratio of 2+, such as iPhone 4.
------------------------------------------------------------------------------------------------------ */

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
#container { }

	
}



/* Non-semantic helper classes
=============================== */

/* 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; }
.ir br { display: none; }

/* Hide for both screenreaders and browsers:
   css-discuss.incutio.com/wiki/Screenreader_Visibility */
[hidden] { display: none; visibility: hidden; }
.hidden { display: none; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: by Jon Neal.
  www.webaim.org/techniques/css/invisiblecontent/  &  j.mp/visuallyhidden */
.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: 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 screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


/* Print styles
================= */
 
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */
  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; } /* css-discuss.incutio.com/wiki/Printing_Tables */
  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; }
}
