/* General ----------------------------------------- */
* { box-sizing: border-box; }
@media (max-width: 1024px) {
	.show-for-small-device { display: block; }
	.show-for-big-device { display: none !important; }
}
@media (min-width: 1025px) {
	.show-for-small-device { display: none !important; }
	.show-for-big-device { display: block; }
}

/* Entête fix ----------------------------------------- */


/* Navigation principale (mobile) ----------------------------------------- */
.bar-haut { background-color: #070709; }
.logo-ville img { padding: 10px 15px 11px 0; box-sizing: border-box; }

/* Menu principal avec carrousel ----------------------------------------- */
.menu-carousel *:focus { outline: none; }
.menu-carousel { height: 400px; background: #111111; box-shadow: 0px 2px 5px black; }
/* Menu desktop*/
.menu-container { width: 100%;}
.logo-microsite { display: block; margin: 50px 0 15px; }
.menu-container ul { list-style: none; margin: 0; padding: 0; }
.menu-container ul li { display: block; }
.menu-container ul li a { display: block; padding: 5px 10px 5px; font-family: Arial,'Segoe UI',Segoe,Tahoma,Helvetica,sans-serif; font-size: 16px; line-height: 1em; color: white; -webkit-transition: .2s ease-out; -moz-transition: .2s ease-out; -o-transition: .2s ease-out; transition: .2s ease-out;}
.menu-container ul li a:link, .menu-container ul li a:visited { text-decoration: none; }
.menu-container ul li a:hover, .menu-container ul li a:active { background-color: #12EBA1; }

/* Carrousel */
.carousel-horz { position: relative; display: block; box-sizing: border-box; width: 100%; /*350px;*/ height: 400px; }
.carousel-horz-container { width: 100%; /*350px;*/ position:relative; box-sizing: border-box; }
.carousel-horz-container > div { position: relative; max-width: 976px; max-height: 400px; text-align: center; }
.carousel-horz-container > div img { margin: 0 auto; width: auto; max-width: 320px; height: 400px; max-height: 400px; }
.carousel-horz-container > div h2 { position: absolute; top: 50px; margin: 0 0 0 35px; padding: 0; font-family: 'Ubuntu-Light', Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 41px; font-weight: normal; color: white; text-align: left; line-height: 1em; letter-spacing: -0.02em; }
.slick-list.draggable, .slick-slide { height: 400px; }
ul.slick-dots { position: absolute; left: 40px; bottom: 30px; z-index: 2; list-style: none; padding: 0; margin: 0; }
ul.slick-dots li { display: inline-block; margin-right: 5px; width: 11px; height: 11px;
    background: #fff;
    border-radius: 11px; -webkit-border-radius: 11px; -moz-border-radius: 11px;
    box-shadow: 1px 1px 2px 0 rgba(0,0,0,.75); -webkit-box-shadow: 1px 1px 2px 0 rgba(0,0,0,.75); -moz-box-shadow: 1px 1px 2px 0 rgba(0,0,0,.75);
}
ul.slick-dots li button { margin: 0; border: none; padding: 0; text-decoration: none; background: none;
	color: red; font-size: 0; line-height: 1; cursor: pointer; text-align: center; -webkit-appearance: none; -moz-appearance: none;

	display: block; width: 10px; height: 10px;
}
ul.slick-dots li button:focus { outline: none; }
ul.slick-dots li.slick-active button { margin: 2px; background: #636363; width: 7px; height: 7px; -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; }

/* Plus petit que les tablette standard en landscape */
@media (max-width: 1025px) {
	.slick-arrow { margin: 0; border: none; padding: 0; text-decoration: none; background: none; color: red; font-size: 0; line-height: 1; cursor: pointer; text-align: center; -webkit-appearance: none; -moz-appearance: none;
		position: absolute; z-index: 2; display: block; width: 60px; height: 80px; top: 260px; }
	.slick-arrow.slick-prev { background: url(ico-arrow-left.png) no-repeat center center; background-position: 10px center; }
	.slick-arrow.slick-next { background: url(ico-arrow-right.png) no-repeat center center; background-position: 10px center; right: 0; }
}

/* Plus gros que les tablette standard en landscape */
@media (min-width: 1025px) {
	.menu-container { width: 313px;}
	.menu-carousel > .row { overflow: hidden; }
	.menu-carousel > .row > .container { position: relative; }
	.menu-carousel > .row > .container > div { width: 3000px;}
	.carousel-horz { width: 100%; }
	.carousel-horz-container { width: 2500px; background: #111111; }
	.carousel-horz-container > div img { margin: 0; max-width: 150%; height: 400px; }
	.carousel-horz-container > div h2 { top: 86px; margin-left: 38px; }
	.menu-container { float: left; }
	.carousel-horz-container { float: left; }
}


/* Footer ----------------------------------------- */
#footer .show-for-small-device { text-align: center; }
#footer .show-for-small-device ul { margin: 0; padding: 0; list-style: none; }
#footer .show-for-small-device ul li { display: inline-block; margin: 0 15px 0 0; padding: 0; }
#footer .show-for-small-device > div { margin: 0; padding: 0; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; color: white; }
#footer .show-for-small-device a { display: inline-block; margin-bottom: 15px; }
#footer .show-for-small-device a:link,
#footer .show-for-small-device a:visited,
#footer .show-for-small-device a:hover,
#footer .show-for-small-device a:active { color: #80c1df; text-decoration: none; }
#footer { display: block; border-bottom: 3px solid #0083be; background-color: #333; padding: 20px 0 30px 0; }
#footer > .container { padding: 0; }
#footer h3 { margin: 0 0 10px 0; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; font-weight: bold; color: #EE6B00; text-transform: uppercase; }
#footer > div > div > div.col-lg-3 { float: left; width: 25%;/* margin-right: 2%;*/ font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul, #footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul li { margin: 0; padding: 0; list-style: none; }
#footer > div:not(.show-for-small-device) > div > div:not(.footer-disclaimer):not(.social-networks) ul li { border-bottom: 1px solid #666; padding-bottom: 10px; margin-bottom: 10px; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul li:last-of-type { border-bottom:0; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) a { color: #fff; text-decoration: none; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) + div { margin-top: 25px; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) + div + div + div { margin-top: 0px; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul.contact li { margin-bottom: 7px; padding-bottom: 7px; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul.contact li:first-of-type img { float: left; margin: 0 8px 25px 0; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul.contact li:first-of-type p { margin-bottom: 7px; color: white; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul.contact li + li { margin-bottom: 9px; padding-bottom: 7px; }
#footer > div > div > div:not(.footer-disclaimer):not(.social-networks) ul.contact li + li + li { margin-bottom: 10px; padding-bottom: 10px; }

#footer > div > div > div.footer-disclaimer { clear: both; float: left; width: 75%; padding-left: 15px; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; color: white; }
#footer > div > div > div.footer-disclaimer img { vertical-align: text-bottom; }
#footer > div > div > div.footer-disclaimer a,
#footer > div > div > div.footer-disclaimer a:visited,
#footer > div > div > div.footer-disclaimer a:link,
#footer > div > div > div.footer-disclaimer a:hover,
#footer > div > div > div.footer-disclaimer a:active { color: #80c1df; }
#footer > div > div > div .logo-laval-footer { margin-right: 13px; }
#footer > div > div > div.social-networks { float: left; width: 25%; padding-left: 15px; }
#footer > div > div > div.social-networks ul { margin: 0; padding: 0; list-style: none; }
#footer > div > div > div.social-networks ul li { display: inline-block; margin: 0 6px 0 0; padding: 0; }

#footer > div.show-for-big-device ul > li a:hover { color: #80c1df; }

#footer div.clearfix { float: none; }

/* Contenu UI ----------------------------------------- */
@font-face {
  font-family: 'Ubuntu-Bold';
  src: url('ubuntu-bold-webfont.eot'); /* IE9 Compat Modes */
  src: url('ubuntu-bold-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('ubuntu-bold-webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('ubuntu-bold-webfont.woff') format('woff'), /* Pretty Modern Browsers */
       url('ubuntu-bold-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('ubuntu-bold-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@font-face {
  font-family: 'Ubuntu-Light';
  src: url('ubuntu-light-webfont.eot'); /* IE9 Compat Modes */
  src: url('ubuntu-light-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('ubuntu-light-webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('ubuntu-light-webfont.woff') format('woff'), /* Pretty Modern Browsers */
       url('ubuntu-light-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('ubuntu-light-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.main-content a:link, .main-content a:visited { text-decoration: none; color: #0083be; }
.main-content a:hover, .main-content a:active { text-decoration: underline; }

.main-content h1 {
	margin-top: 0; margin-bottom: 10px; border-bottom: 1px solid #333; padding-bottom: 2px;
	font-family: 'Ubuntu-Bold', Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 21px; color: #000; line-height: 23px; text-transform: uppercase;
}
.main-content h2 {
	margin-top: 30px; margin-bottom: 10px;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-weight: bold; font-size: 16px; line-height: 19px; color: #0083be;
}
.main-content h3 {
	margin-top: 30px; margin-bottom: 10px; border-bottom: 1px solid #333;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-weight: bold; font-size: 16px; line-height: 19px; color: #333;
}
.main-content h4 {
	margin-bottom: 10px; margin-top: 20px;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-weight: bold; font-size: 13px; line-height: 16.75px; color: #333;
}
.main-content, .main-content p { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-weight: normal; font-size: 14px; line-height: 16.75px; color: #333; }
.main-content p {
	margin: 0 0 10px 0;
}

/* Boutons */
.main-content a.btn-cta,
.main-content a.btn-cta:link, .main-content a.btn-cta:visited {
    display: inline-block;
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; color: #ffffff; line-height: 1em;
    border-radius: 6px; border: 0;
    transition: all 0.35s ease; -ms-transition: all 0.35s ease;
	background: #0083be; text-decoration: none;
}
.main-content a.btn-cta-main:hover, .main-content a.btn-cta-main-sec:hover, .main-content a.btn-cta-secondary:hover, .main-content a.btn-cta-submit:hover,
.main-content a.btn-cta-main:active, .main-content a.btn-cta-main-sec:active, .main-content a.btn-cta-secondary:active, .main-content a.btn-cta-submit:active { background: #00608c; text-decoration: none; }
.main-content a.btn-cta-main { padding: 10px 15px; font-size: 15px; font-weight: 700; }
.main-content a.btn-cta-main-sec { padding: 10px 15px; font-size: 15px; font-weight: 700; background: #dadada !important; color: #666666 !important; }
.main-content a.btn-cta-main-sec:hover { background: #bfbfbf !important;}
.main-content a.btn-cta-secondary { padding: 8px 12px; font-size: 13px; font-weight: 700; }
.main-content a.btn-cta-submit { padding: 12px 25px; font-size: 13px; font-weight: 700; text-transform: uppercase; }


/* Layout ----------------------------------------- */
.main-content { padding: 57px 0; }

#right-sidebar > .row { margin: 0 0px 20px 0px; }
#right-sidebar > .row > div h3 { margin: 0; padding: 5px 10px 3px 10px; font-size: 18px; font-weight: bold; text-transform: uppercase; color: #0083BE;background: #070709; color: white; }
#right-sidebar > .row > div > div { border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; border-top: none; padding: 10px; }
#right-sidebar > .row > div > div ul { margin: 0; padding: 0; }
#right-sidebar > .row > div > div ul li { margin: 0 0 0 1em; }


/* Forme de consentement */
div.consent-instructions-box
{     
    display: inline-flex;    
    background-color: #ffff99;
    padding: 10px;
}

div.consent-instructions-box > div.exclamation-mark
{ 
    color: white;
    padding-right: 6px;
    padding-left: 6px;
    border-radius: 8px;
    border: 1px solid #006090;
    height: 18px;
    background-color: #0077A7;
    margin-right: 5px;
    font-size: 14px;
}

div.consent-instructions-box > div.instruction-text
{ 
    text-align: justify;
}
.search-bar {
    display: flex;
    align-items: center;
    gap: 0px;
  }
  
  .search-input {
    flex: 1;
    padding: 15px 10px; /* Augmenter le padding pour agrandir le champ */
    border: none;
    border-bottom: 2px solid #ccc; /* Bordure seulement en bas */
    font-size: 16px;
    outline: none; /* Retirer le contour bleu lors de la sélection */
    transition: border-color 0.3s;
    height: 50px; /* Hauteur explicite si nécessaire */
  }
  
  .search-input:focus {
    border-bottom: 2px solid rgb(1, 35, 106) ; /* Couleur de bordure lors de la sélection */
  }
  
  
  
  .search-icon {
    width: 50px;
    height: 50px;
    background-color:rgb(1, 35, 106) ;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  
  .search-icon svg {
    fill: #fff;
    width: 20px;
    height: 20px;
  }
  
  .filters {
    display: flex;
    gap: 10px;
    margin-top: 10px;
  }
  
  .filter-button {
    padding: 10px 20px;
    border: 1px solid rgb(1, 35, 106) ;
    border-radius: 20px;
    background: #fff;
    color:rgb(1, 35, 106) ;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
  }
  
  .filter-button:hover {
    background-color:rgb(1, 35, 106) ;
    color: #fff;
  }
  
  .filter-button.active {
    background-color:rgb(1, 35, 106) ;
    color: #fff;
  }
  
  .btn-group .filter-button {
    border-radius: 20px;
  }
  
  .btn-group .dropdown-menu {
    min-width: 200px;
    border-radius: 5px;
    overflow: hidden;
  }
  
  .btn-group .dropdown-menu a {
    padding: 10px 15px;
    text-decoration: none;
    color: rgb(1, 35, 106) ;
    display: block;
    transition: background-color 0.2s;
  }
  
  .btn-group .dropdown-menu a:hover {
    background-color: #f1f1f1;
  }
  