/*
 * Base.css
 * CSS du site de la TÉLUQ 2015
 * Styles de liens, typographies, couleurs, formulaires, accordéons, etc.
 * Programmeur : Andy Harvey
 */

/* =============================================================================
   Normaliser les styles
   ========================================================================== */

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; }

html { font-size: 62.5% !important; -webkit-font-smoothing: antialiased; -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: 16px; line-height: 1.5; }

::-moz-selection { background: #000; color: #fff; text-shadow: none; }
::selection { background: #000; color: #fff; text-shadow: none; }

a { color: #003366; }
a:link,
a:visited{
	color: #003366;
	text-decoration: underline;
}
a:focus { outline: thin dotted; }
a:active,
a:hover{
	outline: 0;
	background-color:transparent;
	text-decoration: none;
}

abbr[title] { border-bottom: 1px dotted; }
a > abbr[title] { border-bottom: none; }
b, strong { font-weight:700; }
b.semi, strong.semi { font-weight:600; }
i, em { font-style: italic; }
blockquote { margin: 10px 0; font-size:1.571428571428571em; /* 22/14 */ line-height:1.272727272727273; /* 28/22*/ font-weight:normal; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #aaa; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
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: 90%; line-height:1.5; }
big { font-size: 115%; }

sub, sup { font-size: 85%; line-height: 0; position: relative; vertical-align: baseline; text-transform:none; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

ul, ol { margin: 0 0 10px 0; padding: 0 0 0 19px; list-style-position:outside; }
ul ul, ol ol, ul ol, ol ul { margin-top:0; }
li { margin:8px 0; }
nav ul, nav li { margin:0; padding:0; list-style-image:none; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol, ul.noliste, ul.no_liste { list-style: none; list-style-image: none; margin: 0; padding: 0; }
ul.noliste > li, ul.no_liste > li { display:block; } /* Règle petit prob. d'aff. IE8+ */
.ie8 ul.noliste > li, .ie8 ul.no_liste > li { display:list-item; } /* Annule pour IE8 (cause autre bogue) */

img { 
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
	max-width:100%;
	height:auto;
	width:auto;
}

svg:not(:root) { overflow: hidden; }

figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-family: inherit; font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; 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; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }



/* Coupure des longs mots. Parfait pour les longs URL */
.text_cut {
	word-wrap:break-word;
}


/* ===== Primary Styles ========================================================
   Author: Andy Harvey, TÉLUQ
   ========================================================================== */

html {
	font: 15px/19px 'Open Sans', sans-serif;
	color: #000;
	overflow-y: scroll;
}

/*
 * Typographie
 */
h1, h2, h3, h4, h5, h6 {
	color: #000000;
	font-weight: 600;
}
h4, h5, h6 { font-weight: 400; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup { text-transform:none; }

h1 { font-size: 4rem; /* 30/14 */ line-height: 50px; margin: 15px 0 10px 0; text-transform:uppercase; }
h2 { 
	line-height: 46px; 
	color:#000;
	font-weight: 600 !important;
	text-align: left;
    max-width: 830px;
    margin: 15px 0 15px 0;
    font-size: 3.4rem;
    /* text-transform: uppercase; */
    font-weight: normal;
}
h3 { font-size:1.428571428571429em; /* 20/14 */ line-height: 1.285714em; margin: 20px 0 8px 0; color:#2e8804; }
h4 { font-size: 1.285714285714286em; /* 18/14 */ line-height: 1.285714em; margin: 15px 0 5px 0; font-weight:600; }
h5 { font-size: 1.071428571428571em; /* 15/14 */ line-height: 1.285714em; margin: 15px 0 5px 0; text-transform:uppercase; }
h6 { font-size: 1em; line-height: 1.307692em; margin: 10px 0 5px 0; }


h1.titrePage {
	font: 42rem/51px;
	color: white;
	text-transform:none;
	padding:50px 0;
	margin:0;
	font-weight:600;
}

h2 a:link, h2 a:visited, h2 a:hover { color:#000; text-decoration:none; }
h2 sub, h2 sup { font-size: 75%; } /* 1er cycle "déborde" */


p { margin: 0 0 10px 0; }
p img { margin: 0; }
small {
	font-size: 1.4rem;
	line-height: 19px;
}
.remove-top { margin-top: 0 !important; }
.add-top { margin-top: 10px !important; }		  /* Même valeur que la marge du <p> */
.half-top { margin-top: 5px !important; }
.add-d-top { margin-top: 20px !important; }		  /* Double marge */
.add-t-top { margin-top: 30px !important; }		  /* Triple marge */
.remove-bottom { margin-bottom: 0 !important; }
.half-bottom { margin-bottom: 5px !important; }
.add-bottom { margin-bottom: 10px !important; }   /* Même valeur que la marge du <p> */
.add-d-bottom { margin-bottom: 20px !important; } /* Double marge */
.add-t-bottom { margin-bottom: 30px !important; } /* Triple marge */


hr { border: solid #aaa; border-width: 1px 0 0; clear: both; margin: 20px 0; height: 0; }


/*
 * Listes
 */
//ul { list-style-type:none; list-style-image:url(../img/puce.png); }





/*
 * Liens spéciaux
 */

.btPlay {
	position:relative;
	display:inline-block;
	max-width:100%;
}
.btPlay a {
	display:block;
}
.btPlay a:after,
.btPlay a:after {
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(../img/play.svg) center center no-repeat;
}
.btPlay a:focus:after,
.btPlay a:hover:after {
	opacity:0.8;
}



/*
 * Accordéons
 */
.accordeon { margin:10px 0 20px 0; }

.accordeon .toggler {
	position:relative;
	transition: all .2s;
	padding: 4px 35px 4px 35px;
	color:#000;
	background-color:transparent;
	display: block;
	font-size: 1.142857142857143em; /* 16/14 */
	line-height:1.25em; /* 20/16 */
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	margin-top:30px;
	margin-bottom:0px;
	border-bottom:1px solid #666;
	text-transform:none;
	
	/* Empêche la sélection sur l'élément */
	user-select:none;
	-o-user-select:none;
	-moz-user-select:none;
	-khtml-user-select:none;
	-webkit-user-select:none;
}
.accordeon .toggler.active { }

.accordeon .toggler .nb {
	display:block;
	position:absolute;
	left:5px;
	top:4px;
}

.accordeon .toggler .icone {
	background-image:url(../img/plus_moins_sprite.png);
	background-position:0 0;
	display:block;
	width:25px;
	height:25px;
	position:absolute;
	right:5px;
	bottom:5px;
}
.accordeon .toggler:hover .icone,
.accordeon .toggler:focus .icone {
	background-position:0 -25px;
}
.accordeon .toggler.active .icone {
	background-position:-25px 0;
}
.accordeon .toggler.active:hover .icone,
.accordeon .toggler.active:focus .icone {
	background-position:-25px -25px;
}

.accordeon > div { padding: 10px 0; }
.accordeon > div > *:first-child { margin-top:0; }
.accordeon > div > *:last-child  { 
	margin-bottom:0; 
	padding-left: 8px;
}



/* =============================================================================
   Misc Classes
   ========================================================================== */
/* Textes/paragraphes */
.vsmall { font-size: 85%; line-height:1.5; }
.small { font-size: 90%; line-height:1.5; } /* Comme plus haut */
.big { font-size: 115%; } /* Comme plus haut */

.alignerTxtG { text-align:left; }
.alignerTxtD { text-align:right; }
.alignerTxtC { text-align:center; }

.rouge { color:#942428!important; }
.vert { color:#2E8804!important; }
.caps, .ucase { text-transform:uppercase!important; }
.block { display:block; } /* <span> changement de ligne */

/* Images */
.alignerImgG { margin-bottom:15px; float:left; margin-right:20px; }
.alignerImgD { margin-bottom:15px; float:right; margin-left:20px; }


/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */
/* For image replacement */
.ir { background-color:transparent; border:0; overflow:hidden; *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; }

/* Affichage à l'impression seulement */
.print_only { display:none; }

/* 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:before, .clearfix:after { content:" "; display:table; }
.clearfix:after { clear:both; }
.clearfix { *zoom:1; }



/* #Tablet (Portrait)
================================================== */

/* Note: Design for a width of 768px */
@media only screen and (min-width: 768px) and (max-width: 880px) {
	/* .container = width de 768px */
	
	/* Taille réduite du titre principal, pour mobile */

	
}


/*  #Mobile (Portrait)
================================================== */

/* Note: Design for a width of 320px */
@media only screen and (max-width: 767px) {
	/* .container = width de 280px */
	
	/* Taille réduite du titre principal, pour mobile */
	h1.titrePage {
		font-size:2.285714285714286em; /* 32/14px */
	}
	
	
}


/* #Mobile (Landscape)
================================================== */

@media only screen and (max-width: 600px){
	.pageEntete .bgImage{
		background-position: left top !important; 
	}
}

/* Note: Design for a width of 480px */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	/* .container = width de 420px */
	
}

/* Note: Design for a width of 320px */
@media only screen and (max-width: 479px) {
	h1.titrePage {
		font-size:1.857142857142857em; /* 26/14px */
	}
	
	h2 {
		font-size:1.428571428571429em; /* 20/14 */
	}
	blockquote { 
		font-size:1.214285714285714em; /* 17/14 */
	}
}
