
/* IMPORT FONTS */
@font-face {
    font-family: 'tsr';
    src: url('/fonts/tstar-regular.eot');
    src: url('/fonts/tstar-regular.eot?#iefix') format('embedded-opentype'),
    url('/fonts/tstar-regular.woff') format('woff'),
    url('/fonts/tstar-regular.ttf') format('truetype'),
    url('/fonts/tstar-regular.svg#webfont') format('svg');
}
@font-face {
    font-family: 'tsh';
    src: url('/fonts/tstar-heavy.eot');
    src: url('/fonts/tstar-heavy.eot?#iefix') format('embedded-opentype'),
    url('/fonts/tstar-heavy.woff') format('woff'),
    url('/fonts/tstar-heavy.ttf') format('truetype'),
    url('/fonts/tstar-heavy.svg#webfont') format('svg');
}
@font-face {
    font-family: 'tsb';
    src: url('/fonts/tstar-bold.eot');
    src: url('/fonts/tstar-bold.eot?#iefix') format('embedded-opentype'),
    url('/fonts/tstar-bold.woff') format('woff'),
    url('/fonts/tstar-bold.ttf') format('truetype'),
    url('/fonts/tstar-bold.svg#webfont') format('svg');
}
@font-face {
    font-family: 'akr';
    src: url('/fonts/akrobat-regular.eot');
    src: url('/fonts/akrobat-regular.eot?#iefix') format('embedded-opentype'),
    url('/fonts/akrobat-regular.woff') format('woff'),
    url('/fonts/akrobat-regular.ttf') format('truetype'),
    url('/fonts/akrobat-regular.svg#webfont') format('svg');
}


/* RESET */
body, ul, li, ol, form, h1, h2, h3, h4, h5, h6, div, span, p { padding:0; margin:0; border:0; -webkit-text-size-adjust:none; -moz-text-size-adjust:none; text-size-adjust:none;}
article, aside, dialog ,figcaption, figure, footer, header, hgroup, main, nav, section { display:block;}
input, textarea	{ -webkit-appearance:none; -ms-appearance:none; appearance:none; -moz-appearance:none; -o-appearance:none; border-radius:0;}
*          		{ outline:none !important;}
strong, b		{ font-weight:normal; font-family:tsb;}
ul				{ list-style-type:none;}
body			{ font:normal 16px/22px tsr; color:#222222; background:#fff; letter-spacing: 1px;}
a				{ text-decoration:none; color:#cb3340; outline:none;}
img				{ border:none;}
#wrapper 		{ min-width:320px; overflow:hidden; background:#fff;}
#wrapper *		{ box-sizing:border-box;}

.link-white:link,.link-white:visited,.link-white:active { color: #ffffff;}
.link-white:hover { color: #000000 !important;}

/* CLASS */
.clear				{ clear:both; display:block;}
.sousTitre 			{ font:normal 25px/24px tsr; color:#231f20; letter-spacing: 0.5px; position:relative; margin:0 0 50px 0;}
strong 	            { font-family:tsh;}
.link 				{ width:auto; height:44px; display:inline-block; position:relative; font:normal 14px/44px akr; letter-spacing:0.75px; color:#231f20; text-decoration:none !important; padding:0 40px; text-transform:uppercase; border: 1px solid #bfbfbf;}
.link.white         { color: white; border-color: white}
.link.white:hover   { background: white; color:#cb3340}

.wrapper 			{ width:100%; max-width:1366px; margin:0 auto; padding:0 30px}
.wrapperText 		{ width:100%; max-width:720px; margin:0 auto}
.wrapperFooterActu  { width:100%; max-width:1366px; margin:0 auto;}

.mb-1{margin-bottom: 5px;}
.mb-2{margin-bottom: 10px;}
.mb-3{margin-bottom: 20px;}
.mt-1{margin-top: 5px;}
.mt-2{margin-top: 10px;}
.mt-3{margin-top: 20px;}

.p-1{padding: 5px;}
.p-2{padding: 10px;}

.border{border: 1px solid #333333;}

/* HEADER TOP */

#header								{ width:100%; position:relative; padding-top: 153px}
.headerTop                          { height: 153px;-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);position: absolute; top: 0; width: 100%; z-index: 99;}
.logo                               { font-size: 0; letter-spacing: 0; display:block; position: absolute; top:50%; margin-top: -36.5px; left: 37px; z-index: 99;}
.logo img                           { display: inline-block; vertical-align:middle}
.logo span                          { display: inline-block; vertical-align: bottom; font:normal 15px/17px tsr; letter-spacing: 0.25px; text-transform: uppercase;padding-bottom: 6px;padding-left: 12px; color: #231f20}
.logo em                            { font:normal 17px/18px tsb; color: #cb3340; text-transform: uppercase; display: block; letter-spacing:0.1px; padding-bottom: 6px;}

.headerNav                          { text-align: right}
.menu 								{ vertical-align: top; position:relative; font-size:0; line-height:0;padding: 50px 236px 0 0;}
.menu>li							{ display:inline-block; margin: 0 17px; text-align: right;}
.menu>li>a							{ display: inline-block;transition: all 400ms ease-in-out;width:auto; height:103px; font:normal 14px/48px tsh; color:#231f20; position:relative; text-transform: uppercase;letter-spacing:0.5px;}
.menu>li>a:after                    { content: url(/images/hover-mn.svg); display: block; opacity: 0; text-align: center;line-height: 0;position: absolute;bottom: 61px;margin: 0 auto;left: 0;right: 0;}
.menu>li.active>a:after             { opacity: 1}
.menu>li.active>a					{ color: #cb3340;}
.menu>li:nth-child(3)>a:before      { content: url(/images/drop-down.svg); display: block; position: absolute; line-height: 0;right: -12px; top: 20px}
.sub								{ width:100%; position:absolute; top:153px; left:0; z-index:995; display:block; background:#fff; padding: 10px; visibility:hidden; opacity:0; text-align: left; font-size: 0; letter-spacing: 0;}
.sub:after                      { content: ''; display: block; position: absolute; left: 0; right: 0; top: 10px; bottom: 0; -webkit-box-shadow:0px 8px 10px 0px rgba(0, 0, 0, 0.20);-moz-box-shadow:0px 8px 10px 0px rgba(0, 0, 0, 0.20);box-shadow:0px 8px 10px 0px rgba(0, 0, 0, 0.20); z-index: -1}
.sub>div                            { display: inline-block; vertical-align: top; width: 20%;padding:30px 10px 20px 20px}

.sub .ttlSub                        { display: block; text-transform: uppercase; font: normal 16px/20px tsh; letter-spacing: 0.1px; min-height: 40px;}
.sub li a                           { font: normal 14px/30px tsr; color: #231f20; letter-spacing: 0.5px; padding-left:11px;border-left:2px solid #4d2a53;}
.menu li:hover .sub 				{ opacity:1; visibility:visible; z-index:999;}
.sub .icon                          { display: block; height: 40px; display: block; position: relative;margin-bottom: 6px;}
.sub .icon img                      { position: absolute; left: 0; bottom: 0; display: block}

.sub1                               { background: #f0ece5}
.sub1 .ttlSub                       { color: #4d2a53}

.sub2                               { background: #f4f2ed}
.sub2 .ttlSub                       { color: #09af5b}
.sub .sub2 li a                     { border-color: #09af5b;}

.sub3                               { background: #fcfaf4}
.sub3 .ttlSub                       { color: #095baf}
.sub .sub3 li a                     { border-color: #095baf;}

.sub4 .ttlSub                       { color: #9202dc}
.sub .sub4 li a                     { border-color: #9202dc;}

.sub1 ul, .sub2 ul, .sub3 ul, .sub4 ul { min-height: 150px;}

.sub>div.headActus                  { background: #cb3340; padding:21px 20px 22px}
.headActus .titre                   { font: normal 18px/30px tsh; letter-spacing: 0.5px; color: #fff;padding-bottom: 15px;}
.headActus img                      { width: 100%; height: 120px; object-fit: cover;}

.dateActus                          { color: #fff; padding-right: 52px; position: relative;letter-spacing: 0.5px;margin-top: 30px;}
.dateActus a                        { width: 30px;height: 30px;position: absolute;right: 0;top:50%; margin-top: -15px; background: url(/images/icone-plus.svg) center no-repeat #231f20;}
.dateActus span                     { display: block;}
.dateActus .ext                     { font: normal 16px/20px tsh; text-transform: lowercase; width: 100%;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;}
.dateActus .date                    { font: normal 14px/20px tsr;}

.telTop                             { background: #cb3340; position: absolute; right: 0; top:50%; margin-top: -39px; font: normal 12px/24px tsr; text-transform: uppercase; letter-spacing: 1px; color: #fff; padding:14px 20px 16px 64px}
.telTop:before                      { content: ''; display: block; width: 34px; height: 34px; display: block; border-radius: 50%; border: 1px solid rgba(255,255,255,0.5); background:url(/images/icone-tel.svg) center no-repeat; position: absolute; top: 50%; margin-top: -17px; left: 20px;}
.telTop b                           { display: block; font-size: 24px; font-family: tsh;}

.shortcut-top-right                            { background: #cb3340; position: absolute; right: 0; top:50%; margin-top: -39px; font: normal 12px/24px tsr; text-transform: uppercase; letter-spacing: 1px; color: #fff; padding:14px 20px 16px 64px}
.shortcut-top-right :before                      { content: ''; display: block; width: 34px; height: 34px; display: block; border-radius: 50%; border: 1px solid rgba(255,255,255,0.5); background:url(/images/icone-parking1.svg) center no-repeat; position: absolute; top: 50%; margin-top: -17px; left: 20px;}
.shortcut-top-right  b                           { display: block; font-size: 24px; font-family: tsh;}

.txtBanner                            { display: inline-block; vertical-align: middle; font: normal 18px/30px tsh; color: #fff; letter-spacing: 0.5px;text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.75);padding-left: 14px;margin-top: -6px; text-transform: uppercase}
.txtBanner:after                      { display: block; width:21px; height: 3px; background: #fff; content: ''; margin-top: 10px;}
.txtBanner span                       { display: block; max-width: 310px; font-size:36px; line-height:45px;}

@media (max-width:1310px) {
    .menu>li                            { margin: 0 10px}
    .menu>li>a                          { font-size: 13px}
}
@media (max-width:1200px) {
    .menuMobile							{ width:67px; height:46px; z-index:80; transition:all 400ms ease-in-out; cursor:pointer; position:absolute; left:40px; bottom:0; color: #fff; letter-spacing: 0.5px;}
    .menuMobile div						{ width:23px; height:2px; background:#fff; position:absolute; right:0; top:50%; margin-top:-1px;}
    .menuMobile span                    { font-size: 14px;left: 0px;position: absolute; top: 0;line-height: 46px}
    .menuMobile div:before				{ width:13px; height:2px; background:#fff; position:absolute; left:0; top:6px; content:"";}
    .menuMobile div:after				{ width:100%; height:2px; background:#fff; position:absolute; left:0; top:-6px; content:"";}
    /*   .menuMobile.active div				{ height:0px;}
        .menuMobile.active div:before		{ top:0; transform:rotate(45deg);}
        .menuMobile.active div:after		{ top:0; transform:rotate(-45deg);}*/
    .menu  								{ width:100%; height:auto; background:#fff; border-top:1px solid #d2d2d2; display:none; position:absolute; padding-right:0; top: 150px}
    .menu:after                         { width: 100%;height: 9999px;background: rgba(0,0,0,.8);position: absolute;left: 0;bottom: -9999px;z-index: -1;content: "";}
    .menu li 							{ width:100%; display:block; margin:0; position: relative}
    .menu li a							{ height:54px !important; line-height:54px; padding:0 40px; margin:0; text-align:left; border-bottom:1px solid #d2d2d2;}
    .menu>li>a                          { display: block}
    .menu>li>a:after,
    .menu li a span						{ display:none;}
    .menu i 							{ display:block; width:100%; height:54px; position:absolute; right:0; top:0;}
    .menu i:before 						{ display:block; width:2px; height:28px; position:absolute; right:53px; top:50%; margin-top:-14px; content:""; background:#cb3340;}
    .menu i:after 						{ display:block; width:28px; height:2px; position:absolute; right:40px; top:50%; margin-top:-1px; content:""; background:#cb3340;}
    .menu i.active:before				{ display:none;}
    .menu .vueMobile 					{ display:block;}
    .menu .sub 							{ display:none; visibility:visible; width:100%; position:relative; left:auto; top:auto; margin:0; opacity:1; background:#f4f4f4; padding:0; border-bottom:1px solid #d2d2d2;}
    .sub:after                          { display: none}
    .sub>div                            { width: 100%; padding: 0; position: relative}
    .sub li a                           { padding: 0 40px;border-bottom:1px solid #d8d8d8 !important; font-family:tsh}
    .menu .sub ul                       { border-top:1px solid #d8d8d8; display: none;background: #fff !important}
    .menu .sub li a						{ color:#333; text-align:left; padding: 0 40px;border-left:none !important;}
    .menu li a                          { display: block}
    .sub .ttlSub                        { display:block; vertical-align:middle; padding-bottom: 0; height: 54px; line-height: 54px; padding-left: 54px; cursor: pointer}
    .sub .icon                          { width: 54px; height: 54px; display:block; position: absolute; left: 0; top: 0}
    .sub .icon img                      { right: 0; top: 0; margin:auto}
    .menu                               { padding: 0}
    #header                             { padding-top: 0;}
    .logo                               { display: inline-block; vertical-align: top; text-align: left; position: static; margin: 0}
    .headerTop                          { text-align: center; height: auto; padding:12px 0 65px; position: relative; height: auto !important; z-index:100}
    .headerTop:after                    { content: ''; height: 46px; position: absolute; left: 0; right:0; bottom: 0; background: #cb3340;}
    .telTop                             { font-size: 0; line-height: 0; padding:0 20px 0 74px;top: auto; bottom: 0; margin: 0; background: #a71824; z-index: 99}
    .telTop b                           { font: normal 24px/46px tsh;}
    .headActus                          { display: none !important}
    .menu .sub li:last-child a          {border-bottom:none !important;}

}

@media (max-width:600px) {
    .menuMobile                           { left: 20px;}
    .wrapper                              { padding-left:20px; padding-right: 20px}
    .telTop b                             { display: none}
    .telTop                               { width: 46px; height: 46px; padding: 0}
    .telTop:before                        { margin: auto; top: 0; right: 0; bottom: 0; left: 0}
    .logo img                             { width: 26px; height: auto}
    .logo span                            { padding-bottom: 4px}
    .menu                                 { top: 136px;}
    .menu li a                            { padding: 0 20px !important;}
    .menu i:after                         { right: 20px;}
    .menu i:before                        { right: 33px}

}

.blocActus                            { margin: 0 -14px; text-align: center; padding-bottom: 47px}
.blocActus>.titre                     { text-align: center; font: normal 25px/85px tsr; letter-spacing:2px;padding-top: 23px;padding-bottom: 23px; color: #231f20; text-transform: uppercase; position: relative}
.blocActus>.titre:before              { content: ''; display: block; width: 45px; height: 45px; position: absolute;margin: 0 auto; top: 41px; left:-14px; right: 0;border: 1px solid #edeced; border-radius: 50%; background: url(/images/icone-actus.svg) center 12px no-repeat}
.blocActus>.titre span                { padding-right: 61px;}
.blocActus>.titre em                  { font-style: normal}
.slideActus, .slideActusFixe                           { padding-bottom: 42px;}
.slideActus .titre, .slideActusFixe .titre                    { font: normal 16px/20px tsh; letter-spacing: 0.5px; text-align: center; min-height: 42px}
.actus1 .titre                        { color: #4d2a53}
.actus2 .titre                        { color: #09af5b}
.actus3 .titre                        { color: #095baf}
.actus4 .titre                        { color: #8a1a9d}
.slideActus .content, .slideActusFixe .content                  { margin: 0 14px; text-align: center}
.slideActus img, .slideActusFixe img                       { width: 100%; height: auto; display: block;}
.slideActus .date, .slideActusFixe .date                     { display: block; position: relative; font: normal 14px/35px tsr; letter-spacing: 0.5px; padding-left: 26px; color:#fff;margin-bottom: 20px; text-align: left}
/*.slideActus .date:after, .slideActusFixe .date:after               { content: ''; display: block; width:30px; height: 30px; position: absolute; right: 0; top:0px; background:url(/images/icone-plus.svg) center no-repeat;}*/
.slideActus p, .slideActusFixe p                         { text-align: center; font: normal 14px/20px tsr; color: #000000; letter-spacing: 0.5px;}
.actus1 .date                         { background: #4d2a53; border-top:6px solid #8a1a9d;}
/*.actus1 .date:after                   { background-color:#8a1a9d}*/
.actus2 .date                         { background: #09af5b; border-top:6px solid #02da6d;}
/*.actus2 .date:after                   { background-color:#02da6d}*/
.actus3 .date                         { background: #095baf; border-top:6px solid #038ee6;}
/*.actus3 .date:after                   { background-color:#038ee6}*/
.actus4 .date                         { background: #4d2a53; border-top:6px solid #8a1a9d;}
/*.actus4 .date:after                   { background-color:#8a1a9d}*/
.contentMob                           { display: none}


.slideActus a.link, .slideActusFixe a.link { position:relative; margin: 25px 0; background: #cb3340; color:#fff; border-color: #cb3340;}
.slideActus a.link:after, .slideActusFixe a.link:after               { content: ''; display: block; width:30px; height: 30px; position: absolute; right: 7px; top:7px; background:url(/images/icone-plus.svg) center no-repeat;}
.slideActus a:hover.link, .slideActusFixe a:hover.link {background: #fff; color:#cb3340; border-color: #bfbfbf;}

@media (max-width:1024px) {
    .slideActus .slick-arrow         { width: 50px;height: 50px;border:none;top: 50%; margin-top: -80px; position: absolute;bottom: 0;cursor: pointer;z-index: 9;font-size: 0;-webkit-box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 1);-moz-box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 1);box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 1);}
    .slideActus .slick-prev          { background: url(/images/arrow-left-h.svg) center no-repeat #cb3340;left:-16px;}
    .slideActus .slick-next          { background: url(/images/arrow-right-h.svg) center no-repeat #cb3340;right:-16px;}
}
@media (max-width:600px) {
    .slideActus .slick-arrow     { margin-top: -25px;}
}


/* TABLE */
table { border-collapse:collapse; width:80%; margin:0 auto 50px auto; text-align: center; }
table + * { margin-top: 40px}
table.tableFull { border-collapse:collapse; width:100%; margin:0 auto 50px auto; }
th { border:1px solid #a71824; padding:10px;  text-align:center; background:#a71824; color:#fff; font-weight:normal; vertical-align: middle; }
td { border:1px solid black; text-align:center; padding:10px }
table.tableFull td { font-size:14px;}
table.tableFull th { vertical-align: middle;}
.thTitre { text-align:center; text-transform: uppercase; font-size: 18px; padding-top: 25px; padding-bottom: 25px; border-bottom: 2px solid #fff;}
.thTitre.last { border-bottom: 1px solid #000 }
.first { position: relative; padding: 25px; }
.first span { position: absolute;
    top: 50%;
    left: 15px;
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    transform: rotate(270deg);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -o-transform-origin: 0 0; transform-origin: 0 0; }
caption { font-weight:bold; }
@media (max-width:760px) {
    table { width:100%; }
}

/***** Remplacement bloc Newsletter *****/
.reglement .link { color: #fff; }
@media (min-width:1201px) {
    .reglement .link:hover		{ background: #fff; color: #cb3340; }
}
/***** START GALERIE ****/
.galerie                            { margin:0 -10px 25px -10px; line-height:0; font-size:0;}
.galerie div                        { width:25%; vertical-align:top; padding:10px; position:relative; float:left;}
.galerie a							{ display:block; position:relative; overflow:hidden;}
.galerie a span						{ width:100%; /*height: 100%;*/ display:block; background:url(/images/loupe.svg) 50% no-repeat rgba(0,0,0,.7); position:absolute; left:0; top:0; opacity:0;}
.galerie img                        { width:100%; height:auto;}
.blocTexte .galerie 				{ margin-bottom:-10px;}
.gridder-row .galerie 				{ margin:25px -10px -10px -10px;}

@media (min-width:1201px) {
    .galerie a:hover span				{ opacity:1;}
}
@media (max-width:1000px) {
    .galerie div                        { width:50%;}
}
@media (max-width:600px) {
    .galerie div                        { width:50%;}
}
/***** END GALERIE ****/


/* FOOTER */
#footer							{ width:100%; height:auto; position:relative;}
.footer							{ width:100%; position:relative;}
.wrapperFooter 					{ width:100%; max-width:1366px; margin:0 auto;}
.linkFoot                       { background: #231f20; font-size: 0; letter-spacing: 0; color: #fff; text-align: center; padding:28px 40px; text-transform: uppercase}
.linkFoot a                     { color: #fff; font:normal 13px/25px tsr; letter-spacing: 0.5px; margin: 0 20px}
.blocCopyrightLeft              { letter-spacing: 0.5px; font-size: 12px; letter-spacing: 0.75px; text-align: left; padding: 30px 40px; float: left;}
.blocPolice						{ font-size: 12px; font-style: italic; letter-spacing: 0.75px;text-align: left; padding: 30px 40px;float: left; display: inline-block; max-width: 550px; }
.blocCopyrightLeft strong       { color: #cb3340 }
.blocCopyrightLeft a            { text-transform:uppercase; color:#231f20}
.blocCopyrightRight             { letter-spacing: 0.5px; font-size: 12px; letter-spacing: 0.75px; text-align: right; padding: 30px 40px; float: right;}
.blocCopyrightRight img { margin-left:15px;}
@media (max-width:1200px) {
    .blocCopyrightLeft,
    .blocPolice,
    .blocCopyrightRight  			{ float: none; text-align: center; max-width:100% }
    .blocPolice						{ padding-top: 0; }
}
@media (max-width:760px) {
    .linkFoot a                { margin: 0 10px}
}
@media (max-width:600px) {
    .linkFoot                  { display: none}
    .blocCopyrightLeft         { padding:42px 20px 30px}
    .slideActus .content, .slideActusFixe .content       { margin: 0}
    .blocCopyrightLeft a			{ display: none}
    .blocCopyrightRight img			{ margin:0 15px;}
}


/* HOVER EFFECTS */
@media (min-width:1201px) {
    .serviceHead .item,.serviceHead .titre,.icon,.banner span,.banner .hide,body a, body a span, *:after, *:before, .link, .sub, .slick-prev, .slick-next, .slick-dots button { -webkit-transition:all 400ms ease-in-out; -moz-transition:all 400ms ease-in-out; -ms-transition:all 400ms ease-in-out; transition:all 400ms ease-in-out;}

    .menuMobile,
    .menu .vueMobile					{ display:none;}
    .sub,
    .sub ul,
    .menu	 							{ display:block !important;}


    a:hover								{ color:#cb3340;}
    .telTop:hover                       { background:#231f20; color: #fff;}
    .menu>li:hover>a:after              { opacity: 1}
    .footer .toponweb:hover 			{ opacity:1;}
    .footer .toponweb:hover span		{ background:#0c3368;}
    .scrollBot:hover                    { background: #231f20; color: #fff}
    .blocActus .link:hover              { color: #fff;background: #231f20; border-color: #231f20;}
    .slideActivite .vert .link:hover      { color:#fff; background-color: #09af5b}
    .slideActivite .bleu .link:hover      { color:#fff; background-color: #095baf}
    .slideActivite .violet .link:hover    { color:#fff; background-color: #4d2a53}
    .slideActivite .pourpre .link:hover   { color:#fff; background-color: #9202dc}
    .slideActivite .slick-prev:hover      { background: url(/images/arrow-left-h.svg) center no-repeat #231f20;}
    .slideActivite .slick-next:hover      { background: url(/images/arrow-right-h.svg) center no-repeat #231f20;}

}


/* SLICK */
.slick-slider					{ position:relative; display:block; -moz-box-sizing:border-box; box-sizing:border-box; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; -webkit-touch-callout:none; -khtml-user-select:none; -ms-touch-action:pan-y; touch-action:pan-y; -webkit-tap-highlight-color:transparent;}
.slick-list						{ position:relative; display:block; overflow:hidden; margin:0; padding:0;}
.slick-list:focus				{ outline:none;}
.slick-list.dragging			{ cursor:pointer; cursor:hand;}
.slick-slider .slick-track,
.slick-slider .slick-list		{ -webkit-transform:translate3d(0 0,0); -moz-transform:translate3d(0,0,0); -ms-transform:translate3d(0,0,0); -o-transform:translate3d(0,0,0); transform:translate3d(0,0,0);}
.slick-track					{ position:relative; top:0; left:0; display:block;}
.slick-track:before,
.slick-track:after 				{ display:table; content: '';}
.slick-list, .slick-track       { width: 100%;/*height: 100%;*/}
.slick-track:after				{ clear:both;}
.slick-loading .slick-track		{ visibility:hidden;}
.slick-slide					{ display:none; float:left; /*height: 100%;*/ min-height:1px;}
[dir='rtl'] .slick-slide		{ float:right;}
.slick-slide img				{ display:block;}
.slick-slide.slick-loading img	{ display:none;}
.slick-slide.dragging img		{ pointer-events:none;}
.slick-initialized .slick-slide	{ display:block;}
.slick-loading .slick-slide		{ visibility:hidden;}
.slick-vertical .slick-slide 	{ display:block; height:auto; border:1px solid transparent;}
.slick-dots button              { font-size: 0; line-height: 0; border: none; padding: 0}

/* 1) Utilitaire d'accès visuel pour textes off-screen (pour "ouvrir le menu", skip-link, etc.) */
.visually-hidden {
    position: absolute !important;
    height: 1px; width: 1px; overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* 2) Focus visible partout (on ne touche pas tes :hover existants) */
:focus { outline: none; }
:focus-visible {
    outline: 3px solid #095baf; /* cohérent avec ta palette */
    outline-offset: 5px;
    border: 2px solid #0a001f;
}

/* 3) Cibles clavier correctes pour le menu */
.menu > li > a {
    /*display: inline-flex; align-items: center;           !* garde ton centrage vertical *!*/
    /*min-height: 48px;                                    !* remplace visuellement les heights rigides *!*/
    /*padding-inline: 12px;*/
}

/* 4) Ouvrir le sous-menu au clavier: focus-within */
.menu li:focus-within > .sub {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}

/* 5) Les sous-menus doivent être atteignables et pas "cliqués" pour exister */
.sub { transition: opacity .2s; } /* déjà présent mais on précise que l’état visible peut venir du focus */

/* 6) Mobile: conserve ton style, mais la logique focus-within reste vraie */
@media (max-width:1200px) {
    .menu .sub { display: none; }
    .menu li:focus-within > .sub { display: block; }
}


.news-image {
    width: 100%;
    height: 266px;
    overflow: hidden;
}

.news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;      /* 🔥 crop sans déformation */
    object-position: center;/* 🎯 centré */
    display: block;
}
