/*
 * 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.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #000;
}

body {
    font-size: 0.9em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations 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 images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

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

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

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

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

/* ==========================================================================
   CD styles
   ========================================================================== */

body { background-color:#e6e6e6; font-family:'Open Sans', sans-serif; font-weight:300; min-width:900px; }
body.home { background-color:#062545; color:#fff; }

/** Header **/
#topBar { background-color:#062545; }
#topBar header { color:#fff; font-size:1.1em; padding-top:80px; }
#topBar header a { color:#fff; }
#topBar header a:hover { border-bottom:none; color:#69a1be; }
#topBar header h1 { margin:0; }
#topBar header h1 a { background:url(../img/logo.jpg) no-repeat top left; display:block; height:95px; width:412px; }
#topBar header .contactDetails { padding-top:40px; text-align:right; }
#topBar header nav { padding:75px 0 15px; }
#topBar header nav ul { list-style:none; margin:0; padding:0; }
#topBar header nav ul li { float:left; padding:0 !important; }
#topBar header nav ul li.menu-item-last span { display:none; }
#topBar header nav ul li a { text-transform:uppercase; }
#topBar header nav ul li a:hover { color:#69a1be; }
#topBar header nav ul li a:hover span { color:#fff; }
#topBar header nav ul li.current-menu-item a { color:#69a1be; font-weight:600; }
#topBar header nav ul li.current-menu-item a span { color:#fff; font-weight:300; }
#topBar header nav ul li span { display:inline-block; padding:0 10px; }

/** Home Page **/
#topBanner { border-bottom:1px solid #fff; border-top:1px solid #fff; padding:40px 0; }
#topBanner .column3 { cursor:pointer; height:265px; position:relative; }
#topBanner .column3.pos1,
#topBanner .column3.pos3 { width:265px; }
#topBanner .column3.pos2 { padding:0 32px; width:265px; }
#topBanner .column3 .hover { background:url(../img/circle-hover.png) no-repeat top left; height:265px; opacity:0; position:absolute; z-index:10; width:265px;
  -webkit-transition: all 0.3s ease-out; 
     -moz-transition: all 0.3s ease-out; 
       -o-transition: all 0.3s ease-out; 
          transition: all 0.3s ease-out; 
}
#topBanner .column3:hover .hover { opacity:1; }
.lt-ie9 #topBanner .column3 .hover { display:none; }
.lt-ie9 #topBanner .column3:hover .hover { display:block; }
#topBanner .column3 .hover .textContainer { display:table; height:265px; width:265px; }
#topBanner .column3 .hover .textContainer h2 { color:#d5eeff; display:table-cell; font-size:1.8em; font-weight:600; height:265px; line-height:1; margin:0; padding:0 30px; text-align:center; vertical-align:middle; width:205px; }
#topBanner .column3 .image { position:absolute; z-index:1; }
h1.dividerText { color:#d5f3ff; font-size:2.4em; font-weight:300; line-height:1.2; margin:40px 0; text-align:center; }
h1.dividerText span { display:block; font-size:0.75em; }
.homepageColumns { border-top:1px solid #fff; font-size:0.9em; margin-top:40px; padding-top:30px; }
.homepageColumns h2 { color:#fff; }
.homepageColumns .readMore { border-bottom:none !important; color:#69a1be; font-weight:600; text-transform:uppercase; } 
.homepageColumns .readMore:hover { border-bottom:none; color:#d5f3ff !important; }

/** Gallery **/
#galleryContainer { margin:0 auto; text-align:center; width:265px; }
#galleryContainer h2 { color:#062545; font-size:2.2em; font-weight:700; text-transform:uppercase; }
#galleryContainer .gallery ul { margin:0; list-style:none !important; padding:0 !important; }
#galleryContainer .gallery ul li { margin:0 !important; padding:0 !important; }
#galleryContainer .gallery ul.slides li a { border-bottom:none !important; display:block; height:265px; position:relative; width:265px; }
#galleryContainer .gallery ul.slides li a .mask { background:url(../img/gallery-mask.png) no-repeat top left; display:block; height:265px; position:absolute; width:265px; }
/*#galleryContainer .gallery { overflow:hidden !important; position:relative;
	-webkit-border-radius: 50%;
            border-radius: 50%;
  background-clip: padding-box;
}*/
.flex-direction-nav { margin-top:20px !important; }
.flex-direction-nav li { /*float:left; width:50%;*/ display:inline !important; }
.flex-direction-nav li a { border-bottom:none !important; /*display:block;*/ color:#062545; font-size:1em; font-weight:700; text-transform:uppercase; }
.flex-direction-nav li a.flex-prev { margin-right:10px; text-align:right; }
.flex-direction-nav li a.flex-next { margin-left:10px; text-align:left; }

/** Pages **/
article.page { padding-top:45px; }
.thumbnail { text-align:center; }
.bannerImg { padding-top:30px; }
.serviceColumns { font-size:0.9em; margin-top:30px; }

/** Footer **/
footer.container { border-top:1px solid #d9d9d7; font-size:0.85em; margin-top:2em; padding:2em 0; text-align:center; }
.home footer.container { border-top-color:#fff; }

/** Links **/
a { color:#000; text-decoration:none;
  -webkit-transition: all 0.25s ease-out; 
     -moz-transition: all 0.25s ease-out; 
       -o-transition: all 0.25s ease-out; 
          transition: all 0.25s ease-out; 
}
#main a { border-bottom:1px dotted #000; }
a:hover,
#main a:hover { border-bottom:1px solid #000; color:#000; }
.home a { color:#fff; text-decoration:none; }
.home a:hover { border-bottom:1px solid #fff; color:#fff; }

/** Typeography **/
h1 { color:#062545; font-size:2.2em; font-weight:700; text-transform:uppercase; }
h2 { color:#062545; font-size:1em; font-weight:700; text-transform:uppercase; }
header h1 { margin-top:0; }
strong { color:#062545; font-weight:400; }
p { margin:1.2em 0; }
p:first-child { margin-top:0; }
ul { padding-left:10px; list-style-image:url(../img/list-bullet.png); }
.home ul { list-style-image:url(../img/list-bullet-white.png); }
ul li { margin:0.25em 0; padding-left:15px; }

/** Forms **/
input, textarea { background-color:#dadada; border:1px solid #dadada; color:#000; font-weight:300; padding:10px 15px; margin:10px 0 0; outline: none; text-shadow:none; width:508px;
  -webkit-transition: background-color 0.25s ease-out, border-color 0.25s ease-out; 
     -moz-transition: background-color 0.25s ease-out, border-color 0.25s ease-out; 
       -o-transition: background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: background-color 0.25s ease-out, border-color 0.25s ease-out; 
}
input:hover, textarea:hover { border-color:#062545; }
input:focus, textarea:focus { background-color:#fff; border-color:#69a1be; }
input.submit { background-color:#062545; border:none; color:#fff; display:inline-block; font-size:1.2em; font-weight:400; padding:15px 30px; text-transform:uppercase; width:auto !important; }
input.submit:hover { background-color:#69a1be; }

label { display:block; font-weight:400; }

.formDivider { margin:30px 0 0; }
.formDivider.first { margin:0; }
.formDivider .left, .formDivider .right { width:250px; position:relative; }
.formDivider .left input, .formDivider .right input { width:218px; }
.required { color:#f50000; }
.ajax-loader { position:absolute; right:110px; top:13px; }

/** Warnings **/
.wpcf7-response-output, .wpcf7-not-valid-tip, .error, #succsess_page, .error_message { border:1px solid; display:block; margin-top:20px; padding:10px 15px; text-shadow:none; }
.wpcf7-response-output { background-color:#FFFFE5; border-color:#FFFD6A; }
.wpcf7-not-valid-tip, .error, .error_message { background-color:#FBE3E4; border-color:#FBC2C4; color:#8A1F11; }
.error_message { margin-top:0; margin-bottom:20px; }
.wpcf7-display-none { display:none; }
.wpcf7-mail-sent-ok, #succsess_page { background-color:#dee8cd; border-color:#a7c178; color:#78a22f; padding:30px; text-shadow:none; }
#succsess_page h2 { color:#78a22f; margin-top:0; }
#succsess_page p { margin-bottom:0; }
input.error, textarea.error { margin-top:10px; background-color:#fff; }

/** Structure **/
.container { margin:0 auto; padding:0 20px; width:860px; }
.leftCol { width:500px; }
.rightCol { width:320px; }
.leftCol.thin { width:280px; }
.rightCol.wide { width:540px; }
.leftCol.even,
.rightCol.even { width:400px; }
.leftCol.third,
.middleCol.third,
.rightCol.third { width:260px; }
.middleCol.third { padding:0 40px; }

/** Floats **/
.left { float:left; }
.right { float:right; }
.clear { clear:both; }

/* Flexslider */
.flex-viewport,
.flex-viewport ul { width:100%; height:100%; }

/** Controls **/
.flex-control-paging { list-style:none; display:none; margin:0; padding:0; position:relative; bottom:-3px; text-align:center; }
body.home .flex-control-paging {display: block;}
.flex-control-paging li { display:inline; margin:0 5px !important; }
.flex-control-paging li a { background-color:#edf1f4; border:none !important; cursor:pointer; display:inline-block; height:15px; overflow:hidden; text-indent:-999px; width:15px;
	-webkit-border-radius: 50%;
            border-radius: 50%;
  background-clip: padding-box;
}
.flex-control-paging li a:hover { background-color:#c3c9ce; }
.flex-control-paging li a.flex-active { background-color:#86939d; }

/*! fancyBox v2.1.4 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('../img/fancybox_sprite.png');
	border-bottom:none !important;
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('../img/fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('../img/blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
	border-bottom:none !important;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 36px;
	margin-top: -19px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
	border-bottom:none !important;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
	overflow: hidden;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background:rgba(0,0,0,0.75);
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}














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

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

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

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

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

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

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@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 required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        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 for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

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