/**
 * Hide elements visually, but keep them available for screen-readers.
 *
 * Used for information required for screen-reader users to understand and use
 * the site where visual display is undesirable. Information provided in this
 * manner should be kept concise, to avoid unnecessary burden on the user.
 * "!important" is used to prevent unintentional overrides.
 */
.element-invisible {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
}

/**
 * The .element-focusable class extends the .element-invisible class to allow
 * the element to be focusable when navigated to via the keyboard.
 */
.element-focusable:active,
.element-focusable:focus {
	position: static !important;
	clip: auto;
	overflow: visible;
	height: auto;
}

/**
 * Markup free clearing.
 *
 * @see http://perishablepress.com/press/2009/12/06/new-clearfix-hack
 */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	zoom: 1;
}

.l-constrained {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 960px;
}

.form-actions { margin: 1em 0; }
.form-item { margin: 1.5em 0; }
.form-required { color: #cc2127; }

label.error {
	font-weight: normal;
	color: #666;
}
input.error,
textarea.error {
	border: 1px solid #cc2127;
}

p.intro {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 1.3;
	margin: 1em 0;
	color: #4277a1;
}

/** Media: Standard
 * See: http://www.stubbornella.org/content/2010/06/25/
 * /
/* -------------------------------------------------------------------------- */
.media,.bd{
	overflow:hidden;
	_overflow:visible;
	zoom:1
}
	.media .img{
		float:left;
		margin-right:10px
	}
	.media .img img{ display:block }

/** Media: Callout */
/* -------------------------------------------------------------------------- */
.media-callout {
	/* overflow: visible; */
	margin-left: -35px;
	padding-left: 35px;
	padding-right: 50px;
	/*line-height: 65px;*/
}
	.media-callout .img {
		margin-right: -30px;
		margin-left: -35px;
		float: none;
		display: inline-block;
		*display: inline;
		*zoom: 1;
		vertical-align: top;
		width: 58px;
	}
		.media-callout .img img {
			margin: 0 auto;
		}
	.media-callout .bd {
		/* margin-top: 22px; */
		overflow: visible;
		font-size: 24px;
		font-size: 1.25rem;
		color: #4277a1;
		line-height: 1.1;
		display: inline-block;
		*display: inline;
		*zoom: 1;
		vertical-align: top;
	}
	.media-callout .img + .bd {
		margin-left: 47px;
	}

/** Testimonials */
/* -------------------------------------------------------------------------- */
.testimonial {
	margin-top: 1em;
	clear: right;
	overflow: hidden;
	border-top: 1px solid #8a8a8a;
	background: url(../images/lquotemark.png) no-repeat 10px 10px;
}
	.testimonial:first-child {
		border-top: none;
	}
	.testimonial blockquote {
		text-indent: 20px;
	}
	.testimonial .source {
		display: block;
	}
		.testimonial .name {
			float: right;
		}
		.testimonial .company {
			clear: right;
			float: right;
			font-size: 0.8em;
			color: #8a8a8a;
		}

.testimonial.french {
	background: url(../images/arrow-left.png) no-repeat 10px 10px;
}

/** Prices */
/* -------------------------------------------------------------------------- */
.price {
	margin-top: 6px;
	display: block;
	font-size: 60px;
	font-size: 3.75rem;
	height: 0.8em;
	line-height: 0.8;
	font-weight: bold;
	color: #4277a1;
}
	.price--inner {
		position: relative;
		float: left;
	}
	.price--symbol,
	.price--cents {
		position: absolute;
		top: 0;
		font-size: 0.5em;
	}
	.price--symbol { right: 100%; }
	.price--cents { left: 100%; }

/** Button */
/* -------------------------------------------------------------------------- */
.btn {
	margin: 10px 0 0 0;
	padding: 0.4em 1em;
	display: block;
	float: left;
	font-size: 12px;
	font-size: 0.75rem;
	text-align: center;
	color: #fff;
	text-decoration: none;
	line-height: 1.2em;
	font-weight: bold;
	background: #ca1f23;
	border-radius: 1em/50%;
}

.btn:link,
.btn:visited {
	color: #fff;
}

.btn:hover {
	color: #fff;
	background-color: #f23036;
}

.btn-purchase {
	padding: 0;
	float: none;
	font-size: 1%;
	font-size: 1%;
	text-indent: -9999px;
	width: 150px;
	height: 43px;
	background-color: #4DC027;
	overflow: hidden;
}

.btn-purchase:hover { background-color: #009400; background-position: 0 10px; }

.btn-purchase.business,
.btn-purchase.individual { background-color: #FFF; background-position: 0 0; background-repeat: no-repeat; }

.btn-purchase.business { background-image: url(../images/btn-inner-business-en.jpg); }
.btn-purchase.individual { background-image: url(../images/btn-inner-individual-en.jpg); }
.fr .btn-purchase.business { background-image: url(../images/btn-inner-business-fr.jpg); }
.fr .btn-purchase.individual { background-image: url(../images/btn-inner-individual-fr.jpg); }

.btn-purchase.business:hover,
.btn-purchase.individual:hover { background-position: 0 -43px; }

.sidebars .btn { margin-top: 20px; padding: 0.6em 0; width: 100%; }

.sidebars .btn-purchase {
	padding: 0;
	width: 165px;
	height: 47px;
	background-color: #F2F2F2;
	background-image: url(../images/btn-purchase-en.jpg);
	background-position: 0 0;
	background-repeat: no-repeat;
}

.fr .sidebars .btn-purchase { background-image: url(../images/btn-purchase-fr.jpg); }

.sidebars .btn-purchase:hover { background-position: 0 -47px; }

/** Readmore */
/* -------------------------------------------------------------------------- */
.readmore {
	padding-left: 20px;
	float: right;
	height:  13px;
	color: #fff;
	font-weight: bold;
	line-height: 13px;
	font-size: 13px;
	font-size: 0.8125rem;
	text-decoration: none;
	background: url(../images/readmore-arrows.png) no-repeat left top;
}
.readmore:link,
.readmore:visited,
.readmore:active,
.readmore:hover {
	color: #fff;
}
.readmore:hover {
	background-position: left bottom;
}

/** Slides */
/* -------------------------------------------------------------------------- */
.slide {
	position: relative;
	width: 1080px; height: 620px;
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0,0,0, 0.6);
}
	.slide--background {
		position: absolute;
		top: 0; left: 0;
	}
	.slide--content {
		padding: 0 0px 20px 45px;
		position: absolute;
		top: 70px;
		left: 480px;
		width: 475px;
		height: 195px;
		background: url(../images/arrow-right.png) no-repeat top left;
	}
		.slide--content .field-name-body {
			padding-right: 30px;
			font-size: 40px;
			font-size: 2.5rem;
			font-weight: 600;
			line-height: 1.125;
			background: url(../images/arrow-left.png) no-repeat bottom right;
		}
		.slide--content .field-name-field-attribution {
			padding-right: 45px;
			text-align: right;
		}

.jumbo-slider {
	position: absolute;
	top: 0;
	width: 1080px;
	left: -310px;
}
	.jumbo-slider .slides {
		margin: 0; padding: 0;
	}
		.jumbo-slider .slides li {
			margin: 0; padding: 0;
			display: none;
			width: 1080px; height: 620px;
			list-style-type: none;
		}
		.jumbo-slider .slides li:first-child {
			display: block;
		}
	.jumbo-slider .flex-control-nav {
		margin: 0; padding: 0;
		position: absolute;
		z-index: 100;
		bottom: 75px;
		left: 532px;
		height: 17px; overflow: hidden;
		list-style-type: none;
	}
		.jumbo-slider .flex-control-nav li {
			margin-right: 5px;
			float: left;
			width: 17px; height: 17px;
			overflow: hidden;
			text-indent: 100%;
		}

		.jumbo-slider .flex-control-nav a {
			display: block;
			width: 17px; height: 17px;
			background: url(../images/dots.png) no-repeat center bottom;
		}
		.jumbo-slider .flex-control-nav .flex-active,
		.jumbo-slider .flex-control-nav a:hover {
			background-position: center top;
		}

/** Better Business Beaureau Badge */
/* -------------------------------------------------------------------------- */
.bbb-badge {
	padding: 32px 41px 0 0;
	width: 192px;
	width: 151px;
	height: 79px;
	overflow: hidden;
	background: url(../images/BBB-logo-eng.png) 0 32px no-repeat;
}

.fr .bbb-badge { background-image: url(../images/BBB-logo-fr.png); }

.bbb-badge img { padding: 79px 0 0 151px; /* Dimensions of the logo */ }

/** Sidebar Blocks */
/* -------------------------------------------------------------------------- */
.view-mode-sidebar {
	margin: 0 15px 0 10px;
	padding: 20px 0 22px;
	background: url(../images/sidebar-shadow-bg.png) no-repeat center top;
}
.front .view-mode-sidebar.first {
	padding-top: 45px;
}
	.view-mode-sidebar .img {
		width: 40px;
		text-align: center;
	}
		.view-mode-sidebar .img img {
			margin: 0 auto;
		}
	.view-mode-sidebar .bd {
		overflow: visible;
		margin-left: 50px;
	}
		.view-mode-sidebar h2 {
			margin: 10px 0 5px;
			text-transform: uppercase;
			font-size: 1.25em;
			font-weight: 600;
			line-height: 0.9em;
			color: #4277a1;
		}
		.view-mode-sidebar p {
			margin: 0;
			font-size: 12px;
			font-size: 0.75rem;
			line-height: 1.2;
		}
		.view-mode-sidebar.info p {
			padding-left: 8px;
			padding-right: 8px;
			color: #4277A1;
			font-size: 14px;
		}
		.view-mode-sidebar .field-name-field-disclaimer {
			font-size: 10px;
			font-size: 0.625rem;
			line-height: 1.2;
		}

.view-mode-sidebar_center {
	padding-top: 20px;
	margin-left: 20px;
	margin-right: 20px;
}
	.view-mode-sidebar_center p {
		color: #4277A1;
		font-size: 14px;
	}
	.view-mode-sidebar_center .btn {
		margin-top: 15px;
		margin-left: 40px;
	}

.view-mode-sidebar_wide {
	margin-left: 20px;
	margin-right: 20px;
	padding: 0;
	background: none;
}
	.view-mode-sidebar_wide .img {
		width: 50px;
		margin-right: 10px;
	}
	.view-mode-sidebar_wide .bd {
		margin-left: 60px;
	}
	.view-mode-sidebar_wide h2 {
		margin-top: 8px;
		margin-bottom: 30px;
	}
	.view-mode-sidebar_wide .readmore {
		margin: 6px 0 6px 0;
		float: left;
		color: #CC2127;
	}
	.view-mode-sidebar_wide .readmore:hover {
		color: #f23036;
	}

.view-mode-sidebar_large {
	padding: 25px 18px;
	background: #4277a1;
	color: #fff;
}
	.view-mode-sidebar_large .field-name-field-icon {
		text-align: center;
	}
	.view-mode-sidebar_large h2 {
		font-size: 24px;
		font-size: 1.5rem;
		font-weight: 600;
		line-height: 1.25em;
		margin: 1em 0;
		text-transform: none;
	}
	.view-mode-sidebar_large .price {
		margin-left: 0.25em;
		color: #fff;
	}
	.view-mode-sidebar_large ul {
		font-size: 14px;
		font-size: 0.875rem;
		padding-left: 1em;
		margin-bottom: 0;
		line-height: 1.214em;
	}
		.view-mode-sidebar_large li {
			margin-top: 5px;
		}
		.view-mode-sidebar_large li:first-child {
			margin-top: 0;
		}

.view-mode-sidebar_plain {
	padding: 0 0 25px 18px;
}
.first .view-mode-sidebar_plain {
	margin-top: -50px;
}
	.view-mode-sidebar_plain p {
		margin: 10px 0;
		font-weight: normal;
		color: #4277a1;
		line-height: 1.222em;
		font-size: 18px;
		font-size: 1.125rem;
	}
	.view-mode-sidebar_plain a,
	.view-mode-sidebar_plain a:visited {
		color: #40729d;
	}

/** Accordions */
.accord {}
	.accord--title {
		font-weight: normal;
		margin-bottom: 0;
		padding-left: 32px;
		font-size: 16px;
		font-size: 1rem;
		text-transform: none;
		background: url(../images/accord-arrows.png) no-repeat -24px -2px;
		cursor: pointer;
	}
		.accord--title.isOpen {
			background-position: 0 -26px;
		}
	.accord--body {
		overflow: hidden;
		padding-left: 32px;
	}
		.accord--body,
		.accord--body p {
			font-size: 12px;
			font-size: 0.75rem;
			line-height: 1.5;
			margin-bottom: 0;
		}

/** Node styles */
/* -------------------------------------------------------------------------- */
.with-sidebar { margin-left: -250px; padding-left: 250px; width: 520px; }
.lt-ie8 .with-sidebar { float: left; }
	.with-sidebar .field-name-body {
		padding-right: 50px;
		overflow: hidden;
}

.front .node-page {
	padding: 25px 30px 30px;
	position: absolute;
	bottom: 97px;
	right: 27px;
	z-index: 100;
	width: 428px;
	color: #fff;
	background: black;
	background: rgba(0,0,0, 0.6);
}
.front .title {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.25;
}
.front .node-page p {
	margin: 15px 0 0;
	line-height: 1.333;
}

/* -------------------------------------------------------------------------- */
/** All the page stylings */
/* -------------------------------------------------------------------------- */

/**
 * @file
 * Page Styling
 *
 * Style the markup found in page.tpl.php. Also includes some styling of
 * miscellaneous Drupal elements that appear in the $content variable, such as
 * ul.links, .pager, .more-link, etc.
 */

/*
 * The skip-link link will be completely hidden until a user tabs to the link.
 * See the element-focusable rule in system.base.css.
 */

#skip-link {
	margin: 0;
}
#skip-link a,
#skip-link a:visited {
	display: block;
	width: 100%;
	padding: 2px 0 3px 0;
	text-align: center;
	background-color: #666;
	color: #fff;
}

/*
 * Header
 */

#header {
	position: relative;
	z-index: 100;
	height: 144px;
	background: #4277a1 url(../images/header-bg.png);
	border-top: 40px solid black;
	-webkit-box-shadow: 0 0 10px rgba(0,0,0, 0.5);
	   -moz-box-shadow: 0 0 10px rgba(0,0,0, 0.5);
	        box-shadow: 0 0 10px rgba(0,0,0, 0.5);
}

#logo { /* Wrapping link for logo */
	float: left; /* LTR */
	margin: 0;
	padding: 25px 0 0;
	width: 241px;
	height: 93px;
	overflow: hidden;
	line-height: 130px;
	background: url(../images/logo.png) 0 25px no-repeat;
}

#logo img { padding: 93px 0 0 241px; /* Dimensions of the logo */ }

.region-header {
	float: right;
}

/*
 * Content
 */

#main { position: static; }

#content {
	margin: 40px 0 0 250px;
	float: right;
	width: 710px;
}

#content-inner {
	position: relative;
	width: 710px;
}
.front #content-inner {
	height: 620px;
}

.page-banner {
	margin-left: -310px;
	width: 1080px;
	-webkit-box-shadow: 0 0 10px rgba(0,0,0, 0.2);
	   -moz-box-shadow: 0 0 10px rgba(0,0,0, 0.2);
	        box-shadow: 0 0 10px rgba(0,0,0, 0.2);
}
	.page-banner img {
		display: block;
	}

ul.menu {
	border: none;
	list-style: none;
	text-align: left; /* LTR */
}

ul.inline,
ul.links.inline {
	display: inline;
	padding: 0;
}
ul.inline li {
	display: inline;
	list-style-type: none;
	padding: 0 1em 0 0; /* LTR */
}

.title {
	margin: 30px 0 0;
	line-height: 1;
	color: #4277A1;
}

.front .title {
	margin: 0;
	color: #fff;
}

.node form {
	overflow: hidden;
}

.node .article-content {
	margin-top: 30px;
	margin-left: -250px;
	padding-left: 60px;
	float: left;
	border-right: 1px solid #8a8a8a;
	border-left: 190px solid #f2f2f2;
}

/*
 * First sidebar (on left in LTR languages, on right in RTL)
 */

.sidebars {
	margin-right: -250px;
	position: relative;
	width: 190px;
	float: left;
}

.region-sidebar-first {
	margin-top: 40px;
	width: 190px;
	background: #f2f2f2;
}

.front .region-sidebar-first {
	height: 620px;
}

/*
 * Second sidebar (on right in LTR languages, on left in RTL)
 */

.region-sidebar-second {
	margin-top: 22px;
	width: 250px;
	margin-right: -60px;
	float: right;
}
.lt-ie8 .region-sidebar-second { margin-top: 115px }

/*
 * Footer
 */

#footer {
	clear: both;
	width: 1080px;
}
#footer-inner {
	margin: 0; padding: 60px 0 0;
	font-size: 0.75em;
	line-height: 16px;
}
#footer #addthis {
	margin-left: 8px;
	float: right;
	width: 98px;
}

#footer #addthis .addthis_default_style .at15t_compact {
	margin-right: 0;
}

#footer #addthis .addthis_default_style .at300m {
	padding-right: 0;
}

/** Navigation */
/* -------------------------------------------------------------------------- */

#navigation {
	position: absolute;
	top: 184px; right: 0; left: 0; z-index: 50;
	padding-bottom: 5px;
	background: #fff url(../images/header-nav-border.png) repeat-x center bottom;
}

#navigation ul.links, /* Main menu and secondary menu links */
#navigation ul.menu { /* Menu block links */
	margin: 0;
	padding: 0;
	text-align: left; /* LTR */
}

#navigation ul.links li,
#navigation ul.menu li { /* A simple method to get navigation links to appear in one line. */
	float: left; /* LTR */
	padding: 0 10px 0 0; /* LTR */
	list-style-type: none;
	list-style-image: none;
}

/*
 * Main menu and Secondary menu links
 */

#main-menu {
	height: 35px;
	line-height: 35px;
	border-left: 1px solid #dbdbdb;
	border-right: 1px solid #f0f0f0;
}
	#main-menu ul.links li {
		padding: 0;
		width: 192px;
		font-size: 14px;
		text-transform: uppercase;
		text-align: center;
	}
		#main-menu ul.links li a {
			display: block;
			text-decoration: none;
			color: #000;
			font-weight: 600;
			border-right: 1px solid #dbdbdb;
			border-left: 1px solid #f0f0f0;
		}
		#main-menu ul.links li a:hover,
		#main-menu ul.links li a:focus,
		#main-menu ul.links .active a {
			background: #cc2127;
			border-left-color: #cc2127;
			color: #fff;
		}

/*
 * Tab menu
 */
#navigation ul.tabs {
	padding: 10px 0 0 10px;
	position: absolute;
	top: 30px;
	right: -25px;
	overflow: hidden;
	-webkit-transform-origin: right 10px;
	   -moz-transform-origin: right 10px;
	    -ms-transform-origin: right 10px;
	     -o-transform-origin: right 10px;
	        transform-origin: right 10px;
	-webkit-transform: rotate(-90deg);
	   -moz-transform: rotate(-90deg);
	    -ms-transform: rotate(-90deg);
	     -o-transform: rotate(-90deg);
	        transform: rotate(-90deg);
}
.lt-ie9 #navigation ul.tabs {
	top: 40px;
	right: -165px;
	float: right;
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
.lt-ie8 #navigation ul.tabs {
	right: -60px;
}
	#navigation ul.tabs li{
		width: 140px;
		background: #40729d;
		border: none;
		overflow: hidden;
		-webkit-border-radius: 1em 0 0 0;
		   -moz-border-radius: 1em 0 0 0;
		        border-radius: 1em 0 0 0;
		-webkit-box-shadow: -3px 0 6px rgba(0,0,0, 0.6);
		   -moz-box-shadow: -3px 0 6px rgba(0,0,0, 0.6);
		        box-shadow: -3px 0 6px rgba(0,0,0, 0.6);
	}
		#navigation ul.tabs li a {
			border: none;
			color: #fff;
			-webkit-border-radius: 1em 0 0 0;
			   -moz-border-radius: 1em 0 0 0;
			        border-radius: 1em 0 0 0;
		}

#secondary-menu {
	position: absolute; top: -40px;
	right: 0;
	width: 192px;
	height: 40px;
	line-height: 40px;
	text-align: left;
	font-size: 14px;
}
	#secondary-menu ul {
		margin: 0;
	}
	#secondary-menu li {
		margin-left: 0.5em;
		padding-left: 0.5em;
		padding-right: 0;
		border-left: 1px solid #fff;
	}
	#secondary-menu li:first-child { margin-left: 0; padding-left: 0; border-left: none; }
		#secondary-menu a {
			font-weight: 600;
			text-decoration: none;
			color: #fff;
		}

#footer .menu {
	margin: 0; padding: 0;
	float: right;
}
#footer .menu li{
	margin: 0 0 0 10px;
	padding: 0 0 0 9px;
	list-style: none;
	float: left;
	text-align: right;
	border-left: 1px solid #666;
}
#footer .menu li:first-child {
	border: none;
	color: #666;
}
#footer .menu a {
	color: #666;
	text-decoration: none;
}
#footer #block-menu-menu-footer-menu { float: right;}
/* Alert Box */
#mask {
  position:absolute;
  left:0;
  top:0;
  z-index:9000;
  background-color:#000;
  display:none;
}  
#boxes .window {
  position:absolute;
  left:0;
  top:0;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:20px;
  border-radius: 15px;
  text-align: center;
}
#boxes #dialog {
  width:600px; 
  height:auto;
  padding:10px;
  background-color:#ffffff;
}
 
#boxes h1 {
   margin: 30px 0 0;
  line-height: 1;
  color: #4277A1
  
}
 
#boxes a {
   color: #cc2127;
}
 
.maintext{
   text-align: center;
}

