/*
Theme Name: Camp de Ville RN
Theme URI: http://underscores.me/
Author: l'Agence secrète
Author URI: http://agencesecrete.com/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: campdevillern
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

campdevillern is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# General
    ## Themes
    ## Buttons
    ## Diagonal borders
    ## Overlap
    ## Layout & builder
# Entête & menu
# Footer & copyright
# Nav et Reseaux sociaux
# Mega menu
# Sidebar
# Plugins
    ## Plugin - Gravity Form
    ## Plugin - WPML
# Widgets
    ## Widget - Element button
    ## Widget - Liste offres emploi
    ## Widget - Liste services type unique
    ## Widget - Bloc icone
    ## Widget - Membre listes
    ## Widget - Bloc informations contact
# Template
    ## Archive
    ## Nouvelles - Fil
# Facebook - Share
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Temporaire
--------------------------------------------------------------*/
body #primary {
        /*background-image: url(../../themes/campdevillern/images/bg.svg)!important;*/
        background-position: center top!important;
        background-size: 100%!important;
        background-repeat: no-repeat!important;
        padding-bottom: 80px;
}

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

::-moz-selection {
    background: #006177;
    color: #fff;
    -webkit-text-stroke-color: #fff;
}

::selection {
    background: #006177;
    color: #fff;
    -webkit-text-stroke-color: #fff;
}

[data-sr-id] { 
    visibility: hidden;
}

h1, h2.entry-title {
    font-family: 'brandon-grotesque', sans-serif;
    font-size: 4.5em!important;
    line-height: 1em!important;
    color: #fff;
    font-weight: 400;
    padding: 10px 0;
    margin: 0!important;
    text-transform: uppercase;
    letter-spacing: 8px;
    -webkit-text-fill-color: #fff;
    -webkit-text-stroke-width: 0px;
    -webkit-text-stroke-color: #006177;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

h1.entry-title-fix {
    font-size: 3.5em!important;
    -webkit-text-fill-color: #fff;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #295C6B;
    letter-spacing: 2px;
    font-weight: 900;
    padding-top: 5px!important;
    padding-bottom: 15px!important;
}

h2 {
    font-family: 'yantramanav', sans-serif;
    letter-spacing: 1px;
    font-size: 7em;
    line-height: 0.8em;
    font-weight: 900;
    margin-bottom: 15px;
    margin-top: 5px;
    
    color: #d3ccb9;
    -webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: 4px;
    -webkit-text-stroke-color: #d3ccb9;
}

h3 {
    font-family: 'brandon-grotesque', sans-serif;
    color: #295C6B;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 2.6em;
    font-weight: 900;
    line-height: 1.1em;
    margin-bottom: 10px;
    margin-top: 5px;
}

.sidebar h3.widget-title {
    text-align: center;
    width: 100%;
    font-size: 0.9em;
}

h3.widget-title span {
    text-align: center;
    background: #343d98;
    padding: 5px 15px;
}

h4 {
    font-family: 'brandon-grotesque', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.1em;
    letter-spacing: 0px;
    text-transform: uppercase;
    margin-top: 0;
}

h5 {
    font-family: 'brandon-grotesque', sans-serif;
    color: #006177;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 27px;
    line-height: 1.1em;
    font-weight: 900;
    margin-bottom: 10px;
    margin-top: 5px;
}

h6 {
    font-family: 'Rubik', sans-serif;
    font-size: 12px;
    line-height: 1.4em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
}

a {
    text-decoration: none!important;
}
ul:not([class]) {
    list-style: none;
    padding-left: 0.7em;
    margin-left: 0.7em;
}
ul:not([class]) li {
    position: relative;
    padding: 0.25em 0;
    font-size: 1.1em;
    font-weight: 300;
}
ul:not([class]) li::before {
	content: "";
    display: block;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 8px;
    top: 12px;
    height: 8px;
    margin-left: -1.4em;
    background-color: #CC6114;
    border-radius: 100%;
}
.svg-inline--fa {
    color: #CC6114;
}
.vertical-text {
    display: grid;
}
.vertical-text > span {
    transform: rotate(-180deg);
    writing-mode: vertical-lr; /* Vertical - Left to Right */
    line-height: 1;
}
blockquote {
    font-style: italic;
    color: #999;
    border-left: solid 5px #343d98;
    padding-left: 20px;
}
.fa {
    color: #fff!important;
    font-size: 1.4em!important;
    border: 0!important;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.break {
    width: 100%;
    display: table;
}

.absolute {
    position: absolute
}

.contour {
    border: solid 10px #c7c8ca!important;
    padding: 40px!important;
}

.textwidget {
    padding: 0px 0px;
}

.entry-content {
    margin: 0em 0 2em 0!important;
}

.widget_sow-editor h3.widget-title {
    border-bottom: 0!important;
    font-weight: 300!important;
    font-size: 14px!important;
    margin-bottom: 10px!important;
    color: #000;
    line-height: 1.3em!important;
}

.siteorigin-widget-tinymce ul li {
    text-transform: uppercase;
}

.siteorigin-widget-tinymce ul {
    margin: 0 0 1.5em 0em;
}

.siteorigin-widget-tinymce img {
    height: fit-content;
}

#accueil-hero {
    position: relative;
}

#accueil-hero::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 250px;
    background-image: url(../../themes/campdevillern/images/topographie-hybride-technominex.svg);
    background-position: bottom center;
    background-size: 100% 100%;
    z-index: 100;
}

#accueil-hero .sow-slider-images {
    padding: 0;
}

#accueil-hero .sow-slider-pagination {
    display: none!important;
}

#accueil-hero .sow-slider-image-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 200px;
}

#accueil-image-carottes-mine img {
    max-width: 320px;
}

#panel-accueil-carrieres {
    background-size: 100% 100%!important;
}

#panel-accueil-services {
    position: relative;
}

/*#panel-accueil-services::before,
#panel-accueil-services::after {
    content: "";
    display: block;
    position: absolute;
    top:0;
    width: 300px;
    height: 100%;
    
    background-size: 100% 100%;
}

#panel-accueil-services::before {
    left: 0;
    
    background-position: left center;
    background-image: url("../../themes/campdevillern/images/topographie-gauche-technominex.svg");
}

#panel-accueil-services::after {
    right: 0;
    
    background-position: right center;
    background-image: url("../../themes/campdevillern/images/topographie-droite-technominex.svg");
}*/

#loader {
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    background-color:#fff;
    top: 0;
    left: 0;
    bottom:0;
    right: 0;
    width: 100%;
    height: 100%;
    /*background: url("../../themes/campdevillern/images/loader.svg") 50% 50% no-repeat #FFF;
    background-size: 140px;
    background-position: center center;
    transform-origin: center center;*/
}
#loader img {
    width: 140px;
    height: 140px;
}

.compass {
    border: 2px solid #295C6B;
    display: block; 
    width: 25px; 
    height: 25px;
    border-radius: 100%;
    transform:scale(5);
    transform-origin: center center;
}
  
.rotation-loader {
    animation-name: waggle;
    animation-duration: 700ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
  
@keyframes waggle {
    0%   {transform:rotate(0deg);}
    100% {transform:rotate(360deg);}
}

.pickaxe-wrap .pickaxe-head img {
    max-width: 300px;
    margin: 0 auto;
}

.pickaxe-wrap .pickaxe-foot img {
    max-width: 80px;
    margin: 0 auto;
}

.pickaxe-wrap h1,
.pickaxe-wrap h1.entry-title {
    padding: 10px 0;
    color: #006177;
}
.couleur-semi-opaque {
    background-color:rgba(41,92,107,0.8);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.clip-path-pointe {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 15%, 50% 0, 0 15%);
    clip-path: polygon(0 0, 100% 0, 100% 15%, 50% 0, 0 15%);
    position: absolute;
    background-color: white;
    top: -1px;
    right: 0;
    bottom: 0;
    left: 0;
}
.clip-path-pointe-after::after {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 15%, 50% 0, 0 15%);
    clip-path: polygon(0 0, 100% 0, 100% 15%, 50% 0, 0 15%);
    position: absolute;
    background-color: white;
    height: 300px;
    top: 0px;
    right: 0;
    bottom: 0;
    left: 0;
}
.padding-right-0 {
    padding-right:0px!important;
}
.position-relative {
    position:relative;
}

/*--------------------------------------------------------------
## Themes
--------------------------------------------------------------*/

.gradient-theme {
    background-color: #21414C;
}

.gradient-theme.to-bottom {
    background-image: -webkit-gradient(linear, top center, bottom center, from(#21414C), to(#182934));
    background-image: -webkit-linear-gradient(top, #21414C, #182934);
    background-image: -moz-linear-gradient(top, #21414C, #182934);
    background-image: -o-linear-gradient(top, #21414C, #182934);
    background-image: linear-gradient(to bottom, #21414C , #182934);   
}

.gradient-theme.to-top {
    background-image: -webkit-gradient(linear, bottom center, top center, from(#21414C), to(#182934));
    background-image: -webkit-linear-gradient(bottom, #21414C, #182934);
    background-image: -moz-linear-gradient(bottom, #21414C, #182934);
    background-image: -o-linear-gradient(bottom, #21414C, #182934);
    background-image: linear-gradient(to top, #21414C , #182934);
}

.gradient-theme.to-left {
    background-image: -webkit-gradient(linear, right center, left center, from(#21414C), to(#182934));
    background-image: -webkit-linear-gradient(right, #21414C, #182934);
    background-image: -moz-linear-gradient(right, #21414C, #182934);
    background-image: -o-linear-gradient(right, #21414C, #182934);
    background-image: linear-gradient(to left, #21414C , #182934);   
}

.gradient-theme.to-right {
    background-image: -webkit-gradient(linear, left center, right center, from(#21414C), to(#182934));
    background-image: -webkit-linear-gradient(left, #21414C, #182934);
    background-image: -moz-linear-gradient(left, #21414C, #182934);
    background-image: -o-linear-gradient(left, #21414C, #182934);
    background-image: linear-gradient(to right, #21414C , #182934);   
}

.dark-theme {
    /*background-color: #000;*/
}


.dark-theme h1,
.dark-theme h2,
.dark-theme h3,
.dark-theme h4,
.dark-theme h5,
.dark-theme h6,
.dark-theme p,
.dark-theme ul,
.dark-theme ol,
.dark-theme span,
.dark-theme a,
.dark-theme a:visited,
.dark-theme input[type="checkbox"]:checked + label,
.dark-theme input[type="radio"]:checked + label,
.gradient-theme h1,
.gradient-theme h2,
.gradient-theme h3,
.gradient-theme h4,
.gradient-theme h5,
.gradient-theme h6,
.gradient-theme p,
.gradient-theme ul,
.gradient-theme ol,
.gradient-theme span,
.gradient-theme a,
.gradient-theme a:visited,
.gradient-theme input[type="checkbox"]:checked + label,
.gradient-theme input[type="radio"]:checked + label {
    color: #fff;
}

.dark-theme a:hover,
.dark-theme a:focus,
.dark-theme a:active,
.gradient-theme a:hover,
.gradient-theme a:focus,
.gradient-theme a:active {
    color: #fff;
}

.dark-theme input[type="text"],
.dark-theme input[type="email"],
.dark-theme input[type="url"],
.dark-theme input[type="password"],
.dark-theme input[type="search"],
.dark-theme input[type="number"],
.dark-theme input[type="tel"],
.dark-theme input[type="range"],
.dark-theme input[type="date"],
.dark-theme input[type="month"],
.dark-theme input[type="week"],
.dark-theme input[type="time"],
.dark-theme input[type="datetime"],
.dark-theme input[type="datetime-local"],
.dark-theme input[type="color"],
.dark-theme textarea,
.dark-theme select,
.gradient-theme input[type="text"],
.gradient-theme input[type="email"],
.gradient-theme input[type="url"],
.gradient-theme input[type="password"],
.gradient-theme input[type="search"],
.gradient-theme input[type="number"],
.gradient-theme input[type="tel"],
.gradient-theme input[type="range"],
.gradient-theme input[type="date"],
.gradient-theme input[type="month"],
.gradient-theme input[type="week"],
.gradient-theme input[type="time"],
.gradient-theme input[type="datetime"],
.gradient-theme input[type="datetime-local"],
.gradient-theme input[type="color"],
.gradient-theme textarea,
.gradient-theme select {
    color: #fff!important;
}

.dark-theme input[type="checkbox"] + label::before,
.dark-theme input[type="radio"] + label::before,
.gradient-theme input[type="checkbox"] + label::before,
.gradient-theme input[type="radio"] + label::before {
    border-color: #fff;
}

.dark-theme input[type="checkbox"] + label::after,
.dark-theme input[type="radio"] + label::after,
.gradient-theme input[type="checkbox"] + label::after,
.gradient-theme input[type="radio"] + label::after {
    background-color: #fff;
}

.gradient-blue {
    background: rgb(0,62,75);
    background: -moz-linear-gradient(140deg, rgba(0,62,75,1) 0%, rgba(24,41,51,1) 100%);
    background: -webkit-linear-gradient(140deg, rgba(0,62,75,1) 0%, rgba(24,41,51,1) 100%);
    background: linear-gradient(140deg, rgba(0,62,75,1) 0%, rgba(24,41,51,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#003e4b",endColorstr="#182933",GradientType=1);
}

.dark-theme p {
    color:#d3ccb9;
}

/*--------------------------------------------------------------
## Buttons
--------------------------------------------------------------*/

a.btn,
input[type="button"],
input[type="reset"],
input[type="submit"],
.gform_wrapper input[type="submit"] {
    display: inline-block;
    min-width: 100px;
    margin-top: 30px;
    margin-bottom: 30px;
    margin-right: 10px;
    cursor: pointer;
    font-family: 'brandon-grotesque', sans-serif;
    font-weight: 400;
    padding: 15px 30px;
    font-size: 11px;
    letter-spacing: 1px;
    border-style: solid;
    border-radius: 30px;
    border-width: 1px;
    border-color: transparent;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    color:#fff!important;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

a.btn-couleur,
a.btn-couleur:visited,
input[type="button"],
input[type="button"]:visited,
input[type="reset"],
input[type="reset"]:visited,
input[type="submit"],
input[type="submit"]:visited,
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="submit"]:visited {
    background: rgb(202,98,36);
    background: -moz-linear-gradient(145deg, rgba(202,98,36,1) 0%, rgba(169,77,31,1) 100%);
    background: -webkit-linear-gradient(145deg, rgba(202,98,36,1) 0%, rgba(169,77,31,1) 100%);
    background: linear-gradient(145deg, rgba(202,98,36,1) 0%, rgba(169,77,31,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ca6224",endColorstr="#a94d1f",GradientType=1);
    color: #fff;
}

a.btn-couleur:hover,
a.btn-couleur:focus,
a.btn-couleur:active,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="button"]:active,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="reset"]:active,
input[type="submit"]:hover, 
input[type="submit"]:focus,
input[type="submit"]:active {
    border-color: #CC6114;
    background-color: transparent;
    color: #CC6114;
}

a.btn-noir,
a.btn-noir:visited {
    background-color: #000000;
    color: #ffffff;
    border-color: #000000;
}

a.btn-noir:hover,
a.btn-noir:focus,
a.btn-noir:active {
    background-color: transparent;
    color: #000000;
}

a.btn-blanc,
a.btn-blanc:visited,
.dark-theme a.btn-noir,
.dark-theme a.btn-noir:visited,
.gradient-theme a.btn-noir,
.gradient-theme a.btn-noir:visited {
    background-color: #ffffff;
    color: #000000;
    border-color: transparent;
}

a.btn-blanc:hover,
a.btn-blanc:focus,
a.btn-blanc:active,
.dark-theme a.btn-noir:hover,
.dark-theme a.btn-noir:focus,
.dark-theme a.btn-noir:active,
.gradient-theme a.btn-noir:hover,
.gradient-theme a.btn-noir:focus,
.gradient-theme a.btn-noir:active {
    background-color: transparent;
    color: #000000;
    border-color: #000000;
}

a.btn-block {
    display: block;
    margin-right: 0;
    width: 100%;
}

/*--------------------------------------------------------------
## Diagonal borders
--------------------------------------------------------------*/

.diagonal-border {
    position: relative;
}

.diagonal-border.top-up,
.diagonal-border.top-down {
    padding-top: 200px;
}

.diagonal-border.bottom-up,
.diagonal-border.bottom-down {
    padding-bottom: 200px;
}

.diagonal-border.top-up {
    -webkit-clip-path: polygon(100% 0px, 0px 200px, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0px, 0px 200px, 0% 100%, 100% 100%);
}

.diagonal-border.top-down {
    -webkit-clip-path: polygon(100% 200px, 0 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 200px, 0 0, 0% 100%, 100% 100%);
}

.diagonal-border.bottom-up {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 200px), 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 200px), 0% 100%);
}

.diagonal-border.bottom-down {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% calc(100% - 200px));
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% calc(100% - 200px));
}

.diagonal-border.top-up.bottom-up {
    -webkit-clip-path: polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
    clip-path: polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
}

.diagonal-border.top-up.bottom-down {
    -webkit-clip-path: polygon(0 200px, 100% 0, 100% 100%, 0 calc(100% - 200px));
    clip-path: polygon(0 200px, 100% 0, 100% 100%, 0 calc(100% - 200px));
}

.diagonal-border.top-down.bottom-up {
    -webkit-clip-path: polygon(0 0, 100% 200px, 100% calc(100% - 200px), 0 100%);
    clip-path: polygon(0 0, 100% 200px, 100% calc(100% - 200px), 0 100%);
}

.diagonal-border.top-down.bottom-down {  
    -webkit-clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 calc(100% - 200px));
    clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 calc(100% - 200px));
}

.diagonal-border.bottom-up + .diagonal-border.top-up,
.diagonal-border.bottom-down + .diagonal-border.top-down {
    margin-top: -200px!important;
}

/*--------------------------------------------------------------
## Overlap
--------------------------------------------------------------*/

.overlap {
    display: block;
    position: relative;
    z-index: 1;
}

.overlap.no-origin img {
    position: absolute;
}

.overlap.to-bottom-small {
    top: 100px;
}
.overlap.to-bottom-small.no-gap {
    margin-top: -100px;
}

.overlap.to-bottom-medium {
    top: 200px;
}
.overlap.to-bottom-medium.no-gap {
    margin-top: -200px;
}

.overlap.to-bottom-large {
    top: 300px;
}
.overlap.to-bottom-large.no-gap {
    margin-top: -300px;
}

/* --- */

.overlap.to-top-small {
    bottom: 100px;
}
.overlap.to-top-small.no-gap {
    margin-bottom: -100px;
}

.overlap.to-top-medium {
    bottom: 200px;
}
.overlap.to-top-medium.no-gap {
    margin-bottom: -200px;
}

.overlap.to-top-large {
    bottom: 300px;
}
.overlap.to-top-large.no-gap {
    margin-bottom: -300px;
}

/* --- */

.overlap.to-left-small {
    right: 100px;
}
.overlap.to-left-small.no-gap {
    margin-right: -100px;
}

.overlap.to-left-medium {
    right: 200px;
}
.overlap.to-left-medium.no-gap {
    margin-right: -200px;
}

.overlap.to-left-large {
    right: 300px;
}
.overlap.to-left-large.no-gap {
    margin-right: -300px;
}

/* --- */

.overlap.to-right-small {
    left: 100px;
}
.overlap.to-right-small.no-gap {
    margin-left: -100px;
}

.overlap.to-right-medium {
    left: 200px;
}
.overlap.to-right-medium.no-gap {
    margin-left: -200px;
}

.overlap.to-right-large {
    left: 300px;
}
.overlap.to-right-large.no-gap {
    margin-left: -300px;
}

/*--------------------------------------------------------------
## Layout & Builder
--------------------------------------------------------------*/

.full {
    width: 100%;
    margin-right: auto!important;
    margin-left: auto!important;
}

.boxed {
    width: 100%;
    max-width: 1250px;
    margin-right: auto!important;
    margin-left: auto!important;
}

.gauche {
    text-align: left;
}

.droite {
    text-align: right;
}

.centre,
.center {
    text-align: center;
}

.layout-flex {
    display: flex!important;
    flex-direction: row;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.layout-flex > * {
    padding-right: 20px;
}

.layout-flex.layout-gapless > * {
    padding-right: 0;
}

.layout-flex.flex-direction-column {
    flex-direction: column;
}

.layout-flex.flex-wrap-nowrap {
    flex-wrap: nowrap;
}

.layout-flex.align-items-center {
    align-items: center;
}

.layout-flex.justify-content-flex-start {
    justify-content: flex-start;
}

.layout-flex.justify-content-center {
    justify-content: center;
}

.layout-flex.justify-content-flex-end {
    justify-content: flex-end;
}

.layout-flex.flex-direction-row-reverse {
    flex-direction: row-reverse;
}

.layout-flex.justify-content-space-around {
    justify-content: space-around;
}

.layout-flex.justify-content-evenly {
    justify-content: space-evenly;
}

.layout-flex.align-items-stretch {
    align-items: stretch;
}

.align-self-flex-start {
    align-self: flex-start;
}

.align-self-center {
    align-self: center;
}

.align-self-flex-end {
    align-self: flex-end;
}

.layout-max {
    -webkit-flex: 1 1 auto; /* Safari 6.1+ */
    -ms-flex: 1 1 auto; /* IE 10 */ 
    
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
}

.layout-min {
    -webkit-flex: 0 0 auto; /* Safari 6.1+ */
    -ms-flex: 0 0 auto; /* IE 10 */ 
    
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: auto;
}

.layout-fit {
    -webkit-flex: 1; /* Safari 6.1+ */
    -ms-flex: 1; /* IE 10 */ 
    flex: 1;
}

.layout-100 {
    width: 100%;
}

.layout-95 {
    width: 95%;
}

.layout-90 {
    width: 90%;
}

.layout-85 {
    width: 85%;
}

.layout-80 {
    width: 80%;
}

.layout-75 {
    width: 75%;
}

.layout-70 {
    width: 70%;
}

.layout-66 {
    width: 66.66%;
}

.layout-65 {
    width: 65%;
}

.layout-60 {
    width: 60%;
}

.layout-55 {
    width: 55%;
}

.layout-50 {
    width: 50%;
}

.layout-45 {
    width: 45%;
}

.layout-40 {
    width: 40%;
}

.layout-35 {
    width: 35%;
}

.layout-33 {
    width: 33.33%;
}

.layout-30 {
    width: 30%;
}

.layout-25 {
    width: 25%;
}

.layout-20 {
    width: 20%;
}

.layout-15 {
    width: 15%;
}

.layout-10 {
    width: 10%;
}

.layout-5 {
    width: 5%;
}

/*
Calcul la moitié de la largeur du contenu boxed.

100vw  : Largeur de l'écran.
1250px : Largeur du contenu boxed.
10px   : Soustraction d'un valeur fixe qui fausse le calcul si elle n'est pas ajouté
*/
.full .boxed-half-left {
    padding-left: calc(((100vw - 1250px) / 2) - 10px)!important;
}

.full .boxed-half-right {
    padding-right: calc(((100vw - 1250px) / 2) - 10px)!important;
}

.so-panel {
    margin-bottom: 0!important;
}

.panel-grid {
    margin-right: 0px!important;
    margin-left: 0px!important;
    padding-left: 0px!important;
    padding-right: 0px!important;
}

.panel-grid-cell {
    padding-left: 0px!important;
    padding-right: 0px!important;
}

/*--------------------------------------------------------------
# Entête & menu
--------------------------------------------------------------*/

#dev-ribbon {
	position: fixed;
	z-index: 10000;
	right: 0;
	top: 20%;
    padding: 20px 15px;
	background-color: #CC6114;
	color: #fff;
}

#dev-ribbon span {
    text-transform: uppercase;
    font-size: 19px;
	letter-spacing: 1px;
    font-weight: 400;
}

h1.entry-title, h1.page-title, h2.entry-title {
    padding: 40px 0;
}

#masthead {
    position: relative;
    width: 100%;
    z-index: 999;
}

.site-header.fixed {
    display: block;
}

#masthead.fixed {
    position: fixed;
    top: 0;
    
    animation: slideDown 0.3s;
    -o-animation: slideDown 0.3s;
    -moz-animation: slideDown 0.3s;
    -webkit-animation: slideDown 0.3s;
}

@keyframes slideDown {
	0% {
		transform: translateY(-100px);
	}
	100% {
		transform: translateY(0);
	}
}

.nav_wrap {
    position: absolute;
    width: 100%;
    padding: 0 30px;
}

#masthead.fixed .nav_wrap {
    background-color: rgba(148, 181, 188, 0.95);
}

.nav_wrap .layout-flex {
    align-items: center;
    justify-content: space-between;
}

.menu-button {
    height: 45px;
    padding: 10px;
}

.menu-button .bar {
    width: 33px;
    height: 2px;
    background-color: #fff;
    margin-bottom: 8px;
}

.menu-button.toggled {
    position: relative;
    z-index: 100000;
}

.menu-button.toggled #bar-1 {
	transform: rotate(45deg);
	margin-bottom: -2px;
}

.menu-button.toggled #bar-2 {
	transform: rotate(-45deg);
	margin-bottom: 0;
}

.menu-button.toggled #bar-3 {
    display: none;
}

.main-navigation .menu-button {
    display: none;
}

#logo {
    width: 100%;
    min-width: 150px;
    max-width: 200px;
    margin: 0;
    padding: 25px 0px;
    box-sizing: border-box;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#logo:hover {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#logo a {
    display: block;
}

#logo.mini {
    width: 60%;
}

#menu-arrow {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 1000;
}

#menu-arrow a {
    display: flex;
    justify-content: center;
    align-items: center;
    
    width: 42px;
    height: 42px;
    
    background-color: #003E4B;
}

#menu-arrow a:hover {
    cursor: pointer;
}

#menu-arrow .svg-inline--fa {
    font-size: 1.6em;
}

.menu-top-container ul {
    margin: 0;
    padding: 0;
}

.menu-top-container ul li {
    list-style-type: none;
    float: left;
    padding: 10px;
    border-right: solid 1px #fff;
}

.menu-top-container ul li a {
    font-family: 'Nunito', sans-serif;
    font-weight: 500;
    letter-spacing: 0px;
    color: #fff;
    padding: 10px 15px;
    text-transform: uppercase;
    font-size: 14px;
}

.menu {
    list-style: none;
    margin: 0;
    padding-left: 0!important;
    font-family: 'Nunito', sans-serif;
}

.menu a {
    color: #000;
}

.sidebar .menu ul li {
    width: 100%;
    text-align: center;
}

.entry-header {
    position: relative;
}

.entry-title-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.entry-title-wrap h1, .entry-title-wrap h2{
    font-weight: 500;
    padding: 2.2em 0;

}

/*--------------------------------------------------------------
# Réalisation accueil
--------------------------------------------------------------*/
.realisations-filtre-wrap ul {
    padding: 0;
    margin: 0;
    text-align: center;
    margin-bottom: 40px;
}

.realisations-filtre-wrap ul li {
    margin: 0;
    list-style: none;
    text-transform: uppercase;
    font-family: 'brandon-grotesque', sans-serif;
    color: #295C6B;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 1.5em;
    line-height: 1.1em;
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: 5px;
    padding: 10px 15px;
    border: solid 1px;
    display: inline-block;
    cursor: pointer;
    margin-right: 20px;
    -webkit-transition: 0.7s;
    -moz-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
}
.realisations-filtre-wrap ul li.current-li {
    color: #fff;
    background-color:#295C6B;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.realisations-filtre-wrap ul li:hover {
    background-color: #295C6B;
    color: #fff;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.layout-flex.work > * {
    padding-right: 30px;
}
.realisation-tile-infos {
    position: relative;
    text-align: center;
    color: #fff!important;
    padding: 40px;
    min-height: 400px;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s; 
    transition: 0.3s;
}
/*.realisation-tile-infos .topographie {
    background-image: url(../../themes/campdevillern/images/topographie-technominex.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    height: 150px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    opacity: 0.8;
}*/
.realisation-tile-date {
    color: #d3ccb9;
    font-weight: 300;
}
.realisation-tile-title h3 {
    -webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #fff;
    font-weight: 900;
    font-size: 3.6em;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.realisation-tile-lieu {
    font-family: 'brandon-grotesque', sans-serif;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.1em;
    line-height: 1.1em;
    font-weight: 700;
    margin-bottom: 0px;
    margin-top: 20px;
    letter-spacing: 2px;
    position: relative;
    z-index: 9;
}
.realisation-tile-image {
    height: 120px;
    border-right: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.realisation-tile-wrap:hover .realisation-tile-title h3 {
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: #fff;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s; 
    transition: 0.5s;
}
.realisation-tile-wrap:hover .realisation-tile-image {
    height: 240px;
    -webkit-transition: 0.5s ease;
    -moz-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.realisation-tile-wrap:hover .realisation-tile-infos {
    min-height: 300px;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s; 
    transition: 1s;
}
.work .not-current {
    display: none;
}


/*--------------------------------------------------------------
# Réalisation unique
--------------------------------------------------------------*/
.realisation-date {
    color: #d3ccb9;
    font-weight: 400;
    font-family: 'brandon-grotesque', sans-serif;
    font-size: 1.3em;
}
.realisation-info-icone {
    display: flex;
    align-items: center;
}
.realisation-info-icone span {
    font-size: 0.9em!important;
    color: #000!important;
    font-weight: 400!important;
}
.realisation-info-icone div {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    margin-right: 20px;
}
.realisation-manchette-lieu, .realisation-manchette-services {
    display: flex;
    align-items: center;
}
.realisation-manchette-services a {
    color:#fff!important;
}
.realisation-manchette-date {
    font-weight: 100;
}
.realisation-manchette-lien {
    width: 100%;
}
.realisation-image {
    height: 500px;
    position: relative;
    margin-right: 25px;
}
.realisation-image .realisation-soustitre {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 10px 15px;
    background-color: #d3ccb9;
    text-transform: uppercase;
    font-style: italic;
    color: #000;
    font-weight: 300;
    font-size: 1em;
}
.single-realisation .slick-realisation {
    cursor: all-scroll;
    margin-bottom: 60px;
}
.realisations-associees h3 {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #295C6B;
    text-align: center;
    margin-bottom: 40px;
}



/*--------------------------------------------------------------
# Taxonomy - Type de services
--------------------------------------------------------------*/
.type-service-intro {
    text-align: center;
}
.service-icone {
    margin-top: -20px;
}
.service-icone img {
    width: 120px;
}
.service-wrap {
    margin-bottom: 60px;
}
.service-ancre {
    background: transparent;
    width: 1px;
    height: 1px;
    position: absolute;
    top: -140px;
}
.service-description p {
    text-align: justify;
}
.type-service-titre {
    margin-bottom: 100px;
    margin-top:60px;
    display: inline-block;
}
.service-wrap .gallerie-thumb-wrap {
    padding:40px;
    border: solid 1px #d3ccb9;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 10px;
    -webkit-transition: 0.7s;
    -moz-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
}
.service-wrap .gallerie-thumb {
   position: absolute;
   background-size: cover;
   border-radius: 50%;
   margin-bottom: 0;
   padding: 5px;
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   -ms-transform: scale(0.9);
   -webkit-transform: scale(0.9);
   transform: scale(0.9);
}
.service-wrap .gallerie-thumb-wrap:hover {
    border: solid 1px #CC6114;
    -ms-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.service-enfant-titre h3 {
    font-size: 1.2em;
    font-weight: 500;
}
.masque {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 9;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
#masque-zone-haut {
    background-image: url(../../themes/campdevillern/images/masque-zone-haut.svg);
    top: -1px;
    bottom: -2px;
}
#masque-zone-milieu {
    background-image: url(../../themes/campdevillern/images/masque-zone-milieu.svg);
}
#masque-zone-bas {
    background-image: url(../../themes/campdevillern/images/masque-zone-bas.svg);
    top: -1px;
    bottom: 0px;
    z-index: 0;
}
#zone-image-milieu {
    height: 100%;
    align-items: center;
}
.zone-image {
    position: relative;
    background-color: #ccc;
    padding:0;
}
.zone-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
#zone-image-left-wrap #zone-image-haut {
    width: 500px;
    max-width: 100%!important;
    height: 750px;
}
#zone-image-bas {
    margin-bottom: -80px;
    height: 957px;
    width: 335px;
    max-width: 100%!important;
}
#zone-image-right-wrap {
    width: 100%;
    max-width: 300px;
    height: 1100px!important;
}
#zone-image-left-wrap {
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    width: min-content;
}
#zone-image-right-wrap {
    width: 300px;
    height: 1100px!important;
}
#zone-image-right-wrap {
    height: 100%;
    flex-direction: column;
    justify-content: center;
}
#zone-image-right-wrap .zone-image {
    padding-right: 0;
}

/*--------------------------------------------------------------
# Dernière réalisation - Réalisation en manchette - Widget
--------------------------------------------------------------*/
.realisation-manchette-wrap {
    padding: 200px 0;
    position: relative;
    color:#fff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.realisation-manchette-wrap h2 {
    margin:-160px 0 80px 0;
    width: 100%;
    text-align: center;
}
.so-widget-derniere-realisation {
    padding-top: 100px;
}
.so-widget-derniere-realisation::before {
    content: "";
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 15%, 50% 0, 0 15%);
    clip-path: polygon(0 0, 100% 0, 100% 15%, 50% 0, 0 15%);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
}
.realisation-manchette-titre h3 {
    color:#fff;
}
.realisation-manchette-wrap .boxed {
    position: relative;
}
.realisation-manchette-extrait p {
    font-size: 1.3em;
    line-height: 1.6em;
    font-weight: 300;
    max-width: 1050px;
}
.realisation-manchette-infos svg, .realisation-info-icone svg {
    font-size: 2.4em;
    margin-right: 10px;
}
.realisation-manchette-infos span, .realisation-info-icone span {
    display: inline-block;
    font-family: 'brandon-grotesque', sans-serif;
    color: #fff;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.25em;
    margin: 0.5em 0;
}
.realisation-manchette-infos .layout-flex > * {
    margin-bottom: 20px;
    margin-right: 20px;
}
.realisation-manchette-infos .layout-flex svg {
    min-width: 40px;
}


/*--------------------------------------------------------------
# Accueil - Frontpage
--------------------------------------------------------------*/
#panel-accueil-carrieres {
    margin-top: -100px;
    position: relative;
}
.carriere-btn-wrap {
    width: 100%;
    margin: auto;
}

/*--------------------------------------------------------------
# Footer & copyright
--------------------------------------------------------------*/

.site-footer {
    position: relative;
    background-color: #003E4B;
    color: #fff;
    /*margin-top: 80px;*/

}

.site-footer::before {
    content: "";
    position: absolute;
    bottom: calc(100% - 1px);
    left: calc(50% - 190px);
    
    width: 330px;
    height: 90px;
    background-image: url(../../themes/campdevillern/images/footer-top.svg);
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
    
    /*-webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);*/
    /*clip-path: polygon(50% 0%, 0% 100%, 100% 100%);*/
}

.site-footer h5 {
    color: #fff;
}

.site-footer,
.site-footer p {
    font-family: 'brandon-grotesque', sans-serif;
    font-weight: 300;
    font-size: 20px;
}

.site-footer a,
.site-footer a:hover,
.site-footer a:visited {
    color: #fff;
}

.site-footer strong {
    font-weight: 300;
}

.footer_wrap {
    min-height: 500px;
    padding: 100px 0;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 430px;
}

footer ul.menu li {
    position: relative;
}

footer ul.menu li a {
    font-family: 'brandon-grotesque', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 18px;
    line-height: 2.2em;
    font-weight: 400;
    padding-left: 40px;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
}

footer ul.menu li a:hover {
    color: #CC6114;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

footer ul.menu li a::before {
    content: "";
    height: 1px;
    width: 30px;
    background-color: #fff;
    position: absolute;
    bottom: 10px;
    display: table;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

footer ul.menu li a:hover::before {
    content: "";
    height: 1px;
    width: 30px;
    background-color: #CC6114;
    position: absolute;
    bottom: 10px;
    display: table;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.copyright_wrap {
    background-color: #00333D;
    padding: 25px 0;
}

.copyright_wrap,
.copyright_wrap p {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

.copyright_wrap .site-copyright span:not(:last-child)::after {
    content: "|";
    display: inline-block;
    margin: 0 1em;
}

.copyright_wrapper {
    height: 60px;
    background: #00333D;
    display: flex;
    align-items: center;
    font-size: 0.6em;
} 
.copyright_wrapper .layout-flex {
    justify-content: space-between;
}

.footer_logo_wrap {
    max-width: 100px;
    margin: 0 auto;
    margin-bottom: 40px;
}

footer .infos-contact {
    margin-bottom: 20px;
}

footer h5 {
    color: #d3ccb9!important;
}

.infos-contact .os_adresse p {
    margin-bottom: 20px;
}
.footer-description {
    margin-bottom:60px;
}

footer .reseaux_sociaux_wrap {
    margin-bottom: 60px;
}

/*--------------------------------------------------------------
# Reseaux sociaux
--------------------------------------------------------------*/

.os_single {
    display: inline-block;
}

.os_single a {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
    text-align: center;
}

.os_single svg {
    font-size: 1.5em;
    vertical-align: text-bottom;
    
    -webkit-transition: transform 0.3s;
    -moz-transition: transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
}

.os_single:hover svg {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

/*--------------------------------------------------------------
# Mega menu
--------------------------------------------------------------*/

.mega-menu-wrap .mega-menu {
    display: none;
    width: 100%;
    max-height: 600px;
    overflow-y: hidden;
    position: absolute;
    background-color: #fff;
    z-index: 1000;
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/

.sidebar {
    margin-top: 20px;
}

h3.widget-title span {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

h3.widget-title {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Plugin - Gravity Form
--------------------------------------------------------------*/

.gform_wrapper input {
    max-width: 100%!important;
}

.gform_wrapper {
    margin: 0!important;
}

.gform_wrapper .gform_footer {
    padding-top: 0!important;
    position: relative;
    text-align: right;
    margin-top: 30px !important;
}

.gform_wrapper .gform_ajax_spinner {
    width: auto;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-100%);
}

.gform_wrapper li.hidden_label input {
    margin-top: 0!important;
}

.gform_wrapper ul li.gfield {
    margin-top: 20px!important;
}

.gform_wrapper ul li.gfield:first-child {
    margin-top: 0px!important;
}

.gform_wrapper .field_description_below .gfield_description {
    padding-top: 6px!important;
}

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description:not(.validation_message) {
    display: none;
}

.gform_wrapper div.validation_error:before {
    display: none;
    content: "\f057";
    font-family: "Font Awesome 5 Regular";
}

.gform_wrapper div.validation_error .svg-inline--fa {
    position: absolute;
    top: calc(50% - 0.5em);
    left: 30px;
    font-size: 2.5em;
}

.gform_wrapper div.validation_error {
    display: none;
    color: #4f4f4f!important;
    border: 0!important;
    padding: 20px 20px 20px 84px!important;
    width: calc(100% - 16px)!important;
    text-align: left!important;
    position: relative;
    font-weight: normal!important;
    background-color: #f8d0c8;
    position: relative;
}

.gform_wrapper ul li.gfield {
    margin-top: 0px!important;
}

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper li.gfield_error textarea {
    border: 1px solid #B40404!important;
}

.gform_wrapper .gform_fields li.gfield.gfield_error {
    background-color: transparent!important;
    margin-bottom: 0!important;
    border: 0!important;
    padding-top: 0!important;
    padding-left: 0!important;
    padding-bottom: 0!important;
}

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description {
    padding-right: 0!important;
    padding-top: 6px!important;
}

.gform_wrapper .top_label .gfield_label,
.gform_wrapper legend.gfield_label {
    margin-top: 30px!important;
}

.gform_wrapper .top_label li:not(.hidden_label) .gfield_label + div.ginput_container {
    margin-top: 12px!important;
}

.gform_wrapper .gfield_description {
    font-size: 12px!important;
}

.gform_wrapper .validation_message {
    color: #B40404!important;
}

.gform_wrapper .top_label div.ginput_container {
    margin-top: 30px!important;
}

.gform_wrapper ul.gfield_checkbox,
.gform_wrapper ul.gfield_radio {
    margin: 0!important;
}

.gform_wrapper input[type="submit"] {
	/*width: calc(100% - 16px) !important;*/
	margin-right: 0 !important;
	display: block !important;
    float: right;
}

/*--------------------------------------------------------------
## Plugin - WPML
--------------------------------------------------------------*/

.wpml-ls-first-item {
    margin-left: 0px;
}

.main-navigation ul li.wpml-ls-menu-item a {
    padding: 12px;
    margin: 0 10px;
    border: 1px solid #000;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.main-navigation ul li.wpml-ls-menu-item a:hover {
    border-color: #CC6114;
}

.main-navigation ul li.wpml-ls-menu-item a::after {
    content: none;
}

/*--------------------------------------------------------------
## Widget - Element button
--------------------------------------------------------------*/

.widget_element-bouton {
    display: inline-block;
}

/*--------------------------------------------------------------
## Widget - Bloc contour
--------------------------------------------------------------*/

.bloc-contour-wrapper {
    background-color: #f2f3ed;
    color: #848774;
    padding: 50px;
    margin: 40px 0;
}

/*--------------------------------------------------------------
## Widget - Texte générique
--------------------------------------------------------------*/
.tg-sous-titre p {
    font-size: 26px;
    font-weight: 300;
    color: #666;
    font-family: 'brandon-grotesque';
}

/*--------------------------------------------------------------
## Widget - Liste offres emploi
--------------------------------------------------------------*/

.liste-offres-emploi-wrap > .layout-flex > * {
    padding-right: 40px;
}

.offre-emploi-wrap {
    margin-bottom: 50px;
}

.offre-emploi-wrap a {
    display: block;
    font-weight: 400;
}

.offre-emploi-container {
    padding: 30px;
    height: 100%;
}

.offre-emploi-titre {
    min-height: 8.4em;
}

.offre-emploi-infos > .layout-flex {
    flex-direction: row;
}

.offre-emploi-infos > .layout-flex > * {
    padding-right: 30px;
}

.offre-emploi-infos > .layout-flex > *:last-child {
    padding-right: 0;
}

.offre-emploi-info {
    margin-bottom: 5px;
}

.offre-emploi-info .svg-inline--fa {
    font-size: 1.6em;
    margin-right: 0.2em;
}

.offre-emploi-info span {
    font-size: 16px;
    vertical-align: top;
    color: #d3ccb9;
}

.offre-emploi-lien {
    position: relative;
    background-color: #CC6114;
    padding-left: 25px;
    padding-right: 25px;
    
    -webkit-transition: 0.2s ease;
    -moz-transition: 0.2s ease;
    -o-transition: 0.2s ease;
    transition: 0.2s ease;
}

.offre-emploi-wrap a:hover .offre-emploi-lien {
    padding-right: 45px;
}

.offre-emploi-lien::after {
    content: "";
    display: block;
    width: 15px;
    height: 30px;
    background-color: #CC6114;
    
    position: absolute;
    top: calc(50% - 15px);
    right: calc(100% - 1px);
    
    -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
    clip-path: polygon(0 50%, 100% 100%, 100% 0);
}

.offre-emploi-lien span {
    font-size: 13px;
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-orientation: sideways;
}

.offre-emploi-lien .vertical-text {
    height: 100%;
    text-align: center;
}

/*--------------------------------------------------------------
# Offre d'emploi unique
--------------------------------------------------------------*/
.carriere-description-wrap {
    background-color:#f2f3ed;
    color: #848774;
    padding: 50px;
    margin: 40px 0;
}
.carriere-description-titre {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 2em;
    font-family: 'brandon-grotesque', sans-serif;
    line-height: 1.1em;
    margin-bottom: 10px;
}
.carriere-description-wrap p {
    padding: 0;
    margin:0;
    font-size: 1.2em;
}   
.carriere-info-bref {
    margin-bottom: 40px;
}
.carriere-info-bref .info-bref {
    border-right: solid 1px #CC6114;
    padding-left: 15px;
}
.carriere-info-bref .info-bref:first-child {
    padding-left: 0px!important;
}
.carriere-info-bref .info-bref:last-child {
    border-right: solid 0px #CC6114;
}
.carriere-info-bref span {
    color:#295C6B;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 1.2em;
    font-family: 'brandon-grotesque', sans-serif;
}
.carriere-info-gen {
    margin: 60px 0;
}
.carriere-info-gen h3 {
    font-size: 1.8em;
    font-weight: 900;
    letter-spacing: 0;
}
.carriere-postuler h3 {
    text-align: center;
    -webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #295C6B;
}

/*--------------------------------------------------------------
## Template taxonomie - Type de service
--------------------------------------------------------------*/
.tax-type_service .type-service-icone .layout-flex {
    justify-content: center;
}
.tax-type_service .type-service-icone img {
    width: 180px;
}
.service-hierarchie {
    display: none;
}
.service-open .service-hierarchie{
    display: block!important;
}
.menu-plus {
    cursor: pointer;
    border: solid 1px #cb6023;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    margin: auto;
    margin-bottom: 15px;
    padding: 3px;
    color: #cb6023;
    font-weight: 500;
    font-family: initial;
}

/*--------------------------------------------------------------
## Template Erreur Error 404
--------------------------------------------------------------*/
.error404 h1 {
    -webkit-text-fill-color: #006177;
}


/*--------------------------------------------------------------
## Widget - Liste services type unique
--------------------------------------------------------------*/

.liste-services-type-wrap {
    text-align: center;
}

.liste-services-type-wrap .type-service-titre {
    margin-bottom: 0;
}

.liste-services-type-wrap .type-service-icone {
    margin-bottom: 40px;
}

.liste-services-type-wrap .type-service-icone img {
    width: 120px;
    height: 120px;
    margin: 0 auto;
}

.liste-services-type-wrap {
    text-align: center;
}

.liste-services-type-wrap .type-service-titre h3 {
    margin: 0;
}

.type-service-liste-services .service {
    position: relative;
}

.type-service-liste-services .service span {
    display: inline-block;
    font-family: 'brandon-grotesque', sans-serif;
    color: #295C6B;
    text-transform: uppercase;
    vertical-align: middle;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1.25em;
    margin: 0.5em 0;
}

.type-service-liste-services .service a {
    transition:0.3s;
    font-weight: 400!important;
    color: #0b6175;
}

.type-service-liste-services .service a:hover {
    transition:0.3s;
    color:#CC6114;
}


.type-service-liste-services .service.service-parent {
    padding: 0 5%;
}


.type-service-liste-services .service.service-enfant {
    padding: 0 5px;
}

.type-service-liste-services .service.service-enfant span {
    font-size: 0.8em;
    font-weight: 600;
    letter-spacing: 1px;
    margin: 0.6em 0;
}

.type-service-liste-services .service.service-enfant span a {
    color: #cb6023!important;
} 

.type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(3n-3)) .service.service-enfant::after {
    content: "";
    position: absolute;
    right: 0;
    top: calc(50% - 5px);
    width: 1px;
    height: 10px;
    background-color: #505446;
}

/*--------------------------------------------------------------
## Widget - Bloc icone
--------------------------------------------------------------*/

.bloc-icone-wrapper {
    text-align: center;
    padding: 0 1.5em;
}

.bloc-icone-icone {
    padding: 0 1em;
    line-height: 1;
}

.bloc-icone-icone img {
    display: inline-block;
    max-width: 60%;
    max-height: 140px;
}

.bloc-icone-titre {
    font-family: 'brandon-grotesque', sans-serif;
    color: #295C6B;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.05em;
    font-size: 0.95em;
    margin: 0.8em 0 0.4em;
}

.bloc-icone-mention {
    font-family: 'brandon-grotesque', sans-serif;
    color: #d3ccb9;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 1.2em;
    line-height: 1.25;
    margin: 0.8em 0 0.4em;
} 

/*--------------------------------------------------------------
## Widget - Membre listes
--------------------------------------------------------------*/

.layout-flex.liste-employes .employe-wrapper {
    /*padding-right: 40px; */
} 

.employe-wrapper {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
}

.employe-container {
    font-size: 1.25em;
}

.employe-image-wrapper {
    margin-bottom: 1.4em;
}

.employe-image {
    display: block;
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center;
}

.employe-content {
    margin: 1.25em 0;
}

.employe-meta {
    font-size: 0.8em;
}

.employe-titre {
    font-family: 'brandon-grotesque', sans-serif;
    color: #727961;
    font-size: 1.2em;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;  
    line-height: 1.1;
    margin: 0;
}

.employe-poste {
    font-family: 'brandon-grotesque', sans-serif;
    color: #727961;
    font-size: 0.7em;
    font-weight: 400;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    line-height: 1em;
    margin: 0;
    display: block;
}

/*--------------------------------------------------------------
## Widget - Bloc informations contact
--------------------------------------------------------------*/

.layout-flex.bloc-informations-contact > .bloc-contact-wrapper:not(:last-child) {
    border-right: 1px solid #d3ccb9;
}

.bloc-contact-container {
    height: 100%;
    padding: 1em 0;
}

.contact-infos {
    display: table;
    height: 100%;
    
    margin: 0 auto;
    padding: 0 20%;
}

.contact-content {
    display: table-cell;
    vertical-align: middle;
    
    font-size: 1.1em;
    letter-spacing: 0.025em;
}

.contact-icon-wrapper {
    margin-right: 1em;
}

.contact-info a {
    font-weight: 400;
}

/*--------------------------------------------------------------
# Produits - Widget derniers produits
--------------------------------------------------------------*/
.produits-manchette-bouton {
    text-align: center;
}
.produit-wrap {
    text-align: center;
    margin-bottom: 60px;
}
.produits-manchette-wrap {
    margin: 60px 0 0 0;
}
.produit-image {
    position: relative;
    max-height: 350px;
    max-width: 350px;
    border: solid 1px #d3ccb9;
    border-radius: 50%;
    margin:auto;
    padding: 20px;
    overflow:hidden;
}
.produit-hover {
    position: absolute;
    top: 0;
    right: 0;
    bottom:0;
    left:0;
    background-color: rgba(211, 204, 185, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.produit-hover svg {
    color: #000;
    font-size: 3em;
}
.produit-titre, .produit-categories {
    padding: 0 10px;
}
.produit-titre h5 {
    margin-bottom: 5px;
    margin-top: 30px;
    font-weight: 400;
    font-size: 1.3em;
}
.produit-categories {
    margin-bottom: 20px;
}
.produit-categories span {
    font-family: 'brandon-grotesque', sans-serif;
    color: #CC6114;
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 14px;
    line-height: 1.1em;
    font-weight: 400;
}
.separateur-produit {
    height: 1px;
    width: 50px;
    background-color: #d3ccb9;
    margin: auto;
    -webkit-transition: 0.7s;
    -moz-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
}
.produit-prix {
    font-family: 'brandon-grotesque', sans-serif;
    color: #006177;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 24px;
    line-height: 1.1em;
    font-weight: 900;
    margin-bottom: 10px;
    margin-top: 20px;
}
.produit-image:hover .produit-hover {
    opacity: 1;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.produit-wrap:hover .separateur-produit {
    width: 100px;
    background-color: #000;
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
}


/*--------------------------------------------------------------
# Widget - Galerie Photos
--------------------------------------------------------------*/

/* fluid 4 columns */
.galerie-photos-grid-sizer,
.galerie-photos-grid-item {
    width: 25%;
}

.galerie-photos {
    padding-left:10px;
}

.galerie-photos-grid-item {
    float: left;
    margin-bottom: 0px;
}

.galerie-photos-grid > .galerie-photos-grid-item {
    margin-top: 0px;
}

.galerie-photos-grid > .galerie-photos-grid-item ~ .galerie-photos-grid-item {
    margin-top: 0;
}

.galerie-photos-grid:after {
  content: '';
  display: block;
  clear: both;
}

.galerie-photos-image {
    padding: 10px 10px 0 0;;
}

.galerie-photos-image a {
    background-color:#CC6114;
    transition:0.7s;
}

.galerie-photos-image img {
    -webkit-transition: transform 0.2s ease-out;
    -moz-transition: transform 0.2s ease-out;
    -o-transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
}

.galerie-photos-image a:hover {
    cursor: pointer;
    padding:5px;
    transition:0.3s ease-out;
}

.galerie-photos-image a {
    display: block;
    line-height: 0;
    overflow:hidden;
}

.grid-item { width: 200px; }
.grid-item--width2 { width: 400px; }

/*--------------------------------------------------------------
# Page Campement Selbaie
--------------------------------------------------------------*/
.selbaie h2 {
    -webkit-text-stroke-width: 6px;
    -webkit-text-stroke-color: #d3ccb9;
}
.selbaie ul {
    display: flex;
    flex-wrap: wrap;
}
.selbaie ul li {
    margin-right: 40px;
    color: #CC6114;
}
.selbaie ul li::before {
    width: 15px;
    top: 17px;
    height: 1px;
    margin-left: -1.4em;
    background-color:#000;
    border-radius: 0;
}
.selbaie .gform_confirmation_message {
    text-align: center;
    color: #CC6114!important;
}

/*--------------------------------------------------------------
# Page Camp de ville Rouyn-Noranda
--------------------------------------------------------------*/

.rouyn-noranda h3:not(.solid) {
    text-align: center;
    -webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #295C6B;
}

.rouyn-noranda h4 {
	color: #295C6B;
	font-size: 1.8em;
    font-weight: 900;
    letter-spacing: 0;
}

.rouyn-noranda .btn-couleur {
    font-size: 1em;
	margin-bottom: 0; 
}

.rouyn-noranda #hero {
    position: relative;
}

.rouyn-noranda #hero::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 250px;
    background-image: url(../../themes/campdevillern/images/topographie-hybride-technominex.svg);
    background-position: bottom center;
    background-size: 100% 100%;
    z-index: 100;
}

.rouyn-noranda #hero .sow-slider-images {
    padding: 0;
}

.rouyn-noranda #hero .sow-slider-pagination {
    display: none!important;
}

.rouyn-noranda #hero .sow-slider-image-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 400px;
}

/*--------------------------------------------------------------
# Produits All
--------------------------------------------------------------*/
.facetwp-facet-produits {
    font-weight: 300;
    text-transform: uppercase;
    /*border-right: solid 1px #d3ccb9;*/
    height: 100%;
}
.facetwp-checkbox {
    background: url(../images/checkbox.png) 0 50% no-repeat;
    background-size: 14px 14px;
    margin-bottom: 10px!important;
    padding-left: 30px!important;
    cursor: pointer;
    font-size: 18px!important;
    color:#0d6176;

}


/*--------------------------------------------------------------
# Produits single
--------------------------------------------------------------*/
.produit {
    border-bottom: solid 1px #295C6B;
}
.produit-single-infos-wrapper {
    /*padding: 120px 0;*/
}
.produit-single-image {
    position: relative;
    height: 550px;
    width: 550px;
    border: solid 1px #d3ccb9;
    border-radius: 50%;
    margin:auto;
    padding: 20px;
    overflow:hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.produit-single-categories {
    margin-bottom: 0px;
}
.produit-single-categories span {
    font-family: 'brandon-grotesque', sans-serif;
    color: #CC6114;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 18px;
    line-height: 1.1em;
    font-weight: 300;
    display: inline-block;
    margin-right: 20px;
}
.produit-single-title h1.entry-title {
    font-family: 'brandon-grotesque', sans-serif;
    color: #295C6B!important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 2.6em!important;
    line-height: 1.1em;
    font-weight: 700;
    padding: 0;
    margin-bottom: 10px;
    margin-top: 5px;
    -webkit-text-fill-color: inherit;
    -webkit-text-stroke-width: none;
    -webkit-text-stroke-color: none;
}
.produit-single-prix {
    font-family: 'brandon-grotesque', sans-serif;
    color: #858873;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 28px;
    line-height: 1.1em;
    font-weight: 900;
    margin-bottom: 10px;
    margin-top: 20px;
}
.separateur-single-produit {
    height: 1px;
    width: 100%;
    background-color: #d3ccb9;
    margin: auto;
    -webkit-transition: 0.7s;
    -moz-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
}
.specification-unique {
    border-bottom: solid 1px #ccc;
    padding: 5px 10px;
    display: flex;
    align-items: center;
    height: 60px;
}
.specification-unique .layout-flex {
    justify-content: space-between;
    width: 100%;
}
.specification-titre {
    text-transform: uppercase;
    font-weight: 700;
}
.produit-single-demande-titre h3 {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #d3ccb9!important;
    font-size: 3.4em;
}
.produit-single-demande-wrap {
    padding: 120px 0;
    text-align: center;
}
.gradient-blue input, .gradient-blue textarea {
    background-color: transparent!important;
    outline: 0!important;
    border-width: 2px!important;
    color: #fff;
}
.product-form {
    display: none;
}
.produit-apparentes-wrap {
    padding: 60px 0;
}
.produit-apparentes-wrap .layout-flex {
    justify-content: center;
}
.produit-single-apparentes-titre h3 {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #006177!important;
    font-size: 3.4em;
    text-align: center;
    margin-bottom: 80px;
}
.produit-single-apparentes-titre h3 {
    font-size: 2.4em;
}
.produit-description p {
    font-size: 1.1em;
    color: #858873;
}
.produit-specifications h5 {
    color: #CC6114;
    font-size: 1em;
    font-weight: 600;
    letter-spacing: 1px;
}

/*--------------------------------------------------------------
## Page
--------------------------------------------------------------*/

.entry-header {
    margin-bottom: 80px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.entry-header::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 160px;
    background-image: url(../../themes/campdevillern/images/topographie-hybride-technominex.svg);
    background-position: bottom center;
    background-size: 100% 100%;
    z-index: 100;
}

.entry-header:empty {
    min-height: 200px;
}

/*--------------------------------------------------------------
## Archive
--------------------------------------------------------------*/

.archive h2.page-title {
    padding: 5px 15px;
    display: table;
    font-size: 1.2em;
}

/*--------------------------------------------------------------
## Nouvelles - Fil
--------------------------------------------------------------*/

.nouvelle_thumb {
    width: 100%;
    height: 180px;
    display: table;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.nouvelle_wrap p {
    color: #000;
}

.nouvelle_image {
    height: 22vw;
    min-height: 350px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.nouvelle_date {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    font-size: 0.7em;
    color: #c1e1ee;
    padding-top: 10px;
}

.nouvelle_wrap_action .nouvelle_image {
    box-shadow: 3px 3px #343d98;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.nouvelle_wrap_action .nouvelle_thumb {
    color: #d75570;
    background-color: #d5c5d8;
    -webkit-transform: translate(3px. -3px);
    /*Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translate(3px, -3px);
    /* IE 9 */
    transform: translate(3px, -3px);
    /* Firefox 16+, IE 10+, Opera */
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.nouvelle_note {
    font-style: italic;
    font-size: 0.6em;
    font-family: 'Roboto', sans-serif;
}

.blog h2.entry-title a {
    color: #343d98!important;
    font-size: 0.9em;
}

.etiquette_wrap a {
    color: #000!important;
    background-color: transparent;
    padding: 5px 10px;
    margin: 10px 10px 10px 0;
    border: solid 1px #000;
    font-size: 0.9em;
    font-family: 'Roboto', sans-serif!important;
    text-transform: uppercase;
    display: table;
    float: left;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.etiquette_wrap a:hover {
    color: #ccc!important;
    background-color: transparent;
    border: solid 1px #ccc;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.single-post .entry-content p:first-child {
    font-family: 'Roboto', arial, sans-serif;
    font-size: 1.4em;
    line-height: 1.3em;
    font-weight: 400;
}

.single-post blockquote {
    background-color: #c3e0f0;
    color: #fff!important;
    padding: 20px 30px;
    max-width: 350px;
    float: right;
    border-radius: 3px;
    border: 0!important;
    font-weight: 900;
    font-size: 1em;
    margin-bottom: 20px;
}

/*--------------------------------------------------------------
# Facebook - Share
----------------------------------------------------------------*/

.share {
    display: table;
    background-repeat: repeat;
    width: 100%;
    margin: 40px 0;
}

.share svg {
    color: #0072a6;
    font-size: 2.5em;
    -ms-transform: scale(1);
    /* IE 9 */
    -webkit-transform: scale(1);
    /* Chrome, Safari, Opera */
    transform: scale(1);
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.share svg:hover {
    color: #3765a3;
    -ms-transform: scale(1.3);
    /* IE 9 */
    -webkit-transform: scale(1.3);
    /* Chrome, Safari, Opera */
    transform: scale(1.3);
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background-color: transparent;
}

a:active,
a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

body,
button,
input,
select,
textarea {
    color: #4D4C48;
    font-family: 'yantramanav', sans-serif; 
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

p {
    font-family: 'yantramanav', sans-serif; 
    font-size: 18px;
    font-weight: 300;
    margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
    font-size: 0.9375rem;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
    box-sizing: inherit;
}

body {
    background: #fff;
    /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
}

blockquote,
q {
    quotes: "" "";
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 3em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}

img {
   	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
    display: block; /* Fallback for IE */
}

figure {
    margin: 1em 0;
    /* Extra wide images within figure tags don't overflow the content area. */
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

::-webkit-input-placeholder, /* Chrome/Opera/Safari */
::-moz-placeholder, /* Firefox 19+ */
:-moz-placeholder, /* Firefox 18- */
:-ms-input-placeholder, /* Internet Explorer 10-11 */
::-ms-input-placeholder, /* Microsoft Edge */ 
::placeholder { 
    color: #006177;
    text-transform: capitalize;
    letter-spacing: 1px;
    opacity: 1; /* Firefox */
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    border: 1px solid #CC6114;
    font-weight: 300!important;
    outline: 0;
    letter-spacing: 1px!important;
    padding: 15px!important;
    background-color: #fff;
    border-radius: 5px;
    -webkit-appearance: none;
    -moz-appearance:    none;
    appearance:         none;
    
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    border-color: #295C6B;
}

textarea {
    width: 100%;
}

input[type="checkbox"],
input[type="radio"] {
    display: none!important;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
	position: relative;
    font-weight: 400;
    font-size: 1em!important;
	padding-left: 22px !important;
	margin: 0 !important;
	line-height: 1.2 !important;
    letter-spacing: 1px!important;
}

input[type="checkbox"]:checked + label,
input[type="radio"]:checked + label {
    font-weight: normal!important;
}

input[type="checkbox"] + label::before,
input[type="radio"] + label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	border: 1px solid #000;
	display: block;
}

input[type="checkbox"] + label::after,
input[type="radio"] + label::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 3px;
	width: 9px;
	height: 9px;
	border-radius: 100%;
    background-color: transparent;
    
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

input[type="checkbox"] + label:hover::before,
input[type="radio"] + label:hover::before {
    border-width: 2px;
}

input[type="checkbox"]:checked + label::after,
input[type="radio"]:checked + label::after {
    background-color: #000;
}

input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after {
	border-radius: 0;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

a {
    color: #173947;
    font-weight: 600;
}

a:visited {
    color: #173947;
}

a:hover,
a:focus,
a:active {
    color: #173947;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

.main-navigation {
    display: none;
    text-align: right;
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation li {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.main-navigation a {
    display: block;
    text-decoration: none;
}

.main-navigation ul li a {
    font-family: 'yantramanav', sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    color: #000;
    padding: 10px 20px;
    text-transform: uppercase;
    font-size: 17px;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
}

.main-navigation ul li a:hover,
.main-navigation ul li a.current {
    color: #CC6114;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.main-navigation ul li a:after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 60px);
    height: 1px;
    background-color: transparent;
    
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.main-navigation ul li a.current:after {
    background-color: #CC6114;
}

.main-navigation li.current-menu-item,
.main-navigation li.current_page_parent {

}

.main-navigation li.current-menu-item > a,
.main-navigation li.current_page_parent > a {
    color: #CC6114;
}

.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    left: -999em;
    z-index: 99999;
    background-color: #295C6B;
    text-align: center;
}

.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}

.main-navigation ul ul a {
    width: 200px;
}

.main-navigation ul ul li {}

.main-navigation li:hover > a,
.main-navigation li.focus > a {}

.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
    left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
    left: 100%;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {}

/* Small menu. */

.menu-button,
.main-navigation.toggled ul {
    display: inline-block;
}

@media (min-width: 761px) {
    .menu-button {
        display: none;
    }
    .main-navigation {
        display: block;
    }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
    overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    float: left;
    width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    float: right;
    text-align: right;
    width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */

#content[tabindex="-1"]:focus {
    outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/

.widget {
    margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */

.widget select {
    max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/

.sticky {
    display: block;
}

.hentry {
    /*margin: 0 0 1.5em;*/
}

.byline,
.updated:not(.published) {
    display: none;
}

.single .byline,
.group-blog .byline {
    display: inline;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.entry-content {
    margin: 0!important;
    padding-bottom: 40px;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/

.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/

/* Globally hidden elements when Infinite Scroll is supported and in use. */

.infinite-scroll .posts-navigation,
/* Older / Newer Posts Navigation (always hidden) */

.infinite-scroll.neverending .site-footer {
    /* Theme Footer (when set to scrolling) */
    display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */

.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
    max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/

.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/

.gallery {
    margin-bottom: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

.gallery-columns-2 .gallery-item {
    max-width: 50%;
}

.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
    max-width: 25%;
}

.gallery-columns-5 .gallery-item {
    max-width: 20%;
}

.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
}

.gallery-caption {
    display: block;
}

/*--------------------------------------------------------------
# Media Query
--------------------------------------------------------------*/

@media (max-width: 1600px) {
    /*h2 {
        font-size: 12em;
    }*/
}

@media (max-width: 1400px) {
    h2 {
        font-size: 11em;
    }
    .zone-image {
        display: none;
    }
}

@media (max-width: 1250px) {
    h1,
    h2.entry-title {
        /*font-size: 5em!important;*/
    }

    h2 {
        /*font-size: 10em;*/
    }

    h3 {
        font-size: 2.4em;
    }

    .boxed {
        padding-left: 30px!important;
        padding-right: 30px!important;
    }
    
    .boxed .boxed {
        padding-left: 0!important;
        padding-right: 0!important;
    }
    
    .full .boxed-half-left {
        padding-left: 30px!important;
        padding-right: 0!important;
    }

    .full .boxed-half-right {
        padding-left: 0!important;
        padding-right: 30px!important;
    }
    
    .desktop-boxed {
        padding-left: 30px!important;
        padding-right: 30px!important;
    }
    .desktop-boxed .boxed-half-left,
    .desktop-boxed .boxed-half-right {
        padding-left: 0!important;
        padding-right: 0!important;
    }
    
    .desktop-row-padding.panel-row-style,
    .desktop-row-padding.panel-widget-style {
        padding-top: 40px!important;
        padding-bottom: 40px!important;
    }
    
    .desktop-cell-padding.panel-cell-style,
    .desktop-cell-padding.panel-widget-style {
        padding: 40px 30px!important;
    }
    
    .overlap {
        position: static;
    }

    .overlap.no-origin img {
        position: static;
    }
    
    .overlap.to-bottom-small {
        top: 0;
    }
    .overlap.to-bottom-small.no-gap {
        margin-top: 0;
    }

    .overlap.to-bottom-medium {
        top: 0;
    }
    .overlap.to-bottom-medium.no-gap {
        margin-top: 0;
    }

    .overlap.to-bottom-large {
        top: 0;
    }
    .overlap.to-bottom-large.no-gap {
        margin-top: 0;
    }

    /* --- */

    .overlap.to-top-small {
        bottom: 0;
    }
    .overlap.to-top-small.no-gap {
        margin-bottom: 0;
    }

    .overlap.to-top-medium {
        bottom: 0;
    }
    .overlap.to-top-medium.no-gap {
        margin-bottom: 0;
    }

    .overlap.to-top-large {
        bottom: 0;
    }
    .overlap.to-top-large.no-gap {
        margin-bottom: 0;
    }

    /* --- */

    .overlap.to-left-small {
        right: 0;
    }
    .overlap.to-left-small.no-gap {
        margin-right: 0;
    }

    .overlap.to-left-medium {
        right: 0;
    }
    .overlap.to-left-medium.no-gap {
        margin-right: 0;
    }

    .overlap.to-left-large {
        right: 0;
    }
    .overlap.to-left-large.no-gap {
        margin-right: 0;
    }

    /* --- */

    .overlap.to-right-small {
        left: 0;
    }
    .overlap.to-right-small.no-origin {
        margin-left: 0;
    }

    .overlap.to-right-medium {
        left: 0;
    }
    .overlap.to-right-medium.no-gap {
        margin-left: 0;
    }

    .overlap.to-right-large {
        left: 0;
    }
    .overlap.to-right-large.no-gap {
        margin-left: 0;
    }
    
    #cell-accueil-apropos .panel-layout > .panel-grid:nth-child(2) .panel-grid-cell.panel-grid-cell-empty {
        display: none;
    }
    
    #cell-accueil-apropos .panel-layout > .panel-grid:nth-child(2) .panel-grid-cell:nth-child(2) {
        width: 100%;
    }
    
    #panel-accueil-services::before,
    #panel-accueil-services::after {
        content: none;
    }
    
    #accueil-image-carottes-mine img {
        max-width: none;
    }
    
    .main-navigation ul li a {
        padding-left: 10px;
        padding-right: 10px;
		font-size:16px;
    }
    
    .main-navigation ul li a:after {
        width: calc(100% - 30px);
    }
    .produit-image {
        position: relative;
        max-height: 200px;
        max-width: 200px;
        border: solid 1px #d3ccb9;
        border-radius: 50%;
        margin: auto;
        padding: 20px;
        overflow: hidden;
    }
    .produit-single-image {
        height: 350px;
        width: 350px;
    }
    .carriere-info-bref .info-bref {
        border-right: solid 0px #CC6114;
        width: 33.33%;
        margin: 10px 0;
        padding-left: 0;
    }
}

@media (max-width: 1170px) {
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33 {
        width: 50%;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(3n-3)) .service.service-enfant::after {
        display: none;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(2n-2)) .service.service-enfant::after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: calc(50% - 5px);
        width: 1px;
        height: 10px;
        background-color: #505446;
    }
    
    .liste-offres-emploi-wrap .layout-flex .layout-50 {
        padding-right: 20px;
    }
    
    .offre-emploi-wrap {
        margin-bottom: 30px;
    }
}

@media (max-width: 1060px) {
    .tablet-boxed {
        padding-left: 30px!important;
        padding-right: 30px!important;
    }
    .tablet-boxed .boxed-half-left,
    .tablet-boxed .boxed-half-right {
        padding-left: 0!important;
        padding-right: 0!important;
    }
    
    .tablet-row-padding.panel-row-style,
    .tablet-row-padding.panel-widget-style {
        padding-top: 40px!important;
        padding-bottom: 40px!important;
    }
    
    .tablet-cell-padding.panel-cell-style,
    .tablet-cell-padding.panel-widget-style {
        padding: 40px 30px!important;
    }
    
    h2 {
        font-size: 8em;
    }
    
    h3 {
        font-size: 2em;
    }
    .employe-wrapper.layout-25 {
        width: 33.33%;
    }
    .galerie-photos-grid-sizer, .galerie-photos-grid-item {
        width: 50%;
    }
    .selbaie h2 {
        -webkit-text-stroke-width: 3px;
    }
    .main-navigation ul li a {
        letter-spacing: 1px;
        padding: 10px 10px;
        font-size: 15px;
    }
}

@media (max-width: 960px) {
    h1,
    h2.entry-title {
        font-size: 4em!important;
    }

    h2 {
        font-size: 6em;
        -webkit-text-stroke-width: 2px;
    }

    h3 {
        font-size: 1.8em;
    }
    
    h4 {
        font-size: 1.4em;
    }
    
    .main-navigation ul li a {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 14px;
    }
    .main-navigation ul li a:after {
        width: calc(100% - 20px);
    }
    
    .nav_wrap .layout-25 {
        width: 40%;
    }
    .nav_wrap .layout-15 {
        width: 0;
    }
    .nav_wrap .reseaux_sociaux_wrap {
        display: none;
    }
    .wpml-ls-first-item {
        margin-left: 10px;
    }
    .main-navigation ul li.wpml-ls-menu-item a {
        margin: 0 5px;
    }
    #dev-ribbon {
        display: none;
    }
    .offre-emploi-container {
        padding: 20px;
    }
    .produit-titre h5 {
        font-size: 0.9em;
    }
    .produit-categories span {
        letter-spacing: 2px;
        font-size: 10px;
    }
    .produit-prix {
        font-size: 1.2em;
    }
    #masthead .nav_wrap {
        background-color: #003E4B;
    }
    #masthead.fixed {
        position: static;
    }
    #logo {
        width:100%;
    }
    button {
        text-align: center;
        border-color: transparent!important;
        background: transparent!important;
        background-color: transparent!important;
    }
    .nav_wrap {
        position: relative;
        padding: 0 10px;
    }
    .nav_wrap .layout-flex {
        flex-wrap: nowrap;
    }
    .nav_wrap .layout-flex .layout-logo {
        flex: 1;
    }
    .nav_wrap .layout-flex .layout-menu {
        flex: auto;
    }
    .nav_wrap .layout-flex .layout-buttons {
        flex: 0;
    }
    .menu-button.toggled {
        display: block;
        position: fixed;
        top: 10px;
        right: 10px;
    }
    .main-navigation {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        float: none;
        text-align: center;
        position: fixed!important;
        top: 0;
        left: 0;
        z-index: 10000;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 62, 75, 0.95);
    }
    .main-navigation ul {
        width: 100%;
    }
    .main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
        display: block;
    }
    .main-navigation ul ul {
        box-shadow: none;
        position: static;
        width: 100%;
    }
    .main-navigation ul li {
        width: 100%;
        text-align: center;
        padding-right: 0;
    }
    .main-navigation ul li a {
        color: #fff;
        font-size: 24px;
        padding: 0.6em 0;
        width: 100%;
    }
    .main-navigation ul li a:after {
        width: 100px;
    }
    .main-navigation ul li.wpml-ls-menu-item {
        width: auto;
    }
    .main-navigation ul li.wpml-ls-menu-item a {
        width: auto;
        padding: 10px 13px;
        margin: 5px;
    }
    .wpml-ls-first-item {
        margin-left: 0;
    }
    .nav_wrap .layout-max {
        width: 100%;
    }
    .nav_wrap .layout-20 {
        width: 30%;
    }
    .menu-button {
        display: block;
    }
    .main-navigation {
        display: none;
    }
}

@media (max-width: 780px) {
    h1,
    h2.entry-title {
        font-size: 3em!important;
        letter-spacing: 4px;
    }
    
    h2 {
        font-size: 7em;
    }

    h3 {
        font-size: 2em;
    }
    
    .boxed-half-left,
    .boxed-half-right {
        padding-left: 0!important;
        padding-right: 0!important;
    }
    
    .mobile-boxed {
        padding-left: 30px!important;
        padding-right: 30px!important;
    }
    .mobile-boxed .boxed-half-left,
    .mobile-boxed .boxed-half-right {
        padding-left: 0!important;
        padding-right: 0!important;
    }
    
    .mobile-row-padding.panel-row-style,
    .mobile-row-padding.panel-widget-style {
        padding-top: 40px!important;
        padding-bottom: 40px!important;
    }
    
    .mobile-cell-padding.panel-cell-style,
    .mobile-cell-padding.panel-widget-style {
        padding: 40px 30px!important;
    }
    
    .liste-services-type-wrap .type-service-icone {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33 {
        width: 33.3%;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(2n-2)) .service.service-enfant::after {
        display: none;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(3n-3)) .service.service-enfant::after {
        display: block;
    }
    
    .type-service-liste-services .service.service-enfant {
        padding: 0 20px;
    }
    .produit-image {
        max-height: 300px;
        max-width: 300px;
    }
    .service-icone {
        display: none;
    }
    .service-photos {
        display: flex!important;
        flex-wrap: wrap;
    }
    .tax-type_service .type-service-icone img {
        width: 140px;
    }
    .service-ancre {
        margin-bottom: 30px;
    }
    .service-ancre {
        top: -40px;
    }
}

@media (max-width: 760px) {
    body {
        padding-top: 0!important;
    }
    .layout-flex > * {
        /*padding-right: 0;*/
        padding-right:15px;
    }
    .layout-5 {
        width: 100%;
    }
    .layout-10 {
        width: 100%;
    }
    .layout-15 {
        width: 100%;
    }
    .layout-20 {
        width: 100%;
    }
    .layout-25 {
        width: 100%;
    }
    .layout-30 {
        width: 100%;
    }
    .layout-33 {
        width: 100%;
    }
    .layout-35 {
        width: 100%;
    }
    .layout-40 {
        width: 100%;
    }
    .layout-45 {
        width: 100%;
    }
    .layout-50 {
        width: 100%;
    }
    .layout-55 {
        width: 100%;
    }
    .layout-60 {
        width: 100%;
    }
    .layout-65 {
        width: 100%;
    }
    .layout-66 {
        width: 100%;
    }
    .layout-70 {
        width: 100%;
    }
    .layout-75 {
        width: 100%;
    }
    .layout-80 {
        width: 100%;
    }
    .layout-85 {
        width: 100%;
    }
    .layout-90 {
        width: 100%;
    }
    .layout-95 {
        width: 100%;
    }
    h1.entry-title {
        text-align: center;
    }
    .footer_logo_wrap {
        margin: 0 auto;
    }
    .os_credit {
        float: none;
    }
    .copyright_wrap .site-copyright span {
        display: block;
    }
    .copyright_wrap .site-copyright span:not(:last-child)::after {
        content: none;
    }
    #accueil-hero::after {
        background-size: 1000px 100%;
    }
	.rouyn-noranda #hero::after {
        background-size: 1000px 100%;
    }
    #panel-accueil-carrieres {
        background-size: 1400px 100%!important;
    }
    .liste-offres-emploi-wrap .layout-flex .layout-50 {
        width: 100%;
        padding-right: 0;
    }
    .footer_wrap .layout-flex {
        justify-content: center;
        text-align: center;
    }
    footer ul.menu li a::before {
        display: none;
    }
    footer ul.menu li a {
        padding-left: 0;
    }
    .copyright {
        margin-bottom: 5px;
    }
    .copyright_wrapper {
        font-size: 0.6em;
    }
    .copyright_wrapper .layout-flex {
        justify-content: center;
        text-align: center;
    }
    .produit-single-title h1.entry-title {
        font-size: 2em!important;
        text-align: left;
    }
    .produit-single-categories span {
        font-size: 12px;
    }
    .entry-header {
        margin-bottom: 40px;
    }
    .produit-single-demande-titre h3 {
        font-size: 1.8em;
    }
    h1.entry-title-fix {
        font-size: 2em!important;
    }
    .carriere-description-titre {
        font-size: 1.4em;
        line-height: 1.1em;
    }
    .carriere-info-bref .info-bref {
        width: 50%;
    }
    .employe-wrapper.layout-25 {
        width: 50%;
    }
}

@media (max-width: 660px) {
    .sub_04 {
        display: none;
    }
    .single-post blockquote {
        width: 100%;
        max-width: none;
        margin: 20px 0 20px 20px;
    }
    .galerie-photos-grid-sizer, .galerie-photos-grid-item {
        width: 100%;
    }
}

@media (max-width: 640px) {
    h2 {
        font-size: 6em;
    }

    h3 {
        font-size: 2.2em;
    }
    
    .gform_wrapper div.validation_error {
        width: 100%!important;
    }
    
    .gform_wrapper input[type="submit"] {
        width: 100%!important;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33 {
        width: 50%;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(3n-3)) .service.service-enfant::after {
        display: none;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(2n-2)) .service.service-enfant::after {
        display: block;
    }
    .produit-single-image {
        height: 300px;
        width: 300px;
    }
    .employe-wrapper.layout-25 {
        width: 100%;
        padding-right: 0;
    }
    .employe-image {
        height: auto;
    }

}

@media (max-width: 500px) {
    h2 {
        font-size: 4em;
    }
    
    h4 {
        font-size: 1.2em;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33 {
        width: 100%;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(3n-3)) .service.service-enfant::after {
        display: none;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:not(:nth-child(2n-2)) .service.service-enfant::after {
        display: none;
    }
    
    .type-service-liste-services .service-hierarchie .layout-flex .layout-33:nth-child(1n-1):not(:last-child) .service.service-enfant::after {
        content: "";
        display: block;
        position: absolute;
        top: 100%;
        left: calc(50% - 5px);
        width: 10px;
        height: 1px;
        background-color: #505446;
    }
    
    .type-service-liste-services .service.service-parent {
        padding: 0;
    }
    
    .type-service-liste-services .service.service-parent span {
        font-size: 1.2em;
        font-weight: 500;
        margin: 0.7em 0;
    }
    
    .type-service-liste-services .service.service-enfant {
        padding: 0 5px;
    }
    
    .type-service-liste-services .service.service-enfant span {
        font-size: 0.75em;
    }
    
    .offre-emploi-wrap a > .layout-flex {
        flex-wrap: wrap;
    }
    
    .offre-emploi-wrap a > .layout-flex > * {
        width: 100%;
    }
    
    .offre-emploi-wrap a:hover .offre-emploi-lien {
        padding-bottom: 45px;
        padding-right: 20px;
    }
    
    .offre-emploi-lien .vertical-text {
        display: block;
    }
    
    .offre-emploi-lien .vertical-text span {
        transform: none;
        writing-mode: initial;
    }
    
    .offre-emploi-lien span {
        text-orientation: initial;
    }
    
    .offre-emploi-lien::after {
        left: 50%;
        right: auto;
        bottom: calc(100% - 1px);
        top: auto;
        transform: rotate(90deg);
        transform-origin: left;
    }
    .carriere-info-bref .info-bref {
        width: 100%;
    }
}

@media (max-width: 420px) {
    h1, h2.entry-title {
        font-size: 2.4em!important;
    }
    
    h2 {
        font-size: 3.4em;
    }
}