/*-----------------*/
/* LOADER */
/*-----------------*/
.dank-ass-loader{display:flex;flex-direction:column;align-items:center}.dank-ass-loader .row{display:flex}.arrow{width:0;height:0;margin:0 -6px;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:21.6px solid var(--primary-color);-webkit-animation:1s infinite blink;animation:1s infinite blink;filter:drop-shadow(0 0 18px var(--primary-color))}.arrow.down{transform:rotate(180deg)}.arrow.outer-1{-webkit-animation-delay:-.0555555556s;animation-delay:-.0555555556s}.arrow.outer-2{-webkit-animation-delay:-.1111111111s;animation-delay:-.1111111111s}.arrow.inner-1,.arrow.outer-3{-webkit-animation-delay:-.1666666667s;animation-delay:-.1666666667s}.arrow.outer-4{-webkit-animation-delay:-.2222222222s;animation-delay:-.2222222222s}.arrow.outer-5{-webkit-animation-delay:-.2777777778s;animation-delay:-.2777777778s}.arrow.inner-2,.arrow.outer-6{-webkit-animation-delay:-.3333333333s;animation-delay:-.3333333333s}.arrow.outer-7{-webkit-animation-delay:-.3888888889s;animation-delay:-.3888888889s}.arrow.outer-8{-webkit-animation-delay:-.4444444444s;animation-delay:-.4444444444s}.arrow.inner-3,.arrow.outer-9{-webkit-animation-delay:-.5s;animation-delay:-.5s}.arrow.outer-10{-webkit-animation-delay:-.5555555556s;animation-delay:-.5555555556s}.arrow.outer-11{-webkit-animation-delay:-.6111111111s;animation-delay:-.6111111111s}.arrow.inner-4,.arrow.outer-12{-webkit-animation-delay:-.6666666667s;animation-delay:-.6666666667s}.arrow.outer-13{-webkit-animation-delay:-.7222222222s;animation-delay:-.7222222222s}.arrow.outer-14{-webkit-animation-delay:-.7777777778s;animation-delay:-.7777777778s}.arrow.inner-5,.arrow.outer-15{-webkit-animation-delay:-.8333333333s;animation-delay:-.8333333333s}.arrow.outer-16{-webkit-animation-delay:-.8888888889s;animation-delay:-.8888888889s}.arrow.outer-17{-webkit-animation-delay:-.9444444444s;animation-delay:-.9444444444s}.arrow.inner-6,.arrow.outer-18{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes blink{0%,100%{opacity:.1}30%{opacity:1}}@keyframes blink{0%,100%{opacity:.1}30%{opacity:1}}

/*-----------------*/
/* ELEMENTS */
/*-----------------*/
a {
    display: inline-block;
}

.tc_content a:not([class*="button"]) {
    display: inline;
}

.thumbnail_slider a {
    height: 100%;
    width: 100%;
}

.tc_content iframe {
    width: 100%;
    min-height: 400px;
    background: #000;
}
/*------------------- LINES ---------------------*/
.grid-lines {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.grid-lines>div {
    display: block;
    float: left;
    height: 100%;
    border-left: 1px solid #f4f4f4;
    box-sizing: border-box;
    width: 16.666%
}

.grid-lines.light {
    position: absolute;
    z-index: 0
}

.grid-lines.light>div {
    border-left-color: rgba(105, 105, 105, .3)
}

.grid-lines>div:last-child {
    border-right: 1px solid #f4f4f4
}

/*------------------- &&& ---------------------*/
.underbutton>*,
.button,
.tc_content .wp-block-button__link {
    padding-right: 50px !important;
}

.underbutton>*:before,
.button:before,
.tc_content .wp-block-button__link:before {
    content: "";
    width: 100%;
    height: 0;
    bottom: 0;
    position: absolute;
    transition: all .25s linear;
    background: var(--primary-color);
    left: 0;
    z-index: -1
}

.underbutton>*:after,
.button:after,
.tc_content .wp-block-button__link:after {
    right: 20px;
    top: 50%;
    content: " ";
    height: 14px;
    width: 20px;
    position: absolute;
    pointer-events: none;
    background-image: url(../images/icons/long-arrow-right-white.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transform: translateY(-50%);
    transition: all .3s ease
}

.underbutton:hover>*:after,
.button:hover:after,
.tc_content .wp-block-button__link:hover:after {
    transform: translateY(-50%) translateX(5px)
}

.underbutton:hover>*:before,
.button:hover:before,
.tc_content .wp-block-button__link:hover:before {
    height: 100%
}

/*-----------------*/
/* HEADER */
/*-----------------*/


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

.social:not(.no-icon):before {
    display: none;
}



#header-coordonnees {
    position: relative;
    z-index: 3;
}

/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome {
    display: grid;
    grid-template-rows: 1fr auto;
    position: relative;
}
body #headerHome .vegas-container {
    z-index: -1;
}

/*-----------------*/
/* CONTENT / INTRODUCTION */
/*-----------------*/
.home #content
{
    overflow: hidden;
}

/*-----------------*/
/* 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;
}

/*-----------------*/
/* CTA */
/*-----------------*/

/*-----------------*/
/* PRESTATIONS */
/*-----------------*/
#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) {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}


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

.bloc_prestations.on {
    backdrop-filter: blur(8px);
}

.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.on .prestations-img img {
    opacity: 0;
}

.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.off .prestations-img {
    opacity: 0;
}

.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;
}

.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.on .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.off .title-presta{opacity: 0;} */


.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.on .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);
}


/*-----------------*/
/* ACTU / NEWS */
/*-----------------*/

#news::before {
    background-image: url(../images/bg-news.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/*-----------------*/
/* SECTIONS */
/*-----------------*/


/*-----------------*/
/* REASSURANCES */
.picto-bloc {
    position: relative;
}

.picto-bloc:before {
    content: "";
    background: var(--primary-color);
    position: absolute;
    --size: 60px;
    width: var(--size);
    height: var(--size);
    left: 5px;
    top: 52%;
    transform:translateY(-50%) rotate(-45deg);
    z-index: -1;
}
/*-------*/
.nohome #reassurances {
    padding: 120px 20px;
}

.nohome #reassurances::before {
    background-image: url(../images/home-bg1.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.nohome .picto-bloc:before
{
    top: -10px;
    left: 50%;
    transform:translateX(-50%) rotate(-45deg);
}

.nohome #reassurances .overlay {
    z-index: -1;
}
.nohome .picto-container li p {
    color: var(--white);
}
/*-------*/
.home #reassurances
{
    padding: 20px;
}
.home #reassurances .overlay {
    display: none;
}
.home .picto-container
{
    display: grid;
}
.home .picto-container .picto-bloc {
    display: grid;
    grid-template-columns: 80px 1fr;
    width: auto;
    text-align: left;
    margin: 25px 0;
}
.home .picto-container .picto-bloc:nth-child(even) {
    left: 50px;
    width: calc(100% - 50px);
}

.home .picto-bloc:nth-child(even):before
{
    background: var(--black);
}

.home .picto-container li p {
    margin-top: 0;
}

/*-----------------*/
/* certifications */
/*-----------------*/

/*-----------------*/
/* PARTENAIRES */
/*-----------------*/

/*-----------------*/
/* NEWSLETTER */
/*-----------------*/

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

/*-----------------*/
/* CONTACTFORM */
/*-----------------*/
#infoadresseContact
{
    gap: 15Px;
    display: grid!important;
}
#infoadresseContact>*,#infoouvertureContact
{
    display: grid;
}


/*-----------------*/
/* FOOTER */
/*-----------------*/
body.template-contact-php #footerCTA:before {
    content: none;
}

#footerCTA:after {
    background: var(--overlay-color);
    /* opacity: 0.8; */
}

#footer {
    background-color: var(--background-color);
}

#footerCTA {
    background-image: url(../images/home-bg4.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    /* padding: 150px 50px 250px; */
    z-index: 3;
}

#footerCoordonnees {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    color: var(--white);
    border-top: solid 1px rgb(255 255 255 / 50%)
}

#footerCoordonnees .wrappercontent>div {
    line-height: 1.3;
    padding: 45px 20px 20px 20px;
}

#footerLinks {
    background: none;
    justify-content: flex-end;
}
