/*
Theme Name: CSSSH
Theme URI: csssh.gouv.qc.ca
Author: Vertisoft
Author URI: https://vertisoftpme.com/
Version: 1.0.12
Tested up to: 6.3
Requires PHP: 7.4
Text Domain: csssh
*/

:root {
	--primary: #08534A; /* bleu-vert */
	--secondary: #D86349; /* rouge de cuivre */
	--accent: #DB991B; /* jaune gamboge */
	--info: #DB991B; /* jaune gamboge */
	--blanc: #ffffff; /* blanc */
	--noir: #000000; /* noir */
    --vertpale: #f5f8f5; /* vert pâle 10% */
	--piv: #095797; /* bleu PIV gouvernement québec */
    
    --rose-champagne: #FCE7D8; /* rose-champagne-carrousel */
    --abricot: #EFBBA2; /* abricot-carrousel */

    --grispale: #f5f5f5; /* gris pâle pour menus et highlights contenu établissements et programmes */

    --ombre-grise: 0deg 0% 78%;
    --ombre:
        0px 0.8px 1px hsl(var(--ombre-grise) / 0.3),
        0.1px 11.7px 14.9px -1.5px hsl(var(--ombre-grise) / 0.3);
  }

.primary { color: var(--primary); }
.secondary { color: var(--secondary); }
.accent { color: var(--accent); }
.info { color: var(--accent); }
.blanc { color: var(--blanc); }
.noir { color: var(--noir); }
.bg-primary { background-color: var(--primary) !important; }
.bg-secondary { background-color: var(--secondary) !important; }
.bg-accent { background-color: var(--accent) !important; }
.bg-blanc { background-color: var(--blanc) !important; }
.bg-noir { background-color: var(--noir) !important; }

/* reset */
html, body, ul, ol, dl, figure, td, fieldset, dd { margin: 0; padding: 0; }
html { /*width: 100vw;*/ overflow-x: hidden; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
body { position:relative; font: 100% "bilo", sans-serif; font-weight: 300; background: var(--blanc); color: var(--primary); min-height:100vh; }
a, button { color: var(--primary); text-decoration: none; outline: none; }
img, table, iframe, fieldset { border: 0; }
img { max-width: 100%; height: auto; }
ul, ol { list-style: none; }
button, .bt-action { margin: 0; padding: 0; border: 0; font-family: inherit; font-size: inherit; background: none; -webkit-appearance: none; appearance: none; outline: none; cursor: pointer; }
button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; }
h1, .h1 { 
    font-size: 5.938rem; /* 95px */ 
    line-height: 1; 
    font-weight: 700;
    margin: 1.75rem auto 0.5rem;
    text-transform: uppercase;
    text-align:center;
    max-width:82.5rem; /* 1320px */ 
}
h2, .h2 { 
    font-size: 4.375rem; /* 70px */ 
    line-height: 1; 
    font-weight: 700;
    margin: 2.5rem 0;
    text-transform: uppercase;
    color: var(--secondary); 
}
.sandbox .vc_row:first-child:not(.vc_inner) h2:first-child, .sandbox .vc_row:first-child:not(.vc_inner) .h2:first-child { 
    margin-top: 0;
}
h3, .h3 { 
    font-size: 2.55rem; /* 40px */ 
    line-height: 2.813rem; /* 45px */ 
    font-weight: 700;
    margin: 0 0 1.5rem;
}
h4, .h4 { 
    font-size: 2.25rem; /* 36px */ 
    line-height: 1.2; 
    font-weight: 700;
    margin: 0 0 1.5rem;
}
h5, .h5 { 
    font-size: 2rem; /* 32px */ 
    line-height: 1.2; 
    font-weight: 700;
    margin: 0 0 1.5rem;
}
h6, .h6 { 
    font-size: 1.688rem; /* 27px */ 
    line-height: 1.2; 
    font-weight: 700;
    margin: 0;
}
p, .p, .sandbox ul, .sandbox ol, .sandbox .vc_tta.vc_general .vc_tta-panel-title, .sandbox .vc_col-sm-2 h4, .sandbox div[dir="auto"] { 
    font-size: 1.875rem; /* 30px */ 
    line-height: 2.188rem; /* 35px */
    font-weight: 300;
    margin: 0 0 1.85rem;
}
.small { 
    font-size: 1.563rem; /* 25px */ 
    line-height: 1; 
}
.sandbox table td { 
    font-size: 1.438rem; /* 23px */ 
    line-height: 1.688rem; /* 27px */
    font-weight: 300;
}
.smaller { 
    font-size: 1.125rem; /* 18px */ 
    line-height: 1.438rem; /* 23px */ 
}
.strong { 
    font-weight: 700;
}

/* icons icommon webfont https://icomoon.io/app/#/select */
@font-face {   
    font-family: 'icomoon';
    src:  url('fonts/icomoon.eot?6xgtt');
    src:  url('fonts/icomoon.eot?6xgtt#iefix') format('embedded-opentype'),
      url('fonts/icomoon.ttf?6xgtt') format('truetype'),
      url('fonts/icomoon.woff?6xgtt') format('woff'),
      url('fonts/icomoon.svg?6xgtt#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"] { display: inline-block; font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-align: center; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }


/* liste des icônes */
.icon-recherche:before { content: "\e90a"; }
.icon-calendrier:before { content: "\e900"; }
.icon-facebook:before { content: "\e901"; }
.icon-instagram:before { content: "\e905"; }
.icon-instagram_desktop:before { content: "\e906"; color: var(--primary); }
.icon-instagram_desktop_invert:before { content: "\e909"; color: var(--blanc); }
.icon-linkedin:before { content: "\e907"; }
.icon-fleche_menu_droite:before { content: "\e903"; }
.icon-fleche_menu_gauche:before { content: "\e904"; }
.icon-play_video:before { content: "\e908"; color: var(--blanc); }
.icon-fichier:before { content: "\e90b"; }
.icon-lien:before { content: "\e90c"; }
.icon-alertes:before { content: "\e902"; }
.icon-enveloppe:before { content: "\e90d"; }
.icon-etablissement:before { content: "\e90e"; }
.icon-horaire:before { content: "\e90f"; }
.icon-telecopieur:before { content: "\e910"; }
.icon-telephone:before { content: "\e911"; }


/* transitions */
a, .btn, button, .icon-play_video:before, .toggle-fermer, .header-toggle-bar,
div.asl_r .showmore, div.asl_r .showmore span, .asl_w_container .probox .promagnifier .innericon svg, .asl_w_container .probox .proclose svg, 
.piv button.recherche .icon-recherche, .sandbox .liens ul li a:before, .sandbox .liens ul li a span, 
.social li a i, .social li a .icon-instagram:before, .social li a .icon-instagram_desktop_invert:before, 
.lightbox .lb-nav a.lb-prev, .lightbox .lb-nav a.lb-next, .lightbox .lb-nav a.lb-prev:before, .lightbox .lb-nav a.lb-next:before { 
    transition: color ease-in-out 0.15s, background-color ease-in-out 0.15s, border-color ease-in-out 0.15s; 
}
.piv .gouvernement .logoquebec img { 
    transition: width ease-in-out 0.15s; 
}

/* bootstrap - animations, tabs et collapse (base) */
.fade { transition: opacity 0.15s linear; }
.fade:not(.show) { opacity: 0; }
.collapse:not(.show) { display: none; }
.collapsing { height: 0; overflow: hidden; transition: height 0.35s ease; }
.collapsing.collapse-horizontal { width: 0; height: auto; transition: width 0.35s ease; }
@media (prefers-reduced-motion: reduce) {
	.fade, .collapsing, .collapsing.collapse-horizontal { transition: none; }
}

/* overlays navigation */
body:after { content: ""; position: fixed; z-index: 10; left: 0; right: 0; top: 0; bottom: 0; background: var(--noir); transition: all ease-in-out 0.35s; }
body:after, .nav-overlay-mobile body:after { visibility: hidden; opacity: 0; }
.nav-overlay-desktop body:after { visibility: visible; opacity: 0.5; }

/* header et hauteurs */
:root { 
	--header-height: 7.063rem;
	--navbar-height: 4.375rem;
}

header.header, .piv {
	 height: var(--header-height);
}


/* piv gouvernement quebec */
.piv { 
    position: relative;
	z-index: 11;
    background: var(--blanc); 
    color: var(--noir); 
    border-top: 10px solid var(--piv); 
}
.piv ul { 
    list-style: none; 
}
.piv a { 
    color: var(--noir); 
}
.piv .gouvernement { 
    flex-wrap: nowrap;
    align-items: center;
    padding-left: 0;
    padding-top:0.625rem;
}
.piv .gouvernement .logoquebec {
    width: 12.313rem;
    padding: 0;
    margin:0 4.375rem 0 0;
    line-height: 0;
}
.piv .gouvernement .logoquebec img { 
    width:100%;
    max-width:12.313rem;
 }
.piv .identite { 
    font-size: 1.25rem; /* 20px */ 
    line-height: 1.375rem;
    font-family: 'Roboto', sans-serif; 
    max-width:100%; 
    font-style: normal; 
    font-weight: 300; 
    text-transform: none;
    padding: 0;
    margin:-0.2rem 0 0;
    text-align: left;
}
.piv div {
    height: 100%;
    align-items: center;
}
.piv div.droite { 
    font-size: 1rem; 
    line-height: 1.375rem;
    padding-top: 0;
    padding-right: 0;
    align-items: center;
}
.piv div {
    align-items: center;
  }
.piv .burger { 
    position: relative; 
    padding-right: 0; 
    padding-left: 0.5rem; 
}
.piv .burger button { 
    padding: 0; 
    justify-content: center; 
    align-items: center;
    min-width: 2.55rem; 
    min-height: 2.55rem; 
}
.piv .burger button i { 
    margin: 0; 
    font-size: 1.25em; 
}
.piv button.recherche { 
    display: inline-block; 
    width: 1.688rem; 
    height: 1.688rem; 
    min-height:inherit; 
    font-size: 1.688rem;
    padding:0; 
}
.piv button.recherche .icon-recherche { 
    color: var(--noir) !important;
}
.piv .lien-menu { 
    padding-left:1.125rem;
    font-weight: 400; 
    text-decoration: none;
}
.piv a:hover, .piv button.recherche:hover .icon-recherche, 
.header-sec-nav li a:hover, .social li a:hover i, .social li a:hover .icon-instagram:before, .social li a:hover .icon-instagram_desktop_invert:before, 
footer.site-footer a:not(.btn):hover  { 
    color: var(--accent) !important;
}



/* navbar */
.header-navbar { position: sticky; z-index: 12; top: 0; height: var(--navbar-height); background: var(--vertpale); }

.header-navbar nav { 
	height: var(--navbar-height); 
	align-items: center; 
}
.header-navbar nav .row { 
	align-items: center; 
}
.header-navbar nav .header-main-nav { 
	padding-left:0;
	height: 100%;
}
.header-navbar a, .modal a, nav#menu label { 
    color: var(--primary); 
}
.header-navbar .sous-menu a, nav#menu .sous-menu label { 
    color: var(--blanc); 
}



/* menu principal */
ul#menu-principal > li { 
	height:100%;
}

ul#menu-principal > li > a { 
	position: relative;
	display: flex; 
	align-content: center;
	flex-wrap: wrap;
    padding-right: 2.188rem;
    padding-left: 2.188rem;
    font-size: 1.625rem; 
    line-height:1.875rem;
    font-weight: 400;	
	text-transform: none; 
	height:100%;
}

#ul#menu-principal > li > a:hover, .sous-menu a:hover {
	color: var(--accent);
}

ul#menu-principal > li > a:before { 
	position:absolute;
	content:"";
	width:0;
	left:0;
	top: calc(50% - 0.5rem); 
	height:1.375rem;
	border-left: 2px solid var(--primary);
}

ul#menu-principal > li:first-child > a { 
	padding-left: 0;
}

ul#menu-principal > li:last-child > a { 
	padding-right: 0;
}

ul#menu-principal li a span { 
	position:relative;
}
ul#menu-principal > li:first-child > a:before, ul#menu-principal > li > a i { 
	display: none;
}

#menu-principal a[aria-expanded=true] span {transition: font-weight 0.15s ease-in-out; text-decoration: underline; text-decoration-thickness: 0.2em; text-decoration-skip-ink: none; text-underline-offset: 0.3em; }

/* sous-menu - 1er palier */
.ul-sous-menu, .sub-menu { display: none; }
div.sous-menu .ul-sous-menu, div.sous-menu .sub-menu { display: block; }
div.sous-menu .ul-sous-menu.row { display: flex; }
.sous-menu { position: absolute; z-index: 10; left: 0; top: var(--navbar-height); width: 0; height: calc(100vh - var(--navbar-height)) !important; /* override Bootstrap */ transition: height 0.25s ease, width 0.35s ease; background: var(--primary); }
.sous-menu:after { content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: 0; bottom: 0; opacity: 0.15; background: url(/wp-content/themes/csssh/assets/riviere.svg) no-repeat 5% 90%; background-size: 90rem; /* 1440px */ }
.sous-menu > ul { opacity: 0; transition: opacity 0.35s 0.125s ease-in-out; pointer-events: none; }
.sous-menu.show, .sous-menu > ul { width: 30.25rem; /* 484px */ }
.sous-menu.show > ul { opacity: 1; pointer-events: all; }
.sous-menu > ul { padding: 2.188rem; }
.sous-menu > ul li a { padding: 0.33rem 0; }
.sous-menu a { display: flex; padding: 0; text-transform: none; font-size: 1.375rem; line-height: 1.25; font-weight: 400; }
.sous-menu a i { flex: 0 0 auto; margin-left: auto; margin-top: 0.375em; padding-left: 1em; font-size: 81.25%; line-height: 1; color: inherit; }
.sous-menu a[aria-expanded=true] { color: var(--accent); font-weight: 700; }
#menu-principal .sous-menu a[aria-expanded=true] span { text-decoration-thickness: 0.175em; text-underline-offset: 0.225em; }

/* sous-menu - 2e palier */
.sous-menu .sous-menu { left: 100%; top: 0; background: var(--accent); }
.sous-menu .sous-menu.show, .sous-menu .sous-menu > ul { width: 50.125rem; /* 802px */ }
.sous-menu .sous-menu > ul { height: 100%; overflow-y: auto; align-content: flex-start; --bs-gutter-x: 0; }
.sous-menu .sous-menu:after { background-position: 83.5% 90%; }
.sous-menu .sous-menu a { color: rgba(255,255,255,0.75); }
.sous-menu .sous-menu a:hover { color: rgba(255,255,255,1); }


/* sous-menu - image latérale */
.sous-menu-img { position: absolute; left: 100%; top: 0; width: calc(100vw - 80.375rem); height: 100%; opacity: 0; overflow: hidden; transition: opacity 0.5s ease 0.25s; pointer-events: none; }
.sous-menu-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sous-menu .sous-menu.show .sous-menu-img { opacity: 1; }


.modal {
    position: absolute;
    z-index: 10;
    top: inherit;
    left: 0;
    background: var(--primary);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

header.nav-overlay ul#menu-principal li > a[aria-expanded="true"] span:after { 
    position:absolute;
    display:block;
    content: "";
    bottom:-0.5rem;
    width:100%;
    height: 0.313rem;
    background: var(--primary);
}

.piv .burger button { 
    padding: 0; 
    align-items: center;
}
ul.social {
    font-size: 2rem;
    margin: 0;
}
ul.social li {
    padding-right: 0.813rem;
}




/* menu secondaire */
.header-sec-nav.actif {
    display:block;
}
.header-sec-nav ul#menu-secondaire > li {
    padding-left: 2.188rem;
    padding-right: 0;
    font-size:1.625rem;
}
.header-sec-nav li a {
    position:relative;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    color: var(--primary);
}
.header-sec-nav li.carriere > a {
    text-transform: uppercase;
    font-weight: 700;
}


/* classes globales */
.container, .container-fluid, .fiche-contenu {
    --bs-gutter-x: 6rem;
}


/* fenêtre modal */
.modal {
    position: fixed;
    z-index: 9999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease, opacity 0.3s ease;
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-overlay .modal.actif { 
    width:85%;
    height:90%;
    max-width:81.875rem;
    opacity: 1; 
    pointer-events: all; 
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-overlay .modal-inner {
    background: var(--primary);
    margin: 5rem auto;
    padding: 0 5rem;
    color: var(--blanc);
}
.modal-overlay .modal-backdrop {
    position: fixed;
    z-index: 9998;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;    
    background: rgba(0, 0, 0, 0.85);
}
.modal-overlay .modal .toggle-fermer { 
    background-color: var(--blanc);
    width: 4.063rem; /* 65px */
    height: 4.063rem;
    right: 1rem;
    top: 1rem;
    justify-content: space-evenly;
}
.modal-overlay .modal .toggle-fermer .header-toggle-bar { 
    background-color: var(--primary); 
    width: 1.875rem; /* 30px */
}
.modal-overlay .modal .toggle-fermer:hover { 
    background-color: var(--accent);
}
.modal-overlay .modal .toggle-fermer:hover .header-toggle-bar { 
    background-color: var(--blanc); 
}
.modal-overlay .modal .btn.petit:hover {
    border: 1px solid var(--accent) !important;
}

/* variante saumon de la fenêtre modal */
.modal-overlay .modal.saumon, .modal-overlay .modal.saumon .modal-inner, .modal-overlay .modal.saumon .toggle-fermer .header-toggle-bar {
    background: var(--secondary);
}
.modal-overlay .modal.saumon .modal-inner, .modal-overlay .modal.saumon .accent, .modal-overlay .modal.saumon .btn.petit {
    color: var(--blanc) !important;
}
.modal-overlay .modal.saumon .btn.petit {
    border: 1px solid var(--primary) !important;
}
.modal-overlay .modal.saumon .toggle-fermer:hover .header-toggle-bar {
    background: var(--blanc);
}
.modal-overlay .modal.saumon .btn.petit:hover {
    border: 1px solid var(--accent) !important;
}
/* variante jaune de la fenêtre modal */
.modal-overlay .modal.jaune, .modal-overlay .modal.jaune .modal-inner, .modal-overlay .modal.jaune .toggle-fermer .header-toggle-bar {
    background: var(--accent);
}
.modal-overlay .modal.jaune .modal-inner, .modal-overlay .modal.jaune .accent, .modal-overlay .modal.jaune .btn.petit {
    color: var(--blanc) !important;
}
.modal-overlay .modal.jaune .btn.petit {
    border: 1px solid var(--primary) !important;
}
.modal-overlay .modal.jaune .toggle-fermer:hover {
    background: var(--primary);
}
.modal-overlay .modal.jaune .toggle-fermer:hover .header-toggle-bar {
    background: var(--blanc);
}
.modal-overlay .modal.jaune .btn.petit:hover {
    border: 1px solid var(--blanc) !important;
    background: var(--blanc) !important;
    color: var(--primary) !important;
}


/* iframe responsive */
.iframe-wrapper { 
    position: relative; 
    width: 100%; 
    max-width:62.5rem;
    height: 0; 
    overflow: hidden; 
    padding-bottom: 56.25%;
    margin:0 auto;
}
.iframe-wrapper iframe { 
    position: absolute; 
    left: 0; 
    top: 0; 
    width: 100%; 
    height: 100%;
}


/* boutons */
.btn, button {
    display: inline-flex;
    align-items: center;
    text-align: center;
    min-height: 4.688rem;
    padding: 0.75rem 2.75rem;
    font-size: 1.25rem;
    line-height:1.1;
    font-weight: 700;
    letter-spacing: 0.025rem;
    text-decoration: none;
}
.btn {
    border-radius: 2.956rem;
	text-transform: uppercase;
    background-color: var(--primary); 
    color: var(--blanc); 
}
.btn:not(.toggle-fermer):hover {
    background-color: var(--accent) !important; 
    color: var(--blanc); 
}
.detail-btn-video:hover .icon-play_video:before{
    color: var(--accent); 
}
.btn.bg-secondary:hover {
    background-color: var(--accent) !important; 
}
.btn.bg-accent:hover {
    background-color: var(--secondary) !important; 
}
.btn:not(.retour) i.icon-fleche_menu_gauche, .gform_wrapper .gform_button i.icon-fleche_menu_gauche {
    font-size: 1rem;
    transform: rotate(180deg);
    padding-right: 0.5rem;
}


/* smaller btn et plus de résultats recherche modal */
.btn.petit, body div.asl_r .showmore {
    display: inline-flex !important;
    align-items: center;
    text-align: center !important;
    min-height: 3.5rem !important;
    height: 3.5rem;
    padding: 0 1.75rem !important;
    margin-top:1rem !important;
    font-size: 1.25rem !important;
    line-height: 1.125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem !important;
    border-radius: 2.956rem;
	text-transform: uppercase;
    background-color: var(--primary) !important; 
    color: var(--accent) !important; 
    border: 1px solid var(--accent) !important;
    text-shadow: none !important;
    max-width: fit-content;
}
body div.asl_r .showmore span {
    padding: 0 !important;
    background-color: transparent !important; 
    color: var(--accent) !important; 
    border: none !important; 
    font-size: 1.25rem !important;
    line-height: 1.125rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
}
.btn.petit:hover, body div.asl_r .showmore:hover {
    color: var(--blanc) !important; 
    border: 1px solid var(--blanc) !important;
}
body div.asl_r .showmore:hover span {
    color: var(--blanc) !important; 
}

.header-navbar .header-toggle-bar, .modal .header-toggle-bar { 
    background-color: var(--blanc); 
}
.header-toggle-bar { 
    display: block; 
    width: 1.563rem; 
    height: 3px; 
    background-color: var(--noir); 
}
.header-toggle-bar + .header-toggle-bar { 
    margin-top: 4px; 
}
.toggle-fermer .header-toggle-bar { 
    background-color: var(--blanc); 
    width:20px; 
}
.btn.toggle-fermer, .btn.retour { 
    position: absolute; 
    width: 2.55rem; 
    height: 2.55rem; 
    min-height:inherit; 
    padding: 0; 
    right:1.5rem; 
    top: 0.65rem; 
    justify-content: end; 
}
.modal .toggle-fermer {
    z-index: 11; 	
    display:none !important;
}
.modal.actif .toggle-fermer {
	display:inline-flex !important;
}
.toggle-fermer .header-toggle-bar:first-child { 
    transform: translateY(4px) rotate(45deg); 
}
.toggle-fermer .header-toggle-bar:last-child { 
    transform: translateY(-3px) rotate(-45deg); 
}


/* conteneur images */
.img-wrapper { 
    position: relative; 
    display: block; 
    overflow: hidden; 
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}
.img-wrapper img, .img-wrapper video { 
    position: relative;
    display: block; 
    width: 100%; 
    height: auto; 
    max-width: none; 
}
.img-wrapper .fit { 
    position: absolute; 
    display: block; 
    left: 0; 
    top: 0; 
    right: 0; 
    bottom: 0; 
}
.img-wrapper .fit img, .img-wrapper .fit video { 
    height: 100%; 
    -o-object-fit: cover; 
    object-fit: cover; 
}
.img-wrapper figcaption {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 2rem;
    color: var(--blanc);
}
.img-wrapper .icon-play_video {
    font-size: 700%;
}


/* entête pages */
.entete {
    position: relative;
    z-index: 2;
    padding-right: 5.625rem;
    background-color: var(--secondary);
}
.entete .img-wrapper { 
    padding-bottom: 30.218%; /* 1831/569 */
}
span.bas {
    position: absolute;
    z-index: 6;
    width: 5.625rem;
    top: 90%;
    right: 0;
    transform: translateY(-90%);
    text-align: center;
}
.icon-fleche_bas {
    position: relative;
    text-align: center;
}
.icon-fleche_bas:before { 
    display:block;
    content: '';
    background-image: url('/wp-content/themes/csssh/assets/fleches_bas_entete.svg');
    background-size: 39px 39px;
    background-repeat: no-repeat;
    height: 39px;
    width: 39px;
    opacity: 1;
    margin:0 auto;
    transition: opacity ease-in-out 0.15s
}
a.icon-fleche_bas:hover:before {
    opacity: 0.7;
}


/* contenu */
.container-wrapper {
    padding-left: 3.64583%;
    padding-right: 3.64583%;
}
#breadcrumbs { 
    display: inline-flex;
    font-weight: 500;
}
#breadcrumbs span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#breadcrumbs em { 
    display: inline-block;
    font-style: normal;
    font-weight: 600;
    font-size: 0.8rem;
    padding: 0 1.25rem;
}
#breadcrumbs .breadcrumb_last { 
    font-weight: 300;
}
body.page-template-default:not(.home) .sandbox, body.page-template-liste-infos-travaux .sandbox, body.page-template-joindre .sandbox, body.page-template-liste-politiques-et-reglements .sandbox, body.search .sandbox {
    padding-top: 3.3rem;
    padding-bottom: 3.3rem;
}
body.page-template-joindre .sandbox {
    padding-bottom: 0 !important;
}
body.page-template-joindre .sandbox .coordonnees {
    padding-right: 5rem;
}
.sandbox .vc_row:not(.vc_row-has-fill):not(.vc_inner) {
    padding-bottom: 3rem;
}
.sandbox .vc_row:not(.vc_row-has-fill):not(.vc_inner):last-child {
    padding-bottom: 0;
}
.sandbox .vc_row.vc_row-has-fill:not(.vc_inner) {
    margin-bottom: 3rem;
}
.sandbox .vc_row:last-child.vc_row-has-fill {
    margin-bottom: -3.3rem;
}
.sandbox .vc_row.vc_row-has-fill .vc_row {
    padding-top: 0;
    padding-bottom: 0;
}
.sandbox .vc_row:first-child, .sandbox .vc_row.vc_grid {
    padding-top: 0;
}
.sandbox a:not(.btn), .sandbox .liens ul li a span { 
    text-decoration: underline;
    text-decoration-thickness: auto;
    text-decoration-thickness: from-font;
    text-underline-offset: 0.15em;
    color: var(--secondary);
}
.sandbox a:not(.btn)[href^="tel:"] { 
    text-decoration: none;
    color: var(--primary);
}
.sandbox a:hover, .sandbox a:not(.btn)[href^="tel:"]:hover { 
    color: var(--accent);
}
.sandbox ul { 
    list-style:disc;
    list-style-position: outside;
    margin-left: 2.5rem;
    margin-bottom: 2.5rem;
}
.sandbox ul ul { 
    margin-left: 2.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem !important;
}
.sandbox ul li::marker {
    font-size: 1.25rem;
}
.sandbox ol { 
    list-style: decimal;
    list-style-position: outside;
    margin-left: 2.5rem;
    margin-bottom: 2.5rem;
}
.sandbox ol ol { 
    margin-left: 2.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.sandbox .alignright {
    display: block;
    float: right;
    margin: 1rem 0 1.5rem 1.5rem;
}
.sandbox .alignleft {
    display: block;
    float: left;
    margin: 1rem 1.5rem 1.5rem 0;
}
.sandbox .aligncenter {
    display: block;
    float: none;
    margin: 1.5rem auto;
}
.container-wrapper hr, .sandbox hr, .fiche-coords hr, nav.navigation.pagination { 
    display:block;
    border:none;
    border-top: 1px dotted #9CB79C;
    margin-top:1.5rem;
    margin-bottom:2rem;
    clear:both;
}
.largeur-contenu {
    max-width: fit-content;
}
.etroit {
    max-width:50rem; /* 800px */
}
.pleine-largeur {
    padding-right: 0 !important;
    padding-left: 0 !important;
    padding-bottom: 0 !important;
    margin:0 !important;
}
.pleine-largeur .wpb_content_element {
    margin-bottom: 0 !important;
}


/* colonne décallée vers la droite ou la gauche */
.sandbox .decalage.droit {
    padding-left: 15px;
    padding-right: 0;
    margin-right: 0;
    right: -3.64583%; /* (- padding container-wrapper) */
}
.sandbox .decalage.droit>.vc_column-inner {
    padding-right: 0;
    margin-right: 0.469rem;
}
.sandbox .decalage.droit .droit {
    padding-right: 0;
    margin-right: calc(-6rem * 0.5); /* (- container-fluid - padding) */
}
.sandbox .decalage.gauche {
    padding-left: 0;
    margin-left: 0; 
    padding-right: 15px;
    left: -3.64583%; /* (- padding container-wrapper) */
}
.sandbox .decalage.gauche>.vc_column-inner {
    padding-left: 0;
    margin-left: 0.469rem;
}
.sandbox .decalage.gauche .gauche {
    padding-left: 0;
    margin-left: calc(-6rem * 0.5);  /* (- container-fluid - padding) */
}
.sandbox .wpb_single_image .vc_figure-caption {
    font-size: 1.25rem;
    line-height: 1;
    text-align: center;
    margin-top: 0;
    padding:1rem 2rem;
    background-color: var(--vertpale);
}


/* row full-width intégrant row standard avec classe container-fluid pour afficher contenu aligné correctement avec autre contenu dans row standard */
.vc_row[data-vc-full-width] { 
    padding-left: 3.64583%;
    padding-right: 3.64583%;
}
.vc_row[data-vc-full-width] .vc_row.container-fluid { 
    margin-left:auto;
    margin-right:auto;
}
.vc_row[data-vc-full-width] .vc_row.container-fluid .vc_column_container>.vc_column-inner {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}
.sandbox .vc_row[data-vc-full-width] .vc_row.container-fluid .vc_column_container.decalage.droit {
    padding-right: 0;
}
.sandbox .vc_row[data-vc-full-width] .vc_row.container-fluid .vc_column_container.decalage.droit .droit {
    margin-bottom: 0;
    margin-right: calc(-7.875rem * 0.5); /* (- padding container-fluid - 30px) */
}


/* row/colonne de background foncé pour spécifier texte blanc */
.bg_fonce p, .bg_fonce h2, section.fiche .bg_fonce h2, .bg_fonce h3, section.fiche .bg_fonce h3, .bg_fonce h4, .bg_fonce h5, .bg_fonce h6, .bg_fonce ul, .bg_fonce td,
.sandbox .bg_fonce .wpb_gallery .wpb_flexslider h2, .sandbox .bg_fonce .wpb_gallery .wpb_flexslider .flex-caption { 
    color: var(--blanc);
}
.bg_fonce h2 { margin-top:0; }


/* row/colonne padding spécifiques */
.sandbox .emphase_centre { 
    padding-left: calc(var(--bs-gutter-x) * 0.75) !important;
    padding-right: calc(var(--bs-gutter-x) * 0.75) !important;
    padding-top: calc(var(--bs-gutter-x) * 1) !important;
    padding-bottom: calc(var(--bs-gutter-x) * 1) !important;
    background-position: top center !important;
}
.sandbox .emphase_centre_xl { 
    padding-left: calc(var(--bs-gutter-x) * 1.66) !important;
    padding-right: calc(var(--bs-gutter-x) * 1.66) !important;
    padding-top: calc(var(--bs-gutter-x) * 2) !important;
    padding-bottom: calc(var(--bs-gutter-x) * 2) !important;
    background-position: top center !important;
}
.sandbox .emphase_centre >.vc_column_container>.vc_column-inner, .sandbox .emphase_centre_xl >.vc_column_container>.vc_column-inner {
    padding-top: 0 !important;
}
.sandbox .emphase_centre .wpb_content_element, .sandbox .emphase_centre_xl .wpb_content_element {
    margin-bottom: 0 !important;
}
.sandbox .emphase_centre h4, .sandbox .emphase_centre_xl h4 { 
    font-weight: 300;
}
.sandbox .centrer, .site-main .centrer { 
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.sandbox .emphase_gauche {
    padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
    padding-top: calc(var(--bs-gutter-x) * 1) !important;
}


/* tableau pour icônes à gauche et explications à droite : carrières-avantages */
.sandbox .tableau_icones_gauche table tr { 
    display: flex;
    margin-bottom: 2rem;
}
.sandbox .tableau_icones_gauche table td { 
    display: flex;
    align-items: center;
}
.sandbox .tableau_icones_gauche table tr > td:nth-of-type(1) { 
    width: 16.66666667%;
    max-width: 5.5rem;
    padding-right: 2rem;
}
.sandbox .tableau_icones_gauche table tr > td:nth-of-type(1) img { 
    position: relative;
    width: 4rem;
}
.sandbox .tableau_icones_gauche table tr > td:nth-of-type(2) { 
    width: 83.33333333%;
}


/* liens dans une liste du contenu vers fichiers PDF, doc ou liens (client doit spécifier la classe liens sur le bloc) */
.sandbox .liens ul {
    list-style:none;
    margin-left:3.75rem;
    margin-bottom:3.5rem;
}
.sandbox .liens ul li {
    position: relative;
    margin:0 0 1.5rem;
}
.sandbox .liens ul li:last-child {
    margin-bottom:0;
}
.sandbox .liens ul li, .sandbox .liens ul li a {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}
.sandbox .liens ul li a {
    color: var(--primary);
    text-decoration: none;
    display: inline-block;
    padding-bottom: 0.025em;
    position: relative;
}
.sandbox .liens ul li a:before, .sandbox .liens ul li:not(:has(a))::before {
    font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-align: center; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    margin-left: -3.5rem;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
}
.sandbox .liens ul li a[href$=".pdf"]:before, .sandbox .liens ul li a[href$=".docx"]:before, .sandbox .liens ul li a[href$=".doc"]:before {
    content: "\e90b";
    font-size: 2.813rem;
    color:var(--primary);
}
/* liens internes ou externe dans une liste du contenu (client doit spécifier la classe liens sur le bloc)  */
.sandbox .liens ul li a[href^="/"]:before, .sandbox .liens ul li a[href^="./"]:before, .sandbox .liens ul li a[href^="../"]:before, 
.sandbox .liens ul li a:not([href$=".pdf"]):not([href$=".docx"]):not([href$=".doc"]):before {
    content: "\e90c";
    font-size: 2.4rem;
    color: var(--primary);
}
/* icône spécifique si un LI dans cette liste n'a PAS de lien (client doit spécifier la classe liens sur le bloc)  */
.sandbox .liens ul li:not(:has(a))::before {
    content: '\e903';
    font-size: 2.25rem;
    top: 0.35rem;
    left: 0.5rem;
    color: var(--primary);
}
.sandbox .liens ul li a span {
    color: var(--primary) !important;
}
.sandbox .liens ul li a:hover, .sandbox .liens ul li a:hover span, .sandbox .liens ul li a:hover:before {
    color: var(--accent) !important;
}


/* boutons carrés dans contenu */
.sandbox .btn.carre {
    width: 100%;
    max-width:21.5rem;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    display: grid;
    place-content: center;
    color: var(--blanc);
    background-color:var(--primary) !important;
    font-size:2.375rem; /* 38px */
    line-height:1;
    font-weight: 800;
    letter-spacing:0.025rem;
    text-transform: uppercase;
    border-radius: 0;
    align-content: center;
    justify-content: center;
    padding-left:0.938rem;
    padding-right:0.938rem;
}
.sandbox .btn.carre.bg-secondary {
    background-color:var(--secondary) !important;
}
.sandbox .btn.carre.bg-accent {
    background-color:var(--accent) !important;
}
.sandbox .btn.carre:hover {
    background-color:var(--accent) !important;
}
.sandbox .btn.carre.bg-accent:hover {
    background-color:var(--secondary) !important;
}

/* carrousel (flex-slider dans galerie d'images) dans WP Bakery pour affichage comme maquette fiche infos-travaux */
.sandbox .wpb_gallery h2 {
    text-align: center;
}
.sandbox .flex-control-nav { display:none !important; }
.sandbox .flexslider {
    background: transparent;
    border: none;
    border-radius: 0;
    -o-box-shadow: none;
    box-shadow: none;
    max-width: 1276px;
    margin: 0 auto;
    margin-right: auto;
}
.sandbox .flex-direction-nav a, .lightbox .lb-nav a.lb-prev, .lightbox .lb-nav a.lb-next {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 50%;
    margin: -3.638rem 0 0;
    position: absolute;
    top: 50%;
    z-index: 10;
    overflow: hidden !important;
    opacity: 1 !important;
    cursor: pointer;
    background-color: var(--blanc);
    filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, 0.1)) !important;
    color: var(--blanc);
    text-shadow: none !important;
    background-image: none;
}
.sandbox .flex-direction-nav a:before, .lightbox .lb-nav a.lb-prev:before, .lightbox .lb-nav a.lb-next:before { 
    display: inline-block; font-family: 'icomoon' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-align: center; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    content: "\e903" !important;
    color: var(--accent);
    font-size: 1.5rem !important;
    text-shadow: none !important;
}
.sandbox .flex-direction-nav .flex-prev, .lightbox .lb-nav a.lb-prev {
    left: -2.188rem !important;
    text-align: left !important;
}
.sandbox .flex-direction-nav .flex-next, .lightbox .lb-nav a.lb-next {
    right: -2.188rem !important;
    text-align: right !important;
}
.sandbox .flex-direction-nav a.flex-prev:before, .lightbox .lb-nav a.lb-prev:before {
    position: relative;
    left: calc(50% + 10px);
    transform: rotate(180deg); 
}
.sandbox .flex-direction-nav a.flex-next:before, .lightbox .lb-nav a.lb-next:before {
    position: relative;
    left: calc(50% - 6px);
}
.sandbox .flex-direction-nav a:hover, .lightbox .lb-nav a.lb-prev:hover, .lightbox .lb-nav a.lb-next:hover {
    background-color: var(--accent);
    color: var(--accent);
}
.sandbox .flex-direction-nav a:hover:before, .lightbox .lb-nav a.lb-prev:hover:before, .lightbox .lb-nav a.lb-next:hover:before {
    color: var(--blanc);
}
.sandbox .wpb_gallery .wpb_flexslider .flex-caption {
    color: var(--primary);
    font-size: 1.25rem;
    line-height: 1.563rem;
    font-weight: 300;
    padding: 1rem 0 0;
}



/* items éditeur WPBakery (styliser/uniformiser uniquement option par défaut) */
.sandbox .vc_icon_element.vc_icon_element-outer .vc_icon_element-inner.vc_icon_element-color-blue .vc_icon_element-icon {
    color: var(--primary);
}
.sandbox .vc_color-info.vc_message_box {
    color: var(--primary);
    border-color: var(--vertpale);
    border-radius: 0;
    background: var(--vertpale);
}
.sandbox .vc_color-info.vc_message_box .vc_message_box-icon {
    color: var(--primary);
}
.sandbox .vc_message_box {
    padding-left: 5em;
}
.sandbox .vc_message_box-icon {
    width: 5em;
}
.sandbox .vc_toggle_default .vc_toggle_icon {
    background: var(--primary);
    border: 1px solid var(--primary);
}
.sandbox .vc_toggle_default .vc_toggle_icon::before, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_active .vc_tta-panel-heading .vc_tta-controls-icon::after, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_active .vc_tta-panel-heading .vc_tta-controls-icon::before, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-controls-icon::after, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-controls-icon::before {
    border: 1px solid var(--primary);
}
.sandbox .vc_toggle_default .vc_toggle_icon::after, .sandbox .vc_toggle_default .vc_toggle_icon::before {
    background: var(--primary);
}
.sandbox .vc_tta.vc_general .vc_tta-panel-title { 
    margin: 0 !important;
}
.sandbox .vc_custom_heading { 
    font-family: "bilo", sans-serif !important;
    font-weight: 700 !important;
}
.sandbox .wpb_gmaps_widget .wpb_wrapper {
    background-color: transparent;
    padding: 0;
}



/* lightbox items WPBakery */
.lightbox .lb-data .lb-details {
    display: none !important;
}
.lightbox .lb-outerContainer {
    border-radius: 0 !important;
    border: none !important;
    background-color:var(--primary) !important;
    color:var(--blanc) !important;
}
.lightbox .lb-image {
    border-radius: 0 !important;
    border: none !important;
}
.lightbox .lb-dataContainer {
    position: absolute !important;
    z-index: 10001;
    top: 1rem !important;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.lightbox .lb-data .lb-close { 
    position: relative !important;
    z-index: 10002;
    background-color: var(--blanc) !important;
    background-image: none !important;
    width: 4.063rem !important; /* 65px */
    height: 4.063rem !important;
    border-radius: 2.956rem;
    margin-right: 0.75rem !important;
    overflow: hidden;
    opacity:1 !important;
    transition: color ease-in-out 0.15s, background-color ease-in-out 0.15s, border-color ease-in-out 0.15s !important;
}
.lightbox .lb-data .lb-close:after { 
    position: absolute !important;
    z-index: 10003;
    width: auto;
    left: 52%;
    top: 39%;
    transform: translate(-50%, 50%);
    content: "x";
    color: var(--primary) !important;
    font-size: 3rem;
    font-weight: 500;
}
.lightbox .lb-data .lb-close:hover { 
    background-color: var(--accent) !important;
}
.lightbox .lb-data .lb-close:hover:after { 
    color: var(--blanc) !important;
}
.lightbox .lb-nav a.lb-prev:before, .lightbox .lb-nav a.lb-next:before {
    left: 0;
}

/* onglet items WPBakery */
.sandbox .vc_tta.vc_tta-shape-rounded .vc_tta-panel-body, .sandbox .vc_tta.vc_tta-shape-rounded .vc_tta-panel-heading, 
.sandbox .vc_tta.vc_tta-shape-rounded .vc_tta-tab>a, .sandbox .vc_tta.vc_tta-shape-rounded.vc_tta-tabs .vc_tta-panels {
    border-radius: 0 !important;
}
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-heading, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body::after, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body::before {
    border: none !important;
}
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab.vc_active>a, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a:hover, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel.vc_active .vc_tta-panel-title>a, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a:hover, 
.sandbox .vc_general.vc_cta3.vc_cta3-style-classic, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-body, 
.sandbox .vc_tta-color-grey.vc_tta-style-classic.vc_tta-tabs .vc_tta-panels {
    border-color: var(--vertpale);
    border-radius: 0;
    background: var(--vertpale);
    color: var(--primary);
}
.sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-tab>a, .sandbox .vc_tta-color-grey.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-title>a {
    border-color: var(--rose-champagne);
    background-color: var(--rose-champagne);
    color: var(--primary);
    font-weight: 600;
}
.sandbox .vc_tta.vc_tta-style-classic.vc_tta-tabs .vc_tta-panels {
    border-color: var(--vertpale);
}

/* conteneur avec pagination items WPBakery */
.sandbox .vc_pagination.vc_pagination-style-outline .vc_pagination-trigger {
    border: 10px solid var(--vertpale);
}
.sandbox .vc_pagination-color-grey.vc_pagination-style-outline .vc_pagination-trigger {
    background-color: var(--vertpale);
    border-color: var(--vertpale);
}
.sandbox .vc_pagination-color-grey.vc_pagination-style-outline .vc_active .vc_pagination-trigger {
    background-color: var(--abricot);
    border-color: var(--abricot);
}


/* Programme volet, client doit ajouter classe volet RANGÉE 2 COLONNES - BG GRIS ET IMAGE À GAUCHE */
.sandbox .volet {
    background-color: var(--grispale);
    color: var(--noir);
    font-size: 1.375rem; /* 22px */ 
    line-height: 1; 
}
.sandbox .volet .wpb_column:first-child {
    padding: 3.125rem 0 3.125rem 3.125rem;
}
.sandbox .volet p {
    font-size: 1.375rem; /* 22px */ 
    line-height: 1; 
}
.sandbox .volet strong, .sandbox .volet p strong {
    font-size: 1.625rem; /* 26px */ 
    line-height: 1.2; 
}
.sandbox .volet.vc_row:not(.vc_row-has-fill), .sandbox .volet.vc_row:not(.vc_row-has-fill):last-child,
.sandbox .volet .vc_row:not(.vc_row-has-fill), .sandbox .volet .vc_row:not(.vc_row-has-fill):last-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.sandbox .volet .vc_tta .vc_tta-panel-body, .sandbox .volet .vc_column_container>.vc_column-inner {
    padding: 0 !important;
    border: none !important;
}
.sandbox .volet .wpb_content_element, .sandbox .volet .vc_tta .vc_tta-panels-container .wpb_content_element {
    margin-bottom: 0;
}
.sandbox .volet .wpb_single_image .vc_figure, .sandbox .volet .wpb_single_image .vc_single_image-wrapper, .sandbox .volet .wpb_single_image img {
    width: 100%;
}


/* temoignages (conteneur) avec pagination items WPBakery, client doit ajouter classe temoignages */
.sandbox .temoignages .vc_tta .vc_tta-panels-container {
    background-color: var(--noir);
    color: var(--blanc);
}
.sandbox .temoignages, .sandbox .temoignages p {
    font-size: 1.5rem; /* 24px */ 
    line-height: 1.875rem; /* 30px */ 
}
.sandbox .temoignages.vc_row .vc_row {
    margin-right: 0;
    margin-left: 0;
}
.sandbox .temoignages.vc_row:not(.vc_row-has-fill), .sandbox .temoignages.vc_row:not(.vc_row-has-fill):last-child, 
.sandbox .temoignages .vc_row:not(.vc_row-has-fill), .sandbox .temoignages .vc_row:not(.vc_row-has-fill):last-child {
    padding-top: 0 !important;
}
.sandbox .temoignages .vc_tta .vc_tta-panel-body, .sandbox .temoignages .vc_column_container>.vc_column-inner {
    padding: 0 !important;
    border: none !important;
}
.sandbox .temoignages .wpb_content_element, .sandbox .temoignages .vc_tta .vc_tta-panels-container .wpb_content_element {
    margin-bottom: 0;
}
.sandbox .temoignages .wpb_single_image .vc_figure, .sandbox .temoignages .wpb_single_image .vc_single_image-wrapper, .sandbox .temoignages .wpb_single_image img {
    width: 100%;
}


/* écoles : superposition, client doit ajouter classe superposition à la rangée au dessus des actualités */
.sandbox .vc_row.superposition {
    margin-bottom:-13.75rem;
}


/* écoles : programmes, client doit ajouter classe programmes à la rangée des programmes */
.sandbox .vc_row.programmes, .sandbox .vc_row.programmes p {
    text-align: center;
    font-size: 1.875rem; /* 30px */ 
    line-height: 2.188rem; /* 35px */ 
    font-weight: 500;
}
.sandbox .vc_row.programmes img {
    min-height: 8.125rem; /* 130px */
    max-height: 8.125rem;
    width: auto;
}
.sandbox .vc_row.programmes a:hover img {
    opacity: 0.7;
    transition: opacity ease-in-out 0.15s; 
}
.sandbox .vc_row.programmes p, .sandbox .vc_row.programmes .wpb_content_element {
    margin-bottom: 0;
}
.sandbox .vc_row.programmes a {
    text-decoration: none;
}


/* adaptation pour contenu importé */
.sandbox .vc_col-sm-2 h4 {
    font-weight: 700;
    margin: 0 !important;
}


/* plan du site */
#sitemap {
    max-width:50rem; /* 800px */
    margin-left:auto;
    margin-right:auto;
}
#sitemap ul > li {
    margin-bottom:1.75rem;
}
#sitemap ul ul > li {
    margin-bottom:0;
}


/* message si aucun élément */
.aucun { font-size: 1.25rem; background: var(--vertpale); text-align: center; margin:2rem auto 4rem; }


/* fiche (actualités, erreur 404 + infos-travaux sans image entête) */
section.fiche .sandbox .vc_row:first-child {
    padding-top: 0;
}
section.fiche .sandbox .vc_row:last-child {
    padding-bottom: 0;
}
section.fiche h1 {
    margin-top:4rem;
    margin-bottom:2rem;
}
section.fiche.erreur h1 {
    margin-bottom:4rem;
}
section.fiche h2 {
    color: var(--primary);
}
body:not(.single-info_travaux) section.fiche .sandbox {
    padding-bottom: 1rem;
    clear: both;
    overflow: hidden;
}
section.fiche.erreur .sandbox {
    padding-bottom: 3rem;
}
section.fiche .sandbox img.principale {
    float:none;
    max-width:600px;
}
section.fiche .sandbox img.principale.aligndroite {
    float:right;
    padding:0 0 2rem 2rem;
}
section.fiche .sandbox img.principale.aligngauche {
    float:left;
    padding:0 2rem 2rem 0;
}
section.fiche .date {
    margin-bottom: 2rem !important;
}
.date em, time em { 
    font-style: normal !important;
}


/* recherche ajax search lite overide */
.asl_w_container {
    max-width:46.875rem; /* 750px */
    margin: 2rem auto 0 !important;
}
.asl_w_container .asl_w, .asl_w_container .promagnifier, .asl_w_container .probox .proclose, 
.asl_w_container .promagnifier, .asl_w_container .probox .promagnifier .innericon svg, 
.asl_w_container .probox .proinput input, .modal #ajaxsearchlite1 .probox .proinput input, 
div.asl_w .probox .proinput input, div.asl_m .probox .promagnifier .innericon, .asl_w_container .promagnifier {
	height: 3.25rem !important;
}
.asl_w_container .asl_w {
	box-shadow: none !important;
	border: none !important;
  }
.asl_w_container .probox {
  height:inherit !important;
  background: var(--blanc) !important;
  box-shadow:none !important;
}
.asl_w_container .promagnifier, .asl_w_container .proloading, .asl_w_container .proclose, .asl_w_container .promagnifier, .asl_w_container .prosettings {
    width: 2.55rem;
    background: var(--blanc) !important;
}
.asl_w_container .probox .promagnifier .innericon svg {
    fill: var(--primary) !important;
    width:1.875rem !important;
}
.asl_w_container .probox .promagnifier .innericon:hover svg {
    fill: var(--accent) !important;
}
.asl_w_container .probox .proclose svg {
    background: var(--primary) !important;
    box-shadow: none !important;
}
.asl_w_container .probox .proclose:hover svg {
    background: var(--accent) !important;
}
.asl_w_container .probox .proloading {
    padding: 4px !important;
    margin-top:0.8rem !important;
}
.asl_w_container .probox .proinput {
    color: var(--primary) !important;
    font-size: inherit !important;
    line-height: normal !important;
    text-shadow: none !important;
	background: var(--blanc) !important;
	vertical-align:middle !important;
	margin:0 !important;
}
.asl_w_container .probox .proinput input.orig, .modal #ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input.orig {
    border-radius: 0 !important;
    color: var(--primary) !important;
	font-size: 1.75rem !important;
    padding: 0 0.625rem !important;
    letter-spacing: 0.025rem !important;
	background: transparent !important;
	text-shadow: none !important;
}
.asl_w_container .promagnifier {
	width:3.25rem !important;
    box-shadow: none !important;
    min-height: inherit !important;
}
.asl_w_container .probox .proinput form input::-webkit-input-placeholder {
	color: var(--primary) !important;
	text-shadow: none !important;
    font-size: 1.75rem !important;
}
.asl_w_container .probox .proinput form input::-moz-placeholder {
	color: var(--primary) !important;
	text-shadow: none !important;
    font-size: 1.75rem !important;
}
.asl_w_container .probox .proinput form input:-ms-input-placeholder {
	color: var(--primary) !important;
	text-shadow: none !important;
    font-size: 1.75rem !important;
}
/* recherche dans contenu page (politiques règlements) */
.view-template .asl_w_container {
    max-width: 46.875rem;
    margin: 0 !important;
}
.view-template .asl_w_container .asl_w {
	z-index: 1;
    border: 1px solid var(--primary) !important;
}

/* résultats recherche modal */
div.asl_r.vertical {
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center;
    visibility: hidden;
    display: none;
}
div.asl_r.vertical .results .item:first-child {
    border-radius: 0 !important;
}
div.asl_r .results .item {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
div.asl_r .results .item .asl_content h3, div.asl_r .results .item .asl_content h3 a {
    margin: 1rem 0 0 !important;
	font-family: inherit !important;
    font-size: 1.563rem !important;
    line-height:1.875rem !important;
    color: var(--blanc) !important;
    text-shadow: none !important;
}
div.asl_r .results .item .asl_content h3 a:hover, a[href^="mailto:"]:hover {
    color: var(--accent) !important;
}
div.asl_r .results .item .asl_content {
    padding: 1rem 0 !important;
}
div.asl_r.vertical .results .asl_spacer {
    background: none repeat scroll 0 0 #b4b4b4 !important;
}
div.asl_r .results .item .asl_content .asl_desc {
    margin-top: 0 !important;
    font-size: 16px !important;
    line-height: 18px !important;
	color: var(--blanc) !important;
}

/* résultats recherche page */
body.search article {
    margin-bottom: 2rem;
}
body.search h2 {
    margin-bottom: 1rem;
    text-transform: none;
}

/* Modal Info-alertes */
.modal-info-alertes { 
    opacity: 1;
    pointer-events: all;
}
.modal-info-alertes .btn.liste { 
    position: absolute;
    right: 6.5rem;
    top: 0.4rem;
}
.modal-info-alertes .toggle-fermer { 
    display: inline-flex !important;
}
.modal-info-alertes section.liste { 
    padding-bottom:1rem;
}
.modal-info-alertes h2 { 
    margin-top: -1.5rem;
}
.modal-info-alertes h2 i { 
    display: flex;
    justify-content: center;
    font-size: 7rem;
    margin-bottom: 0.5rem;
}
.modal-info-alertes article { 
    justify-content: center;
}
.modal-info-alertes article h3 { 
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    color: var(--blanc);
}
.modal-info-alertes article p { 
    margin-bottom: 0.5rem;
}
/* Page Info-alertes */
.page-info-alertes h1 i { 
    display: flex;
    justify-content: center;
    font-size: 7rem;
    margin-top: 1.5rem;
}
.page-info-alertes section.liste { 
    padding-top:3rem;
    padding-bottom:5rem;
}
.page-info-alertes article h2 { 
    text-transform: uppercase;
    color: var(--secondary);
}


/* filtres (établissement + actualités + infos-travaux) */
.liste-filtres { font-size: 1.5rem; /*padding: 0 3.64583%;*/ }
.liste-filtres .row, .liste-etablissements .row { --bs-gutter-y: 1.5rem; }
.liste-filtres-titre { font-weight: 700; font-size: 100%; line-height: 1; }
.liste-filtres-select { position: relative; height: 100%; }
.liste-filtres-select select { display: inline-block; width: 100%; height: 100%; padding: 0 3em 0 1em; border: 1px solid var(--primary); border-radius: 0; background: var(--blanc); color: var(--primary); font: 700 100%/2.75 "Bilo", sans-serif; text-transform: uppercase; text-overflow: ellipsis; box-shadow: none; outline: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; transition: border-color ease-in-out 0.15s; }
.liste-filtres-select i { position: absolute; right: 1em; top: 50%; margin: -1em 0 0; width: 2em; height: 2em; font-size: 0.75em; line-height: 2em; background: var(--primary); color: var(--blanc); pointer-events: none; transform: rotate(90deg); transition: background-color ease-in-out 0.15s; }
.liste-filtres-select select:hover, .liste-filtres-select select:focus { border-color: var(--info); }
.liste-filtres-select select:hover + i, .liste-filtres-select select:focus + i { background: var(--info); }

/* liste (éléments globaux : établissement + infos-travaux) */
.liste-item a { display: block; height: 100%; background: var(--blanc); transition: box-shadow 0.3s ease; }
.liste-item a:hover { box-shadow: var(--ombre); }
.liste-item-img { position: relative; overflow: hidden; height: 0; padding-bottom: 64.18%; /* 550x353 */ background: var(--vertpale); }
.liste-item-img img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }

/* modèle wpbakery liste rangée 3 comme établissements */
.sandbox .modele-liste-etablissements.row { font-size: 1.25rem; padding-bottom: 1.5rem !important; }
.modele-liste-etablissements .wpb_content_element { margin-bottom: 0; }
.modele-liste-item h2 { margin: 0.25em 0 0.25em !important; font-size: 150%; line-height: 0.875; font-weight: 600; color: var(--primary); text-transform: none; }
.modele-liste-item h3 { margin: 0 0 1em; font-size: 100% !important; line-height: 1 !important; font-weight: 400; color: var(--secondary); }
.modele-liste-item p { margin: 0 0 1em; font-size: 100%; line-height: 1.2; }
.modele-liste-item strong { font-weight: 700; }
@media (max-width: 35.938rem) { /* 575px/16 - SM- */
	.modele-liste-etablissements { font-size: 1rem; padding: 0; }
}

/* modèle wpbakery liste rangée 3 comme établissements - forcer bootstrap-grid elements */
.modele-liste-etablissements.row-cols-1 > * { flex: 0 0 auto; width: 100%; }
.modele-liste-etablissements.row .modele-liste-item.col { padding-right: calc(var(--bs-gutter-x) * 0.5); padding-left: calc(var(--bs-gutter-x) * 0.5); }
.modele-liste-etablissements.row .vc_column_container>.vc_column-inner { padding-left: 0; padding-right: 0; }
@media (min-width: 36rem) {
    .modele-liste-etablissements.row-cols-sm-2 > * { flex: 0 0 auto; width: 33.3333333333%; }
    .modele-liste-etablissements.row .vc_col-sm-8 { width: 50%; padding-right: calc(var(--bs-gutter-x) * 2);  }
    .modele-liste-etablissements.row .vc_col-sm-4 { width: 33.3333333333%; }
}
@media (min-width: 75rem) {
    .modele-liste-etablissements.row-cols-xl-3 > * { flex: 0 0 auto; width: 33.3333333333%; }
    .modele-liste-etablissements.row .vc_col-sm-8 { width: 66.66666667%; padding-right: calc(var(--bs-gutter-x) * 2);  }
    .modele-liste-etablissements.row .vc_col-sm-4 { width: 33.3333333333%; }
}

/* navigation pagination posts (recherche) */
nav.navigation.pagination {
    margin: 4rem 0 2rem;
    padding-top: 2rem;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
}
nav.navigation.pagination .prev {
    margin-right: 1.25rem;
}
nav.navigation.pagination .next {
    margin-left: 1.25rem;
}




/* footer */
footer.site-footer .row, footer.site-footer a { 
    color: var(--blanc); 
}
footer.site-footer .row .d-flex { 
    flex-wrap: wrap;
    align-content: center;
}
footer.site-footer .container-fluid > .row:first-child  { 
    background-image: url(/wp-content/themes/csssh/assets/defi_punaise_bg.png);
    background-repeat: no-repeat;
    background-position-y: -7rem;
    background-position-x: left;
    background-size: 26%;
}
footer.site-footer .container-fluid > .row:first-child .py-md-5  { 
    padding-top:5rem !important;
}
footer.site-footer h3 { 
    margin: 0 auto 1.5rem;
    text-transform: uppercase;
    max-width:21.875rem;
}
footer.site-footer .btn { 
    min-height: 4.563rem; /* border retirée */
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    border:1px solid var(--accent);
}
footer.site-footer .btn:hover { 
    background-color: var(--primary) !important;
    color: var(--blanc);
    border:1px solid var(--blanc);
}
footer.site-footer .accesrapides ul {
    columns: 4;
    -webkit-columns: 4;
    -moz-columns: 4;
    list-style: none;
    margin: 0;
    padding: 0;
}
footer.site-footer .accesrapides ul li {
    display: inline-flex;
    width:100%;
    padding-right:0.5rem;
}
footer.site-footer .accesrapides ul li a {
    display: inline-flex;
    width:100%;
}
footer.site-footer .accesrapides ul li .icone {
    display: inline-flex;
    align-items: start;
    padding-right:0.625rem;
    max-width: 5.313rem;
}
footer.site-footer .accesrapides ul li img {
    display: block;
    width:100%;
    max-width:4.063rem;
}
footer.site-footer .accesrapides ul li em {
    display: flex;
    align-items: center;
    font-weight: 300;
    font-style: normal;
    line-height: 1.25rem;
}
footer.site-footer .container-fluid p:not(.smaller) {
    font-size: 1.5rem;
    line-height: 1.7rem;
    margin: 0 0 1rem;
}
footer.site-footer .infos a.lien-contacter {
    display: flex;
}
footer.site-footer .social {
    font-size:2.438rem;
}
footer.site-footer .copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.6);
}
footer.site-footer .copyright p.smaller {
    font-size:1.063rem;
    line-height:1.125rem;
}
footer.site-footer .copyright p em {
    padding:0 0.25rem;
    font-style: normal;
}
.piv_bas p {
    font-family: 'Roboto', sans-serif; 
    font-size:0.625rem;
    line-height: 0.938rem;
    font-weight: 300; 
    margin:1.688rem 0 0;
}


/* CookieYes */
body .cky-notice button.cky-btn, body .cky-modal button.cky-btn { border-width: 2px !important; display: inline-block !important; border-radius: 0 !important; }
body button.cky-btn:hover, body button.cky-btn:active, body button.cky-btn:focus { color:#FFFFFF !important; background: #abb8c3 !important; border-color: #abb8c3 !important; border-width: 2px !important; }
body button.cky-show-desc-btn:not(:hover):not(:active) { color: #08534A !important; background: transparent !important; }
body button.cky-show-desc-btn:hover, body button.cky-show-desc-btn:active, body button.cky-show-desc-btn:focus { color: #abb8c3 !important; background: transparent !important; }
body .cky-audit-table .cky-cookie-des-table, body .cky-audit-table .cky-cookie-des-table p { font-size: 12px !important; line-height: 20px !important; }
body .video-placeholder-text-youtube { font-size: 16px !important; line-height: 23px !important; }
body .cky-notice, body .cky-preference-content-wrapper, body .cky-gpc-wrapper .cky-gpc-desc, body .cky-accordion-header-des, body .cky-audit-table .cky-cookie-des-table, body .cky-consent-bar .cky-notice-des p, 
body .cky-accordion-header-wrapper .cky-accordion-header-des p, .cky-preference-body-wrapper .cky-preference-content-wrapper p { line-height: 20px !important; }
body .cky-notice .cky-title { display:none !important; }
body .cky-consent-bar .cky-banner-btn-close { right: 10px !important; top: 7px !important; }
body .cky-notice, body .cky-modal { font-family: Arial,Helvetica,sans-serif !important; }

/* videos youtube ouvrant dans fenêtre modal sans cookies */
.modal-toggle-video.cky-banner-element .icon-play_video:before { 
    background-image:none !important;
	width:365px;
    max-width:100%;
	height:inherit;
	margin: 0 auto; 
	display: block;
    border: none;
    background: var(--noir);
    border: 1px solid var(--noir);
	content: "Veuillez accepter les cookies pour voir ce contenu";
    font: 16px "bilo", sans-serif;
    line-height:23px;
    text-align: center;
    padding: 10px 16px;
    color: var(--blanc);
    border-radius: 2px;
    cursor: pointer;
}
.modal-toggle-video.cky-banner-element .icon-play_video:hover:before { 
    color: var(--blanc);
	background: var(--noir);
}


/* classes générales non-sémantiques */
.ir, .header-search .search-submit { display: block; overflow: hidden; background-repeat: no-repeat; text-align: left; text-indent: -999em; direction: ltr; }
.hors-champ, .screen-reader-text { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.unselectable, .unselectable-before:before, .unselectable-after:after { -webkit-user-select: none; -moz-user-select: none; user-select: none; pointer-events: none; }
.text-uppercase { text-transform: uppercase; }
.text-start { text-align: left !important; }
.text-end { text-align: right !important; }
.text-center { text-align: center !important; }
.justify-content-center { justify-content: center !important; }
.invisible { visibility: hidden; transition: visibility 0.3s ease; }
.clear { clear: both; }
.no-wrap { white-space: nowrap; }
.clearfix:before, .clearfix:after { content: ""; display: table; border-collapse: collapse; }
.clearfix:after { clear: both; }


/* media queries */

/* MIN */
@media (min-width: 120rem) { /* 1920px/16 */
    /* image prennant la pleine hauteur en 1920 si le texte n'est pas trop long dans les programmes */
    .sandbox .volet .wpb_column:first-child {
        padding: 0;
    }
}

@media (min-width: 75rem) { /* 1200px/16 - XL+ */
    footer.site-footer .accesrapides {
        padding: 0 2%;
        width:53%;
    }
    footer.site-footer .infos {
        width:22%;
        padding-left: 0;
    }
}

@media (min-width: 62rem) { /* 992px/16 - LG+ */	
	.header-navbar.collapse:not(.show) { display: block; }
	.header-navbar.collapsing { height: auto; overflow: visible; }		
    .desktop-inline-flex {
        display: inline-flex;
    }	
    .header-sec-nav {
        flex-grow: 0;
        flex-direction: row-reverse;
        padding-right: 0;
    }
    nav #menu-secondaire {
        flex-direction: row-reverse;
    }
    .header-sec-nav ul#menu-secondaire li.portail a {
        text-transform: none;
        font-weight:400;
    }
    .header-sec-nav li .icon-instagram:before {
        content: "\e906";
        color: var(--primary);
    }
    .mobileonly { 
        display:none !important; 
    }
}

/* MAX */
@media (min-width:87.5rem) and (max-width:100rem) { /* entre 1400px et 1600px/16 - XXL- */
    h1, .h1 { 
        font-size: 5rem; /* 80px */ 
    }
    h2, .h2 { 
        font-size: 3.25rem; /* 52px */ 
    }
    h3, .h3, .liste-wrapper .liste-item h3 {
        font-size: 2.5rem; /* 40px */ 
        line-height: 1;
    }
    h4, .h4 {
        font-size: 2.188rem; /* 35px */ 
        line-height: 1;
    }
    p, .p, .sandbox ul, .sandbox ol, .sandbox .vc_tta.vc_general .vc_tta-panel-title, .sandbox .vc_col-sm-2 h4, .sandbox div[dir="auto"] {
        font-size: 1.75rem; /* 28px */ 
        line-height: 2.063rem; /* 33px */ 
        margin: 0 0 1.5rem;
    }
    .sandbox ul { 
        margin-left: 2.5rem;
        margin-bottom: 2.5rem;
    }
    .sandbox ol { 
        margin-left: 2.5rem;
        margin-bottom: 2.5rem;
    }
    .sandbox .btn.carre {
        font-size:2.188rem; /* 35px */
    }
    .sandbox .emphase_centre_xl { 
        padding-left: calc(var(--bs-gutter-x) * 1.33) !important;
        padding-right: calc(var(--bs-gutter-x) * 1.33) !important;
        padding-top: calc(var(--bs-gutter-x) * 1.66) !important;
        padding-bottom: calc(var(--bs-gutter-x) * 1.66) !important;
    }
    .sandbox .emphase_centre { 
        padding-left: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-top: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-bottom: calc(var(--bs-gutter-x) * 0.5) !important;
    } 
    .sandbox .emphase_gauche {
        padding-right: calc(var(--bs-gutter-x) * 0.25) !important;
        padding-top: calc(var(--bs-gutter-x) * 0.75) !important;
    }
    .sandbox .vc_row.superposition {
        margin-bottom:-9.375rem;
    }  
    .sandbox .volet, .sandbox .volet p {
        font-size: 1.25rem; /* 20px */ 
    }
    .sandbox .volet strong, .sandbox .volet p strong, .sandbox .temoignages, .sandbox .temoignages p {
        font-size: 1.5rem; /* 24px */ 
        line-height: 1.1;
    }
    footer.site-footer .container-fluid > .row:first-child {
        background-position-y: -2rem;
        background-size: 26%;
    }
    footer.site-footer h3 {
        font-size: 1.75rem;
        line-height: 2.1rem;
        max-width:15.625rem;
    }
    footer.site-footer .btn {
        min-height: 3.375rem;
        padding: 0.75rem 2rem;
        font-size: 1rem;
        line-height: 1;
    }
    footer.site-footer .infos p:not(.smaller) {
        font-size: 1.5rem;
        line-height: 1.8rem;
        margin: 0 0 1rem;
    }
}
@media (min-width:75rem) and (max-width:87.438rem) { /* entre 1200px et 1399px/16 - XXL- */
    h1, .h1 { 
        font-size: 4.375rem; /* 70px */ 
    }
    h2, .h2 { 
        font-size: 2.813rem; /* 45px */ 
    }
    h3, .h3, .liste-wrapper .liste-item h3 {
        font-size: 2.188rem; /* 35px */ 
        line-height: 1.75rem; /* 28px */ 
    }
    h4, .h4 {
        font-size: 2rem; /* 32px */ 
        line-height: 1;
    }
    p, .p, .sandbox ul, .sandbox ol, .sandbox .vc_tta.vc_general .vc_tta-panel-title, .sandbox .vc_col-sm-2 h4, .sandbox div[dir="auto"] {
        font-size: 1.75rem; /* 28px */ 
        line-height: 2.063rem; /* 33px */ 
        margin: 0 0 1.5rem;
    }
    .sandbox ul { 
        margin-left: 2.5rem;
        margin-bottom: 2.5rem;
    }
    .sandbox ol { 
        margin-left: 2.5rem;
        margin-bottom: 2.5rem;
    }
    ul#menu-principal > li > a { 
        font-size: 1.4rem; 
        line-height:1.65rem;
	    padding-right: 1.75rem;
        padding-left: 1.75rem;	
    }
    ul#menu-principal > li > a:before {
        top: calc(50% - 0.65rem);
    }
	.sous-menu > ul { padding: 3rem 2.2rem; }
	.sous-menu a { font-size: 1.4rem; }

    .header-sec-nav ul#menu-secondaire > li {
        padding-left: 1.55rem;
        font-size:1.3rem;
    }
    ul.social, footer.site-footer ul.social {
        font-size: 1.8rem;
    }
    ul.social li:last-child {
        padding-right: 0;
    }
    .sandbox .vc_row.superposition {
        margin-bottom:-6.25rem;
    }
    .sandbox .emphase_centre { 
        padding-left: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-top: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-bottom: calc(var(--bs-gutter-x) * 0.5) !important;
    }
    .sandbox .volet, .sandbox .volet p {
        font-size: 1.25rem; /* 20px */ 
    }
    .sandbox .volet strong, .sandbox .volet p strong, .sandbox .temoignages, .sandbox .temoignages p {
        font-size: 1.5rem; /* 24px */ 
        line-height: 1.1;
    }
    section.fiche .sandbox img.principale {
        max-width:500px;
    }
    footer.site-footer .accesrapides {
        padding: 0 3%;
        width:50%;
        max-width:50%;
    }
    footer.site-footer .container-fluid > .row:first-child {
        background-position-y: 0;
        background-size: 25%;
    }
    footer.site-footer .infos {
        width:25%;
        min-width:25%;
        padding-left: 0;
    }
    footer.site-footer h3 {
        font-size: 1.75rem;
        line-height: 2.1rem;
        max-width:15.625rem;
    }
    footer.site-footer .btn {
        min-height: 3.375rem;
        padding: 0.75rem 2rem;
        font-size: 1rem;
        line-height: 1;
    }
    footer.site-footer .accesrapides ul {
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
    }
    footer.site-footer .infos p:not(.smaller) {
        font-size: 1.5rem;
        line-height: 1.8rem;
        margin: 0 0 1rem;
    }
}

@media (max-width: 99.99875rem) { /* 1599- */
	.sous-menu:after { background-size: 66.75rem; }
	.sous-menu.show, .sous-menu > ul { width: 20rem; }
	.sous-menu .sous-menu.show, .sous-menu .sous-menu > ul { width: 40rem; overflow: hidden; overflow-y: auto; }
	.sous-menu a { font-size: 1.25rem; }
	.sous-menu-img { width: calc(100vw - 60rem); }
}

@media (max-width: 87.49875rem) { /* 1399px/16 - XL- */
    body.page-template-default:not(.home) .sandbox, body.page-template-liste-infos-travaux .sandbox, body.page-template-joindre .sandbox, body.page-template-liste-politiques-et-reglements .sandbox, body.search .sandbox {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    .sandbox .vc_row:not(.vc_row-has-fill):not(.vc_inner) {
        padding-bottom: 2rem;
    }
    .sandbox .vc_row.vc_row-has-fill {
        margin-bottom: 2rem;
    }
    .sandbox .vc_row:last-child.vc_row-has-fill {
        margin-bottom: -2rem;
    }
    .sandbox .vc_row.vc_row-has-fill .vc_row {
        padding-top: 0;
        padding-bottom: 0;
    }
    .sandbox .vc_row:first-child, .sandbox .vc_row.vc_grid {
        padding-top: 0;
    }
    /* spécifités contenu trop imposant comparé au contenu standard pour écrans plus petites (carriere/travailler) */
    .vc_row.contenu_xl > .vc_column_container {
        width:100%;
    }
    .vc_row.contenu_xl > .vc_column_container.decalage.droit {
        right:0;
        padding-left:0;
    }
    .vc_row.contenu_xl > .vc_column_container.decalage.droit .droit {
        max-width:37.5rem;
        margin-left:auto;
        margin-right:auto;
    }
    .sandbox .contenu-xl-4 {
        width: 33.33333333%;
    }
    .sandbox .contenu-xl-8 {
        width: 66.666667%;
    }
    .sandbox .emphase_centre_xl { 
        padding-left: calc(var(--bs-gutter-x) * 1.33) !important;
        padding-right: calc(var(--bs-gutter-x) * 1.33) !important;
        padding-top: calc(var(--bs-gutter-x) * 1.66) !important;
        padding-bottom: calc(var(--bs-gutter-x) * 1.66) !important;
    }
    .sandbox .emphase_centre {
        padding-left: calc(var(--bs-gutter-x)* 0.5) !important;
        padding-right: calc(var(--bs-gutter-x)* 0.5) !important;
        padding-top: calc(var(--bs-gutter-x)* 0.5) !important;
        padding-bottom: calc(var(--bs-gutter-x)* 0.5) !important;
    }
    .sandbox .volet .wpb_column:first-child {
        padding: 2rem 0 2rem 2rem;
    }
    .sandbox .volet strong, .sandbox .volet p strong, .sandbox .temoignages, .sandbox .temoignages p {
        font-size: 1.25rem; /* 20px */ 
        line-height: 1.1;
    }
    .sandbox .volet p {
        font-size: 1rem; /* 16px */ 
    }

    .liste-filtres-titre { text-align: center; }
	.liste-filtres-select select { padding-left: 0.75em; }

    footer.site-footer .accesrapides ul li .icone {
        max-width: 4.313rem;
    }
    footer.site-footer .accesrapides ul li img {
        max-width: 3.063rem;
    }
}

@media (max-width: 74.938rem) { /* 1199px/16 - XL- */
    h1, .h1 { 
        font-size: 4.063rem; /* 65px */ 
    }
    h2, .h2 { 
        font-size: 2.5rem; /* 40px */ 
        margin: 1.5rem 0;
        margin-bottom:2rem;
    }
    h3, .h3, .liste-wrapper .liste-item h3 { 
        font-size: 2.188rem; /* 35px */ 
        line-height: 2.25rem; /* 36px */ 
        margin-bottom:1rem;
    }
    h4, .h4 { 
        font-size: 2rem; /* 32px */ 
        margin-bottom:1rem;
    }
    p, .p, .sandbox ul, .sandbox ol, .sandbox .vc_tta.vc_general .vc_tta-panel-title, .sandbox .vc_col-sm-2 h4, .sandbox div[dir="auto"] { 
        font-size: 1.688rem; /* 27px */ 
        line-height: 2rem; /* 32px */
        margin-bottom:1.2rem;
    }
    .sandbox ul { 
        margin-bottom:2rem;
    }
    .sandbox ol { 
        margin-bottom:2rem;
    }
    .small, .sandbox table td { 
        font-size: 1.375rem; /* 22px */ 
        line-height: 1; 
    }
    .smaller { 
        font-size: 1.125rem; /* 18px */ 
        line-height: 1.1; 
    }
    .container, .container-fluid, .fiche-contenu {
        --bs-gutter-x: 4rem;
    }
    .piv .gouvernement .logoquebec {
        margin-right: 2.375rem;
    }
    ul#menu-principal > li > a { 
        padding-right: 1.2rem;
        padding-left: 1.2rem;	
        font-size: 1.2rem; 
        line-height:1.563rem;
    }
    ul#menu-principal > li > a:before {
        top: calc(50% - 0.65rem);
    }
	
	.sous-menu > ul { padding: 1.25rem; }
	.sous-menu-img { display: none; }
	
    .header-sec-nav ul#menu-secondaire > li {
        padding-left: 1.2rem;
        font-size:1.2rem;
    }
    ul.social {
        font-size: 1.7rem;
    }
    ul.social li:last-child {
        padding-right: 0.25rem;
    }
    .modal-overlay .modal.actif, .asl_w_container {
        width: 93%;
        max-width: 93%;
    }
    .modal-overlay .modal-inner {
        margin: 3.5rem auto;
        padding:0;
    }
    .modal-overlay .modal .toggle-fermer {
        width: 2.813rem !important;
        height: 2.813rem !important;
    }
    .modal-overlay .modal .toggle-fermer .header-toggle-bar {
        width: 1.563rem;
    }
    .asl_w_container .probox .proinput form input::-webkit-input-placeholder {
        font-size: 1.5rem !important;
    }
    .asl_w_container .probox .proinput input.orig, .modal #ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input.orig {
        font-size: 1.5rem !important;
    }
    .asl_w_container .asl_w, .asl_w_container .promagnifier, .asl_w_container .probox .proclose, .asl_w_container .promagnifier, .asl_w_container .probox .promagnifier .innericon svg, .asl_w_container .probox .proinput input.orig, .modal #ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input, div.asl_m .probox .promagnifier .innericon, .asl_w_container .promagnifier {
        height: 3rem !important;
    }
    div.asl_r .results .item .asl_content h3, div.asl_r .results .item .asl_content h3 a {
        font-size: 1.5rem !important;
        line-height: 1.8rem !important;
    }
    .modal-info-alertes .btn.liste { 
        position: absolute;
        right: 4.5rem;
        top: 0.1rem;
    }
    .btn.petit, body div.asl_r .showmore {
        height: 2.813rem; /* 45px */
        min-height: 2.813rem !important;
        font-size: 1rem !important;
    }
    body div.asl_r .showmore span {
        font-size: 1rem !important;
    }
    .modal-inner .iframe-wrapper { 
        max-width: calc(100% - 2.75rem);
    }
    .sandbox .decalage.droit .droit {
        margin-right: calc(-4rem * 0.5); /* (- container-fluid - padding) */
    }
    .sandbox .decalage.gauche .gauche {
        margin-left: calc(-4rem * 0.5);  /* (- container-fluid - padding) */
    }
    .sandbox .liens ul li a[href$=".pdf"]:before, .sandbox .liens ul li a[href$=".docx"]:before, .sandbox .liens ul li a[href$=".doc"]:before {
        font-size: 2.6rem;
    }
    .sandbox .liens ul li a[href^="/"]:before, .sandbox .liens ul li a[href^="./"]:before, .sandbox .liens ul li a[href^="../"]:before, 
    .sandbox .liens ul li a:not([href$=".pdf"]):not([href$=".docx"]):not([href$=".doc"]):before {
        font-size: 2.4rem;
    }
    .sandbox .liens ul li:not(:has(a))::before {
        font-size: 2.3rem;
        top:0.2rem;
        left:0.3rem;
    }
    section.fiche .sandbox img.principale {
        width:50%;
        max-width:50%;
    }
    .liste-filtres { font-size: 1.25rem; }

    .lightbox .lb-nav a.lb-prev {
        left: 1rem !important;
    }
    .lightbox .lb-nav a.lb-next {
        right: 1rem !important;
    }
    .sandbox .vc_row.superposition {
        margin-bottom:0;
    }
    .sandbox .volet strong, .sandbox .volet p strong, .sandbox .temoignages, .sandbox .temoignages p {
        font-size: 1rem; /* 16px */ 
    }
    footer.site-footer .container-fluid > .row:first-child {
        background-image: none;
    }
    footer.site-footer .container-fluid > .row:first-child .col-12  { 
        padding-left:2rem;
        padding-right:2rem;
        max-width:70%;
        width:100%;
        margin-left:auto;
        margin-right: auto;
    }
    footer.site-footer .container-fluid > .row:first-child .defi {
        max-width:inherit;
        background-image: url(/wp-content/themes/csssh/assets/defi_punaise_bg.png);
        background-repeat: no-repeat;
        background-position-y: -5rem;
        background-position-x: center;
        background-size: 26.25rem auto;
        margin-left:auto;
        margin-right: auto;
    }
    footer.site-footer h3 {
        margin: 0 auto 2rem;
        font-size:1.625rem;
        line-height:1.828rem;
        max-width: 14rem;
    }
    footer.site-footer .accesrapides {
        max-width:inherit;
    }
    footer.site-footer .infos {
        min-width:inherit;
    }
    footer.site-footer .accesrapides ul li .icone {
        max-width: 3.75rem;
    }
    footer.site-footer .accesrapides ul li img {
        max-width: 3rem;
    }
    footer.site-footer p, footer.site-footer .p {
        line-height: 1.5rem;
    }
    footer.site-footer .infos p:not(.smaller) {
        margin-bottom: 1rem;
    }
    footer.site-footer .copyright p.smaller {
        font-size: 0.813rem;
        line-height: 1rem;
        margin-bottom:0;
    }
    footer.site-footer .piv_bas {
        padding-bottom:2rem !important;
    }
    footer.site-footer .piv_bas p {
        margin: 1.5rem 0 0;
    }
    footer.site-footer .social {
        margin:0;
    }
    footer.site-footer .accesrapides ul li em.smaller {
        font-size: 1.25rem;
        line-height: 1.563rem;
    }
}


@media (max-width: 61.938rem) { /* 991px/16 - LG- */
	.nav-overlay-desktop body:after { visibility: hidden; opacity: 0; }
	.nav-overlay-mobile { overflow: hidden; }
	
    header.header, .piv {
        height: 6.5rem;
    }
    .piv .gouvernement { 
        padding-top:0;
        flex-wrap: wrap;
        align-content: center;
    }
    .piv .gouvernement .logoquebec { 
        width:10.313rem;
        margin-right:1.25rem;
     }
    .piv .identite { 
        font-size: 0.875rem;
        line-height: 1rem;
    }	
	
	.header-navbar { position: absolute; right: 0; width: 0; height: 100vh !important; /* override Bootstrap */ transition: height 0.25s ease, width 0.35s ease; background: var(--primary); }
	.header-navbar:after { content: ""; position: fixed; z-index: 12; left: 0; right: 0; top: 0; bottom: 0; background: url(/wp-content/themes/csssh/assets/riviere.svg) no-repeat 5% 150%; background-size: 1364px; }
	.header-nav, .header-navbar:after, .sous-menu:after { opacity: 0; transition: opacity 0.35s ease-in-out; pointer-events: none; }
	.header-navbar.show:after, .sous-menu.show:after { opacity: 0.15; }
	.header-navbar.show, .header-nav { width: 100vw; }
	.header-navbar.show .header-nav { opacity: 1; pointer-events: all; }
	.header-navbar nav { height: auto; }
	.header-navbar .btn.toggle-fermer { z-index: 12; right: 0.625rem; justify-content: space-evenly; background: transparent; }	
	
	.sous-menu { left: auto; right: 0; top: 0; height: 100vh !important; /* override Bootstrap */ }
	.sous-menu:after { display: none; }
	.sous-menu.show, .sous-menu > ul, .sous-menu .sous-menu.show, .sous-menu .sous-menu > ul { width: 100vw; }

	.sous-menu > ul { padding: 4rem 1.5rem 3rem; }	
	.sous-menu .btn.retour { position: absolute; right: auto; left: 10px; font-size: 1rem; justify-content: space-evenly; background: transparent; }
	.sous-menu .btn.retour:hover { color: var(--blanc); }
	.sous-menu .btn.retour i { margin: 0; }
	
	.sous-menu .sous-menu { left: auto; right: 0; padding-bottom: 10vh; overflow: hidden; }
	.sous-menu .sous-menu.show { overflow-y: auto; }		
	
    .header-navbar a { 
        display: flex;
        color: var(--blanc); 
    }
	.header-navbar nav .header-main-nav {
		padding-left: 0.66rem;
	}
    .container, .container-fluid, .fiche-contenu {
      --bs-gutter-x: 3rem !important;
    }
	 ul#menu-principal {
		 padding-top: 4rem;
	 }	
    ul#menu-principal > li { 
        padding-right: 0;
        padding-left: 0;
    }
    ul#menu-principal li > a, div.menu-item a.lien-menu { 
        padding: 0.65rem 0; 
        font-size: 1.125rem; 
        font-weight: 700; 
    }
    ul#menu-principal .sous-menu a, .header-sec-nav ul#menu-secondaire .sous-menu a {
        font-size: 1.375rem;
        font-weight: 500;
        text-transform: none;
    }
	ul#menu-principal > li > a, #menu-item-joindre a {
		flex-wrap: nowrap;
	    text-transform: uppercase; 	
	}
	
	ul#menu-principal > li > a::before { display: none; }
	ul#menu-principal > li > a span { flex: 1 1 auto; }
	
	ul#menu-principal > li > a i { display: block; flex: 0 0 auto; margin-left: auto; margin-top: 0.375em; padding-left: 1em; font-size: 81.25%; line-height: 1; color: inherit; }
	
	.header-sec-nav li a, .header-sec-nav li .primary {
        color: var(--accent); 
    }
    ul.social {
        font-size: 1.5rem;
        margin: 0 0 0 1rem;
    }
    .header-sec-nav ul#menu-secondaire li, ul.social li {
        padding-left: 0;
        padding-right:0.8rem;
    }
    .header-sec-nav ul#menu-secondaire li a {
        text-transform: uppercase;
        font-weight: 700;
    }
    .header-sec-nav ul#menu-secondaire li:last-child, ul.social li:last-child {
        padding-right: 0;
    }
    .header-sec-nav li .icon-instagram:before {
        content: "\e905";
        color: var(--accent);
    }
    .btn, button, footer.site-footer .btn {
        min-height: 3.938rem;
        padding: 0.75rem 2rem;
        font-size: 1.25rem;
    }
    .sandbox .decalage.droit .droit {
        margin-right: calc(-3rem * 0.5); /* (- container-fluid - padding) */
    }
    .sandbox .decalage.gauche .gauche {
        margin-left: calc(-3rem * 0.5);  /* (- container-fluid - padding) */
    }
    .modal-info-alertes h2 {
        margin-top: 2.5rem;
    }
    section.fiche h1 {
        margin-top: 2rem;
    }
    body.page-template-default:not(.home) .sandbox, body.page-template-liste-infos-travaux .sandbox, body.page-template-joindre .sandbox, body.page-template-liste-politiques-et-reglements .sandbox, body.search .sandbox {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .sandbox .vc_row:not(.vc_row-has-fill):not(.vc_inner) {
        padding-bottom: 1.5rem;
    }
    .sandbox .vc_row:last-child {
        padding-bottom: 0 !important;
    }
    .sandbox .vc_row.vc_row-has-fill {
        margin-bottom: 1.5rem;
    }
    .sandbox .vc_row:last-child.vc_row-has-fill {
        margin-bottom: -1.5rem;
    }
    .sandbox .vc_row.vc_row-has-fill .vc_row {
        padding-top: 0;
        padding-bottom: 0;
    }
    .sandbox .vc_row:first-child, .sandbox .vc_row.vc_grid {
        padding-top: 0;
    }
    .sandbox .vc_row.programmes, .sandbox .vc_row.volet, .sandbox .vc_row.temoignages {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-top: 0 !important;
    }
    footer.site-footer .container-fluid > .row:first-child .col-12  { 
        padding-top:2rem !important;
    }
    footer.site-footer .container-fluid > .row:first-child .col-12.infos  { 
        padding-top:1rem !important;
        padding-bottom:1.5rem !important;
    }
    footer.site-footer .accesrapides ul {
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
    }
    .mobileonly { 
        display:flex !important; 
    }
    .desktoponly { 
        display:none !important; 
    }
    .desktop-inline-flex {
        display: block;
    }
}


@media (max-width: 47.938rem) { /* 767px/16 - MD */
    h1, .h1 { 
        font-size: 3.438rem; /* 55px */ 
        margin-bottom:0;
    }
    h2, .h2 { 
        font-size: 2.5rem; /* 40px */ 
        margin-bottom: 1.5rem;
    }
    h3, .h3, .liste-wrapper .liste-item h3 { 
        font-size: 2.188rem; /* 35px */ 
        line-height: 2.25rem; /* 36px */ 
    }
    h4, .h4 { 
        font-size: 1.875rem; /* 30px */ 
    }
    p, .p, .sandbox ul, .sandbox ol, .sandbox .vc_tta.vc_general .vc_tta-panel-title, .sandbox .vc_col-sm-2 h4, .sandbox div[dir="auto"] { 
        font-size: 1.5rem; /* 24px */ 
        line-height: 1.813rem; /* 29px */
    }
    .small, .sandbox table td { 
        font-size: 1.25rem; /* 20px */ 
    }
    .smaller { 
        font-size: 1.125rem; /* 18px */  
    }
	.header-navbar nav .header-main-nav {
		padding-left: 0.33rem;
	}
    .btn, button, footer.site-footer .btn {
        min-height: 3.5rem;
        font-size: 1rem;
    }
    .modal-overlay .modal.actif {
        height: 95%;
    }
    .modal-overlay .modal.actif, .asl_w_container {
        width: calc(100% - 2.75rem);
        max-width: calc(100% - 2.75rem);
        height:  calc(100% - 2.75rem);
    }
    .modal-overlay .modal-inner {
        margin: 2.5rem auto;
    }
    .modal-overlay .modal .toggle-fermer {
        width: 2.5rem !important; /* 40px */
        height: 2.5rem !important;
        right: 1rem;
    }
    .modal-overlay .modal .toggle-fermer .header-toggle-bar {
        width: 0.938rem; /* 15px */
    }
    .asl_w_container .probox .proinput form input::-webkit-input-placeholder {
        font-size: 1.25rem !important;
    }
    .asl_w_container .probox .proinput input.orig, .modal #ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input.orig {
        font-size: 1.25rem !important;
    }
    .asl_w_container .asl_w, .asl_w_container .promagnifier, .asl_w_container .probox .proclose, .asl_w_container .promagnifier, .asl_w_container .probox .promagnifier .innericon svg, .asl_w_container .probox .proinput input.orig, .modal #ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input, div.asl_m .probox .promagnifier .innericon, .asl_w_container .promagnifier {
        height: 2.75rem !important;
    }
    div.asl_r .results .item .asl_content h3, div.asl_r .results .item .asl_content h3 a {
        font-size: 1.25rem !important;
        line-height: 1.55rem !important;
    }
    .btn.petit, body div.asl_r .showmore {
        height: 2.5rem; /* 40px */
        min-height: 2.5rem !important;
        font-size: 0.938rem !important;
    }
    body div.asl_r .showmore span {
        font-size: 0.938rem !important;
    }
    .modal-info-alertes .btn.liste {
        right: 4rem;
        top: 0.1rem;
    }
    .page-info-alertes section.liste {
        padding-top: 2rem;
        padding-bottom: 3rem;
    }
    .entete {
        padding-right: 4.5rem;
    }
    span.bas {
        width: 4.5rem;
        top: 89%;
        transform: translateY(-89%);
    }
    .icon-fleche_bas:before {
        background-size: 24px 24px;
        height: 24px;
        width: 24px;
    }
    .container-wrapper hr, .sandbox hr { 
        margin-top:0.5rem;
        margin-bottom:1.5rem;
    }
    .container-wrapper {
        padding-left: 0;
        padding-right: 0;
    }
    div#filariane {
        background-color: var(--vertpale);
        line-height: 1.2;
    }
    #breadcrumbs span {
        line-height: 1.3;
    }  
    #breadcrumbs em {
        font-size: 0.7rem;
        padding: 0 1rem;
    }    
    .sandbox .decalage.droit {
        left: -3.64583%;
        right: 0;
        padding-left:0;
        padding-right: 0;
        width: 100vw;
    }
    .sandbox .decalage.gauche {
        left: -3.64583%;
        right: 0;
        padding-right: 0;
        padding-left:0;
        width: 100vw;
    }
    .sandbox .decalage.droit>.vc_column-inner, .sandbox .decalage.gauche>.vc_column-inner {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .sandbox .decalage.droit .droit {
        margin-right: 0;
    }
    .sandbox .decalage.gauche .gauche {
        margin-left: 0;
    }
    .sandbox .liens ul {
        margin-left: 2.375rem;
        margin-bottom: 2.25rem;
    }
    .sandbox .liens ul li {
        margin: 0 0 1.25rem;
    }
    .sandbox .liens ul li a:before, .sandbox .liens ul li:not(:has(a))::before {
        margin-left: -2.25rem;
    }
    .sandbox .liens ul li a[href$=".pdf"]:before, .sandbox .liens ul li a[href$=".docx"]:before, .sandbox .liens ul li a[href$=".doc"]:before {
        font-size: 1.6rem;
        top: 0.313rem;
    }
    .sandbox .liens ul li a[href^="/"]:before, .sandbox .liens ul li a[href^="./"]:before, .sandbox .liens ul li a[href^="../"]:before, 
    .sandbox .liens ul li a:not([href$=".pdf"]):not([href$=".docx"]):not([href$=".doc"]):before {
        font-size: 1.5rem;
        top: 0.313rem;
    }
    .sandbox .liens ul li:not(:has(a))::before {
        font-size: 1.3rem;
        top:0.438rem;
        left:0.4rem;
    }
    .sandbox .contenu-xl-4 {
        width: 100%;
        padding-right:0 !important;
        padding-bottom:0 !important;
    }
    .sandbox .contenu-xl-8 {
        width: 100%;
        padding-right:0 !important;
    }
    .sandbox .emphase_centre_xl { 
        padding-left: calc(var(--bs-gutter-x) * 0.5) !important;
        padding-right: calc(var(--bs-gutter-x) * 0.5) !important;
    }
    .sandbox .emphase_centre {
        padding-left: calc(var(--bs-gutter-x)* 0.75) !important;
        padding-right: calc(var(--bs-gutter-x)* 0.75) !important;
        padding-top: calc(var(--bs-gutter-x)* 0.75) !important;
        padding-bottom: calc(var(--bs-gutter-x)* 0.75) !important;
        background-position: top center !important;
    }
    .sandbox .vc_row .vc_row {
        padding-right: 0;
    }
    .sandbox .tableau_icones_gauche table tr > td:nth-of-type(1) {
        width: 4.5rem;
        max-width: 4.5rem;
    }
    .sandbox .tableau_icones_gauche table tr > td:nth-of-type(1) img {
        width: 3rem;
        max-width: 3rem;
    }
    .sandbox .vc_row[data-vc-full-width] .vc_row.container-fluid .vc_column_container.decalage.droit {
        left: 0;
        width:100%;
    }
    .sandbox .vc_row[data-vc-full-width] .vc_row.container-fluid .vc_column_container.decalage.droit .droit {
        margin-right: calc(-3.64583% - 3rem);
        margin-left: calc(-3.64583% - 3rem);  /* (- padding row full width - gutter container-fluid) */
    }
    .sandbox .btn.carre {
        margin-bottom: 1rem;
    }
    section.fiche .sandbox img.principale {
        width:100%;
        max-width:100%;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .sandbox .flex-direction-nav a, .lightbox .lb-nav a.lb-prev, .lightbox .lb-nav a.lb-next {
        width: 3.5rem;
        height: 3.5rem;
        margin: -1.75rem 0 0;
        filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.1)) !important;
    }
    .sandbox .flex-direction-nav a:before, .lightbox .lb-nav a.lb-prev:before, .lightbox .lb-nav a.lb-next:before {
        font-size: 1rem !important;
    }
    .sandbox .flex-direction-nav .flex-prev {
        left: -1.5rem !important;
    }
    .sandbox .flex-direction-nav .flex-next {
        right: -1.5rem !important;
    }
    .sandbox .flex-direction-nav a.flex-prev:before {
        left: calc(50% + 10px);
    }
    .sandbox .flex-direction-nav a.flex-next:before {
        left: calc(50% - 5px);
    }
    .sandbox .wpb_gallery .wpb_flexslider .flex-caption {
        font-size: 1.125rem;
        line-height: 1.438rem;
    }
    .sandbox .vc_row.programmes, .sandbox .vc_row.programmes p {
        font-size: 1.25rem;
        line-height: 1.625rem;
    }
    .sandbox .vc_row.programmes img {
        min-height: 6.25rem; /* 100px */
        max-height: 6.25rem;
    }
    .sandbox .vc_row.programmes .wpb_column {
        margin-bottom:1.5rem;
    }
    .liste-filtres { font-size: 1.125rem; }

    .lightbox .lb-data .lb-close {
        width: 3.5rem !important;
        height: 3.5rem !important;
    }
    .lightbox .lb-data .lb-close:after {
        font-size: 1.8rem;
        font-weight: 600;
        top: 42%;
    }
    .sandbox .volet .wpb_column:first-child {
        padding: 0;
    }
    .sandbox .volet p, .sandbox .volet strong, .sandbox .volet p strong, .sandbox .temoignages, .sandbox .temoignages p {
        font-size: 1.25rem; /* 20px */ 
        line-height: 1.2;
    }
    body.page-template-joindre .sandbox .coordonnees {
        padding-right: 0;
    }
    footer.site-footer .accesrapides ul li em.smaller {
        font-size:0.875rem;
        line-height:0.813rem;
    }
}

@media (max-width: 35.938rem) { /* 575px/16 - SM- */
    h1, .h1 { 
        font-size: 2.5rem; /* 40px */
    }
    h2, .h2 { 
        font-size: 2.031rem; /* 32.5px */ 
        margin: 1rem 0;
        margin-bottom: 1.5rem;
    }
    h4, .h4 { 
        font-size: 1.75rem; /* 28px */ 
        line-height: 1.969rem; /* 31.5px */
    }
    h5, .h5 { 
        font-size: 1.563rem; /* 25px */ 
    }
    h6, .h6 { 
        font-size: 1.375rem; /* 22px */ 
    }
    p, .p, .sandbox div[dir="auto"] { 
        font-size: 1.219rem; /* 19.5px */ 
        line-height: 1.625rem; /* 26px */
        margin: 0 0 1.25rem;
    }
    .small, .sandbox table td { 
        font-size: 1.125rem; /* 18px */  
    }
    .smaller { 
        font-size: 1.016rem; /* 16.25px */ 
    }
    header.header, .piv {
        height: 8.5rem;
    }
    .piv .gouvernement {
        flex-wrap: wrap;
    }
    .piv .gouvernement .logoquebec {
        margin-right:0;
        width:100%;
    }
    .piv .gouvernement .logoquebec img {
        max-width:10.313rem;
    }
    .piv .identite { 
        margin-top: 0.875rem;
        width:100%;
    }
    .piv div.droite { 
        font-size: 1rem; 
        line-height: 1.375rem;
        padding-top:1.25rem;
        padding-right:0;
        align-items: flex-start;
    }
    .piv div.droite div { 
        align-items: flex-start;
    }
    .piv .burger { 
        position: relative; 
        padding-right:0; 
        padding-left: 0; 
    }
    .piv .burger button { 
        padding: 0.25rem 0 0; 
        justify-content: end; 
        align-items: flex-start;
        min-width: 2.55rem; 
        min-height: 2.55rem; 
    }
    .piv .burger button i { 
        margin: 0; 
        font-size: 1.25em; 
    }
    .header-sec-nav ul#menu-secondaire li {
        font-size: 0.938rem;
    }
    .btn, button, footer.site-footer .btn {
        min-height: 3.088rem;
        padding: 0.8rem 2rem;
        font-size: 0.813rem;
        line-height: 1;
    }
    .entete {
        padding-right: 2.5rem;
    }
    .sandbox .vc_row:not(.vc_row-has-fill):not(.vc_inner) {
        padding-bottom: 1rem;
    }
    span.bas {
        width: 2.5rem;
    }
    .sandbox .btn.carre {
        max-width:100%;
    }
    .sandbox .wpb_single_image .vc_figure-caption {
        font-size: 1.125rem;
        padding: 1rem;
    }
    .sandbox .flex-direction-nav a, .lightbox .lb-nav a.lb-prev, .lightbox .lb-nav a.lb-next {
        width: 2.813rem;
        height: 2.813rem;
        margin: -1.5rem 0 0;
    }
    .sandbox .flex-direction-nav .flex-prev {
        left: -1rem !important;
    }
    .sandbox .flex-direction-nav .flex-next {
        right: -1rem !important;
    }
    .sandbox .flex-direction-nav a.flex-prev:before {
        left: calc(50% + 16px);
    }
    .sandbox .flex-direction-nav a.flex-next:before {
        left: calc(50% - 1px);
    }
	.liste-filtres { font-size: 1rem; }

    .lightbox .lb-data .lb-close {
        width: 2.813rem !important;
        height: 2.813rem !important;
    }
    footer.site-footer .container-fluid > .row:first-child .col-12  { 
        max-width: 18.75rem;
        padding-left: 0;
        padding-right: 0;
    }
    footer.site-footer .container-fluid > .row:first-child .defi { 
        max-width: 20.625rem;
        background-size: 20.625rem auto;
        padding-top: 4rem !important;
    }
}