/*-----------------*/
/* LOADER */
/*-----------------*/
#loader-wrapper svg
{
    --size: 50vw;
    width: var(--size);
    height: var(--size);
    --maxsize: 500px;
    max-width: var(--maxsize);
    max-height: var(--maxsize);
}


@keyframes animate-svg-stroke-1{0%{stroke-dashoffset:6392.65087890625px;stroke-dasharray:6392.65087890625px}100%{stroke-dashoffset:0;stroke-dasharray:6392.65087890625px}}@keyframes animate-svg-fill-1{0%{fill:transparent}100%{fill:rgb(41,66,140)}}.svg-elem-1{animation:animate-svg-stroke-1 1s cubic-bezier(0.47,0,0.745,0.715) 0s both,animate-svg-fill-1 0.7s cubic-bezier(0.47,0,0.745,0.715) 0.8s both}@keyframes animate-svg-stroke-2{0%{stroke-dashoffset:1764.904541015625px;stroke-dasharray:1764.904541015625px}100%{stroke-dashoffset:0;stroke-dasharray:1764.904541015625px}}@keyframes animate-svg-fill-2{0%{fill:transparent}100%{fill:rgb(41,66,140)}}.svg-elem-2{animation:animate-svg-stroke-2 1s cubic-bezier(0.47,0,0.745,0.715) 0.12s both,animate-svg-fill-2 0.7s cubic-bezier(0.47,0,0.745,0.715) 0.9s both}@keyframes animate-svg-stroke-3{0%{stroke-dashoffset:1373.995849609375px;stroke-dasharray:1373.995849609375px}100%{stroke-dashoffset:0;stroke-dasharray:1373.995849609375px}}@keyframes animate-svg-fill-3{0%{fill:transparent}100%{fill:rgb(239,70,29)}}.svg-elem-3{animation:animate-svg-stroke-3 1s cubic-bezier(0.47,0,0.745,0.715) 0.24s both,animate-svg-fill-3 0.7s cubic-bezier(0.47,0,0.745,0.715) 1s both}@keyframes animate-svg-stroke-4{0%{stroke-dashoffset:28.712581634521484px;stroke-dasharray:28.712581634521484px}100%{stroke-dashoffset:0;stroke-dasharray:28.712581634521484px}}@keyframes animate-svg-fill-4{0%{fill:transparent}100%{fill:rgb(239,70,29)}}.svg-elem-4{animation:animate-svg-stroke-4 1s cubic-bezier(0.47,0,0.745,0.715) 0.36s both,animate-svg-fill-4 0.7s cubic-bezier(0.47,0,0.745,0.715) 1.1s both}@keyframes animate-svg-stroke-5{0%{stroke-dashoffset:28.712543487548828px;stroke-dasharray:28.712543487548828px}100%{stroke-dashoffset:0;stroke-dasharray:28.712543487548828px}}@keyframes animate-svg-fill-5{0%{fill:transparent}100%{fill:rgb(239,70,29)}}.svg-elem-5{animation:animate-svg-stroke-5 1s cubic-bezier(0.47,0,0.745,0.715) 0.48s both,animate-svg-fill-5 0.7s cubic-bezier(0.47,0,0.745,0.715) 1.2000000000000002s both}@keyframes animate-svg-stroke-6{0%{stroke-dashoffset:28.712587356567383px;stroke-dasharray:28.712587356567383px}100%{stroke-dashoffset:0;stroke-dasharray:28.712587356567383px}}@keyframes animate-svg-fill-6{0%{fill:transparent}100%{fill:rgb(239,70,29)}}.svg-elem-6{animation:animate-svg-stroke-6 1s cubic-bezier(0.47,0,0.745,0.715) 0.6s both,animate-svg-fill-6 0.7s cubic-bezier(0.47,0,0.745,0.715) 1.3s both}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
a
{
    display: inline-block;
}
.tc_content a:not([class*="button"])
{
    display: inline;
}
.thumbnail_slider a
{
    height: 100%;
    width: 100%;
}
.title.big::before {
    content: '';
    position: absolute;
    top: -130px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 80px;
    z-index: -1;
    background: var(--secondary-color);
}
/*-----------------*/
/* HEADER */
/*-----------------*/

/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.social:not(.no-icon)
{
    padding: 0;
}
.social:not(.no-icon):before
{
    display: none;
}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/

/*-----------------*/
/* CONTENT / INTRODUCTION */
/*-----------------*/


/*-----------------*/
/* GALLERY HOME */
/*-----------------*/
#galleryHome .gallery-item {
    margin-bottom: 0;
}

.gallery-icon {
    line-height: 0;
}

.gallery-icon>*:not(a) {
    line-height: 1.2;
}

.gallery-icon {
    height: 100%;
}

.nohome .gallery .gallery-item a img {
    max-height: 450Px;
}
#galleryHome
{
    z-index: 2;
}
#galleryHome::before
{
    background: var(--primary-color);
    height: 70%;
    top: -1Px;
}
/*-----------------*/
/* CTA */
/*-----------------*/

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
.template-parent-page-php #content
{
    padding-bottom: 0;
}
.template-parent-page-php #prestations
{
    padding-top: 0;
}
.home #prestations::before
{
    background: var(--primary-color);
}
#backgroundPrestations {
    width: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

#backgroundPrestations .background-item {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-transform: scale(.99);
    -ms-transform: scale(.99);
    transform: scale(.99);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-transition: opacity 3s cubic-bezier(.19, 1, .22, 1) 0ms, -webkit-transform 2s cubic-bezier(.19, 1, .22, 1) 0ms;
    transition: opacity 3s cubic-bezier(.19, 1, .22, 1) 0ms, -webkit-transform 2s cubic-bezier(.19, 1, .22, 1) 0ms;
    -o-transition: opacity 3s cubic-bezier(.19, 1, .22, 1) 0ms, transform 2s cubic-bezier(.19, 1, .22, 1) 0ms;
    transition: opacity 3s cubic-bezier(.19, 1, .22, 1) 0ms, transform 2s cubic-bezier(.19, 1, .22, 1) 0ms;
    transition: opacity 3s cubic-bezier(.19, 1, .22, 1) 0ms, transform 2s cubic-bezier(.19, 1, .22, 1) 0ms, -webkit-transform 2s cubic-bezier(.19, 1, .22, 1) 0ms
}


#backgroundPrestations .background-item:before {
    content: "";
    position: absolute;
    background: var(--black);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: .5
}

#backgroundPrestations .background-item.active,
#backgroundPrestations .background-item.on {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
}

#prestations .widget_parentpage li:not(.active) {
}


.bloc_prestations {
    position: relative;
    overflow: hidden;
    /* min-height: 700px; */
}

.bloc_prestations:before {
    pointer-events: none;
    z-index: 10;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    opacity: 1;
    transition: opacity ease 0.5s;
}


.bloc_prestations .prestations-img {
    opacity: 1;
    min-height: inherit;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center center;
    transition: all ease 0.5s;
    width: 100%;
    /* height: auto; */
}


.bloc_prestations .prestations-img .blocthumb:before,
.bloc_prestations .prestations-img .blocthumb:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: opacity ease-in-out 0.3s;
}

.bloc_prestations .prestations-img .blocthumb:after {
    z-index: 2;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.6) 100%);
}

.prestations-content .liresuite {
    margin-top: 40px;
}

#foregroundPrestations {
    grid-gap: 0;
    position: relative;
    z-index: 2;
}

.prestations-wrapper {
    height: 100%;
    display: flex;
    position: relative;
}

.bloc_prestations .prestations-content {
    transition: opacity ease 0.5s;
    position: relative;
    z-index: 2;
    width: 100%;
    text-shadow: 0px 0px 8px rgb(0 0 0 / 20%);
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
}


.bloc_prestations .title-presta {
    transition: opacity ease 0.5s;
    opacity: 1;
    transition: all ease 0.5s;
}

.bloc_prestations .icone-presta {
    width: 50px;
    margin: 0 auto 20px;
}

.bloc_prestations:hover .title-presta {
    transform: translateY(0);
}

.prestations-content h2,
.prestations-content h3 {
    text-transform: uppercase;
    letter-spacing: 2px;
    /* font-size: 34px; */
}

.prestations-content .title_content,
.prestations-content .content_link,
.prestations-content .tc_excerpt {
    color: var(--white);
}


.bloc_prestations .txt-presta {
    font-size: 15px;
    line-height: 1.7;
    max-width: 500px;
    margin: 0 auto;
    transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
    max-height: 0;
    opacity: 0;
}

.bloc_prestations .txt-presta .content_link {
    color: var(--white);
    line-height: 1.5;
    display: block;
    margin-bottom: 40px;
}

.bloc_prestations:hover .txt-presta {
    max-height: 400px;
    opacity: 1;
    -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    -o-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
}

.nohome #prestations {
    /* padding: 0; */
}

#prestations .widget_parentpage {
    counter-reset: prestation;
    align-items: center;
    grid-gap: 5px;
}

#prestations .prestations-img {
    height: 100%;
}

#prestations .prestations-wrapper {
    height: 300px;
    position: relative;
    overflow: hidden;
    transition: all 0.4s;
}

#prestations .bloc_prestations {
    position: relative;
    transition: all 0.4s;
}

#prestations .prestations-content {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding: 30px 20px;
    background: rgba(0, 0, 0, 0.2);
    pointer-events: none;
    position: absolute;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

#prestations .prestations-title {
    padding: 20px;
    transition: 300ms all ease-in-out;
    text-align: center;
}

.prestations-content h2,
.prestations-content h3 {
    margin-bottom: 0;
}

#prestations .prestations-title:after {
    left: 50%;
    top: -25px;
    transform: translate(-1px, 0);
    border-left: 1px solid var(--secondary-color);
    height: 36px;
    width: 2px;
    z-index: 1;
}

#prestations .prestations-txt .tc_excerpt {
    color: var(--white);
    opacity: 0;
    transform: translate3d(100px, 0, 0);
    transition: all 0.5s cubic-bezier(0.2, 1, 0.7, 1);
    transition-property: transform, opacity;
    display: block;
    margin: 30px 0 0 0;
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
    font-weight: bold;
    display: none;
}

#prestations .prestations-txt .liresuite {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
    transition: all 0.5s cubic-bezier(0.2, 1, 0.7, 1);
    transition-property: transform, opacity;
    text-align: center;
    pointer-events: all;
}

#prestations .bloc_prestations:hover .prestations-txt .liresuite,
#prestations .bloc_prestations:hover .prestations-txt .tc_excerpt {
    transition-delay: 0s;
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

#prestations .blocthumb:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: var(--overlay-color);
    height: 100%;
    width: 100%;
    transition: 250ms all ease-in-out;
    z-index: 1;
    opacity: 0.5;
}

#prestations .blocthumb img {
    transition: all 600ms ease-in-out;
}

#prestations .bloc_prestations:hover .blocthumb:before {
    opacity: 0.4;
}

#prestations .bloc_prestations:hover .blocthumb img {
    transform: scale(1.2);
}

#prestations .bloc_prestations:hover .prestations-title {
    background: var(--secondary-color);
}

#prestations .bloc_prestations:hover .prestations-title h3 a,
#prestations .bloc_prestations:hover .prestations-title:before {
    color: var(--white);
}

.bloc_prestations .prestations-img .blocthumb:after {
    content: "";
    position: absolute;
    right: 0px;
    bottom: 0px;
    left: -200%;
    width: 300%;
    height: 100%;
    transition: all 0.8s;
    background: linear-gradient(45deg, transparent 30%, #ffffff90 50%, transparent 70%);
    z-index: 1;
    pointer-events: none;
}

.bloc_prestations:hover .prestations-img .blocthumb:after {
    left: 0%;
}
/*-----------------*/
/* ACTU / NEWS */
/*-----------------*/
.home #news::before
{
    background-image: url(../images/home-bg2.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.home #news .overlay
{
    background: var(--primary-color);
    opacity: 0.7;
}
.white .title_link_slider:not(:hover)
{
    color: var(--white);
}
/*-----------------*/
/* SECTIONS */
/*-----------------*/
.sectionsbloc .blocthumb
{
    overflow: hidden;
}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances::before
{
    background: var(--primary-color);
}
/*-----------------*/
/* certifications */
/*-----------------*/
#certifications .widget_element img
{
    max-height: 50px;
}
#certifications .widget_element li .wrap-element
{
    border: none;
}
#certifications .widget_element :is(.wrap-element,.bloc_certifications)
{
    padding: 0!important;
    justify-content: start;
}
.knxwrap
{
    font-size: 0.6em;
    gap: 5px;
    color: var(--text-color);
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 20px;
    text-align: center;
}
.knx
{
    height: 50px;
    padding: 0 !important;
    max-width: initial !important;
    width: initial !important;
}
/*-----------------*/
/* PARTENAIRES */
/*-----------------*/
.home #partenaires::before
{
    background-image: url(../images/home-bg1.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.home #partenaires .overlay
{
    background: var(--primary-color);
    opacity: 0.8;
}
/*-----------------*/
/* NEWSLETTER */
/*-----------------*/

/*-----------------*/
/* AGENCES */
/*-----------------*/

/*-----------------*/
/* cta */
/*-----------------*/

#ctaHome {
	background: var(--background-color);
	box-shadow: 0px 38px 70px 0px rgb(0 0 0 / 9%)
}

#ctaHomeList h3 {
	color: var(--title-color);
	font-size: 1.3em;
}
#ctaHomeList>div:first-child h3
{
    margin-top: 0;
}
#ctaHomeList {
	padding: 60px 20px;
	box-sizing: border-box
}

#ctaHomeList .adresseIco p {
	display: inline-block;
	margin-bottom: 0;
	cursor: initial
}

#ctaHomeList>div {
	padding: 0 40px;
	display: grid
}

#ctaHome .subtitle {
	margin: 0
}
#ctaHome {
    position: absolute;
    top: initial;
    bottom: 100px;
    left: 0%;
    width: 100%;
    max-width: 700px;
}

/*-----------------*/
/* FOOTER */
/*-----------------*/
.wrapperFooter {
    background: var(--primary-color);
    box-shadow: 0px 0px 30px #1a1a2612;
    padding: 10px
}

.imgFooter {
    background: url(../images/home-bg5.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}
#footerLinks {
    padding: 20px;
    /* margin: 0 auto 50px; */
    border-top: 1px solid rgb(0 0 0 / 10%);
    text-transform: uppercase;
    letter-spacing: 0px;
    font-size: 11px;
    font-weight: bold;
}
#footer .cekome_form .blc_checkbox label a:hover{color: var(--white);}
#footer #footerbloc {padding: 40px 15px}
#footer #wrapperForm .title{margin-bottom: 20px;}


