/* ------ pour ajuster espace entre chaque DCE combiné dans une page ----------------- */

.tx-dce-pi1 {
	margin-bottom:15px;
}

/* ------ pour fixer le fait que notre bar de nav n'est pas externe au div container (est dans un container boxed) parce qu'elle est générée par un DCE ----------------- */

.nav-secondary.sticky-active{
  left: 0px !important;
}

/* ------ pour ajuster sidebar menu left/right dans templates de page  ----------------- */

.sidebar .nav-list li a .bte-menurec {
  content: "+";
  height: 24px;
  width: 24px;
  text-align: center;
  line-height: 24px;
  border: none;
  left: 0;
  float: right !important;
  right: auto;
  margin-top : auto;
  margin-bottom: auto;
  top: 50%;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
}

.sidebar .nav-list li a .bte-menurec:hover {
  background-color: #ccc
}

.sidebar i.fa-chevron-right, .sidebar i.fa-chevron-down{
  display:none;
  text-align: center;
  float: right !important;
  margin-top:5px;
}

.sidebar .toggleContent{
  color : #fff;
  background-color : #000;
  padding: 10px 10px;
}

.HiddenCheckbox {
  display: none;
}
.side-header #header .header-body {
  background-color: transparent;
  border-top: transparent;
}

.side-header #header .header-nav-main nav {
  margin-top: 55px;
}

html.side-header body > .body{
  margin: 0;
}

.side-header #header .header-body {
  background-color: transparent;
}

.side-header #header button.btn.header-btn-collapse-nav{
  display: none;
}

html.side-header #header .header-nav-main {
  max-height: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: hidden;
}
html.side-header #header {
  left: 0;
  position: fixed;
  top: 0;
  width: 255px;
  height: 100%;
  background: transparent;
  box-shadow: none;
}
html.side-header-right #header {
  left: auto;
  right: 0;
}
html.side-header #header .header-body {
  min-height: 870px;
}
html.side-header-right #header .MenuIcon{
  float: right;
}
.MenuIcon {
  cursor: pointer;
  display: block;
  float: left;
  height: 50px;
  position: relative;
  width: 53px;
  z-index: 2;
  margin: 10px;
  padding: 23px 20px 27px 11px;
}
.MenuIcon::before {
  box-shadow: #fff 0 12px 0;
  height: 3px;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  width: 30px;
  top: 12px;
}
.MenuIcon::after {
  bottom: 11px;
  height: 3px;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  width: 30px;
}
.MenuIcon::before,
.MenuIcon::after {
  background: #fff;
  display: block;
  content: '';
  position: absolute;
  transition: background 0.5s ease;
  transition: box-shadow 0.2s linear, -webkit-transform 0.4s 0.2s;
  transition: box-shadow 0.2s linear, transform 0.4s 0.2s;
  transition: box-shadow 0.2s linear, transform 0.4s 0.2s, -webkit-transform 0.4s 0.2s;
}

.HiddenCheckbox:checked ~ .MenuIcon::before {
  background: #fff;
  box-shadow: transparent 0 0 0;
  -webkit-transform: rotate(45deg) translate3d(6px, -3px, 0);
  transform: rotate(45deg) translate3d(6px, -3px, 0);
}
.HiddenCheckbox:checked ~ .MenuIcon::after {
  background: #fff;
  -webkit-transform: rotate(-45deg) translate3d(6px, 3px, 0);
  transform: rotate(-45deg) translate3d(6px, 3px, 0);
}
.HiddenCheckbox:checked ~ .Menu-offCanva {
  transform:translate(0);
  opacity: 1;
}

.Menu-offCanva { /* FF3.6-15 */
  bottom: auto;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity:0;
  transform:translate(9999px);
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.side-header #header .header-btn-collapse-nav {
  display: none;
}
.side-header #header .Menu-offCanva .header-nav-main nav > ul > li > a{
    display: block;
    padding: 10px 13px;
    text-decoration: none;
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    line-height: 20px;
    font-style: normal;
    text-transform: uppercase;
    margin: 0 10px;
}
.Menu-offCanva nav ul li a,
.Menu-offCanva nav ul li a:after,
.Menu-offCanva nav ul li a:before {
  transition: all .5s;
}

#header .Menu-offCanva .header-nav-main nav > ul li{
  border-bottom: none;
}

html.side-header #header .Menu-offCanva .header-container {
  margin-left: 0;
  margin-right: 0;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}

#header .Menu-offCanva .header-nav-main nav > ul > li > a{
  border-radius: 0;
}


@media (min-width: 991px){
  .side-bar-toggeable label.MenuIcon {
    display: none;
  }
  html.side-header body > .body.side-bar-toggeable-right{
    margin: 0 255px 0 0;
  }

  html.side-header body > .body.side-bar-toggeable-left{
    margin: 0 0 0 255px;
  }
}



/* ------ pour montage page questionnaire AQISEP  ----------------- */
/* à déplacer dans css custom du site lorsque tests complétés */
.questionnaireAQISEP {
	margin-top: -420px;
	color:#fff;
}

@media (min-width: 991px){
  .sidebar .sidebar-content{
    display:inline !important;
  }
}

@media (max-width: 991px){
  .sidebar i.fa-chevron-right, .sidebar i.fa-chevron-down{
    display:inline;
  }
  .sidebar .sidebar-content{
    display:none;
  }
}

/* Fix pour le Revolution Slider*/
.tp-caption * {
  font-size: inherit !important;
}

.langMenuInactive{
  cursor:default;
  color:#ddd !important;
}


/*Styles pour tableau*/

table.tm-style2 {
 clear:both;
 display: table;
 width:100%;
}
table.tm-style2 tr.entete {
 font-weight: bold;
 color: #000000;
 text-align: left;
 align:left;
}
table.tm-style2 tr.entete th {
 background: #ffffff;
 text-align:left;
 align:left;
}
table.tm-style2 tr:nth-child(2n-1) {
 background: #f2f2f2;
}
table.tm-style2 tr td,
table.tm-style2 tr th {
 padding: 10px 15px;
 text-align:left;
 align:left;
}
table.tm-style1 {
 clear:both;
 display: table;
 width:100%;
}
table.tm-style1 tr.entete {
 font-weight: bold;
 color: #000000;
 text-align: left;
 align:left;
}
table.tm-style1 tr td,
table.tm-style1 tr th {
 border-bottom: 1px solid #f2f2f2;
 padding: 10px;
 text-align:left;
 align:left;
}

/*custom table style patch typo3 pour skinner tableau du rte par défaut*/

.contenttable {
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
}

.contenttable tbody tr:nth-child(odd) td,
.contenttable tbody tr:nth-child(odd) th {
  background-color: #f9f9f9;
}

.contenttable tbody tr:nth-child(odd) td,
.contenttable  tbody tr:nth-child(odd) th {
  background-color: #f9f9f9;
}

.contenttable > tbody > tr > td, .contenttable > tbody > tr > th, .contenttable > tfoot > tr > td, .contenttable > tfoot > tr > th, .contenttable  > thead > tr > td, .contenttable  > thead > tr > th {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.contenttable > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}

/* pour nouveau système news */

.mr-4, .mx-4 {
  margin-right: 1.5rem !important;
}
.mt-2, .my-2 {
  margin-top: .5rem !important;
}
.mb-1, .my-1 {
  margin-bottom: .25rem !important;
}
.float-left {
  float: left !important;
}

/* ajustements système nouvelles */

.news .news-list-view .list-group-item {
    border: none;
}

.news-single article.post-large {
 margin-left:0px;
}

.news-article-teaser {
  font-size:0.9em;
  color:#333;
}

.news-single .lead {
  font-size:1.2em;
  color:#333;
  margin:0px;
}

.news-list-date {
  font-size: 0.9em;
}

.news .footer {
    border-top: 0px;
    margin-top: 0px;
}

.news .article {
    padding-bottom: 0px;
    margin-bottom: 0px;
}

.news article.blog-single-post .post-meta{
    margin-bottom : 0px;
    padding-top: 0px;
}

.news-single .article .mediaelement-image{
    margin-left: 0px;
    margin-top: 5px;
    margin-right: 10px;
}

.fullWidthViewport{
  position: relative;
  left:50%;
  width:100vw;
  margin-left:-50vw;
}

.body{
  min-height: 100vh;
  display: flex;
  flex-direction: column
}

#footer{
  margin-top:auto;
}

.main{
  margin-bottom:50px;
}

/*add this class to the last content of a page to counter the automatic 50px margin-bottom of the main class*/
.stick-to-footer{
  margin-bottom: -50px;
}

.social-icons li.social-icons-scoop-it{
  box-shadow : none;
}

.social-icons li.social-icons-scoop-it a, .social-icons li.social-icons-scoop-it:hover a {
  background: none;
}

.row.rowAlignLeft {
  display:flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.row.rowAlignCenter {
  display:flex;
  justify-content: center;
  flex-wrap: wrap;
}

.row.rowAlignRight {
  display:flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.clearfix{
  width:0px;
}

/* Remmetre le texte en couleur lorsqu'on tombe en navigation mobile dans le cas du header nav bar */

@media (min-width: 992px) {
  .header-nav-main .nav .dropdown .header-nav-text-light {
    color : #FFF !important;
  }
  .header-nav-main .nav .dropdown .header-nav-text-dark {
    color : #000 !important;
  }
}

@media (min-width: 991px) {
  .popover {
    max-width: 500px;
  }
}

/* Image Responsive Hover Zoom icon */
.img-hover-zoom-icon {
    display: inline-block;
	position: relative;
}

.img-hover-zoom-icon img {
	position: relative;
	z-index: 1;
}

.img-hover-zoom-icon:before {
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	transition: all 0.2s;
	background: rgba(0, 0, 0, 0.65);
	border-radius: 4px;
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	opacity: 0;
	z-index: 2;
}

.img-hover-zoom-icon:after {
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	transition: all 0.2s;
	font-family: FontAwesome;
	color: #FFF;
	content: "\f00e";
	font-size: 30px;
	height: 30px;
	position: absolute;
	top: 30%;
	margin-top: -15px;
	display: block;
	text-align: center;
	width: 100%;
	opacity: 0;
	z-index: 3;
}

.img-hover-zoom-icon:hover:before {
	opacity: 1;
}

.img-hover-zoom-icon:hover:after {
	top: 50%;
	opacity: 1;
}

/* légende image responsive */
.img-fluid-legend .img-fluid-legend-under p {
    padding: 9px 0;
    margin: 0;
}

.img-fluid-legend .img-fluid-legend-under a {
    color: #363636;
}

.img-fluid-legend-over {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
	background: rgba(23, 23, 23, 0.8);
	color: #FFF;
	letter-spacing: -1px;
	padding: 9px 11px 9px;
	position: absolute;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
	z-index: 2;
	max-width: 90%;
}

.img-fluid-legend-over p {
    color: #FFF;
    margin: 0px
}

.img-fluid-legend.over-top-left{
    display:flex;
    align-items: flex-start;
    justify-content: flex-start;
}

.img-fluid-legend.over-top-center{
    display:flex;
    align-items: flex-start;
    justify-content: center;
}

.img-fluid-legend.over-top-right{
    display:flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.img-fluid-legend.over-bottom-left{
    display:flex;
    align-items: flex-end;
    justify-content: flex-start;
}

.img-fluid-legend.over-bottom-center{
    display:flex;
    align-items: flex-end;
    justify-content: center;
}

.img-fluid-legend.over-bottom-right{
    display:flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.mfp-title p{
    color: #FFF;
}

.img-fluid-hover-filter{
    position:relative;
}

.img-fluid-hover-filter:after{
    content: "";
    background: rgba(25, 25, 25, 0.25);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border-radius: 4px;
    bottom: 0px;
    color: #FFF;
    left: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
    display: block;
    opacity: 0;
    z-index: 1;
}

.img-fluid-hover-filter:hover:after{
    opacity: 1;
}

.page-header-color.page-header-white {
    background-color: #fff;
    border-bottom: 5px solid #FFF;
}

/*Augmente la hauteur de la zone de contenu pour que le pied de page soit dans le bas de l'écran même si la zone de contenu n'est pas assez haute*/
.main {
    flex-grow: 1;
}

.addtocalendar {
    z-index : 99;
}

.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: calc(calc(calc(100vw / 2) * -1));
}

/*Du fait qu'on dépasser le maximum d'espace que le logo occupe en desktop grâce une config du plugin dummy chaire conf, on doit forcer la largeur maximum à 220 lorsqu'on retombe en mobile*/
@media (max-width: 767px) {
    .header-logo {
        max-width:220px;
    }
}

/*Enlèle les marghes autour du logo pour laisser plus d'espace*/
#header .header-logo {
     margin: 0;
}

/* Modifications Slider Ulaval */

.slideshow .splide__slide__container img {
    min-height:400px
}

@media (max-width: 1024px) {
    .slideshow .splide__slide__container img {
        max-height:400px
    }
}

@media (min-width: 1024px) {
    .slideshow .slide--black .slide__content p{
        color:#fff
    }
    .slideshow .splide__slide__container img {
        min-height:700px
    }

}

.slideshow button {
    background-color: transparent;
    color: inherit;
    border-width: 0;
    padding: 0;
    cursor: pointer;
}

/* Modifications Carousel Ulaval */

.component_content_slideshow {
    padding-bottom: 50px;
    padding-top: 75px;
}


.component_content_slideshow button {
    background-color: transparent;
    color: inherit;
    border-width: 0;
    padding: 0;
    cursor: pointer;
}

.splide:not(.is-overflow) .splide__pagination {
    display: flex;
}

@media (min-width: 1200px) {
    .component_content_slideshow {
        padding-bottom: 50px;
        padding-top: 50px;
    }

    .component_content_slideshow__controls {
        top: 12px;
    }
}


/* normes_ulaval header/footer */

.ulaval-header .divider {
    height:inherit;
}

.ulaval-footer p {
    color: black;
}

.header-language-switcher-trigger {
    height : 3em;
}

.ulaval-footer .footer-copyright {
    color:#fff;
}

.ulaval-header .header-main-brand {
    max-width: 350px
}

.ulaval-header #header-search-input::placeholder {
    color: initial;
}

/* Enleve la couleur bleu hardoder des liens visités pour l'entète ulaval */

.ulavalPageHeader a, .ulavalPageHeader a:active, .ulavalPageHeader a:visited {
    color: inherit !important;
}

/* custom dropdown*/

.dropdown-multiple ul {
    list-style: none;
    padding: 0;
    font-family: "Source Sans Pro",Arial,sans-serif;
    font-size: 16px;
}

.dropdown-multiple {
    font-family: "Source Sans Pro",Arial,sans-serif;
    font-size: 16px;
}

.dropdown-multiple .group-child .dropdown-multiple-checkbox:before {
    left: 25px
}

.dropdown-multiple .group-child .dropdown-multiple-checkbox svg {
    left: 26px;
}

.dropdown-multiple .group-child .dropdown-multiple-checkbox {
    padding-left: 3em;
}

.dropdown-multiple .group-parent .dropdown-multiple-checkbox {
    background-color: #2f2f2f;
}

.page-header-background-md {
    padding : 50px 0;
}

/* Menu page */

ul.nav-list li a:before {
    content: "";
}

ul.nav-list li a.nav-link-toggler {
    padding:0px;
}

ul.nav-list li a.nav-link-toggler:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f054";
    font-weight: 900;
    position: absolute;
    top: 8px;
    font-size: 0.7rem;
    opacity: 0.7;
    transform: translate3d(-1px, 0, 0);
    left: 6px;
}

ul.nav-list li a.nav-link-toggler.withoutSubPages:before {
    content: " ";
}

ul.nav-list li a.nav-link-toggler.open:before {
    content: "\f078";
}

section.section.section-parallax {
    background-position: 0% 0%;
}

.gsc-search-button-v2, .gsc-search-button-v2:hover, .gsc-search-button-v2:focus {
    background-color: #e30513 !important;
}

/* ul li */

ul.pagination > li, 
ul.dropdown-menu > li, 
ul.nav > li,
.tabs > ul > li,
.news ul.simple-post-list > li,
.tx-script-events ul.simple-post-list > li {
    list-style-type: none;
    line-height:24px;
    margin-bottom:0px;
}

ul.image-gallery > li,
ul.thumbnail-gallery > li,
.list.list-icons > li,
ul.nav-list li ul > li,
ul.nav-list-simple li ul > li,
aside .twitter ul > li,
.portfolio-info ul > li,
ul.team-list > li {
    list-style: none;
}

.select2-results li {
  margin: 0;
}

.ui-menu .ui-menu-item {
  list-style-type: none;
}

.news .btn-group {
  margin-bottom: .5rem;
}

.news .btn-group .btn {
  border-radius: 0;
}

.news .news-tags .news-tags-item .badge-light {
  color: #212529 !important;
}

.owl-carousel .owl-item img.img-fluid {
  width: auto;
}

