/*  ============================================================================
    IMPORTS
    ========================================================================== */
@import url(reset.css);
@import url(simplegrid.css);
@import url(social-icon.css);
@import url(font-awesome.min.css);
@import url(https://fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700,700italic,900);

/*  ============================================================================
	GENERAL BASE BY Keven Ouellet
	========================================================================== */

html								{ font-family: 'Lato', Georgia, serif; font-size: 18px; line-height: 26px; font-weight: 400; height: 100%; color:#444; }
body								{ font-family: 'Lato', Georgia, serif; font-size: 18px; line-height: 26px; font-weight: 400; height: 100%; color:#444; }

.cke_editable  						{ padding: 20px; min-height: 400px; }
.cke_editable table.no-border		{ border: 1px dotted #D3D3D3; }
.cke_editable table.no-border tr td	{ border: 1px dotted #D3D3D3; }
.cke_editable table.no-border tr th	{ border: 1px dotted #D3D3D3; }
.cke_editable .ckeditor ul,
.cke_editable .ckeditor ol 			{ padding-left: 30px; margin-bottom: 30px; }

/*  ============================================================================
    Positions
    ========================================================================== */

.clear                              { display: block; clear: both; overflow: hidden; height:0; margin:0; padding: 0; }
.align-left                         { float:left; margin-right: 20px; }
.align-right                        { float:right; margin-left: 20px; }
.align-center                       { text-align: center; }
.full                               { width:100%; }

.fixed 								{ position: fixed; }
.left 								{ text-align: left; }
.right 								{ text-align: right; }
.center 							{ text-align: center; margin-left: auto; margin-right: auto; }

.inline 							{ display: inline; }
.inline-block 						{ display: inline-block; }
.block 								{ display: block; }

/*  ============================================================================
	TYPOGRAPHY
	========================================================================== */

h1									{ font-size: 60px; line-height: 68px; margin-bottom: 10px; margin-top: 20px; font-weight: 900; color:#FFF; text-shadow: 0.075em 0.08em 0.1em rgba(0, 0, 0, 1); }
h2									{ font-size: 38px; line-height: 42px; margin-bottom: 10px; margin-top: 20px; font-weight: 700; color:#FFF; text-shadow: 0.075em 0.08em 0.1em rgba(0, 0, 0, 1); }
h3									{ font-size: 30px; line-height: 36px; margin-bottom: 10px; margin-top: 20px; }
h4									{ font-size: 20px; line-height: 26px; margin-bottom: 10px; margin-top: 20px; }
h5									{ font-size: 17px; line-height: 22px; margin-bottom: 10px; margin-top: 20px; }

.ckeditor ul						{ list-style: disc; padding: 0; padding-left: 30px; }
.page-wrapper img 					{ width: auto !important; height: auto !important; }

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

i, em								{ font-style: italic; }
strong, b							{ font-weight: bold; }
	
p									{ font-size: 18px; line-height: 28px; margin-bottom: 15px; margin-top: 5px; color:#3a3a3a; }
p.spacer							{ padding: 20px; }
p.spacer-large						{ padding: 40px;  }
p.section-title						{ text-transform: uppercase; border-bottom: 1px solid #141414; font-weight: bold; }
p.sub-section-title					{ text-transform: uppercase; border-bottom: 1px solid #eee; font-weight: 700; }

small								{ font-size: 14px; }

img									{ max-width:100%; }

sub, sup 							{ font-size: 12px; } 
sub 								{ vertical-align: sub; } 
sup 								{ vertical-align: super; }

blockquote,
cite								{ border-left: 3px solid #e7e9ec; padding: 0 0 0 16px; margin: 30px 0 30px 30px; }


/*  ============================================================================
	LISTS
	========================================================================== */

ol,
ul									{ list-style: disc; padding: 0; }
ul.square							{ list-style: square; }
ul ul,
ol ol 								{ margin-bottom:0; }
ol									{ list-style: decimal;  }

ul.inline 							{ list-style: none; }
ul.inline li 						{ background-color: #333333; color:#FFF; display: inline-block; padding: 5px 10px; }

/*  ============================================================================
	LINKS & BUTTONS
	========================================================================== */

a									{ color:#004996; text-decoration: underline; }
a:hover								{ color:#002A54; -webkit-transition: all 0.25s ease; -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease; }

a.read-more						 	{ padding: 5px 12px; margin: 10px 0; background-color: #333333; color:#FFF; text-decoration: none; display: inline-block; }
a.read-more:hover					{ background-color: #000000; text-decoration: none; }

a.more							 	{ padding: 13px 18px; margin: 10px 0; background-color: #141414; color:#FFF; text-decoration: none; display: inline-block; }
a.more:hover						{ background-color: #000000; text-decoration: none; }

a.button 							{ background-color:#303030; color:#FFF; padding: 15px 20px; text-decoration: none; }
a.button:hover 						{ background-color: #000; }

/*  ============================================================================
	TABLES
	========================================================================== */

table								{ width: 100%; margin-bottom: 30px; border: 1px solid #D3D3D3; }
table tr td							{ display: table-cell; padding: 10px; vertical-align: top; border: 1px solid #D3D3D3; }
table tr th						 	{ display: table-cell; padding: 10px; vertical-align: top; font-weight: bold; text-align: left; border: 1px solid #D3D3D3; }

table.no-border,
table.no-border tr td,
table.no-border tr td 				{ border:none; }

table.border						{ width: 100%; margin-bottom: 12px; border: 1px solid #D3D3D3; }
table.border tr td					{ display: table-cell; padding: 5px 10px; vertical-align: top; border: 1px solid #D3D3D3; }
table.border tr th				 	{ display: table-cell; padding: 5px 10px; vertical-align: top; font-weight: bold; text-align: left; border: 1px solid #D3D3D3; }

/*  ============================================================================
	FORMS
	========================================================================== */
  
input[type=text],
input[type=password]
input[type=search],
input[type=url],
input[type=tel],
input[type=date],
input[type=email],
input[type=time],
input[type=number],
input[type=range],
input[type=color],
textarea							{ font-family: 'Lato', Georgia, serif; font-size: 16px; width: 100%; padding: 10px 15px; margin-bottom: 15px; border:1px solid #CCCCCC; -webkit-transition: all 0.30s ease-in-out; -moz-transition: all 0.30s ease-in-out; -ms-transition: all 0.30s ease-in-out; -o-transition: all 0.30s ease-in-out; outline: none; -webkit-appearance: none; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

input[type=radio] 					{ width: auto !important;  }
input[type=checkbox] 				{  }

input[type=submit] 					{ padding: 13px 28px; color:#FFF; transition: 0.5s; background-color: #5bb85d; border: none; border-bottom: 3px solid #639f63; cursor: pointer; font-size: 18px; line-height: 18px; -webkit-appearance: none; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
input[type=submit]:hover 			{ background-color: #35B737; }

input:focus,
textarea:focus 						{ border: 1px solid #35B737; }

textarea							{ min-height: 150px; resize: vertical; }
select								{ font-size: 16px; width: 100%; padding: 10px 15px; margin-bottom: 15px; border:1px solid #CCCCCC; -webkit-transition: all 0.30s ease-in-out; -moz-transition: all 0.30s ease-in-out; -ms-transition: all 0.30s ease-in-out; -o-transition: all 0.30s ease-in-out; outline: none; -webkit-border-radius: 0; }
option								{ width: 100%; }

span.help 							{ display: inline-block; position: relative; }
span.help .fa 						{ padding: 3px; font-size:18px; cursor: pointer;  }
span.help:hover .fa					{ color:#1C1C1C; }
span.help:hover span.help-text 		{ opacity: 1; visibility: visible; text-align: center; -webkit-transition: all 0.30s ease-in-out; -moz-transition: all 0.30s ease-in-out; -ms-transition: all 0.30s ease-in-out; -o-transition: all 0.30s ease-in-out;  }
span.help-text 						{ opacity: 0; visibility: hidden; position: absolute; top:100%; left:0; background-color: #333333; padding: 8px 10px 5px 10px; font-size:14px; color:#FFF; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

/* JS ADD ICON TO SPECIFIC INPUT (script.js) */
.has_icon 							{ position: relative; }
.has_icon .input-icon 				{ position: absolute; top:9px; left:15px; }
.has_icon input 					{ padding-left: 44px; }


/*  ============================================================================
    BREADCRUMBS
    ========================================================================== */

.ariane                             { font-size: 15px; margin-bottom: 10px; }
.ariane a                           { font-size: 15px; display: inline-block; text-decoration: none; }
.ariane a:after                     { font-family: "FontAwesome"; content:"\f105"; padding: 0 8px; font-weight: 900; }

/*  ============================================================================
    LINKS
    ========================================================================== */

.links                              { margin: 5px 0; }
.links a                            { display: inline-block; padding: 2px 13px; border:1px solid #efefef; }
.links .current_page                { display: inline-block; padding: 2px 13px; border:1px solid #efefef; background-color: #f5f5f5; }

/*  ============================================================================
    MESSAGES & ERRORS
    ========================================================================== */

.message                            { padding: 20px 20px 20px 50px; position: relative; margin-bottom: 20px; color: #ffffff; background-color: #AFAFAF; font-weight: bold; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0px 10px 13px -10px #000000, 5px 5px 15px 5px rgba(0,0,0,0);  box-shadow: 0px 10px 13px -10px #000000, 5px 5px 15px 5px rgba(0,0,0,0); }
.message p 							{ margin: 1px 0 0 0; font-size:16px; line-height: 20px; }

.error 								{ background-color:#ec3d3c; }
.error:before 						{ font-family: "FontAwesome"; content:"\f06a"; padding: 0 10px 0 0; font-size: 26px; position: absolute; top:23px; left:16px; }
.error p 							{ color:#FFF; }

.success 							{ background-color:#3dc55d; }
.success:before 					{ font-family: "FontAwesome"; content:"\f00c"; padding: 0 10px 0 0; font-size: 26px; position: absolute; top:23px; left:16px;  }
.success p 							{ color:#FFF; }

.notif 								{ background-color:#D3D3D3; }
.notif:before 						{ font-family: "FontAwesome"; content:"\f0f3"; padding: 0 10px 0 0; font-size: 26px; position: absolute; top:23px; left:16px;  color:#3F3F3F; }
.notif p 							{ color:#3F3F3F; }

.warning 							{ background-color:#efaa33; }
.warning:before 					{ font-family: "FontAwesome"; content:"\f06a"; padding: 0 10px 0 0; font-size: 26px; position: absolute; top:23px; left:16px;  color:#3F3F3F; }
.warning p 							{ color:#3F3F3F; }

input.missing,
textarea.missing,
select.missing 						{ border: 2px solid #FF3B38; background-color: #FFCECE; }
.missing 							{ color: #FF3B38; }

.alert-error 						{ background-color:#ec3d3c; }

.js-error 							{ position: fixed; bottom:0; left:0; padding: 30px; background-color: #F25C00; color:#FFF; width: 100%; text-align: center; z-index: 1000; }
/*  ============================================================================
    NAVIGATION
    ========================================================================== */

nav#main-nav 								{  }
nav#main-nav ul 								{ list-style: none; padding: 0; margin: 0; }
nav#main-nav ul li 							{ display: inline-block; position: relative; }
nav#main-nav ul li a							{ display: block; color:#FFF; text-transform: uppercase; text-decoration: none; padding: 10px; }
nav#main-nav ul li a:hover,
nav#main-nav ul li a.current 				{ background-color: #2B2B2B; }

/* Affichage du sous menu */
nav#main-nav ul li:hover > ul      			{ visibility: visible; opacity: 1; }
nav#main-nav ul li:hover > a      			{ color:#FFF; }

nav#main-nav ul li:hover a					{ background-color: #2B2B2B; }

nav#main-nav ul ul 							{ visibility: hidden; opacity: 0; z-index: 101; -webkit-transition: all 0.25s ease; -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease; position: absolute; top:100%; left:0px; padding-left: 0; width: 240px; }
nav#main-nav ul ul li 						{ margin: 0; padding: 0; display: block; background-color:#2B2B2B; position: relative; }
nav#main-nav ul ul li a 						{ padding: 0; font-weight: normal; font-size:14px; line-height:18px; display: block; color:#FFF; padding: 10px 14px 10px 10px; border-bottom: 1px solid #474747; }
nav#main-nav ul ul li a:hover 				{ background-color: #444444; }

nav#main-nav ul ul li:hover > ul      		{ visibility: visible; opacity: 1; }

nav#main-nav ul ul ul 						{ visibility: hidden; opacity: 0; -webkit-transition: all 0.25s ease; -moz-transition: all 0.25s ease; -o-transition: all 0.25s ease; transition: all 0.25s ease; position: absolute; top:0; left:100%; padding-left: 0; width: 240px; }
nav#main-nav ul ul ul li 					{ margin: 0; padding: 0; display: block; background-color:#2B2B2B; position: relative; }
nav#main-nav ul ul ul li a 					{ padding: 0; font-weight: normal; display: block; color:#FFF; padding: 10px 14px 10px 10px; border-bottom: 1px solid #474747; }

nav#main-nav ul li a.arrow-down:after 		{ font-family: "FontAwesome"; content:"\f107"; padding-left: 5px; }
nav#main-nav ul li a.arrow-right:after 		{ font-family: "FontAwesome"; content:"\f105"; padding-left: 10px; float: right; }

/* MOBILE NAV BUTTON */
#menuburger  						{ display: none; position: fixed; top:44px; right:20px; background: none; font-size: 22px; z-index:10; border:0; padding: 8px 13px; cursor: pointer; background-color: #FFF; }

/*  ============================================================================
	GENERAL 
	========================================================================== */

.no-pad 							{ padding: 0; }
.no-margin 							{ margin: 0; }

.loading-bar 						{ display: none; }

.share 								{ padding-top:50px; }
.share-buttons a					{ width:15%; text-align: center; display: inline-block; padding: 5px 10px; color:#FFF; margin-bottom: 5px; }
.share-buttons .facebook 			{ background-color: #3B5998;  }
.share-buttons .twitter 			{ background-color: #55ACEE;  }
.share-buttons .google-plus 		{ background-color: #DD4B39;  }
.share-buttons .tumblr 				{ background-color: #2C4762;  }
.share-buttons .pinterest 			{ background-color: #CB2027;  }
.share-buttons .linked-in 			{ background-color: #0077b5;  }

.share-buttons .facebook:hover 		{ background-color: #32508C;  }
.share-buttons .twitter:hover 		{ background-color: #409CDD;  }
.share-buttons .google-plus:hover	{ background-color: #D13C2B;  }
.share-buttons .tumblr:hover 		{ background-color: #233E59;  }
.share-buttons .pinterest:hover 	{ background-color: #C1171C;  }
.share-buttons .linked-in:hover 	{ background-color: #00679B;  }

/*  ============================================================================
	HOME PAGE
	========================================================================== */

.home-banner		 				{ z-index: 1; position: fixed; width: 100%; height:90%; }
.main 								{ z-index: 2; position: relative; }
.menu 								{ z-index: 3; position: fixed; top:0; left:0; background-color: #FFF; padding: 10px 10px 6px 10px; width: 100%; border-top: 5px solid #004996; -webkit-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.53); -moz-box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.53); box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.53); }
.menu-int 							{ width: 100%; max-width: 1180px; margin: auto; }
.header 							{ text-align: center; padding-top: 200px; padding-bottom: 80px; margin-top: 100px; }
.white 								{ background-color: #FFF;  }
.blue 								{ background-color: #004996; }
.blue p 							{ color:#FFF; }
.blue p.section-title 				{ border-color:#FFF; }

.zone-cta 							{ float: right; text-align: right; }
.zone-cta p 						{ margin-bottom: 2px; font-size:15px; }
a.cta 								{ font-size:30px; text-decoration: none; color:#004996; font-weight: bold; }

.appointment-small 					{ float: right; padding: 7px 20px 0 0; }
.appointment-button 				{ text-decoration: none; color:#FFF; margin-top: 5px; display: inline-block; background-color: #004996; padding: 8px 16px; font-weight: bold; font-size:15px; }
.appointment-button:hover 			{ background-color: #fbb914; }

.container h2  						{ text-shadow: none; color:#004996; }

.day								{ padding: 5px 0; border-bottom: 1px solid #0B2642; color:#FFF; }
.day:last-of-type 					{ border:0; }
.day_name 							{ width: 120px; float: left; }

.contact-info p.name 				{ font-size:28px; line-height: 34px; }
.contact-info a.tel 				{ font-size:28px; line-height: 34px; color:#fbb914; text-decoration: none; padding: 10px 15px; display: inline-block; border: 1px solid #fbb914; }
.contact-info a.tel .fa 			{ margin-right: 5px; color:#fbb914; font-weight: bold; }
.contact-info a.tel:hover 			{ background-color: #fbb914; color:#FFF; }
.contact-info a.tel:hover .fa 		{ color:#FFF; }

.contact-info a.mail 				{ font-size:28px; line-height: 34px; color:#fbb914; text-decoration: none; padding: 10px 15px; display: inline-block; border: 1px solid #fbb914; }
.contact-info a.mail .fa 			{ margin-right: 5px; color:#fbb914; }
.contact-info a.mail:hover 			{ background-color: #fbb914; color:#FFF; }
.contact-info a.mail:hover .fa 		{ color:#FFF; }

.footer 							{ background-color: #333333; text-align: center; }
.footer p.section-title 			{ color:#FFF; }
p.by 								{ color:#FFF; font-size:14px; }
p.by a 								{ color:#FFF; text-decoration: none; }
p.by a:hover 						{ color:#fbb914; text-decoration: underline; }

.soc 								{ }
.soc li 							{ list-style: none; }
.soc a 								{ color:#FFF; font-size:30px;  }

.side-image 						{ opacity: 0.85; }
.side-image:hover 					{ opacity: 1; }

p.business-hours-notes 				{ border: 1px solid #FFA5A5; padding: 12px; font-size:14px; line-height: 16px; margin-bottom: 0; font-style: oblique; }
table.days 							{ border: none; }
table.days tr.day td 				{ border: none; padding: 5px 10px; border-bottom: 1px solid #C9C9C9; }
table.days tr.current-day td 		{ font-weight: bold; }

.top-alert 							{ z-index: 10; position: fixed; bottom:0; left:0; width: 100%; border-bottom: 3px solid #CE9400; background-color: #fabb13; }
.top-alert h2 						{ font-size:18px; line-height: 20px; font-weight: bold; margin-top: 0; color:#000; text-shadow: none; }
.top-alert p 						{ font-size:15px; margin: 0 }
.top-alert-content					{ padding: 8px 20px; text-align: center; }

a.lang 								{ text-decoration: none; font-size:16px; }

/*  ============================================================================
    Media queries
    ========================================================================== */

/* XXLARGE SCREEN */
@media only screen and (max-width : 1680px) {
	.header 						{ padding-top: 140px; padding-bottom: 100px; }
}

/* XLARGE SCREEN */
@media only screen and (max-width : 1440px) {
	.header 						{ padding-top: 105px; padding-bottom: 65px; }
}

/* LARGE SCREEN */
@media only screen and (max-width : 1280px) {
	.header 						{ padding-top: 105px; padding-bottom: 55px; }
	.header h1 						{ font-size: 40px; line-height: 48px; }
	.header h2 						{ font-size: 28px; line-height: 32px; }
}

/* MEDIUM SCREEN */
@media only screen and (max-width : 1024px) {
	.header 						{ padding-top: 95px; padding-bottom: 45px; }
}

/* INTER SCALE */
@media only screen and (max-width : 960px) {
	.header 						{ padding-top: 75px; padding-bottom: 35px; }
	.header h1 						{ font-size: 30px; line-height: 38px; }
	.header h2 						{ font-size: 18px; line-height: 22px; }
}

/* SMALL SCREEN */
@media only screen and (max-width : 768px) {
	.appointment-small	 			{ float: none; padding: 0; }
	.appointment-button 			{ width: 100%; text-align: center; }
}

/* INTER SCALE */
@media only screen and (max-width : 640px) {
	.logo 							{ max-width: 150px; }
	h1, h2							{ color:#000; text-shadow: none;  }
	.header 						{ padding-top: 105px; padding-bottom: 5px; }
	
	table.no-border,
	table.no-border tr td,
	table.no-border tr td 			{ display: block !important; width: 100% !important; }
}

/* XSMALL SCREEN */
@media only screen and (max-width : 479px) {
	.logo 							{ max-width: 49%; }
	.zone-cta						{ max-width: 49%; }
	.zone-cta p 					{ font-size: 14px; line-height: 18px;  }
	a.cta 							{ font-size: 20px; }
	
}