@charset "UTF-8";
/* 32 colonnes */
/*html {background-image: repeating-linear-gradient(90deg, #F8F7F2, #F8F7F2 3.125%, #ececec 3.125%, #ececec 6.25%);}*/
.debug {
    position: absolute;
    font-size: .85em;
    background-color: #333;
    color: #fff;
}
* {
  --responsive:  calc((var(--min) * 1px) + (var(--max) - var(--min)) * ((100vw - 320px) / (1920 - 320)));
  --fontfamilybody : 'Open Sans', sans-serif;
  --fontfamily2 : 'Open Sans', sans-serif;
  --color_fonce : #08161E;
  --color_clair : #FBF9F8;
}

/*
font-family: 'Frank Ruhl Libre', serif;
font-family: 'Rubik', sans-serif;
*/

/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.relative {
    position: relative;    
}

/*** GLOBAL ***/
::-moz-selection {
  background-color: #23232C;
  color: #ffffff;
}
::selection {
  background-color: #23232C;
  color: #ffffff;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
em {
    font-style: italic;
}


/*** RESPONSIVE ***/
img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
object,
video {
    height: auto;
    max-width: 100%;
}

img {
    width: auto;
    width: 100%;
    vertical-align: middle;
}
video {
    width: 100%;
}

/* FONT
***********/
html {
  font-size: 62.5%;
  font-size: calc( 1em * .625 );
  background-color: var(--color_clair);
}
body {
  font-family: var(--fontfamilybody);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color_fonce);
  background-color: var(--color_clair);
  font-size: 1.8em;
}
body.bgsombre, .bgsombre {
    background-color: var(--color_fonce);
    color: var(--color_clair);
}
@media (min-width: 1000px) {
    body {
        font-size: 1.8em;
    }
}
@media (min-width: 1400px) {
    body {
        font-size: 2em;
    }
}
@media (min-width: 1600px) {
    body {
        font-size: 2.2em;
    }
}
@media (min-width: 2000px) {
    body {
        font-size: 1vw;
    }
}
a {
    color: var(--color_fonce);
}
.bgsombre a {
    color: var(--color_clair);
}
p {
    margin: 0 0 .75em 0;
}
strong, b {
    font-weight: 700;
}
i {
    font-style: italic;
}
.uc {
    text-transform: uppercase;
}
.txtcenter {
    text-align: center;
}
.pdlr {
    padding-left: 4.6875%;
    padding-right: 4.6875%;
}
@media (min-width: 480px) {
    .pdlr {
        padding-left: 6.25%;
        padding-right: 6.25%;
    }
}
@media (min-width: 1300px) {
    .pdlr--3 {
        padding-left: 9.375%;
        padding-right: 9.375%;
    }
    .pdlr--5 {
        padding-left: 15.625%;
        padding-right: 15.625%;
    }
}

/* NAV */
.burger {
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    
    line-height: 1;
    cursor: auto;
    display: block;
    
    outline: 0;
    font-size: 1em;
    
    position: fixed;
    z-index: 10;
    top: 0;
    right: 0;
    padding: 4.6875%;
    padding-top: 1.25em;
    
    color: #fff;
    mix-blend-mode: difference;
}
.burger span {
    font-size: 1.4em;
    font-weight: 400;
}
span.burger__fermer {
    display: none;
}
body.is-active span.burger__menu {
    display: none;
}
body.is-active span.burger__fermer {
    display: block;
}
body.is-active .burger {
    mix-blend-mode: normal;
}
.header__cont {
    padding-top: 1.05em;
}
.nav1__content {
    position: fixed;
    z-index: 5;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background-color: var(--color_fonce);
    transition: left .5s cubic-bezier(.34,.615,.4,.985);
    padding: 6.25%;
}
.nav1 {
    margin-top: 6em;
}
.nav1 li {
    font-size: 8vw;
    font-weight: 400;
    display: block;
    text-align: center;
    margin: 0;
    margin-top: 1em;
    text-transform: uppercase;
}
@media (min-width: 480px) {
    .nav1 li {
        --max: 20;
        --min: 18;
        font-size: var(--responsive);
    }
}
.nav1 a {
    display: inline-block;
    text-decoration: none;
    color: var(--color_clair);
    padding: .25em 0;
}
.nav1 li.activ {
    font-weight: 700;
}
@media (max-width: 899px) {
    body.is-active .nav1__content {
        left: 0;
    }
}

@media (min-width: 900px) {
    .burger__cont {
        display: none;
    }
    .header__cont {
        position: relative;
        padding-top: 1.5em;
    }
    .header {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }
    .nav1__content {
        position: relative;
        background : none;
        width: auto;
        height: auto;
        left: auto;
        padding: 0;
    }
    .nav1 {
        margin-top: 0;
    }
    .nav1 ul {
        text-align: right;
    }
    .nav1 li {
        display: inline-block;
        margin: 0;
    }
    .nav1 a.navitem__link {
        color: var(--color_fonce);
        position: relative;
        transition: all .3s ease;
        margin: 0 1.5em;
        padding: .25em 0;
    }
    .bgsombre .nav1 a.navitem__link {
        color: var(--color_clair);
    }
    .nav1 li a:last-child {
        margin-right: 0;
    }
    .nav1 a:before, a.overfilet:before {
        -webkit-transition: all .3s cubic-bezier(.27,.61,.42,1);
        transition: all .3s cubic-bezier(.27,.61,.42,1);
        content: "";
        position: absolute;
        display: block;
        bottom: 0;
        right: 0;
        width: 0;
        height: 1px;
        background-color:currentColor;
    }
    .nav1 a:hover:before, .nav1 li.activ a:before, a.overfilet:hover:before  {
        left:0;
        width:100%;
    }
}

.likenav {
    --max: 20;
    --min: 18;
    font-size: var(--responsive);
    text-transform: uppercase;
    font-weight: 400;
}

/*HEADER*/
.logotext {
    font-family: var(--fontfamily2);
    font-weight: 400;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    
    --max: 30;
    --min: 24;
    font-size: var(--responsive);
    display: flex;
    line-height: 1;
}
.logotext__1 {
    display: inline-block;
}
.logotext__2 {
    padding-left: .35em;
    display: inline-block;
    position: relative;
}
.logotext__3 {
    font-weight: 300;
    font-size: .8em;
}
.bouton {
    position: relative;
    display: inline-block;
    margin-top: 2em;
    margin-right: 1em;
    font-size: .8em;
    line-height: 1.1;
    text-transform: uppercase;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    padding: .5em 1em;
    color: var(--color_fonce);
    background-color: #fff;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    transition: all ease .3s;
}
.bouton--s {
    font-size: .65em;
    margin-top: 1em;
}
.bouton--2 {
    background-color: #dfdfdf;
}
.bgsombre .bouton {
    background-color: var(--color_clair);
    color: var(--color_fonce);
}
.bouton:hover {
    color: var(--color_clair);
    background-color: var(--color_fonce);
}
.bgsombre .bouton:hover {
    background-color: #fff;
    color: var(--color_fonce);
}
.bouton::after {
    content: ">";
    padding-left: 1em;
    transition: padding-left ease .3s;
}
.bouton:hover::after {
    padding-left: 1.5em;
}

.mv1 {
    --max: 120;
    --min: 60;
    margin-top: var(--responsive);
}
.pv1 {
    --max: 120;
    --min: 60;
    padding-top: var(--responsive);    
}
.pt1 {
    padding-top: 1em;    
}
.mv2 {
    --max: 360;
    --min: 100;
    margin-top: var(--responsive);
}
h1 {
    font-family: var(--fontfamily2);
    --max: 90;
    --min: 30;
    font-size: var(--responsive);
    font-weight: 500;
    line-height: 1;
}
.h1home {
    display: inline-block;
    font-size: inherit;
    font-weight: normal;
}
.hom__head {
    background-color: var(--color_fonce);
}
.hom {
    padding: 5em 0;
}
.hom__img {
    padding: 0;
}
.hom__img__legende {
    padding-top: .25em;
    font-size: .8em;
    text-align: right;
}
@media (min-width: 640px) {
    .hom {
        padding: 0;
        padding-top: 1.5em;
        text-align: center;
    }
    .hom__img {
        display: inline-block;
        padding: 0;
    }
    .hom__img img {
        max-height: 80vh;
        max-width: 100%;
        width: auto;
        height: auto;
    }
}
.center {
    text-align: center;
}
.rubbloc {
    
}
.rubbloc__2 {
    margin-top: 3em;
}
.pt1 {
    padding-top: 1em;
}
@media (min-width: 900px) {
    .rubbloc {
        display: flex;
        flex-direction: row;
        align-items: bottom;
    }
    .rubbloc__1 {
        width: 50%;
        padding-right: 3.85%;
    }
    .rubbloc__2 {
        width: 50%;
    }
}
@media (min-width: 1300px) {
    .rubbloc__1 {
        width: 50%;
        padding-right: 7.69%;
    }
}
.rub2col__2 {
    margin-top: 3em;
}
@media (min-width: 900px) {
    .rub2col {
        display: flex;
    }
    .rub2col__1 {
        width: 25%;
    }
    .rub2col__2 {
        margin-top: 0;
        width: 75%;
        padding-left: 4%;
    }
}
.rub2colcont {
    margin-bottom: 3em;
}
.rub2colcont__2 {
    margin-top: 2em;
}
.rub2colcont__2__legend {
    text-align: right;
    padding-top: .5em;
    font-size: .75em;
}
@media (min-width: 1200px) {
    .rub2colcont {
        display: flex;
    }
    .rub2colcont__1 {
        width: 50%;
    }
    .rub2colcont__2 {
        margin-top: 0;
        padding-left: 5%;
        width: 50%;
    }
}

.navcat {
    margin-top: 1.5em;
    text-align: left;
    display: flex;
    flex-direction: column;
}
.navcat__item {
    font-size: 1em;
    font-weight: 400;
    margin-right: 1.25em;
    text-decoration: none;
    margin-top: .5em;
}
@media (min-width: 700px) {
    .navcat {
        margin-top: 0;
        text-align: right;
        display: block;
    }
    .navcat__item {
        margin-top: 0;
        border-bottom: 1px solid var(--color_clair);
    }
    .navcat__item:hover {
        border-bottom: 1px solid var(--color_fonce);
    }
    .navcat__item:last-child {
        margin-right: 0;
    }
}
.docu__cat {
    --max: 40;
    --min: 25;
    font-size: var(--responsive);
    line-height: 1.2;
}
.docu__list {
    margin-top: 2em;
    margin-bottom: 4em;
}
.docu__item {
    display: flex;
    padding: 2.5%;
}
.docu__img {
    background-color: #fff;
    width: 40%;
    padding: 3.125vw;
    padding-right: 0;
}
.docu__txt {
    background-color: #fff;
    width: 60%;
    padding: 3.125vw;
}
@media (min-width: 600px) {
    .docu__img {
        padding: 1.5625vw;
        padding-right: 0;
    }
    .docu__txt {
        padding: 1.5625vw;
    }    
}
.docu__tit {
    font-family: var(--fontfamily2);
    font-size: .96em;
    line-height: 1.2;
    font-weight: 500;
}
.docu__desc {
    margin-top: .75em;
    font-size: .85em;
    line-height: 1.2;
}
.docu__editeur {
    font-size: .85em;
    margin-top: .75em;
    margin-bottom: 0;
    color: #999;
}
.docu__annee {
    font-size: .85em;
    margin-top: .75em;
    color: #999;
}
.docu__editeur~.docu__annee {
    margin-top: 0;
}

@media (min-width: 600px) {
    .docu__list {
        display: flex;
        flex-wrap: wrap;
        padding-left: 1.5625%;
        padding-right: 1.5625%;
    }
    .docu__item {
        width: 50%;
        padding: 1.61%;
    }
}

@media (min-width: 1200px) {
    .docu__item {
        width: 33.3333%;
        padding: 1.61%;
    }
}
.rubmulti__item {
    display: block;
    text-decoration: none;
    margin-top: 5em;
}
/*
.rubmulti__item:nth-child(3n+1) {
    text-align: left;
}
.rubmulti__item:nth-child(3n+2) {
    text-align: center;
}
.rubmulti__item:nth-child(3n+3) {
    text-align: right;
}
.rubmulti__item--hom1, .rubmulti__item--hom2 {
    position: relative;
    z-index: 5;
}
*/
.rubmulti__img {
    display: inline-block;
    overflow: hidden;
}
.rubmulti__img img {
    transform: scale(1);
    transition: transform 2s ease;
}
.rubmulti__item:hover .rubmulti__img img  {
    transform: scale(1.05);
}


.rubmulti__img img {
    width: auto;
}
.rubmulti__txt {
    font-family: var(--fontfamily2);
    font-size: 1em;
    margin-top: .75em;
    font-weight: 600;
}
.rubmulti__editeur {
    font-size: .8em;
    font-weight: 400;
}
.mw600 {
    max-width: 600px;
}
.rub__desc {
    font-size: .8em;
}
@media (min-width: 700px) {
    .rubmulti {
        display: flex;
        flex-wrap: wrap;
        margin-left: -2%;
        margin-right: -2%;
    }
    .rubmulti__item {
        width: 33%;
        text-align: center;
        margin-top: 5em;
        padding-left: 2%;
        padding-right: 2%;
    }
    /*
    .rubmulti__item:nth-child(2n) {
        text-align: center;
        margin-top: -10vw;
    }
    */
}
@media (min-width: 1200px) {
    .rubmulti__item {
        width: 25%;
    }
}

/*POPIN*/
.popup__cont {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1200;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.5);
}
.popup__cont.show {
    display: block;
}
.popup {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    background-color: #fff;
    /*padding: 3.3333%;
    padding-top: 0;*/
    transition: opacity .5s ease;
}
.embed .popup {
    top: 4.6875vw;
    left: 4.6875vw;
    right: 4.6875vw;
}
.popup.show {
    opacity: 1;
}
.popup__btn {
    padding: 0;
    border: none;
    outline: none;
    font: inherit;
    color: inherit;
    background: none;
    
    position: absolute;
    z-index: 2500;
    right: calc( 3.125vw - 1em );
    top: calc( 3.125vw - 1em );
    padding: 1em;
}
.popup__btn svg path {
    fill: #fff;
    transition: fill ease .3s;
}
.popup__btn:hover svg path {
    fill: #999;
}
.popup__btn svg {
    width: 1.5em;
    height: 1.5em;
}
#modalfichcontenu {
    width: 100%;
    height: 100%;
}
.serie__item {
    width: 100%;
    text-align: center;
}
.serie__item figure {
    position: relative;
    display: inline-block;
    /*max-height: 100vw;*/
    /*height: 100vh;*/
}
.serie__item figure img {
    max-width: 100%;
    width: auto;
    height: auto;
    padding: 6.25% 0;
}
@media (min-width: 700px) {
    .serie__item figure img {
        height: 100vh;
    }    
}
.serie__item figcaption {
    position: absolute;
    display: block;
    width: 100%;
    bottom: 0;
    margin: 0;
    padding: 0;
    color: #fff;
    /*margin-top: -5.5%;*/
    font-size: .75em;
    text-align: center;
    min-height: 1em;
    padding-left: 1em;
}
.serie__ref {
    display: inline-block;
    font-size: .85em;
    position: absolute;
    bottom: 6.25%;
    right: 3.125%;
    text-shadow: 2px 2px 5px #000;
}
@media (min-width: 700px) {
    .serie__item figcaption {
        padding-left: 0;
        bottom: 1em;
        font-size: .66em;
    }
    .serie__item img {
        padding: 6.25%;
    }
    .serie__item .diapo__intro1_1 img {
        padding: 0;
    }
}

/*
.plus {
    display: flex;    
    text-decoration: none;
}
*/
.diapo {
    height: 100vh;
}
.diapo__intro {
    
}
.diapo__intro h1 {
    font-size: 2em;
    font-weight: 600;
    text-align: center;
    padding-bottom: .5em;
}
.diapo__intro img {
    width: 50%;
    padding-bottom: 1em;
}
@media (min-width: 700px) {
    .diapo__intro__cont {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
    .diapo__intro1 {
        display: flex;
    }
    .diapo__intro1_1 {
        width: 30%;
    }
    .diapo__intro1_2 {
        width: 70%;
        padding-left: 5%;
        text-align: left;
    }
    .diapo__intro h1 {
        text-align: left;
    }
    .diapo__intro img {
        width: auto;
    }
}



.news__img {
    overflow: hidden;
}
.news__img img {
    transform: scale(1);
    transition: transform 2s ease;
}
.news__item:hover .news__img img  {
    transform: scale(1.05);
}


.plus__img {
    width: 50%;
    text-align: right;
    padding-right: 3.125%;
}
.plus__img__cont {
    overflow: hidden;
}
.plus__img__cont img {
    width: auto;
    transform: scale(1);
    transition: transform 2s ease;
}
.plus:hover .plus__img__cont img  {
    transform: scale(1.05);
}

.plus__txt {
    width: 50%;
    align-self: center;
    padding-left: 3.125%;
}
.plus__txt__1 {
    font-family: var(--fontfamily2);
    --max: 60;
    --min: 26;
    font-size: var(--responsive);
    line-height: 1;
    font-weight: 500;
    margin-bottom: .25em;
}
.plus__txt__2 {
    display: inline;
    text-decoration: none;
    border-bottom: 2px solid currentColor;
}
.plus__txt__2::after {
    content: ">";
    padding-left: .5em;
    transition: padding-left ease .3s;
}
.plus:hover .plus__txt__2::after  {
    padding-left: 1em;
}

.bloc1__item {
    display: block;
    padding-top: 5em;
    text-decoration: none;
}
@media (min-width: 700px) {
    .bloc1 {
        display: flex;
    }
    .bloc1__item {
        width: 50%;
        text-align: center;
        padding: 3.85%;
    }
}

.editor h2 {
    font-weight: 600;
    line-height: 1.25;
    margin-top: 1.25em;
    margin-bottom: .75em;
    --max: 40;
    --min: 22;
    font-size: var(--responsive);
}
.editor h2:first-child {
    margin-top: 0;
}
.editor h3 {
    font-weight: 500;
    line-height: 1.25;
    margin-bottom: .75em;
    --max: 30;
    --min: 20;
    font-size: var(--responsive);
}
.editor p, .editor ul {
    --max: 20;
    --min: 16;
    font-size: var(--responsive);
}
.editor ul {
    list-style: disc;
    margin-left: 1em;
}
.editor--2 p, .editor--2 ul, .editor--2 ol {
    font-family: var(--fontfamily2);
    font-weight: 500;
}
.editor--rubdesc {
    margin-top: 1em;
}
.editor--rubdesc p, .editor--rubdesc ul, .editor--rubdesc ol{
    font-size: .8em;
    font-weight: 400;
}
.editor--diapointro p, .editor--diapointro ul {
    font-size: .8em;
    font-weight: 400;
}
@media (min-width: 1300px) {
    .editor--diapointro p, .editor--diapointro ul {
        font-size: 1.25vw;
    }    
}
.editor--mw {
    max-width: 960px;
}
.playerembed {
   position: relative;
   cursor: pointer;
   z-index: 0;
   background: #000;
}
.playerembed.maskplay:before, .playerembed.maskplay:after {
    display: none;
}
.playerembed__play:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-left-color: #000;
    border-width: 2em;
    margin-top: -.9em;
    margin-left: -.6em;
    z-index: 2;
    border-right-width: 2em;
    border-left-width: 1.8em;
    border-bottom-width: 1em;
    border-top-width: 1em;
    transition: border-left-color ease .3s;
}
.playerembed__play:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border: solid transparent;
    height: 4em;
    width: 4em;
    pointer-events: none;
    margin-top: -2em;
    margin-left: -2em;
    z-index: 1;
    border: 3px solid rgba(255,187,0,1);
    border-radius: 50%;
    background-color: rgba(255,187,0,1);
    transition: border-color ease .3s;
}
.playerembed__play:hover::before {
    border-left-color: #333;
}
.playerembed__play:hover::after {
    border-color:#333;
}
.video__cont {
    margin: 2em 0;
}
.imgmultiins {
    margin: 3em 0;
    text-align: left;
}
.imgmultiins img {
    width: auto;
}
@media (min-width: 2000px) {
    .imgmultiins img {
        width: 100%;
    }
}

.imgmultiins__figcaption {
    font-size: .8em;
    padding-top: .5em;
}
.embed-container {
    margin: 0 0;
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.embed-container--carre {
    padding-bottom: 100%;
}
.embed-container--paysage {
    padding-bottom: 69%;
}
.embed-container--60 {
    padding-bottom: 60%;
}
.embed-container--6363 {
    padding-bottom: 63.63%;
}
.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.playervideo {
    margin-top: 40px;
}
@media (min-width: 1300px) {
    .playervideo {
        margin-top: 60px;
    }
}
.pagination {
    margin-top: 5em;
    text-align: center;
}
.pagination li {
    display: inline-block;
    font-size: 1.2em;
    line-height: 1;
    font-weight: 700;
    padding-left: .25em;
    padding-right: .25em;
}
.pagination li a, .pagination__activ {
    border: #999 1px solid;
    color: #999;
    text-decoration: none;
    padding-left: .6em;
    padding-right: .6em;
    padding-top: .25em;
    padding-bottom: .25em;
}
.pagination__activ {
    border: var(--color_fonce) 3px solid;
    color: var(--color_fonce);
}
.pagination li a:hover {
    color: var(--color_fonce);
    border: var(--color_fonce) 1px solid;
}

/***FOOTER***/
.foot__cont {
    --max: 160;
    --min: 90;
    margin-top: var(--responsive);
    padding-bottom: 4em;
}
@media (min-width: 900px) {
    .foot__cont {
        padding-bottom: 2em;
    }
}

.foot2 {
    margin-top: 2em;
    position: relative;
}
.foot2 .nav1__content {
    display: none;
}
@media (min-width: 900px) {
    .foot2 .nav1__content {
        display: block;
    }
}
.mentions {
    position: absolute;
    z-index: 500;
    top: 0;
}


/*RS*/
a.reso__lien {
    text-decoration: none;
    margin: 0;
    padding: 0;
    margin-right: 1.5em;
    display: inline-block;
}
a.reso__lien:last-child {
    margin-right: 0;
}
a.reso__lien:hover .reso__svg  {
    background-color: #FFBB00;
}
a.reso__lien:hover .reso__svg path, a.reso__lien:hover .reso__svg rect {
    fill: #fff;
}
a.reso__lien:hover {
    border: none;
}
.reso__svg {
    --max: 100;
    --min: 60;
    width: var(--responsive);
    height: var(--responsive);
    border-radius: 0;
    padding: .75em;
    transition: all ease .3s;
    background-color: #fff;
    border: 3px solid #FFBB00;
}
.reso__svg path, .reso__svg rect {
    fill: #FFBB00;
    transition: fill ease .3s;
}

/* ANIM */
.js .animscroll.imgeffect1, .js .imgeffect1 {
    position: relative;
    overflow: hidden;
    -webkit-transform: scale(.85);
    transform: scale(.85);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition: transform 1.5s ease;
}
.js .animscroll--go.imgeffect1 {
    transform: scale(1);
}
.js .animscroll.imgeffect1 img {
    display: block;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition: transform 1.5s ease;
}
.js .animscroll--go.imgeffect1 img {
    transform: scale(1);
}

.js .animscroll.fade-and-up {
    transform: matrix(1, 0, 0, 1, 0, 60);
    opacity: 0;
    transition: all ease 1s;
}
.js .animscroll--go.fade-and-up {
    transform: matrix(1, 0, 0, 1, 0, 0);
    opacity: 1;
}

/* ANIMATED */
.animate-in {
    -webkit-animation: fadeIn .7s ease-in;
    animation: fadeIn .7s ease-in;
}
.animate-out {
    -webkit-transition: opacity .5s;
    transition: opacity .5s;
    opacity: 0;
}
@-webkit-keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  display: flex;
    align-items: center;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100vh;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0);
  border: none;
  color: #fff;
}

.flickity-button:hover {
  background: hsla(0, 0%, 100%, .1);
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.2;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  bottom: 2vw;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  /* vertically center */
}
@media (min-width: 700px) {
    .flickity-prev-next-button {
      width: 5em;
      height: 5em;
      bottom: auto;
      top: 50%;
      /* vertically center */
      transform: translateY(-50%);
    }
}
.flickity-prev-next-button.previous { left: 3.125vw; }
.flickity-prev-next-button.next { right: 3.125vw; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 3.125vw;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 3.125vw;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
    
  display: none;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}
