/*-----------------*/
/* LOADER */
/*-----------------*/

.loaderText {
    color: var(--background-color);
    font-family: var(--font-bold);
}

.loading-page {
    background: var(--background-color);
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loading-page .counter {
    text-align: center;
}

.loading-page .counter p {
    font-size: 40px;
    font-weight: 100;
    color: var(--primary-color);
    margin-bottom: 20px;
}

.loading-page .counter h2 {
    color: white;
    text-align: center;
    font-size: 60px;
    margin-top: -10px;
}

.loading-page .counter hr {
    background: var(--primary-color);
    border: none;
    height: 1px;
}

.loading-page .counter {
    position: relative;
}

.loading-page .counter h1.abs {
    position: absolute;
    top: 0;
    width: 100%;
}

.loading-page .counter .color {
    width: 0px;
    overflow: hidden;
    color: var(--primary-color);
}
/*-----------------*/
/* ELEMENTS */
/*-----------------*/
a
{
    display: inline-block;
}
.tc_content a:not([class*="button"])
{
    display: inline;
}
.thumbnail_slider a
{
    height: 100%;
    width: 100%;
}
.white blockquote p
{
    color: var(--white);
}
.cut
{
    position: fixed;
    --size:100%;
    width: var(--size);
    height: var(--size);
    left: 0;
    top: 0;
    pointer-events: none;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 3fr 2fr 3fr 1fr;
    opacity: 0.05;
}
.cutChild
{
    --size:100%;
    width: var(--size);
    height: var(--size);
    border-right: 1px solid var(--white);
}

/*-------------------- LINKTURN -------------------*/
.linkTurn {
    --size: 11rem;
    width: var(--size);
    height: var(--size);
    display: inline-block;
    font-size: 15px;
    font-family: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    word-spacing: 1em;
    text-decoration: none;
    -webkit-font-smoothing: auto;
    font-weight: bold;
    position: absolute;
    top: 55%;
    left: 0;
}

.link__svg {
    width: 100%;
    height: auto;
    transform-box: fill-box;
    fill: var(--white);
    stroke: var(--white);
    border-radius: 50%;
    padding: 10px;
    stroke-width: 0.05em;
    box-sizing: border-box;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
    background: var(--primary-color);
}

.link__arrow {
    transform-origin: 50% 50%;
    transition: transform 0.15s cubic-bezier(0.32, 0, 0.67, 0);
}

.linkTurn:hover .link__arrow {
    transform: scale(1.3);
    transition: transform 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}

.link__arrow {
    stroke-width: 0.075em;
    transform: rotate(-25deg);
}

.link__text {
    -webkit-animation: rotateReverse normal infinite 20s linear;
    animation: rotateReverse normal infinite 20s linear;
    transform-origin: 50% 50%;
}

.link--alt {
    font-size: 1.15rem;
    letter-spacing: 0;
    word-spacing: 0;
}

.linkTurn.white svg {
    fill: var(--white);
    stroke: var(--white);
}
/*-----------------*/
/* HEADER */
/*-----------------*/
#header-perso {
    width: 70px;
    top: 0;
    left: 50px;
    transform: translateY(-100%);
    transition: 1s all ease-in-out;
}

body.is-toggle-open #header-perso {
    transform: translateY(0);
}

#header-coordonnees {
    position: fixed;
    top: 0;
    right: -360px;
    width: 360px;
    height: 100%;
    min-height: 100%;
    padding: 70px 20px 65px;
    background-color: var(--black);
    overflow: hidden;
    visibility: hidden;
    overflow-y: auto;
    z-index: 9998;
    -webkit-transition: all .6s cubic-bezier(.77, 0, .175, 1);
    -o-transition: all .6s cubic-bezier(.77, 0, .175, 1);
    transition: all .6s cubic-bezier(.77, 0, .175, 1);
    text-align: left;
    box-shadow: 0 0 30px #75757557;
}

body.is-toggle-open #header-coordonnees {
    right: 0;
    visibility: visible
}

#info-toogle {
    display: flex;
    justify-self: center;
    align-items: center;
}

#info-toogle svg circle {
    stroke-dasharray: 160;
    stroke-dashoffset: 0;
    transform-origin: center;
    transform: rotate(0deg);
    transition: transform 1.2s cubic-bezier(.23, 1, .32, 1), stroke-dashoffset 1.2s cubic-bezier(.23, 1, .32, 1);
    fill: var(--black);
}

#header.fixed-header #info-toogle svg circle,
.nohome #info-toogle svg circle {
    fill: none;
}

.is-toggle-open #header #info-toogle svg circle {
    fill: none;
}

body:not(.is-toggle-open) #info-toogle:hover svg circle {
    transform: rotate(2turn);
    stroke-dashoffset: 160;
}

#info-toogle svg path {
    stroke-dashoffset: 0;
}

#info-toogle svg path:first-of-type {
    stroke-dasharray: 28;
    transition: stroke-dashoffset .8s cubic-bezier(.23, 1, .32, 1) .4s;
}

#info-toogle svg path:nth-of-type(2) {
    stroke-dasharray: 20;
    transition: stroke-dashoffset .8s cubic-bezier(.23, 1, .32, 1) .5s;
}

#info-toogle .header__toggler-bar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
    height: 2px;
    background-color: var(--primary-color);
    transition: transform .8s cubic-bezier(.23, 1, .32, 1);
}

#info-toogle .header__toggler-bar:nth-child(2) {
    transform: translate(-50%, -50%) rotate(45deg) scaleX(0);
    transition-delay: 0s;
}

#info-toogle .header__toggler-bar:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(0);
    transition-delay: .1s;
}

body.is-toggle-open #info-toogle .header__toggler-bar:nth-child(2) {
    transform: translate(-50%, -50%) rotate(45deg) scaleX(1);
    transition-delay: .4s;
}

body.is-toggle-open #info-toogle .header__toggler-bar:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(1);
    transition-delay: .5s;
}

body.is-toggle-open #info-toogle svg path:first-of-type {
    stroke-dashoffset: 28;
    transition-delay: .1s;
}

body.is-toggle-open #info-toogle svg path:nth-of-type(2) {
    stroke-dashoffset: 20;
    transition-delay: 0s;
}


#header-coordonnees .flex>div {
    margin: 15px auto;
}

#header-coordonnees .flex>div:not(.title, #header-contact) {
    max-width: 230px;
    width: 100%;
}

#header-coordonnees .title h2 {
    font-size: 34px;
}
.modal
{
    color: var(--black);
}
/*-----------------*/
/* NAVPRIMARY */
/*-----------------*/
.navigmenu .naviglink.lvl-0 span:after,
.navigmenu .naviglink span:before {
    content: '';
    display: block;
    position: absolute;
    left: -.1em;
    bottom: -.4em;
    width: 100%;
    height: 1px;
    border-top: 1px solid var(--primary-color);
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.48, .57, .33, .89) .1s;
    -o-transition: transform .4s cubic-bezier(.48, .57, .33, .89) .1s;
    transition: transform .4s cubic-bezier(.48, .57, .33, .89) .1s;
    transition: transform .4s cubic-bezier(.48, .57, .33, .89) .1s, -webkit-transform .4s cubic-bezier(.48, .57, .33, .89) .1s
}

.navigmenu .naviglink span:before {
    padding-bottom: 4px;
    -webkit-transition: -webkit-transform .4s cubic-bezier(.48, .57, .33, .89);
    -o-transition: transform .4s cubic-bezier(.48, .57, .33, .89);
    transition: transform .4s cubic-bezier(.48, .57, .33, .89);
    transition: transform .4s cubic-bezier(.48, .57, .33, .89), -webkit-transform .4s cubic-bezier(.48, .57, .33, .89)
}


#navprimary .navigmenu .active .naviglink.lvl-0 {
    color: var(--primary-color);
}

#navprimary .navigmenu .active .naviglink.lvl-0 span:after,
#navprimary .navigmenu .naviglink.lvl-0:hover span:after,
#navprimary .navigmenu .active>.naviglink span:before,
#navprimary .navigmenu .naviglink:hover span:before {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
}


/*-----------------*/
/* HEADERHOME */
/*-----------------*/
#headerHome-content {
    pointer-events: none;
}

#headerHome-content>* {
    pointer-events: all;
}

#headerHome-social .sociblock .share-buttons a svg {
    --size: 20px;
}

#headerHome-social .sociblock .share-buttons a:not(:hover) svg {
    fill: var(--white);
}
#headerHome-accroche
{
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
}
/*-------------------- HEADERHOME -------------------*/
#headerHome .widget_certiftops
{
    width: 100%;
    max-width: 200px;
    position: absolute;
    bottom: 20px;
    right: 0;
    z-index: 2;
}
#headerHome .bloc_certiftops
{
    padding: 0!important;
}
#headerHome .widget_element li .wrap-element
{
    border-radius: 0;
    border: none;
    background: #fff0;
}
#headerHome .widget_element img {
    max-height: 120px;
}
/*-------------------- MOT -------------------*/
#banner
{
    background: var(--white);
}


/*-----------------*/
/* CONTENT / INTRODUCTION */
/*-------------*/
#content .wp-block-gallery {
    position: relative;
    z-index: 1;
}

#content .uagb-timeline__day-new {
    background: var(--primary-color);
    color: var(--white);
}

#content .uagb-timeline__date-new {
    font-family: var(--font-title);
}

#content .uagb-timeline__day-new .uagb-timeline__heading {
    color: var(--white);
    font-size: 20px;
}

#content .uagb-timeline-desc-content {
    font-size: 15px;
    line-height: 1.3;
    font-weight: bold;
}

#content .uagb-timeline__day-right .uagb-timeline__arrow:after {
    border-left-color: var(--primary-color);
}

#content .uagb-timeline__day-left .uagb-timeline__arrow:after {
    border-right-color: var(--primary-color);
}

.home #content .ckslidercontrols .next,
.home #content .ckslidercontrols .prev {
    top: 50%;
    transform: translateY(-50%);
}

.home #content .cksliderwrap {
    padding-bottom: 0;
}

.home #content .ckctrldiv {
    display: none;
}

.home #content .widget_element li .wrap-element {
    height: 100px;
}
.home #content .tertiarythumb
{
    position: relative;
}


/*-----------------*/
/* 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 */
/*-----------------*/
#prestations
{
    z-index: 2;
}

.prestations-content {
    opacity: 1;
    border-radius: 50%;
    position: absolute;
    z-index: 1;
    opacity: 1;
    pointer-events: none;
	transform: translateX(-50%) translateY(-50%);
}
.prestations-content .liresuite
{
	line-height: 0;
}
.prestations-content .liresuite,.prestations-content h3
{
	background-color: var(--black);
}
.prestations-content .liresuite a,.prestations-content h3
{
	font-family: var(--font-alt);
	font-size: 25px;
	padding:  7px 10px;
	line-height: 1;
	text-transform: uppercase;
}
.prestations-content h3
{
	margin-left: -40px;
	margin-right: 40px;
}
.prestations-content .liresuite a
{
	background: #fff0!important;
}	

.prestations-wrapper
{
    position: relative;
}
.prestations-wrapper img
{
	transition: all 0.6s;
	transform: initial;
}
.prestations-wrapper .overlay
{
	z-index: 1;
}
.prestations-wrapper:hover img
{
	transform: scale(1.2) rotate(5deg);
}
.bloc_prestations
{
    overflow: hidden;
}
.bloc_prestations .prestations-content h3, .bloc_prestations .prestations-content .liresuite,  .bloc_prestations .prestations-content .tc_excerpt
{
    transition: all 0.4s;
    position: relative;
    top: 50px;
    margin-top: 0;
    margin-bottom: 0;
}
 .bloc_prestations .prestations-content .liresuite,  .bloc_prestations .prestations-content .tc_excerpt
{
    opacity: 0;
    display: inline-block;
    top: 150Px;
}
 .bloc_prestations:hover .prestations-content .liresuite,  .bloc_prestations:hover .prestations-content .tc_excerpt, .bloc_prestations:hover .prestations-content h3
{
    top: 0;
    opacity: 1;
}

.bloc_prestations:nth-child(2) .prestations-wrapper{
    transition-delay: 0.1s;
}
.bloc_prestations:nth-child(3) .prestations-wrapper{
    transition-delay: 0.2s;
}
.prestations-img
{
	position: relative;
	z-index: 0;
}



/*-----------------*/
/* ACTU / NEWS */
/*-----------------*/
#news>* {
    overflow: hidden;
}

#news .overlay {
    z-index: -1;
}

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

.home .content_slider {
    color: var(--white);
    z-index: 1;
    position: relative;
}

.home .thumbnail_slider {
    position: absolute;
    --size: 100%;
    width: var(--size);
    height: var(--size);
    transform: scale(0);
    transition: all 0.4s;
}

.home .thumbnail_slider img {
    position: absolute;
    --size: 300px;
    width: var(--size);
    height: var(--size);
    transition: all 0s;
    top: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(2deg);
    filter: brightness(0.5);
    border-radius: 20px;
}

.wrapper_slider:hover .thumbnail_slider {
    transform: scale(1);
}

.newsdate {
    /* background: var(--secondary-color); */
    display: grid;
    align-items: center;
    padding: 20px;
    font-family: var(--font-alt);
    color: var(--white);
    border: 1px solid var(--primary-color);
    background: #663b2929;
}

.wrapper_slider .button {
    font-size: 0;
    --size: 50px;
    width: var(--size);
    height: var(--size);
    background: #fff0;
    border: 1px solid var(--white);
    transition: all 0.4s;
    border-radius: 50% !important;
}

.wrapper_slider .button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: url(../images/icons/arrowMore.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50%;
    transition: all 0.4s;
}

.wrapper_slider .button:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.wrapper_slider .button:hover::before {
    transform: rotate(360deg);
}

/*-----------------*/
/* SECTIONS */
/*-----------------*/
.section_thumb .blocthumb {position: relative}

.sectionsbloc .specialthumb {overflow: hidden}
.sectionsbloc .specialthumb img {height: 120%}

.sectionsbloc.even .section_thumb {order: 2;}
.sectionsbloc.even .specialthumb {height: 100%;}


.sectionsbloc.odd .section_thumb {order: 0;}

.sectionsbloc .specialthumb
{
    overflow: hidden;
}

.sectionsbloc.odd .section_txt .title h2,
.sectionsbloc.odd .section_txt {color: var(--white)}

.sectionsbloc.odd .section_txt:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--title-color);
    z-index: -1
}

:is(#footerForm,.sectionsbloc.black) :is(p,h2,.schema-faq *,.blc,.mention)
{
    color: var(--black)!important;
}

/*-----------------*/
/* REASSURANCES */
/*-----------------*/
#reassurances {
    padding: 0 20Px;
}

#reassurances::before {
    background: url(../images/home-bg1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.nohome #reassurances::before
{
    background-attachment: fixed;
}
#reassurances .title {
    text-shadow: 0px 0px 20px #000;
}

#reassurances .overlay {
    z-index: -1;
}

.pictoImg {
    background: url(../images/home-bg3.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 200px;
}

#reassurances :is(svg, .iconeRea) {
    height: 70px;
    width: 70px;
    background: var(--primary-color);
    padding: 17px;
    box-sizing: border-box;
    max-width: 100%;
    position: relative;
    border-radius: 4px;
}

.picto-bloc {
    position: relative;
}

.picto-bloc svg {
    padding: 5px;
    box-sizing: border-box;
}



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

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

/*-----------------*/
/* FAQ */
/*-----------------*/

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

/*-----------------*/
/* CONTACTFORM */
/*-----------------*/

/*-----------------*/
/* FOOTER */
/*-----------------*/

#footer:before{
    background: url(../images/home-bg1.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.wrapperContact {
    padding: 0;
    background: var(--white);
    box-shadow: 0px 0px 30px #1a1a2612;
    width: auto;
}
#wrapperForm {padding: 50px;}
.imgContact{
    background: url(../images/home-bg2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#footerLinks {
    padding: 20px;
    /* margin: 0 auto 50px; */
    border-top: 1px solid rgb(255 255 255 / 10%);
}
#footer #footerbloc {padding: 40px 15px;}

body.template-contact-php #footer:before,
body.template-contact-php #footer:after{content: none}


