.ct-section {
    width: 100%;
    background-size: cover;
    background-repeat: repeat
}

.ct-section>.ct-section-inner-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.ct-div-block {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start
}

.ct-new-columns {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap
}

.ct-link-text {
    display: inline-block
}

.ct-link {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    text-decoration: none;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.ct-link-button {
    display: inline-block;
    text-align: center;
    text-decoration: none
}

.ct-link-button {
    background-color: #1e73be;
    border: 1px solid #1e73be;
    color: #fff;
    padding: 10px 16px
}

.ct-image {
    max-width: 100%
}

.ct-fancy-icon>svg {
    width: 55px;
    height: 55px
}

.ct-inner-content {
    width: 100%
}

.ct-slide {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.ct-nestable-shortcode {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start
}

.oxy-comments {
    width: 100%;
    text-align: left
}

.oxy-comment-form {
    width: 100%
}

.oxy-login-form {
    width: 100%
}

.oxy-search-form {
    width: 100%
}

.oxy-tabs-contents {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start
}

.oxy-tab {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start
}

.oxy-tab-content {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: flex-start
}

.oxy-testimonial {
    width: 100%
}

.oxy-icon-box {
    width: 100%
}

.oxy-pricing-box {
    width: 100%
}

.oxy-posts-grid {
    width: 100%
}

.oxy-gallery {
    width: 100%
}

.ct-slider {
    width: 100%
}

.oxy-tabs {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: stretch
}

.ct-modal {
    flex-direction: column;
    align-items: flex-start
}

.ct-span {
    display: inline-block;
    text-decoration: inherit
}

.ct-widget {
    width: 100%
}

.oxy-dynamic-list {
    width: 100%
}

@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none) {
    .ct-div-block,.oxy-post-content,.ct-text-block,.ct-headline,.oxy-rich-text,.ct-link-text {
        max-width: 100%
    }

    img {
        flex-shrink: 0
    }

    body * {
        min-height: 1px
    }
}

.oxy-testimonial {
    flex-direction: row;
    align-items: center
}

.oxy-testimonial .oxy-testimonial-photo-wrap {
    order: 1
}

.oxy-testimonial .oxy-testimonial-photo {
    width: 125px;
    height: 125px;
    margin-right: 20px
}

.oxy-testimonial .oxy-testimonial-photo-wrap,.oxy-testimonial .oxy-testimonial-author-wrap,.oxy-testimonial .oxy-testimonial-content-wrap {
    align-items: flex-start;
    text-align: left
}

.oxy-testimonial .oxy-testimonial-text {
    margin-bottom: 8px;
    font-size: 21px;
    line-height: 1.4;
    -webkit-font-smoothing: subpixel-antialiased
}

.oxy-testimonial .oxy-testimonial-author {
    font-size: 18px;
    -webkit-font-smoothing: subpixel-antialiased
}

.oxy-testimonial .oxy-testimonial-author-info {
    font-size: 12px;
    -webkit-font-smoothing: subpixel-antialiased
}

.oxy-icon-box {
    text-align: left;
    flex-direction: column
}

.oxy-icon-box .oxy-icon-box-icon {
    margin-bottom: 12px;
    align-self: flex-start
}

.oxy-icon-box .oxy-icon-box-heading {
    font-size: 21px;
    margin-bottom: 12px
}

.oxy-icon-box .oxy-icon-box-text {
    font-size: 16px;
    margin-bottom: 12px;
    align-self: flex-start
}

.oxy-icon-box .oxy-icon-box-link {
    margin-top: 20px
}

.oxy-pricing-box .oxy-pricing-box-section {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    text-align: center
}

.oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
    justify-content: center
}

.oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
    justify-content: center
}

.oxy-pricing-box .oxy-pricing-box-title-title {
    font-size: 48px
}

.oxy-pricing-box .oxy-pricing-box-title-subtitle {
    font-size: 24px
}

.oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
    flex-direction: row
}

.oxy-pricing-box .oxy-pricing-box-currency {
    font-size: 28px
}

.oxy-pricing-box .oxy-pricing-box-amount-main {
    font-size: 80px;
    line-height: .7
}

.oxy-pricing-box .oxy-pricing-box-amount-decimal {
    font-size: 13px
}

.oxy-pricing-box .oxy-pricing-box-term {
    font-size: 16px
}

.oxy-pricing-box .oxy-pricing-box-sale-price {
    font-size: 12px;
    color: rgba(0,0,0,.5);
    margin-bottom: 20px
}

.oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
    font-size: 16px;
    color: rgba(0,0,0,.5)
}

.oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
    justify-content: center
}

.oxy-progress-bar .oxy-progress-bar-background {
    background-color: #000;
    background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);
    animation: none 0s paused
}

.oxy-progress-bar .oxy-progress-bar-progress-wrap {
    width: 85%
}

.oxy-progress-bar .oxy-progress-bar-progress {
    background-color: #6af;
    padding: 40px;
    animation: none 0s paused,none 0s paused;
    background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent)
}

.oxy-progress-bar .oxy-progress-bar-overlay-text {
    font-size: 30px;
    font-weight: 900;
    -webkit-font-smoothing: subpixel-antialiased
}

.oxy-progress-bar .oxy-progress-bar-overlay-percent {
    font-size: 12px
}

.ct-slider .unslider-nav ol li {
    border-color: #fff
}

.ct-slider .unslider-nav ol li.unslider-active {
    background-color: #fff
}

.ct-slider .ct-slide {
    padding: 0
}

.oxy-superbox .oxy-superbox-secondary,.oxy-superbox .oxy-superbox-primary {
    transition-duration: .5s
}

.oxy-shape-divider {
    width: 0;
    height: 0
}

.oxy_shape_divider svg {
    width: 100%
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu {
    box-shadow: px px px px
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children>a svg {
    transition-duration: .4s
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children>a div {
    margin-left: 0
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg {
    width: 30px;
    height: 30px
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon {
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon,.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg {
    transition-duration: .4s
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon {
    top: 20px;
    left: 20px
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg {
    width: 24px;
    height: 24px
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon,.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg {
    transition-duration: .4s
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container,.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container {
    background-color: #fff
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container,.oxy-pro-menu .oxy-pro-menu-open-container {
    background-image: url()
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children>a svg,.oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children>a svg {
    font-size: 24px
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul,.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul {
    background-color: rgba(0,0,0,.2);
    border-top-style: solid
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list {
    flex-direction: row
}

.oxy-pro-menu .oxy-pro-menu-container .menu-item a {
    text-align: left;
    justify-content: flex-start
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item,.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item {
    align-items: flex-start
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container {
    top: 0;
    bottom: 0;
    right: auto;
    left: 0
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a,.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a {
    text-align: left;
    justify-content: flex-start
}

.oxy-site-navigation {
    --oxynav-brand-color: #4831b0;
    --oxynav-neutral-color: #fff;
    --oxynav-activehover-color: #efedf4;
    --oxynav-background-color: #4831b0;
    --oxynav-border-radius: 0px;
    --oxynav-other-spacing: 8px;
    --oxynav-transition-duration: .3s;
    --oxynav-transition-timing-function: cubic-bezier(.84,.05,.31,.93)
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper {
    text-align: left
}

.oxy-site-navigation>ul {
    left: 0
}

.oxy-site-navigation {
    --oxynav-animation-name: none
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(1) {
    background-color: var(--oxynav-brand-color);
    transition: var(--oxynav-transition-duration);
    margin-left: var(--oxynav-other-spacing);
    border: none
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(2) {
    background: 0 0;
    border: 1px solid currentColor;
    transition: var(--oxynav-transition-duration);
    margin-left: var(--oxynav-other-spacing)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(2):not(:hover)>img {
    filter: invert(0) !important
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:hover {
    background-color: var(--oxynav-activehover-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(1)>a {
    color: var(--oxynav-neutral-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(2)>a {
    color: var(--oxynav-brand-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:hover>a {
    color: var(--oxynav-brand-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(1)>a:after {
    color: var(--oxynav-neutral-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:nth-last-child(2)>a:after {
    color: var(--oxynav-brand-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]:hover>a:after {
    color: var(--oxynav-brand-color)
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]>ul {
    display: none
}

.oxy-site-navigation>ul:not(.open)>li[data-cta=true]>button,.oxy-site-navigation>ul:not(.open)>li[data-cta=true]>ul {
    display: none
}

.ct-section-inner-wrap,.oxy-header-container {
    max-width: 1200px
}

body {
    font-family: 'Roboto'
}

body {
    line-height: 1.6;
    font-size: 14px;
    font-weight: 400;
    color: #000
}

.oxy-nav-menu-hamburger-line {
    background-color: #000
}

h1,h2,h3,h4,h5,h6 {
    font-family: 'Roboto';
    font-size: 36px;
    font-weight: 400;
    line-height: 1;
    color: #000
}

h2,h3,h4,h5,h6 {
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    color: #000
}

h3,h4,h5,h6 {
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: #000
}

h4,h5,h6 {
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    color: #000
}

h5,h6 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    color: #000
}

h6 {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: #000
}

a {
    color: #000;
    text-decoration: none
}

a:hover {
    text-decoration: none
}

.ct-link-text {
    color: #000;
    text-decoration:
}

.ct-link {
    text-decoration:
}

.ct-link-button {
    border-radius: 3px
}

.ct-new-columns>.ct-div-block {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px
}

@media (max-width: 992px) {
    .ct-columns-inner-wrap {
        display:block !important
    }

    .ct-columns-inner-wrap:after {
        display: table;
        clear: both;
        content: ""
    }

    .ct-column {
        width: 100% !important;
        margin: 0 !important
    }

    .ct-columns-inner-wrap {
        margin: 0 !important
    }
}

.font-size-big {
    font-size: 3.5em
}

.bg-header {
    background-color: #fff;
    position: static
}

@media (max-width: 1200px) {
    .menu-mobile {
        background-color:rgba(255,255,255,0)
    }
}

@media (max-width: 991px) {
    .menu-mobile {
        background-color:#000
    }
}

.local-footer {
    text-align: left
}

.footer-bas {
    background-color: #f7f6f4;
    color: #fff
}

.laius-contenu {
    width: 70%
}

.laius-image {
    background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0));
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    left: 0
}

.cache {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,.5);
    z-index: 0;
    bottom: 0
}

.encart-faq {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgba(255,255,255,.15);
    border-top-color: rgba(255,255,255,.15);
    border-right-color: rgba(255,255,255,.15);
    border-left-color: rgba(255,255,255,.15);
    width: 100%
}

.encart-faq .ct-section-inner-wrap {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px
}

.contenu {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-top: 0;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0
}

.contenu:not(.ct-section):not(.oxy-easy-posts),.contenu.oxy-easy-posts .oxy-posts,.contenu.ct-section .ct-section-inner-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center
}

.font-size-titre {
    font-size: 2.5em;
    line-height: 1.2
}

@media (max-width: 991px) {
    .font-size-titre {
        font-size:2em
    }
}

.txt-left {
    text-align: left
}

.txt-blanc {
    color: #fff
}

.font-size-normal {
    font-size: 2em
}

@media (max-width: 991px) {
    .font-size-normal {
        font-size:1.8em
    }
}

.font-bold {
    font-weight: 600
}

.display-flex:not(.ct-section):not(.oxy-easy-posts),.display-flex.oxy-easy-posts .oxy-posts,.display-flex.ct-section .ct-section-inner-wrap {
    display: flex;
    flex-direction: unset
}

.flex-jc:not(.ct-section):not(.oxy-easy-posts),.flex-jc.oxy-easy-posts .oxy-posts,.flex-jc.ct-section .ct-section-inner-wrap {
    display: flex;
    justify-content: center
}

.txt-center {
    text-align: center
}

.bg-blanc {
    background-color: #fff
}

.font-size-small {
    font-size: 20px
}

.txt-base {
    text-align: justify
}

.cta-smart {
    bottom: 0;
    left: 0
}

.cta-smart:not(.ct-section):not(.oxy-easy-posts),.cta-smart.oxy-easy-posts .oxy-posts,.cta-smart.ct-section .ct-section-inner-wrap {
    flex-direction: unset
}

@media (max-width: 991px) {
    .cta-smart:not(.ct-section):not(.oxy-easy-posts),.cta-smart.oxy-easy-posts .oxy-posts,.cta-smart.ct-section .ct-section-inner-wrap {
        flex-direction:unset
    }
}

.cta-rapide {
    background-color: #000;
    border: 1px solid #000
}

.titre-faq {
    font-size: 1.7em;
    margin-bottom: 10px
}

.tete--gondole:not(.ct-section):not(.oxy-easy-posts),.tete--gondole.oxy-easy-posts .oxy-posts,.tete--gondole.ct-section .ct-section-inner-wrap {
    display: flex;
    flex-direction: column
}

.titre-engagements:before {
    width: 95%;
    height: 1px;
    position: absolute;
    right: -15%;
    bottom: 15px;
    background-color: #eee;
    content: ""
}

.titre-page {
    font-family: Inherit;
    font-size: 6em;
    line-height: 1
}

@media (max-width: 991px) {
    .titre-page {
        font-size:4.5em
    }
}

.txt-line {
    width: 50%;
    font-weight: 600
}

.section-titre {
    font-size: 3em;
    line-height: 1;
    font-weight: 600
}

.zone-circuit:not(.ct-section):not(.oxy-easy-posts),.zone-circuit.oxy-easy-posts .oxy-posts,.zone-circuit.ct-section .ct-section-inner-wrap {
    display: flex;
    flex-direction: row
}

@media (max-width: 991px) {
    .zone-circuit:not(.ct-section):not(.oxy-easy-posts),.zone-circuit.oxy-easy-posts .oxy-posts,.zone-circuit.ct-section .ct-section-inner-wrap {
        display:flex;
        flex-direction: column
    }
}

.width-85 {
    width: 85%
}

@media (max-width: 991px) {
    .width-85 {
        width:100%
    }
}

.titre-circuit {
    text-align: right;
    width: 20%;
    font-size: 20px
}

@media (max-width: 991px) {
    .titre-circuit {
        width:100%;
        text-align: left
    }
}

.txt-circuit {
    padding-left: 2em;
    width: 80%
}

@media (max-width: 991px) {
    .txt-circuit {
        padding-left:0;
        padding-top: 0;
        padding-right: 0;
        padding-bottom: 0;
        width: 100%
    }
}

:root {
    --fond: #fff;
    --col1: #000;
    --col2: #000;
    --col3: #f7f6f4;
    --txt: #000;
    --light: #f7f6f4;
    --dark: color(33);
    --blanc: #fff;
    --noir: #000;
    --font: 'Work Sans',sans-serif;
    --xl: 6.5vw;
    --big: 3vw;
    --normal: 1.8vw;
    --small: 1vw
}

@font-face {
    font-family: 'Roboto';
    src: local('Roboto-Regular'),url('/wp-content/themes/prod/font/Roboto-Regular.woff') format('woff');
    font-display: swap;
    font-weight: 500;
    font-style: normal;
    unicode-range: U+000-5FF
}

@font-face {
    font-family: 'Roboto';
    src: local('Roboto-Bold'),url('/wp-content/themes/prod/font/Roboto-Bold.woff') format('woff');
    font-display: swap;
    font-weight: 600;
    font-style: normal;
    unicode-range: U+000-5FF
}

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Material Icons'),local('MaterialIcons-Regular'),url('/wp-content/themes/prod/font/material-icon/MaterialIcons-Regular.woff2') format('woff2'),url(/wp-content/themes/prod/font/material-icon/MaterialIcons-Regular.woff) format('woff')
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: text-top;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga'
}

body {
    background-color: var(--fond);
    font-family: var(--font)
}

h1,h2,h3,h4,h5,h6 {
    font-family: inherit;
    line-height: 1.2
}

.contenu {
    width: 95%;
    margin: 0 auto
}

.ct-section-inner-wrap {
    max-width: initial
}

ol.breadcrumb {
    font-size: 13px;
    color: var(--txt);
    padding-left: 0
}

ol.breadcrumb li a {
    color: var(--txt)
}

.oxy-header-left {
    display: flex;
    justify-content: space-between;
    width: 100%
}

.oxy-header-center {
    display: none
}

.oxy-header-right {
    display: none
}

.language-header {
    position: absolute;
    right: 0;
    transform: rotate(90deg);
    bottom: 37px;
    display: flex;
    transform-origin: bottom
}

.language-header a:first-child {
    margin-right: 15px
}

.oxy-sticky-header-active .language-header {
    bottom: 92px;
    opacity: .5
}

.transition-fade {
    transition: .4s;
    opacity: 1
}

html.is-animating .transition-fade {
    opacity: 0
}

@media (min-width: 992px) {
    #menu-menu-principal>li>a:before {
        position:absolute;
        content: "";
        width: 0;
        height: 1px;
        top: -15px;
        left: 0;
        background-color: var(--col1);
        transition: width .4s ease-out
    }

    #menu-menu-principal>li.current-menu-item>a:before {
        width: 100%
    }

    #menu-menu-principal>li:hover>a:before {
        width: 100%
    }

    #menu-menu-principal>li:first-child {
        display: none
    }

    #menu-menu-principal>li:last-of-type {
        display: none
    }
}

.contact-header a {
    position: relative
}

.contact-header>a:before {
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    top: -20px;
    left: 0;
    background-color: var(--col1);
    transition: width .4s ease-out
}

.contact-header>a:hover:before {
    width: 100%
}

body.page-id-10 .contact-header>a:before {
    width: 100%
}

.article {
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 100%
}

.article-titre {
    font-size: 20px
}

.article-txt {
    font-size: 14px
}

.article-image {
    overflow: hidden
}

.article-image img {
    transition: transform .3s ease-in
}

.article-contenu {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between
}

.article-image:hover img {
    transition: transform .4s ease-out;
    transform: scale(1.2)
}

.cta {
    position: relative
}

.cta>div {
    padding: 10px 20px;
    transition: background .2s ease;
    display: flex;
    align-items: center
}

.cta:hover .darken {
    background-color: rgba(0,0,0,.25)
}

.grid-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 1px
}

.grid-wrap .encart {
    transition: all .6s ease
}

.grid-wrap .encart:hover {
    background-color: var(--col1)
}

@media (max-width: 992px) {
    .grid-wrap {
        grid-template-columns:1fr
    }

    .grid-wrap .encart {
        margin-bottom: 15px
    }
}

.grid--1 .oxy-posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5em
}

.grid--1 .oxy-post {
    display: flex
}

.grid--1.actus .oxy-post .article-contenu {
    height: auto
}

.grid--1.damier .txt-base {
    margin-bottom: 30px
}

@media (min-width: 992px) {
    .grid--1.damier .oxy-post:nth-child(even) .article-image {
        order:2
    }

    .grid--1.damier .oxy-post:nth-child(even) .article-contenu {
        align-items: flex-end;
        text-align: right
    }

    .grid--1.damier .article-image,.grid--1.damier .article-contenu {
        width: 50%
    }
}

.grid--2 .oxy-posts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "A B";
    grid-gap: 20px
}

.grid--3 .oxy-posts .oxy-post:nth-child(1) {
    grid-aera: A
}

.grid--3 .oxy-posts .oxy-post:nth-child(2) {
    grid-aera: B
}

.grid--3 .oxy-posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "A" "B" "C";
    grid-gap: 2em
}

@media screen and (min-width: 992px) {
    .grid--3 .oxy-posts {
        grid-gap:20px;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-areas: "A B C"
    }
}

.grid--4 .oxy-posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px
}

@media screen and (min-width: 992px) {
    .grid--4 .oxy-posts {
        grid-gap:20px;
        grid-template-columns: 1fr 1fr 1fr 1fr
    }
}

.grid--5 .oxy-posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px
}

@media screen and (min-width: 992px) {
    .grid--5 .oxy-posts {
        grid-gap:20px;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr
    }
}

.grid--6 .oxy-posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 5px
}

@media screen and (min-width: 992px) {
    .grid--6 .oxy-posts {
        grid-gap:20px;
        grid-template-columns: 1fr 1fr 1fr
    }
}

@media screen and (min-width: 992px) {
    .grid--6 .oxy-posts {
        grid-gap:20px;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr
    }
}

.oxy-post:not(.slick-slide) {
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 100%
}

.damier .oxy-post,.grid--1 .oxy-post {
    flex-direction: row
}

.oxy-post .article-contenu {
    display: flex;
    flex-direction: column;
    height: 100%
}

.oxy-post.survol .article-contenu {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: auto
}

.oxy-post.survol .article-contenu .fond-survol {
    background-color: rgba(0,0,0,.6)
}

.oxy-post.survol .survol-contenu {
    opacity: 0;
    max-height: 0px;
    overflow: hidden;
    transition: .5s ease opacity,.2s ease-out max-height
}

.oxy-post.survol:hover .survol-contenu {
    opacity: 1;
    max-height: 400px;
    transition: .4s ease-out opacity,1s ease-out max-height
}

.oxy-post.survol:hover .article-image img {
    transition: transform .4s ease-out;
    transform: scale(1.2)
}

[class*=galerie] {
    display: grid;
    grid-gap: 1px;
    grid-template-columns: 1fr 1fr
}

[class*=galerie][class*="--small"],[class*=galerie][class*="--normal"],[class*=galerie][class*="--big"],[class*=galerie][class*="--xsmall"],[class*=galerie][class*="--references"] {
    grid-template-columns: 1fr 1fr
}

@media (min-width: 992px) {
    [class*=galerie][class*="--references"] {
        grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr
    }

    [class*=galerie][class*="--xsmall"] {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr
    }

    [class*=galerie][class*="--small"] {
        grid-template-columns: 1fr 1fr 1fr 1fr
    }

    [class*=galerie][class*="--normal"] {
        grid-template-columns: 1fr 1fr 1fr
    }

    [class*=galerie][class*="--big"] {
        grid-template-columns: 1fr 1fr
    }

    [class*=galerie][class*="--large"] {
        grid-template-columns: 1fr;
        grid-gap: 10px 0
    }
}

.galerie--references .img--fond {
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd
}

.galerie--references {
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd
}

.slick-prev,.slick-next {
    font-size: 0;
    line-height: 0;
    z-index: 2;
    position: absolute;
    bottom: 0;
    display: block;
    width: 60px;
    height: 60px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none
}

.slick-prev:before,.slick-next:before {
    position: absolute;
    display: block;
    width: 15%;
    height: 15%;
    top: 43%;
    left: 42%;
    content: ''
}

@media only screen and (max-width: 480px) and (min-width:0px) {
    .slick-prev,.slick-next {
        width:30px;
        height: 30px
    }
}

.slick-prev {
    right: 60px;
    background-color: #fff
}

.slick-prev:before {
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(45deg);
    content: ''
}

@media only screen and (max-width: 480px) and (min-width:0px) {
    .slick-prev {
        right:30px
    }
}

.slick-next {
    right: 0;
    background-color: #fff
}

.slick-next:before {
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    transform: rotate(45deg);
    content: ''
}

.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before {
    opacity: .2
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,.slick-slider .slick-list {
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,.slick-track:after {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slider--miniatures {
    position: relative
}

.slider--miniatures .slick-prev,.slider--miniatures .slick-next {
    font-size: 0;
    line-height: 0;
    z-index: 2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 60px;
    height: 60px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none
}

.slider--miniatures .slick-prev {
    left: 0
}

.slider--miniatures .slick-next {
    right: 0
}

.slider--miniatures .slick-prev:before,.slick-next:before {
    position: absolute;
    display: block;
    width: 15%;
    height: 15%;
    top: 43%;
    left: 42%;
    content: ''
}

.small-padding {
    padding: 1em
}

*[class*=diaporama] {
    overflow: hidden;
    min-width: 100%;
    width: 0
}

*[class*=diaporama] .slick-list {
    height: 100%
}

*[class*=diaporama] .slick-list .slick-track {
    height: 100%
}

*[class*=diaporama] .slick-list .slick-track .img--back,.slick-slide>div {
    overflow: hidden;
    height: 100% !important
}

*[class*=diaporama] .slick-list .slick-track .img--back,.slick-slide>div img {
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    object-fit: cover
}

.diaporama--article.big {
    width: 100%;
    height: 68vh
}

.tete-gondole {
    height: calc(100vh - 117px);
    overflow: hidden;
    position: relative
}

.tete-gondole .diaporama {
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    left: 0
}

.tete-gondole-slogan {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%
}

.img-gondole {
    position: absolute !important;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 0
}

.slider--miniatures .slick-slide img {
    padding: 5px
}

.slider {
    overflow: hidden
}

.slider .slick-track {
    display: flex
}

.slider .oxy-post.slick-slide {
    display: flex
}

.slider .slide-image {
    display: flex;
    flex-grow: 6;
    flex-direction: column;
    width: 100%
}

.slider .slide-contenu {
    display: flex;
    flex-direction: column;
    width: 100%
}

.slideshow .slick-slide .slide-txt {
    transform: translateX(150px);
    opacity: 0;
    transition: all .7s .15s cubic-bezier(.165,.84,.44,1)
}

.slideshow .slick-slide.slick-active .slide-txt {
    transform: translateX(0px);
    opacity: 1
}

.slideshow.type2 .slick-slide .slide-txt {
    z-index: 2;
    transform: translateX(150px);
    opacity: 0
}

@media only screen and (min-width: 640px) {
    .slideshow.type2 .slick-slide .slide-txt {
        max-width:400px;
        position: absolute;
        right: 45px;
        top: 45px
    }
}

.slideshow.type2 .slick-slide.slick-active .slide-txt {
    transform: translateX(0px);
    opacity: 1
}

.slideshow.type2 .slick-prev,.slideshow.type2 .slick-next {
    transform: translateX(-45px)
}

.footer-mentions a,.footer-bas a:visited {
    color: var(--txt)
}

.footer-mentions ul li {
    padding: 0 5px
}

.footer-mentions .badge {
    height: 45px;
    width: auto
}

ul {
    margin-left: 0;
    padding: 0
}

ul,li {
    list-style-type: none
}

ul.zones-geoloc {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 0
}

ul.zones-geoloc li {
    display: block;
    text-align: center;
    border: 1px solid var(--txt);
    margin-right: 15px;
    margin-bottom: 15px
}

ul.zones-geoloc li a {
    padding: 10px;
    display: flex;
    justify-content: center;
    color: var(--txt)
}

ul.zones-geoloc li:hover {
    background: var(--txt)
}

ul.zones-geoloc li:hover a {
    color: var(--fond)
}

ul.zones-geoloc li a i {
    margin-right: 5px;
    opacity: .5
}

.img--fond {
    position: relative;
    display: block;
    overflow: hidden
}

.img--fond img {
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    object-fit: cover
}

.img--fond.contain img {
    object-fit: contain
}

.img--fond.scale-down img {
    object-fit: scale-down
}

.img--fond.ratio {
    height: auto;
    position: relative;
    display: block;
    content: '';
    padding-top: 66.66667%
}

.img--fond.ratio--pano {
    padding-top: 30%
}

.img--fond.ratio--carre {
    padding-top: 100%
}

.img--fond.ratio--clients {
    padding-top: 80%
}

.img--fond.ratio--miniatures {
    padding-top: 220px
}

.img--fond.ratio--plan {
    padding-top: 130px
}

.img--fond.ratio--liens {
    padding-top: 150px
}

.img--fond.ratio--intro1 {
    padding-top: 80vh
}

.img--fond.ratio--encarts {
    padding-top: 70%
}

.img--fond.ratio--encarts2 {
    padding-top: 90%
}

@media only screen and (min-width: 992px) {
    .img--fond.ratio--encarts {
        padding-top:120%
    }
}

.img--fond.ratio--rea {
    padding-top: 50px
}

.grid--ref {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-aeras: "A B C"
}

.grid--ref .expression:nth-child(1) {
    grid-aera: A
}

.grid--ref .expression:nth-child(2) {
    grid-aera: B
}

.grid--ref .expression:nth-child(3) {
    grid-aera: C
}

.grid--ref .expression {
    background-color: #fff;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
    border-radius: 3px;
    margin: 0 0 5px;
    box-sizing: border-box;
    padding: 10px 0
}

#footer .overlay-plan {
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--col1);
    color: #fff;
    font-size: 13px;
    text-transform: uppercase;
    text-align: center;
    box-sizing: border-box;
    width: 100%;
    padding: 5px 0
}

#footer .overlay-plan i {
    font-size: 22px;
    margin-right: 4px
}

.bg-col1 {
    background-color: var(--col1)
}

.bg-col2 {
    background-color: var(--col2)
}

.bg-col3 {
    background-color: var(--col3)
}

.bg-fond {
    background-color: var(--fond)
}

.bg-light {
    background-color: var(--light)
}

.bg-dark {
    background-color: var(--dark)
}

.bg-blanc {
    background-color: var(--blanc)
}

.bg-noir {
    background-color: var(--noir)
}

.bg-txt {
    background-color: var(--txt)
}

.txt-col1 {
    color: var(--col1)
}

.txt-col2 {
    color: var(--col2)
}

.txt-col3 {
    color: var(--col3)
}

.txt-fond {
    color: var(--fond)
}

.txt-fond-all,.txt-fond-all a,.txt-fond-all a:visited {
    color: var(--fond)
}

.txt-blanc {
    color: #fff
}

.txt-blanc-all,.txt-blanc-all a,.txt-blanc-all a:visited {
    color: #fff
}

.txt-noir {
    color: #000
}

.txt-noir-all,.txt-noir-all a,.txt-noir-all a:visited {
    color: #000
}

.col-txt {
    color: var(--txt)
}

.margin-auto {
    margin: 0 auto
}

.relative {
    position: relative
}

.no-padding {
    padding: 0
}

.bold {
    font-weight: 700
}

.uppercase {
    text-transform: uppercase
}

.relative {
    position: relative
}

.absolute {
    position: absolute
}

.absolute-full {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%
}

.txt-center {
    text-align: center
}

.txt-right {
    text-align: right
}

.width-100 {
    width: 100% !important
}

.block {
    display: block
}

.align-center-x {
    left: 50%;
    transform: translateX(-50%)
}

.align-center-y {
    top: 50%;
    transform: translateY(-50%)
}

.align-center-both {
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%)
}

.btn--start {
    display: flex;
    justify-content: flex-start
}

.btn--end {
    display: flex;
    justify-content: flex-end
}

.btn--end>* {
    margin: 0 5px
}

.btn--end>*:last-of-type {
    margin-right: 0
}

.btn--center {
    display: flex;
    justify-content: center
}

.btn--full {
    display: flex;
    justify-content: flex-start;
    width: 100%
}

.btn--min {
    background-color: var(--fond);
    color: var(--txt);
    border: 1px solid var(--txt)
}

.flex {
    display: flex
}

.flex-aic {
    align-items: center
}

.flex-asc {
    align-self: center
}

.flex-jcc {
    justify-content: center
}

.flex-jce {
    justify-content: flex-end
}

.flex-jcs {
    justify-content: flex-start
}

.flex-jcsb {
    justify-content: space-between
}

.flex-direction-column {
    flex-direction: column
}

.pointer {
    cursor: pointer
}

.call-to-action {
    padding: 15px 30px;
    font-size: 1.4em;
    font-weight: 700;
    box-shadow: 0 5px 10px rgba(0,0,0,.15)
}

.mask_1 {
    clip-path: polygon(0 0,100% 0,100% 100%,0 91%)
}

.mask_2 {
    clip-path: polygon(0% 0,100% 0,100% 91%,0 100%)
}

.xl-padding {
    padding: var(--xl)
}

@media (max-width: 992px) {
    .xl-padding {
        padding:20px
    }
}

.xl-padding-y {
    padding: var(--xl) 0 var(--xl) 0
}

@media (max-width: 992px) {
    .xl-padding-y {
        padding:20px 0
    }
}

.xl-padding-top {
    padding-top: var(--xl)
}

@media (max-width: 992px) {
    .xl-padding-top {
        padding-top:20px
    }
}

.xl-padding-bottom {
    padding-bottom: var(--xl)
}

@media (max-width: 992px) {
    .xl-padding-bottom {
        padding-bottom:20px
    }
}

.xl-margin {
    margin: var(--xl)
}

@media (max-width: 992px) {
    .xl-margin {
        margin:20px
    }
}

.xl-margin-y {
    margin: var(--xl) 0 var(--xl) 0
}

@media (max-width: 992px) {
    .xl-margin-y {
        margin:20px 0
    }
}

.xl-margin-top {
    margin-top: var(--xl)
}

@media (max-width: 992px) {
    .xl-margin-top {
        margin-top:20px
    }
}

.xl-margin-bottom {
    margin-bottom: var(--xl)
}

@media (max-width: 992px) {
    .xl-margin-bottom {
        margin-bottom:20px
    }
}

.big-padding {
    padding: var(--big)
}

@media (max-width: 992px) {
    .big-padding {
        padding:20px
    }
}

.big-padding-y {
    padding: var(--big) 0 var(--big) 0
}

@media (max-width: 992px) {
    .big-padding-y {
        padding:20px 0
    }
}

.big-padding-top {
    padding-top: var(--big)
}

@media (max-width: 992px) {
    .big-padding-top {
        padding-top:20px
    }
}

.big-padding-bottom {
    padding-bottom: var(--big)
}

@media (max-width: 992px) {
    .big-padding-bottom {
        padding-bottom:20px
    }
}

.big-margin {
    margin: var(--big)
}

@media (max-width: 992px) {
    .big-margin {
        margin:20px
    }
}

.big-margin-y {
    margin: var(--big) 0 var(--big) 0
}

@media (max-width: 992px) {
    .big-margin-y {
        margin:20px 0
    }
}

.big-margin-top {
    margin-top: var(--big)
}

@media (max-width: 992px) {
    .big-margin-top {
        margin-top:20px
    }
}

.big-margin-bottom {
    margin-bottom: var(--big)
}

@media (max-width: 992px) {
    .big-margin-bottom {
        margin-bottom:20px
    }
}

.normal-padding {
    padding: var(--normal)
}

@media (max-width: 992px) {
    .normal-padding {
        padding:15px
    }
}

.normal-padding-y {
    padding: var(--normal) 0 var(--normal) 0
}

@media (max-width: 992px) {
    .normal-padding-y {
        padding:15px 0
    }
}

.normal-padding-top {
    padding-top: var(--normal)
}

@media (max-width: 992px) {
    .normal-padding-top {
        padding-top:15px
    }
}

.normal-padding-bottom {
    padding-bottom: var(--normal)
}

@media (max-width: 992px) {
    .normal-padding-bottom {
        padding-bottom:15px
    }
}

.normal-margin {
    margin: var(--normal)
}

@media (max-width: 992px) {
    .normal-margin {
        margin:15px
    }
}

.normal-margin-y {
    margin: var(--normal) 0 var(--normal) 0
}

@media (max-width: 992px) {
    .normal-margin-y {
        margin:15px 0
    }
}

.normal-margin-top {
    margin-top: var(--normal)
}

@media (max-width: 992px) {
    .normal-margin-top {
        margin-top:15px
    }
}

.normal-margin-bottom {
    margin-bottom: var(--normal)
}

@media (max-width: 992px) {
    .normal-margin-bottom {
        margin-bottom:15px
    }
}

.small-padding {
    padding: var(--small)
}

@media (max-width: 992px) {
    .small-padding {
        padding:10px
    }
}

.small-padding-y {
    padding: var(--small) 0 var(--small) 0
}

@media (max-width: 992px) {
    .small-padding-y {
        padding:10px 0
    }
}

.small-padding-top {
    padding-top: var(--small)
}

@media (max-width: 992px) {
    .small-padding-top {
        padding-top:10px
    }
}

.small-padding-bottom {
    padding-bottom: var(--small)
}

@media (max-width: 992px) {
    .small-padding-bottom {
        padding-bottom:10px
    }
}

.small-margin {
    margin: var(--small)
}

@media (max-width: 992px) {
    .small-margin {
        margin:10px
    }
}

.small-margin-y {
    margin: var(--small) 0 var(--small) 0
}

@media (max-width: 992px) {
    .small-margin-y {
        margin:10px 0
    }
}

.small-margin-top {
    margin-top: var(--small)
}

@media (max-width: 992px) {
    .small-margin-top {
        margin-top:10px
    }
}

.small-margin-bottom {
    margin-bottom: var(--small)
}

@media (max-width: 992px) {
    .small-margin-bottom {
        margin-bottom:10px
    }
}

.one-padding {
    padding: 1px
}

.one-padding-y {
    padding: 1px 0
}

.one-padding-top {
    padding-top: 1px
}

.one-padding-bottom {
    padding-bottom: 1px
}

.one-margin {
    margin: 1px
}

.one-margin-y {
    margin: 1px 0
}

.one-margin-top {
    margin-top: 1px
}

.one-margin-bottom {
    margin-bottom: 1px
}

.txt-base {
    line-height: 1.6
}

.txt-base a {
    text-decoration: underline
}

.txt-base ul {
    padding-left: 30px
}

.txt-base li {
    list-style-type: disc
}

.hero-img {
    position: absolute !important;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.gform_footer {
    display: flex;
    justify-content: flex-end
}

.gform_footer .gform_button {
    border-top: 1px solid #000;
    background: 0 0;
    color: #000;
    font-weight: 700;
    text-transform: uppercase;
    border-right: none;
    border-left: none;
    cursor: pointer;
    border-bottom: 1px solid #000;
    box-sizing: border-box;
    padding: 13px 26px;
    transition: all .2s ease-in;
    position: relative
}

.gform_footer .gform_button:after {
    position: absolute;
    right: -75px;
    height: 7px;
    width: 55px;
    content: url(../images/decouvrir.png)
}

.gform_wrapper input,.gform_wrapper textarea {
    border: none;
    border-bottom: 1px solid #888;
    background: 0 0
}

body.page-id-10 .gform_wrapper .top_label .gfield_label,.gform_wrapper legend.gfield_label,.gform_wrapper label {
    color: var(--txt)
}

*[class*=show] {
    backface-visibility: hidden
}

.show-fadeIn {
    transition: all 2s ease;
    opacity: 0
}

.show-fadeIn.watch-on {
    opacity: 1
}

.show-fadeInTop.watch-on {
    animation: fadeInTop 1s 0s;
    animation-fill-mode: forwards
}

.show-fadeInBottom {
    transition: all 1s ease-out;
    opacity: 0;
    transform: translate3d(0,-40px,0)
}

.show-fadeInBottom.watch-on {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.show-fadeInLeft {
    transition: all .5s ease-out;
    opacity: 0;
    transform: translate3d(-40px,0,0)
}

.show-fadeInLeft.watch-on {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.show-fadeInRight {
    transition: all .5s ease-out;
    opacity: 0;
    transform: translate3d(40px,0,0)
}

.show-fadeInRight.watch-on {
    opacity: 1;
    transform: translate3d(0,0,0)
}

@keyframes fadeInTop {
    0% {
        opacity: 0;
        transform: translate3d(0,40px,0)
    }

    100% {
        opacity: 1;
        transform: translate3d(0,0,0)
    }
}

.fiche_technique tr>td:first-child {
    font-weight: 700
}

.fiche_technique tr>td {
    border-bottom: 1px solid var(--light)
}

.img--hover img {
    transition: transform .3s ease-in
}

.img--hover:hover img {
    transition: transform .4s ease-out;
    transform: scale(1.2)
}

.partage-article a {
    display: inline-block;
    box-sizing: border-box;
    padding: 8px 10px;
    background-color: var(--txt)
}

.partage-article a>span {
    position: relative;
    display: block;
    width: 16px
}

.partage-article a>span img {
    width: 100%;
    display: block;
    transition: transform .3s ease-out
}

.partage-article a:hover img {
    transform: scale(1.2)
}

.titre-acces {
    font-size: 20px;
    line-height: 1.5
}

.titre-acces>span {
    display: block;
    text-transform: uppercase;
    font-size: 35px;
    font-weight: 700;
    letter-spacing: 0px
}

.headDeco {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase
}

.headDeco>span {
    display: block;
    text-transform: uppercase;
    font-size: 30px;
    letter-spacing: 0
}

.cta-smart {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000
}

.cta-smart .cta-smart-wrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
    align-content: stretch;
    justify-content: space-between
}

.cta-smart .cta-smart-wrap>* {
    background: var(--col1);
    display: flex;
    padding: 15px 0;
    font-size: .8em;
    flex-direction: column;
    letter-spacing: 2px;
    flex-grow: 1;
    justify-content: center;
    border-right: 1px solid rgba(255,255,255,.15)
}

.cta-smart .cta-smart-wrap>*:last-of-type {
    border-right: none
}

.cta-smart .cta-smart-wrap>* i {
    margin-bottom: 3px;
    font-size: 1.7em
}

.oxy-pro-menu-mobile-open-icon {
    position: fixed;
    right: 0;
    top: 0
}

@media (min-width: 992px) {
    .footer-mentions ul {
        display:flex
    }

    .logo-footer {
        left: calc(-2.5% - 14px)
    }

    .titre-intro {
        font-size: 5em;
        line-height: 1
    }

    .titre-intro>span {
        display: block;
        text-align: right;
        position: relative
    }

    .titre-intro>span.before-since>span {
        display: inline;
        position: relative
    }

    .titre-intro>span.before-since>span:before {
        position: absolute;
        top: -4px;
        left: -55px;
        content: "Since 1975";
        transform: rotate(-90deg);
        font-size: 15px;
        transform-origin: bottom;
        font-weight: lighter;
        text-transform: uppercase
    }

    .titre-intro span:first-child {
        right: 9%
    }

    .titre-intro span:nth-child(3) {
        right: 10%
    }

    .titre-intro span:nth-child(4) {
        right: 5%
    }

    .image-intro2 {
        width: 15vw;
        height: 18vw;
        bottom: 5vh;
        left: -15%;
        position: absolute
    }

    .image-intro3 {
        width: 15vw;
        height: 18vw;
        right: 2%;
        top: 10vh;
        left: auto;
        z-index: -1;
        position: absolute
    }

    .txt-laius1:before {
        content: "Plus value";
        position: absolute;
        top: 100px;
        transform-origin: left bottom;
        letter-spacing: 2px;
        text-transform: uppercase;
        left: -50px;
        transform: rotate(-90deg)
    }

    .block-groupe:after {
        content: "Who are we ?";
        position: absolute;
        top: 50%;
        transform-origin: left top;
        letter-spacing: 2px;
        text-transform: uppercase;
        left: -5vw;
        transform: rotate(-90deg)
    }

    .block--clients:after {
        content: "Our clients";
        position: absolute;
        top: 6vw;
        transform-origin: left top;
        letter-spacing: 2px;
        text-transform: uppercase;
        left: 1vw;
        transform: rotate(-90deg)
    }

    .block--clients {
        padding: 0 !important;
        padding-top: 8vw !important
    }

    .block-decal {
        padding: 0 !important;
        padding-right: 3vw !important
    }

    .block-decal2 {
        padding: 0 !important;
        padding-right: 6vw !important
    }

    .encarts-accueil {
        padding-left: 10vw
    }

    .encarts-accueil .oxy-post:first-child,.encarts-accueil .oxy-post:nth-child(2) {
        flex-direction: column-reverse
    }

    .encarts-accueil .oxy-post:first-child {
        top: -5vw
    }

    .encarts-accueil .oxy-post:last-of-type {
        top: -10vw
    }

    .encarts-accueil .oxy-post:first-child .article-titre,.encarts-accueil .oxy-post:nth-child(2) .article-titre {
        margin-bottom: 20px;
        margin-top: 0 !important
    }

    .encarts-page .oxy-posts {
        grid-gap: 3.5em
    }

    .encarts-page .oxy-posts .txt-base>p {
        margin: 0
    }

    .encarts-page .oxy-posts .oxy-post .article-titre {
        margin-bottom: 0
    }

    .encarts-page .oxy-posts .oxy-post .article-image {
        margin-bottom: 20px
    }

    @media (min-width: 992px) {
        .encarts-page {
            margin-bottom:5vw
        }

        .encarts-page .oxy-post:first-child,.encarts-page .oxy-post:nth-child(3) {
            flex-direction: column-reverse
        }

        .encarts-page .oxy-post:first-child,.encarts-page .oxy-post:last-of-type {
            top: 5vw
        }

        .encarts-page .oxy-post:first-child .txt-base,.encarts-page .oxy-post:last-of-type .txt-base {
            margin-bottom: 20px
        }

        .encarts-page .oxy-post:first-child .article-image,.encarts-page .oxy-postlast-of-type .article-image {
            margin-bottom: 0
        }

        .encarts-page .oxy-post:first-child img {
            height: calc(100% - 5em)
        }
    }

    .images-groupe {
        padding-left: 6vw;
        padding-right: 3vw
    }

    .coupeBottom img {
        height: 85%
    }

    .oxy-nav-menu .menu-item .sub-menu {
        min-width: 100%
    }

    .width-90 {
        width: 90%
    }

    .width-80 {
        width: 80%
    }

    .width-70 {
        width: 70%
    }

    .width-60 {
        width: 60%
    }

    .width-50 {
        width: 50%
    }

    .width-40 {
        width: 40%
    }

    .width-30 {
        width: 30%
    }

    .width-20 {
        width: 20%
    }

    .bloc-small {
        width: 70%;
        margin: 0 auto;
        padding: 2vw 3vw;
        box-shadow: 0 0 40px rgba(0,0,0,.1)
    }

    .padding-damier {
        padding: 5vw
    }

    .cta-smart {
        display: none;
        visiblity: hidden;
        height: 0
    }

    .slider--accueil .slide-image {
        width: 60%;
        position: relative
    }

    .slider--accueil .slide-image:before {
        content: "Dernières actualités";
        position: absolute;
        top: 42%;
        right: 6%;
        transform-origin: right;
        letter-spacing: 2px;
        text-transform: uppercase;
        left: auto;
        transform: rotate(90deg)
    }

    .slider--accueil .slide-contenu {
        width: 40%;
        padding-top: 6vw
    }

    .slider .slide-contenu>* {
        width: 80%
    }

    .slider--accueil .img--fond.ratio img {
        width: 65%;
        left: auto;
        right: 10%
    }

    .galerie--xsmall .img--fond {
        border-top: 1px solid #ddd;
        border-right: 1px solid #ddd
    }

    .titre-num:before {
        content: "01";
        font-size: 12vw;
        left: calc(-100% - 4vw);
        opacity: .15;
        top: 0;
        position: absolute;
        line-height: 1;
        -webkit-text-stroke: 1px #000;
        color: transparent
    }

    .titre-slide.titre-num {
        position: relative
    }

    .titre-slide.titre-num:before {
        content: "03";
        font-size: 12vw;
        left: auto;
        opacity: .15;
        right: -60%;
        top: -130%;
        position: absolute;
        line-height: 1;
        -webkit-text-stroke: 1px #000;
        color: transparent
    }

    .strate-groupe .titre-num:before {
        content: "02";
        left: -50%;
        top: -20px
    }

    .titre-contact.titre-num {
        position: relative;
        z-index: 10;
        font-weight: 600;
        font-size: 3em;
        left: 15%
    }

    .titre-contact.titre-num:before {
        content: "02";
        position: relative;
        left: -15%;
        top: 0;
        display: block;
        text-align: left
    }

    .clients .titre-num:before {
        content: "04";
        left: auto;
        right: 0;
        top: -8vw
    }

    .lien-clients {
        position: absolute;
        top: 50%;
        left: 50%;
        line-height: 1.3;
        font-size: 16px;
        text-transform: uppercase;
        transform: translateY(-50%)translateX(-50%);
        text-align: left
    }
}

@media (max-width: 992px) {
    .contenu {
        width:90%
    }

    .cta {
        width: 100%;
        text-align: center;
        display: flex;
        justify-content: center
    }

    .deco-trait:before {
        display: none
    }

    .grid--1 .oxy-post {
        flex-direction: column
    }

    .slider .oxy-post.slick-slide {
        display: block
    }

    .gform_footer .gform_button {
        width: 100% !important
    }

    .footer-mentions li a {
        line-height: 50px
    }

    .slider .slick-prev,.slider .slick-next {
        font-size: 0;
        line-height: 0;
        z-index: 2;
        position: absolute;
        top: 0;
        display: block;
        width: 60px;
        height: 60px;
        padding: 0;
        cursor: pointer;
        color: transparent;
        border: none;
        outline: none
    }

    .slider .slick-prev {
        left: 0
    }

    .slider .slick-next {
        right: 0
    }

    .slider .slick-prev:before,.slider .slick-next:before {
        position: absolute;
        display: block;
        width: 15%;
        height: 15%;
        top: 43%;
        left: 42%;
        content: ''
    }

    html {
        padding-bottom: 82px
    }
}

.fancybox-container {
    z-index: 10000000000
}

.cc-window {
    background-color: var(--txt) !important
}

.cc-window .cc-btn {
    background-color: var(--col1) !important;
    color: #fff !important
}

.cc-window .cc-btn a,.cc-window .cc-btn a:visited {
    color: #fff !important
}

.contact-header {
    font-size: 15px
}

.txt-stroke {
    -webkit-text-stroke: 1px #000;
    color: transparent
}

.deco-num-intro {
    font-size: 35vw;
    left: 51%;
    opacity: .15;
    top: 50%;
    position: absolute;
    transform: translateY(-50%)translateX(-50%);
    line-height: 1;
    z-index: -1
}

.encarts-accueil .article-titre {
    font-size: 15px;
    margin-top: 20px
}

.donnees-attias>div {
    display: flex;
    align-items: flex-end
}

.donnees-attias>div:not(:last-of-type) {
    margin-bottom: 3em
}

.strate-groupe .chiffre {
    font-size: 5em;
    font-weight: lighter;
    line-height: .65;
    margin-right: 20px
}

.donnees-attias>div .chiffre {
    width: 40%;
    text-align: right
}

.donnees-attias>div .titre-donnee {
    width: 60%;
    text-transform: uppercase
}

.cta--border {
    border-top: 1px solid #000;
    padding: 12px 5px;
    line-height: 1;
    border-bottom: 1px solid #000;
    text-transform: uppercase
}

.txt-line {
    font-size: 12vw;
    line-height: 1;
    -webkit-text-stroke: 1px #000;
    color: transparent;
    opacity: .15
}

@media (min-width: 992px) {
    .actus:before {
        position:absolute;
        content: "";
        top: 0;
        width: 40%;
        height: 100%;
        left: -10%;
        background-color: var(--light)
    }

    .img--fond.fit-position-left img {
        object-position: left
    }

    .decal-titre-page {
        padding-top: 5vw;
        padding-left: 5vw
    }

    .decal-left {
        padding-left: 5vw
    }

    .decal-right {
        padding-right: 5vw
    }
}

.txt-base ul>li {
    padding-bottom: 15px
}

.temoignages:before {
    position: absolute;
    content: "";
    width: 100%;
    background: #eee;
    height: calc(92% - 6.5vw);
    bottom: 0;
    z-index: -1;
    left: 0
}

.temoignages .slick-prev {
    left: 0;
    right: auto
}

.temoignages .slick-next {
    right: auto;
    left: 60px
}

.nom_temoignage {
    margin-top: 5em
}

.lighter {
    font-weight: lighter
}

.actus {
    padding: 6.5vw 0
}

@media (max-width: 992px) {
    .encarts-page .oxy-post .article-cont {
        padding:1.5em 1em
    }

    .txt-line {
        width: 100%;
        font-size: 15em;
        text-align: center;
        opacity: .3
    }

    .section-titre {
        font-size: 3em
    }

    .actus .article-contenu {
        padding: 2em
    }
}

.arrow-right {
    position: relative
}

.arrow-right:after {
    position: relative;
    margin-left: 25px;
    height: 7px;
    width: 55px;
    content: url(../images/decouvrir.png)
}

.arrow-right-abs {
    position: relative
}

@media (min-width: 992px) {
    .arrow-right-abs:after {
        position:absolute;
        right: -75px;
        height: 7px;
        width: 55px;
        content: url(../images/decouvrir.png);
        transition: all .5s ease
    }

    .arrow-right-abs:hover:after {
        right: -90px
    }
}

.txt-scroll {
    position: relative;
    text-transform: uppercase;
    color: #acabac
}

.txt-scroll:after {
    position: relative;
    margin-left: 25px;
    height: 7px;
    width: 55px;
    content: url(../images/fleche.png)
}

.fleche-clients {
    position: relative !important;
    height: initial !important;
    width: initial !important;
    margin-top: 10px
}

.revealLTR,.revealRTL,.revealTTB,.revealBTT {
    position: relative;
    overflow: hidden
}

.revealLTR[data-aos=fade].aos-animate>*,.revealRTL[data-aos=fade].aos-animate>*,.revealTTB[data-aos=fade].aos-animate>*,.revealBTT[data-aos=fade].aos-animate>* {
    animation: fadeIn 0s .6s;
    animation-fill-mode: backwards
}

.revealLTR[data-aos=fade]:not[.aos-animate],.revealRTL[data-aos=fade]:not[.aos-animate],.revealTTB[data-aos=fade]:not[.aos-animate],.revealBTT[data-aos=fade]:not[.aos-animate] {
    opacity: 0
}

.revealLTR[data-aos=fade].aos-animate:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    transform: translateX(-100%);
    animation: revealInLTR .6s 0s,revealOutLTR .6s .6s;
    animation-fill-mode: forwards
}

.revealRTL[data-aos=fade].aos-animate:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    transform: translateX(100%);
    animation: revealInRTL .6s 0s,revealOutRTL .6s .6s;
    animation-fill-mode: forwards
}

.revealTTB[data-aos=fade].aos-animate:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: translateY(-100%);
    animation: revealInTTB .6s 0s,revealOutTTB .6s .6s;
    animation-fill-mode: forwards
}

.revealBTT[data-aos=fade].aos-animate:after {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--light);
    transform: translateY(100%);
    animation: revealInBTT .6s 0s,revealOutBTT .6s .6s;
    animation-fill-mode: forwards
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes revealInLTR {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes revealOutLTR {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(101%)
    }
}

@keyframes revealInRTL {
    0% {
        transform: translateX(100%)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes revealOutRTL {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-101%)
    }
}

@keyframes revealInTTB {
    0% {
        transform: translateY(-100%)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes revealOutTTB {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(101%)
    }
}

@keyframes revealInBTT {
    0% {
        transform: translateY(100%)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes revealOutBTT {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(-101%)
    }
}

@media (min-width: 992px) {
    .slider--accueil {
        padding-bottom:75px
    }

    .slider--accueil .slick-prev,.slider--accueil .slick-next {
        bottom: -75px
    }

    .slider--accueil .slick-next {
        left: calc(35%)
    }

    .slider--accueil .slick-prev {
        left: calc(30%)
    }
}

.fond-image-fiche .img--fond {
    position: absolute;
    width: 100%;
    height: 100%
}

.bureaux-contact {
    display: grid;
    grid-template-columns: 1fr
}

@media (min-width: 640px) {
    .bureaux-contact {
        display:grid;
        grid-template-columns: 1fr 1fr
    }
}

.liste-bureaux .zone-circuit:last-of-type {
    margin-bottom: 0
}

.icones-valeurs .picto-valeur:not(:first-child) {
    margin-top: 3vw !important
}

.language-header .active {
    border-bottom: 1px solid #000
}
