* {-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

img {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    image-orientation: none;
}


html {
    overflow-y: scroll !important;
   }

body {
    font-family: 'PT Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #474747;
    margin: 0;
    background: #ffffff;
    line-height: 1.5;
}

a[href^="tel"]{
    color:inherit;
    text-decoration:none;
}
   

.wrapper-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;

    max-width: 1920px;
    margin: 0 auto;
}


/* HEADER LOGO */
.wrapper-header .wrapper-logo {
    background: #2c2c2c;
    padding: 0 50px 0 30px;
    display: flex;
    align-items: center;
    align-self: stretch;
    position: relative;
    z-index: 1000;
}
.wrapper-header .wrapper-logo a.logo {
    display: inline-block;
    width: 280px;
    position: relative;
}
.wrapper-header .wrapper-logo a.logo img {
    vertical-align: top;
}
.wrapper-header-container {
    width: 100%;
}

/* .wrapper-header .wrapper-logo a.logo::before {
    content: '';
    position: absolute;
    top: 16px;
    left: 180px;
    width: 10px;
    height: 10px;
    background: url('i/boule-logo.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
}
.wrapper-header .wrapper-logo:hover a.logo::before {
    animation: anim-logo 0.5s ease;
    animation-delay: 0s;
}
@keyframes anim-logo {
    10% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(50);
        opacity: 0;
    }
} */

.wrapper-header .wrapper-logo a.logo::after {
    content: '';
    position: absolute;
    top: 211px;
    left: 103px;
    width: 177px;
    height: 2px;
    background: #DE0E14;
    opacity: 1;
    transform: scaleX(0);
    transition: transform 0.2s ease-out;
    transform-origin: right;
}
.wrapper-header .wrapper-logo:hover a.logo::after {
    transform: scaleX(1);
}



/* HEADER TOP */
.wrapper-header .header-top {
    position: relative;
    z-index: 10000;
    height: 150px;
    position: relative;
    background: linear-gradient(to top, #262624 20%, #414141);

    display: flex;
    justify-content: flex-start;
    align-items: center;
}

/* ANIMATION PAINT */
.wrapper-header .header-top #wrap-anim-paint {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    z-index: -1;
}
#wrap-anim-paint .ball {
    pointer-events: none;
    position: absolute;
    border-radius: 50%;
    animation: implode 2s ease;
    animation-delay: 0s;
    animation-fill-mode: both;
}
@keyframes implode {
    0% {
        transform: scale(1)
    }

    30%,
    70% {
        transform: scale(2)
    }

    100% {
        transform: scale(0)
    }
}

/* HEADER ADRESSE */
.header-adresse {
    color: #fff;
    font-size: 22px;
    line-height: 1.5;
    margin-left: 35px;
}
.header-adresse a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: currentColor;
}

/* HEADER CONTACT */
.header-contact {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: row;
    gap: 10px;
}
.header-contact a {
    display: inline-block;
    width: 46px;
    height: 46px;
    background-color: #fff;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
.header-contact a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom right, #dd3553, #a43e6b);
    z-index: -1;
    transform: scale(0);
    border-radius: inherit;
    transition: transform 0.2s ease-out;
}
.header-contact a:hover::before {
    transform: scale(1.03);
}
.header-contact a img {
    transition: filter 0.2s ease-out;
}
.header-contact a:hover img {
    filter: invert(1);
}



/* HEADER BOTTOM */
:root {
    --menu-height: 110px;
}
.wrapper-header .header-bottom {
    position: relative;
    z-index: 10000000;
    height: var(--menu-height);
}

.wrapper-menu {
    background-color: rgba(44, 44, 44, 0.85);
    height: 100%;
}
.wrapper-menu .menu {
    display: flex;
    justify-content: flex-end;
    height: 100%;
    list-style: none;
    font-family: 'PT Sans Narrow', sans-serif;
    font-weight: 700;
    font-size: 28px;
    margin: 0;
    padding: 0;
    max-width: 1460px;
    padding-right: 20px;

}
.wrapper-menu #menu-desktop {
    height: 100%;
}
.wrapper-header .menu-item {
    position: relative;
}
.wrapper-header .menu-item > a, 
.wrapper-header .menu-item > span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    line-height: 1;
    padding: 0 25px;

    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    cursor: pointer;
    position: relative;
}
.wrapper-header .menu-item > a::before, 
.wrapper-header .menu-item > span::before {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 0;
    width: 100%;
    height: 14px;
    background: linear-gradient(to right, #dd3553, #a43e6b);
    transform: scaleX(0);
    transition: transform 0.2s ease-out;
    pointer-events: none;
}
.wrapper-header .menu-item:hover > a::before, 
.wrapper-header .menu-item:hover > span::before {
    transform: scaleX(0.5);
}
.wrapper-header .menu-item.selected > a::before, 
.wrapper-header .menu-item.selected > span::before {
    transform: scaleX(1);
}


.wrapper-header .sousmenu {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateY(100%) translateX(-50%);
    padding: 0;
    list-style: none;
    min-width: 100%;
    display: none;
    font-size: 25px;
    line-height: 1;
    background-color: rgba(44, 44, 44, 0.85);
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    z-index: -1;
}
.wrapper-header .menu-item:last-child .sousmenu {
    left: auto;
    right: 0;
    transform: translateY(100%);
}
.wrapper-header .menu-item:hover .sousmenu {
    display: block;
}
.wrapper-header .sousmenu-item a{
    text-transform: uppercase;
    display: inline-block;
    text-decoration: none;
    padding: 25px 25px;
    width: 100%;
    text-align: center;
    color: #fff;
    position: relative;
}
.wrapper-header .sousmenu-item a:hover {
    background-color: rgba(255, 255, 255, 0.15);
}
.wrapper-header .sousmenu-item.selected a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(to bottom, #dd3553, #a43e6b);
}

.wrapper-header .menu-arrow {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}



/* BURGER BTN */
.wrapper-header .burger-btn{
    position: absolute;
    top: 10px;
    right: 10px;
    width: 46px;
    height: 46px;
    padding: 10px;
    border: none;
    display: none;
    cursor: pointer;
    z-index: 1000000000;
    background: linear-gradient(to bottom right, #dd3553, #a43e6b);
    border-radius: 99px;
}
.wrapper-header  .burger-btn .line{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    display: inline-block;
    width: 25px;
    height: 2px;
    border-radius: 2px;
    background-color: #fff;

    transition: transform 0.3s ease;
}

.wrapper-header .burger-btn .line:first-child{
    transform: translate(-50%, -10px); /* 8px + 2px de la hauteur*/
}
.wrapper-header .burger-btn .line:last-child{
    transform: translate(-50%, 8px);
}
.wrapper-header.open .burger-btn .line:first-child{
    transform: translate(-50%, -50%) rotate(45deg);
}
.wrapper-header.open .burger-btn .line:nth-child(2){
    transform: translate(-50%, -50%) scaleX(0);
}
.wrapper-header.open .burger-btn .line:last-child{
    transform: translate(-50%, -50%) rotate(-45deg);
}

    
@media (max-width: 1540px) {
    .wrapper-menu .menu {
        font-size: 24px;
    }
    .wrapper-header .sousmenu { 
        font-size: 20px;
    }
    .wrapper-header .menu-item > a::before, 
    .wrapper-header .menu-item > span::before {
        bottom: -5px;
        height: 10px;
    }
    .wrapper-header .menu-arrow {
        bottom: 8px;
    }
}

@media (max-width: 1420px) {
    .wrapper-header .wrapper-logo a.logo {
        width: 250px;
    }
    .wrapper-header .wrapper-logo {
        padding: 0 30px 0 15px;
    }
    /* .wrapper-header .wrapper-logo a.logo::before {
        top: 14px;
        left: 161px;
    } */
    .wrapper-header .wrapper-logo a.logo::after {
        top: 189px;
        left: 91px;
        width: 159px;
    }

    .wrapper-header .header-top {
        height: 120px;
    }
    .wrapper-header .menu-item > a, .wrapper-header .menu-item > span {
        padding: 0 15px;
    }

    .header-adresse {
        font-size: 18px;
        margin-left: 15px;
    }
    .header-adresse img {
        height: 30px;
    }
    
}



@media (max-width: 1230px) {
    .wrapper-header .wrapper-logo a.logo {
        width: 175px;
    }
    /* .wrapper-header .wrapper-logo a.logo::before {
        top: 8px;
        left: 111px;
    } */
    .wrapper-header .wrapper-logo a.logo::after {
        top: 134px;
        left: 64px;
        width: 111px;
        height: 1px;
    }
    .wrapper-header .header-top {
        height: 90px;
    }

    :root {
        --menu-height: 80px;
    }
    .wrapper-menu .menu {
        font-size: 20px;
    }
    .wrapper-header .sousmenu { 
        font-size: 18px;
    }
    .wrapper-header .menu-item > a::before, 
    .wrapper-header .menu-item > span::before {
        bottom: -3px;
        height: 6px;
    }
    .wrapper-header .menu-arrow {
        bottom: 5px;
    }
    
}

@media (max-width: 1050px) {
    .wrapper-header .menu-item>a,
    .wrapper-header .menu-item>span {
        padding: 0 10px;
    }
} 

@media (max-width: 980px) {
    :root {
        --menu-height: 0;
    }
    body.nav-open{
        height: 100vh;
        overflow-y: hidden;
    }
    .wrapper-logo,
    .wrapper-header .header-top {
        height: 170px;
    }
    .wrapper-header .burger-btn{
        display: block;
    }
    .wrapper-header .header-bottom {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        transition: transform cubic-bezier(.18,1.01,.55,1) 0.3s;
        transform: translateX(-100%);
    }
    .wrapper-header.open .header-bottom{
        transform: translateX(0);
    }
    .wrapper-header.no-animation .header-bottom{
        transition: none;
    }

    .wrapper-menu #menu-desktop {
        display: flex;
        align-items: center;
    }
    .wrapper-menu {
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    .wrapper-menu .menu {
        display: block;
        max-height: 100vh;
        height: max-content;
        width: 100%;
        overflow-y: auto;
    }
    .wrapper-menu .menu .menu-item {
        padding: 0 20px;
    }
    .wrapper-header .menu-item > a, .wrapper-header .menu-item > span {
        padding: 15px 15px;
        height: auto;
        border-radius: 8px;
    }
    .wrapper-header .menu-item > a::before, .wrapper-header .menu-item > span::before,
    .wrapper-header .sousmenu-item.selected a::before {
        content: none;
    }
    .wrapper-header .menu-item.selected > a,
    .wrapper-header .menu-item.selected > span {
        background: linear-gradient(to right, #a43e6b, #dd3553);
    }
    .wrapper-header .wrapper-menu .sousmenu{
        position: static;
        display: none;
        transform: none!important;
        background: transparent;
        box-shadow: none;
    }
    .wrapper-header .sousmenu {
        font-size: 17px;
    }
    .wrapper-header .wrapper-menu .sousmenu a{
        font-weight: 400;
        padding: 10px;
    }
    .wrapper-header .sousmenu-item a:hover {
        background-color: transparent;
    }
    .wrapper-header .sousmenu-item.selected a {
        color: #dd3553;
        font-weight: 700;
    }
    .wrapper-header .menu-arrow {
        position: static;
        transform: none;
        margin-left: 5px;
        transform: rotate(0);
    }
    
    .wrapper-header .menu-item .sousmenu {
        display: block;
    }
    .wrapper-header .menu-item.sousmenu-close .sousmenu {
        display: none;
    }
    .wrapper-header .menu-item.sousmenu-close .menu-arrow {
        transform: rotate(-90deg);
    }

    .header-contact {
        top: initial;
        bottom: 10px;
        gap: 5px;
    }

    .wrapper-header .header-top  {
        align-items: flex-start;
    }
    .header-adresse {
        margin-top: 18px;
    }
    .header-contact a {
        width: 40px;
        height: 40px;
    }
    .header-contact a img {
        width: 22px;
        height: 22px;
        object-fit: contain;
        object-position: center;
    }
}
@media (max-width: 670px) {
    .header-adresse {
        display: none;
    }
    .wrapper-header .wrapper-logo a.logo {
        width: 140px;
    }
    /* .wrapper-header .wrapper-logo a.logo::before {
        top: 5px;
        left: 88px;
    } */
    .wrapper-header .wrapper-logo a.logo::after {
        top: 107px;
        left: 51px;
        width: 89px;
    }
    .wrapper-logo, .wrapper-header .header-top {
        height: 140px;
    }
}
@media (max-width: 480px) {
    .header-support span {
        display: none;
    }
    .header-contact .header-tel {
        border-bottom-left-radius: 0;
        border-top-left-radius: 10px;
        padding: 10px 0.6em 8px 0.6em;
    }
    .header-contact .header-support {
        padding: 10px 0.6em 8px 0.6em;
    }

}
@media (max-width: 420px) {

    .header-contact .header-support {
        display: none;
    }

    .wrapper-header-contact {
        padding: 0;
        bottom: 5px;
        right: 10px;
        column-gap: 6px;
    }
    .wrapper-logo, .wrapper-header .header-top {
       height: 120px;
    }
    .wrapper-header .wrapper-logo a.logo {
        width: 120px;
    }
    /* .wrapper-header .wrapper-logo a.logo::before {
        top: 4px;
        left: 74px;
    } */
    .wrapper-header .wrapper-logo a.logo::after {
        top: 92px;
        left: 44px;
        width: 76px;
    }
    .wrapper-header-contact svg {
        width: 1.5em;
        height: 1.5em;
    }
    .pix-dropdown-content {
        border-radius: 15px;
    }
}

@media (max-width: 390px) {
    .header-contact a {
        width: 36px;
        height: 36px;
    }
    .header-contact a img {
        width: 20px;
        height: 20px;
        object-fit: contain;
        object-position: center;
    }
}

@media (max-width: 340px) {
    .wrapper-header-contact svg {
        width: 1.2em;
        height: 1.2em;
    }
    .pix-dropdown-content {
        padding-top: 1.2em;
    }
}

.wrapper-contenu {
    background:#fff;
    z-index: 1;
    position: relative;
    overflow: hidden;
}
.page-bienvenue .wrapper-contenu {
    padding-top: 0;
}

.wrapper-boxed-contenu {max-width:1380px;margin:auto;}
.wrapper-boxed {}
.boxed {max-width:1380px;margin:auto;}


@media (max-width:800px) {
.wrapper-boxed {background-size:1000px auto;}

}


h1,h2.h1,h3.h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(30px, 3.5vw, 44px);
	color:#474747;
	margin:0px;
    position: relative;
    text-transform: uppercase;
    line-height: 1.1;
    margin-bottom: -15px;
}

.h1-centre {text-align: center !important;}
.h1-centre span.dl {text-align: center !important;}

h2 {
    text-align: left;
    margin: 0 auto;
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    margin-bottom:10px;
}
h2::after {
    content: '';
    display: block;
    width: 100px;
    height: 3px;
    background: linear-gradient(to right, #dd3553, #a43e6b);
}

h3 {
    text-align: left;
    margin: 0 auto;
    margin-bottom: -15px;
    line-height: 1;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
}

span.dl {
    text-transform: uppercase;
    display: block;
    color: currentColor;
    font-size: 0.6em;
    font-weight: 200;
    font-family: 'Montserrat', sans-serif;
    line-height: 1;
    text-transform: none;
}


div.padding { padding:40px 20px 40px 20px;}

@media (max-width:900px) {
    div.padding { padding:30px 20px 30px 20px;}
}

@media (max-width:600px) {
    div.padding { padding:20px 20px 20px 20px;}
}



.justify  { text-align:justify;}
div.center  { text-align:center;}

a.lien:link,a.lien:visited {color:#e7314d; font-weight:700; font-style:normal; text-decoration:none;}
a.lien:hover,a.lien:active {text-decoration:none;}

a.lienpetit:link,a.lienpetit:visited {font-size:15px; color:#e7314d; font-weight:400; font-style:italic; text-decoration:none; }
a.lienpetit:hover,a.lienpetit:active {text-decoration:none;}

span.gradient {
    background: linear-gradient(to right, #a43e6b, #dd3553);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}



.list-3-columns {-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;}

.list-2-columns {-webkit-column-count: 2; 
-moz-column-count: 2;
column-count: 2;}



@media (max-width:800px) {
    .list-3-columns {-webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;}
}
@media (max-width:490px) {
    .list-3-columns, .list-2-columns {-webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;}
}



ul.list-3-columns li, ul.list-2-columns li {-webkit-column-break-inside: avoid;
          page-break-inside: avoid;
               break-inside: avoid;}





ul.puce {
    margin: 0;
    padding: 0;
	margin-top:5px;
	margin-bottom:5px;
    padding-left:10px;
}
ul.puce > li {
	list-style-type:none;
	background-image: url(i/puce.png);
	background-repeat: no-repeat;
	padding-left:15px;
    padding-right:2px;
	background-position:0px 13px;
	margin:0px 0px 7px 0px;
    overflow: hidden;
}



ul.images {
    padding:0px;
    margin:0;
    list-style-type:none;
}

ul.images li {
    float:left;
}

ul.images div.i {
    display:block;
    margin:auto;
    text-align:center;
}

ul.n2 li {width:50%;}
ul.n3 li {width:33.33%;}
ul.n4 li {width:25%;}
ul.n5 li {width:20%;}

ul.n2 li, ul.n3 li, ul.n4 li, ul.n5 li {padding-left:10px;padding-right:10px;}


@media (max-width:560px) {
	ul.n2 li, ul.n3 li, ul.n4 li, ul.n5 li {width:100%;margin-bottom:20px;}
	ul.images li {float:none;}
}


input[type=text],
input[type=email],
input[type=url],
input[type=password],
textarea {
  width: 90%;
}




div.right { float:right; padding-left:35px; max-width: 100%;}
div.left { float:left; padding-right:35px;max-width: 100%;}

div.right-responsive {float:right; padding-left:35px;max-width:100%;}
div.left-responsive {float:left; padding-right:35px;max-width:100%;}


@media (max-width:560px) {
    div.right-responsive {float:none;width:auto;padding:0;padding-bottom:20px;text-align: center;}
    div.left-responsive {float:none;width:auto;padding:0;padding-bottom:20px;text-align: center;}
}

div.right-responsive-xl {float:right; padding-left:20px;max-width:100%;}
div.left-responsive-xl {float:left; padding-right:20px;max-width:100%;}


@media (max-width: 1000px) {
    div.right-responsive-xl {float:none;width:auto;padding:0;padding-bottom:20px;text-align: center;}
    div.left-responsive-xl {float:none;width:auto;padding:0;padding-bottom:20px;text-align: center;}
}

div.dessous {clear:both;height: 0px;}



.pagination_inactif {font-family: 'PT Sans', sans-serif;color:rgba(13,13,13,0.08); font-weight:bold; font-style:normal;}
a.lienpagination:link,a.lienpagination:visited,a.lienpagination:hover,a.lienpagination:active  {   color:#dd3553; font-weight:bold; text-decoration:none;display:block;width:100%;}
a.lienpaginations:link,a.lienpaginations:visited,a.lienpaginations:hover,a.lienpaginations:active  {       color: #fff; font-weight:bold; text-decoration:none;display:block;width:100%;}
.cadrepagination {}
.cadrepaginations {background-color:#dd3553;}


div.pagination {        background-color: rgba(3,13,31,0.05);
    border: 1px solid rgba(3,13,31,0.08);padding:6px;overflow:hidden;
}
div.pagination a {font-family: 'PT Sans', sans-serif;}


@media (max-width:580px) {
    td.cadrepaginations, td.cadrepagination {display: none;}
}



div.map {}

.form_header {
    font-family: 'PT Sans', sans-serif;
background:#dd3553;
    color: #fff;text-align:left;padding:4px;
text-transform: uppercase;text-align: center;font-weight: bold;
font-size: 19px;
}
form table:nth-of-type(1) {    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.14);
    border: 1px solid #dedede;}

sup{color:#a10000;}
.error{color:#a10000;}
.form_label {color:#29292b;background-color:rgba(3,13,31,0.05);font-weight:normal;}
.form_input {color:#29292b;background-color:rgba(3,13,31,0.05);}
div.form_note {font-style:italic;font-size:10px;}



label[for="element10i0"] {font-size: 13px;color: #666;}
#element7i, #element9i {resize: vertical;}

div.ticker {float:right;padding-left:20px;width: 450px;}

@media (max-width:960px) {
	div.ticker {width: 350px;}
}

@media (max-width:690px) {
	div.ticker {float:none;padding-left:0px;margin-bottom:20px;width:100%;}
}



img {max-width: 100%;height:auto;}

div.wrapper-padding {padding-left:20px;padding-right:20px;}

@media (max-width:400px) {
	div.wrapper-padding {padding-left:14px;padding-right:14px;}
}








@media (max-width:500px) {
	div.justify {text-align: left;}
}


.bandeau-boxed-padding-top {padding-top: 26px;}

#bandeau_boxed {max-width:1140px;margin:auto;box-shadow: 0 8px 26px rgba(0, 0, 0, 0.28);    outline: 1px solid #c5c5c5;
    outline-offset: 0px;margin-bottom: 20px;}
#bandeau_photos_boxed {width:100%;max-width: 1140px;height: 500px;}
#bandeau_boxed img {margin-left: 0px !important;margin-top: 0px !important;}

.rsDefault .rsArrow {z-index: 201 !important;}


#bandeau_fullwidth {
    --deco-height: clamp(40px, 6vw, 90px);
    width: 100%;
    max-width: 1920px;
    margin: auto;
    margin-top: calc(-1 * var(--menu-height));
    position: relative;
}

#bandeau_fullwidth::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: var(--deco-height);
    clip-path: polygon(0 0, 0% 100%, 100% 60%);
    transform: translateY(40%);
    background: linear-gradient(to right, #7f569d, #b33149, #a87f52, #864a6d);
    z-index: 10001;
}
#bandeau_fullwidth::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(var(--deco-height) * 0.5);
    background: rgba(255, 255, 255, 0.5);
    z-index: 10000;
}

/* fix */
#bandeau_photos_fullwidth {
    width: 100%;
    max-width: 1920px;
    height: 900px;
}

#bandeau_fullwidth img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-top: 0px !important;
    margin-left: 0px !important;
}

@media (max-width: 550px) {
    #bandeau_photos_fullwidth img {
        height:250px;
        max-width: initial;
        margin-left: calc(50% - 250px * (1920 / 900 / 2)) !important;
    }
    #bandeau_photos_fullwidth {
        height:250px !important;
    }
}

.rsOverflow {
    transition: none!important;
}


.rsDefault .rsGCaption {
    padding:0 !important;
    z-index: 100000;
    margin:auto !important;
    border-radius:0px !important;
    text-align: right !important;
    top: auto!important;
    bottom: 0!important;
    right: 0!important;
    pointer-events: none!important;
}

.encart-activites {
        display: block;
        position: absolute;
        top: auto !important;
        bottom: 0px !important;
        left: 0px !important;
        width: 100%;
        text-align: right;
        transform: translate(0px,0px) !important;
   
}




.encart-activites h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    margin: 0;
    font-size: clamp(25px, 4vw, 55px);
}
@media (max-width: 500px) {
    .encart-activites {
        display: none!important;
    }
}


.rsArrowIcn {background-color: rgb(221, 53, 83, 0.5) !important;}

.rsDefault .rsArrowIcn:hover {
    background-color: rgb(221, 53, 83, 0.9) !important;
}




.bande-activites {
    background: url('i/motif-activites.svg') center center repeat;
    background-size: 248px 499px;
    position: relative;
    border-bottom: 1px solid #efefef;
}

.owl-carousel-icones {
    padding-top: clamp(50px, 5vw, 100px);
    padding-bottom: clamp(20px, 4vw, 60px);
    max-width: 1250px;
    margin: 0 auto;
}
.wrapper-icone {
    text-decoration: none;
    color: currentColor;
    margin: 0 auto;
    padding: 20px 20px;
    text-align: center;
    background-color: #2c2c2c;
    border: 4px solid #000;
    border-radius: 25px;
    width: 200px;
    height: 200px;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.wrapper-icone .icone img {
    display: inline-block;
    margin: auto;
    width: 100px;
    height: 100px;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.5));
    transition: transform 0.2s ease;
}
.wrapper-icone h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 26px;
    margin: 0;
    color: #fff;
    filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.5));
    overflow: hidden;
    height: 40px;
    transition: all 0.2s ease
}
.wrapper-icone h3:first-of-type {
    height: 0;
    opacity: 0;
}

.wrapper-icone:hover {
    border-color: #dd3553;
    background: linear-gradient(to bottom right, #dd3553, #a43e6b);
}
.wrapper-icone:hover .icone img {
    /* transform: scale(1.1); */
}

.wrapper-icone:hover h3:last-of-type {
    height: 0;
    opacity: 0;
}
.wrapper-icone:hover h3:first-of-type {
    height: 40px;
    opacity: 1;
}


@media (max-width: 1080px) {
    .wrapper-icone  {
        width: 150px;
        height: 150px;
    }
    .wrapper-icone .icone img {
        width: 70px;
        height: 70px;
    }
    .wrapper-icone h3 {
        font-size: 18px;
        height: 22px;
    }
}

a.back-to-top {
    display: none;
    width: 48px;
    height: 48px;
    text-indent: -9999px;
    position: fixed;
    z-index: 999;
    right: 30px;
    bottom: 30px;
    background: #fff url("i/arrow-up.png") no-repeat center center;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.27);
    transition: all 0.2s ease 0s;
}

a.back-to-top:hover {box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.50);}

@media (max-width: 700px) {
    a.back-to-top {
        right: 15px;
        bottom: 15px;
    }
}


iframe {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}


.wrapper-footer {
    position: relative;
}
.wrapper-inner-footer {
    display: flex;
    flex-direction: row;
    padding: 190px 50px 140px;
    background: url('i/motif-footer.svg') center center repeat, #1d1d1b;
    background-size: 248px 499px;
    padding-right: 240px;
}
.wrapper-inner-footer .footer-1,
.wrapper-inner-footer .footer-2,
.wrapper-inner-footer .footer-3 {
    width: 33.33%;
}
.footer-inner {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    font-weight: 400;
    padding: 0 10px;
}
.wrapper-footer h3 {
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1;
    margin: 0;
    color: #fff;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    text-align: center;
}
.footer-inner a {
    text-decoration: none;
    color: currentColor;
    font-weight: 700;
}
.footer-inner ul {
    text-transform: uppercase;
    list-style: none;
    padding: 0;
    line-height: 1.5;
    margin: 0;
}
.footer-inner ul a.lien {
    color: currentColor;
    font-weight: 400;
}
.footer-inner a:hover,
.footer-inner a.lien:hover {
    color: #dd3553;
}
.footer-3 span {
    text-transform: uppercase;
}
.footer-3 span:nth-of-type(2) {
    display: inline-block;
    margin-top: 10px;
}

.footer-2 .coordonnees {
    margin-top: 20px;
}
.footer-2 .reseaux {
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 10px;
    margin-top: 20px;
}
.footer-2 .reseaux a {
    display: inline-block;
    width: 46px;
    height: 46px;
    background: linear-gradient(to bottom right, #dd3553, #a43e6b);
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
.footer-2 .reseaux a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: -1;
    transform: scale(0);
    border-radius: inherit;
    transition: transform 0.2s ease-out;
}
.footer-2 .reseaux a img {
    filter: brightness(0) invert(1);
    transition: filter 0.2s ease-out;
}
.footer-2 .reseaux a:hover::before {
    transform: scale(1.03);
}
.footer-2 .reseaux a:hover img {
    filter: none;
}


.footer-logo {
    position: absolute;
    top: 20px;
    right: 20px;
    transform-origin: top right;
    transform: rotate(-90deg) translateY(-100%) ;
}
.footer-logo img {vertical-align: top;}



/* MENTIONS */
.wrapper-footer .mentions {
    text-align: center;
    color: #fff;
    position: relative;
    z-index: 10;
    padding: clamp(20px, 3vw, 40px) 0 clamp(50px, 6vw, 100px);
    background: linear-gradient(to right, #9d3e6d 0%, #e42f4b 100%);
    background-size: 400% 100%;
    animation: mentions-anim 20s linear infinite alternate;
} 
.wrapper-footer .mentions a {
    color: currentColor;
    font-weight: 700;
    text-decoration: none;
}
@keyframes mentions-anim {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}


/* RESPONSIVE FOOTER */
@media (max-width: 1200px) {
    .wrapper-inner-footer {
        flex-direction: column;
        row-gap: 40px;
        padding: 50px 20px;
        padding-right: 200px;
    }
    .wrapper-inner-footer .footer-1, .wrapper-inner-footer .footer-2, .wrapper-inner-footer .footer-3 {
        width: 100%;
    }
    .footer-inner  {text-align: center;}
}
@media (max-width: 600px) {
    .footer-logo {
        display: none;
    }
    .wrapper-inner-footer {
        padding: 50px 20px;
    }
}


div.galerie-photo {width:33.33%;display:inline-block;vertical-align: top;padding:18px;text-align: center;}

div.galerie-photo img, ul.images img {margin-bottom: 7px;}

@media (max-width:800px) {
    div.galerie-photo {width:50%;}
}


@media (max-width:500px) {
    div.galerie-photo {width:100%;}
}




img.cadrephoto, img.ombre, ul.images img {
   box-shadow: 6px 6px 18px rgba(0, 0, 0, 0.25);
}


a.lien-actu {color:inherit;text-decoration: none;}







div.col1-2 {display:inline-block;vertical-align:top;width:48%;}
div.col2-2 {display:inline-block;vertical-align:top;margin-left:4%;width:48%;}


@media (max-width:700px) { 
    div.col1-2 {display:inline-block;vertical-align:top;width:100%;}
    div.col2-2 {display:inline-block;vertical-align:top;margin-left:0%;width:100%;margin-top:15px;}
}


div.col1-3, div.col2-3, div.col3-3 {display:inline-block;width:30%;vertical-align: top;}
div.col2-3, div.col3-3 {margin-left:5%;}


@media (max-width:880px) {
    div.col1-3, div.col2-3, div.col3-3 {width:50%;margin-bottom: 10px;margin-left:0%;padding-left:2%;padding-right: 2%;}

}

@media (max-width:480px) {
    div.col1-3, div.col2-3, div.col3-3 {width:100%;margin-bottom: 10px;margin-left:0%;}

}


.style-galerie {
    border:1px solid #d8d8d8;background:rgba(0,0,0,0.05);position:relative;max-width: 760px;
    margin: auto;
}

.wrapper-galerie {
        float: none;
        width:100%;
        max-width:720px;
        margin:auto;margin-bottom: 20px;
    }

.photo_commentaire {display: block;text-align: center;text-decoration: none !important;color:#000;padding-top:5px;}


.ilightbox {text-decoration: none;}

.h2-puce {
    vertical-align: -1px;
    padding-right: 3px;
}




.wrapper-bande {}
.wrapper-boxed-bande {max-width: 1180px;margin:auto;}








@media
only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (   min--moz-device-pixel-ratio: 1.5),
only screen and (     -o-min-device-pixel-ratio: 3/2),
only screen and (        min-device-pixel-ratio: 1.5),
only screen and (                min-resolution: 144dpi),
only screen and (                min-resolution: 1.5dppx) { 


    ul.puce > li {background-image: url(i/puce-2x.png);background-size: 10px 10px;}
 
    a.back-to-top {background: #ffffff url("i/arrow-up.png") no-repeat center center;background-size: 16px 16px;}
    a.back-to-top:hover {    box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.50);}  

    .form_header {background-size: 110px auto !important;}

}





div.map iframe {vertical-align: top;}


.bouton {
    outline: none;
    border: none;
    display: inline-block;
    background: linear-gradient(to right, #dd3553 0%, #a43e6b 100%);
    color: #fff;
    text-transform: uppercase;
    font-size: 22px;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    padding: 0.5em 1.6em;
    cursor: pointer;
}

@media (max-width: 700px) {
    .bouton {
        font-size: 18px;
    }
}

.bouton:hover {
    outline: 2px solid #dd3553;
    outline-offset: -2px;
    background: transparent;
    color: #dd3553;
}



/* masonry */
.masonry-photo {padding:10px;    text-align: center;}

.pix-masonry-wrapper {display:none;overflow: hidden;}  




/* These are the classes that are going to be applied: */
.column { float: left; }
.size-1of3 { width: 33.333%; }

#pix-masonry[data-columns]::before {
  content: '3 .column.size-1of3';
}

@media screen and (max-width: 480px){
  #pix-masonry[data-columns]::before {
    content: '1 .column.size-1of1';
  }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
  #pix-masonry[data-columns]::before {
    content: '2 .column.size-1of2';
  }
}
@media screen and (min-width: 769px) {
  #pix-masonry[data-columns]::before {
    content: '3 .column.size-1of3';
  }
}

/* Again, youre free to use and define the classes: */
.column { float: left; }
.size-1of1 { width: 100%; }
.size-1of2 { width: 50%; }
.size-1of3 { width: 33.333%; }
/* fin masonry */




.visitevirtuelle {text-align: center;}







/* isotope */

.isotope-grid-item { width: 33.33%; }

@media (max-width:1200px) {
    .isotope-grid-item { width: 50%; }
}

@media (max-width:520px) {
    .isotope-grid-item { width: 100%; }
}

.pix-masonry-photo {
    padding: 10px;
    text-align: center;
}




.formulaire-demande-bien-envoyee {
    background-color: rgba(0,0,0,0.1);
    padding: 20px;
    border: 1px solid rgba(0,0,0,0.1);
}



.slogan {
    background-color: #d9d9d9;
    box-shadow: 4px 4px 20px rgba(0,0,0,0.1);
    color: #000;
    padding: 20px;
    border-radius: 10px;
        overflow: hidden;
}




.pix-iframe {
    margin:auto;height:730px;
    max-width: 1380px;
}


.owl-carousel .owl-item img {margin:auto;}
.owl-dots {display: none !important;}


.uv {
    position: absolute;bottom: -50px;left: 50%;
    pointer-events: none;
    transform: translateX(-50%);
}

@media (max-width:980px) {
    .uv {bottom: -45px;}
    .uv img {width:150px;}
}

@media (max-width:780px) {
    .uv {bottom: -39px;}
    .uv img {width:120px;}
}


.pix-marque {text-align: center;display: inline-block;width: 25%;vertical-align: middle;padding:20px;}

@media (max-width:980px) {
    .pix-marque {width:33.33%;}
}


@media (max-width:600px) {
    .pix-marque {width:50%;}
}

@media (max-width:400px) {
    .pix-marque {width:100%;}
}






.galerie-produit {
    max-width: 700px;background-color: #efefef;padding-bottom:10px;    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
    touch-action: none;
}
.pix-galerie {}

.liste-galerie {float:right;width:640px;}


@media (max-width:1140px) {
    .liste-galerie {float:none;display:block;margin:auto;width:initial;max-width:640px;margin-bottom: 20px;}
}


h1.annonce {margin-top: 30px;margin-bottom: 20px;position: relative;}

.wrapper-boxed em {font-size: 14px;color: #666;}

.owl-carousel .owl-item img {margin:auto;}
.owl-dots {display: none !important;}


.owl-carousel .owl-item img {margin:auto;}
.owl-carousel .owl-item {text-align:center;}



/* BANDEAU GRADIENT */
.wrapper-bandeau {
    /* FANCY GRADIENT */
    --gradient_bg_color: #ba283f;

    --gradient_spot1_color: #7d57a0;
    --gradient_spot1_w: 75%;
    --gradient_spot1_h: 75%;
    --gradient_spot1_x: 0%;
    --gradient_spot1_y: 85%;

    --gradient_spot2_color: #0c9bda;
    --gradient_spot2_w: 75%;
    --gradient_spot2_h: 75%;
    --gradient_spot2_x: 100%;
    --gradient_spot2_y: 0%;

    --gradient_spot3_color: #9fc05d;
    --gradient_spot3_w: 23%;
    --gradient_spot3_h: 23%;
    --gradient_spot3_x: 79%;
    --gradient_spot3_y: 100%;

    padding: 0 30px 0px 30px;
    margin-top: 60px;
}



.wrapper-bandeau .bandeau-inner {
    background: #2c2c2c;
    color: #fff;
    transform: translateY(-60px);
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding: clamp(40px, 5vw, 90px) 20px;
}
.wrapper-bandeau .bandeau-inner .text {
    max-width: 860px;
    margin: 0 auto;
}
.wrapper-bandeau .bandeau-inner h2 {
    text-align: center;
    font-weight: 200;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.05;
    font-size: clamp(27px, 3.5vw, 44px);
}
.wrapper-bandeau .bandeau-inner h2::after {
    content: none;
}

.wrapper-bandeau .bandeau-inner a.bouton {
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
}

.wrapper-bandeau .bandeau-inner a.bouton:hover {
    background: #fff;
    color: #2c2c2c;
    outline: none;
}



.fancy-gradient {
    background-color: var(--gradient_bg_color);
    background-image:
    radial-gradient(
        var(--gradient_spot1_w) var(--gradient_spot1_h)
        at left var(--gradient_spot1_x) top var(--gradient_spot1_y),
        var(--gradient_spot1_color),
        transparent
    ),
    radial-gradient(
        var(--gradient_spot2_w) var(--gradient_spot2_h)
        at left var(--gradient_spot2_x) top var(--gradient_spot2_y),
        var(--gradient_spot2_color),
        transparent
    ),
    radial-gradient(
        var(--gradient_spot3_w) var(--gradient_spot3_h)
        at left var(--gradient_spot3_x) top var(--gradient_spot3_y),
        var(--gradient_spot3_color),
        transparent
    );
}










/* BANDE ACTUALITES */
.wrapper-bande-actus .wrapper-titre {
    background: url('i/fond-actus.jpg');
    background-size: cover;
    background-position: top center;
    padding: clamp(50px, 6vw, 100px) 10px clamp(15px, 3vw, 30px);
}
.wrapper-bande-actus .wrapper-titre h2{
    text-align: center;
}
.wrapper-bande-actus .wrapper-titre h2::after {
    content: none;
}

.wrapper-bande-actus .wrapper-actu {
    display: block;
    position: relative;
}
.wrapper-bande-actus .wrapper-actu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    padding: 10px;
    background: linear-gradient(to bottom right, rgba(221, 53, 83, 0.85), rgba(164, 62, 107, 0.85));

    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: none;
}
.wrapper-bande-actus .wrapper-actu:hover .wrapper-actu-overlay {
    display: flex;
}
.wrapper-bande-actus .wrapper-actu-overlay h3 {
    margin-bottom: 15px;
    color: #fff;
    text-align: center;
}
.wrapper-bande-actus .wrapper-actu-overlay .bouton-actu {
    background: transparent;
    color: #fff;
    border: 2px solid #fff;
    text-transform: uppercase;
    font-size: 22px;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    padding: 0.5em 1.6em;
}

.wrapper-bande-actus .wrapper-actu-image {
    overflow: hidden;
}
.wrapper-bande-actus .wrapper-actu-image img {
    transition: transform 0.3s ease-in-out;
}
.wrapper-bande-actus .wrapper-actu:hover .wrapper-actu-image img {
    transform: scale(1.1);
}



.pswp {
z-index: 200000000;
}



.menu-actualites ul{
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center;
}
.menu-actualites li {
    display: inline-block;
    margin: 5px 15px;
}
.menu-actualites li:last-child {
    margin: 5px 0;
}

.menu-actualites li:not(.current) a.bouton {
    outline: 2px solid #dd3553;
    outline-offset: -2px;
    background: transparent;
    color: #dd3553;
}


.wrapper-listes-actus {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.wrapper-listes-actus .liste-actu {
    width: 33.33%;
    padding: 10px;
}
@media (max-width: 1200px) {
    .wrapper-listes-actus .liste-actu {
        width: 50%;
    }
}
@media (max-width: 700px) {
    .wrapper-listes-actus .liste-actu {
        width: 100%;
        padding: 0;
        padding-bottom: 20px;
    }
}
.wrapper-listes-actus .liste-actu .actu-inner {
    height: 100%;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}
.wrapper-listes-actus .liste-actu .actu-image img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25);
}
.wrapper-listes-actus .liste-actu .actu-content {
    padding: 20px;
}
.wrapper-listes-actus .liste-actu .actu-content h3 {
    margin: 0;
    margin-bottom: 10px;
}
.wrapper-listes-actus .liste-actu .actu-content .bouton {
    font-size: 18px;
    display: block;
    width: max-content;
    margin: 0 auto;
}


.actu-detail {

}
.actu-detail h1 {
    margin-bottom: 15px;
}
.actu-detail-photos {
    float: left;
    margin: 0 20px 20px 0;
}

.actu-detail .actu-detail-premiere-image {text-align: center;}
.actu-detail .actu-photos {text-align:center;}
.actu-detail .actu-photos div {display: inline-block;vertical-align: middle;padding:8px;}



.pix-marque {
    display: inline-block;
    width: 33.33%;
    padding: 20px;
}

.pix-marque img {
    max-height: 100%;
    width: auto;
    max-width: 237px;
}
.pix-marque-inner {
    display: inline-block;
    width: 100%;
    text-align: center;
    vertical-align: middle;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.2s ease-in-out;
}
.pix-marque-inner:hover {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.pix-marque-inner .lien {
    display: inline-block;
    width: 100%;
    padding: 20px;
}
.pix-marque-inner img {
    object-fit: contain;
    object-position: center;
}

@media (max-width:1000px) {
    .pix-marque {width:50%;}
}
@media (max-width:600px) {
    .pix-marque {width:100%;padding-right: 10px; padding-left:10px;}
}
@media (max-width:325px) {
    .pix-marque {padding-right: 0px; padding-left:0px;}
}



.galerie-commentaire {
    display: block;
    color:#999;
    font-size:13px;
}









.wrapper-bande-temoignages {
    padding: clamp(40px, 4vw, 80px) 20px clamp(40px, 4vw, 80px) 20px;
    text-align: center;
    position: relative;
}

.boxed-bande-temoignages {
    max-width: 1180px;
    margin: auto;
    overflow: hidden;
    padding:0px 20px;
}

.wrapper-bande-temoignages h3 {
    text-align: center;
}

h3.bande-temoignages {
    margin-bottom: 0;
}

.temoignages-slide {
}


.temoignages-slide a {color:currentColor;text-decoration: none;outline: none;}

.temoignages-slide {padding:20px;border-radius: 6px;position: relative;}

.temoignages-slide .quote {color:currentColor;text-align: center;}
.temoignages-slide .quote em strong {display: block;color:currentColor;font-style: italic;}

.temoignage-auteur {text-align: center;display: block;}

.slick-dots {bottom: -30px !important;}


.slick-list {padding-top: 0px !important;}

.slick-dots li button {
    font-size: 0 !important;
    width: 10px !important;
    height: 10px !important;
    background: rgba(221, 53, 84, 0.3) !important;
    border-radius: 50% !important;
}

.slick-dots li.slick-active button {
    background: #dd3553 !important;
}

@media (max-width:800px) {
    .boxed-bande-temoignages { padding: 0 15px;}
    .temoignages-slide {padding: 15px;}
}


@media (max-width:500px) {
    .temoignages-slide {padding: 12px;}
}







.temoignagefull-content {
    box-shadow: 0px 0px 3px rgba(0,0,0,0.2);
    font-style: italic;
    position: relative;
    margin-bottom: 30px;
}

.temoignagefull-inner {
    padding: 20px 20px 20px;
    background: #fff;
}

.temoignagefull-auteur {text-align:right;font-weight: bold;}