/*

Theme Name: xyz

Theme URI: http://underscores.me/

Author: Underscores.me

Author URI: http://underscores.me/

Description: Description

Version: 1.0.0

License: GNU General Public License v2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: xyz

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.



xyz 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.com/normalize.css/

*/

/**************************************************

 * GENERAL DEFINITIONS

 **************************************************/

@font-face {

    font-family: 'CircularStd-Book';

    src: url('./fonts/CircularStd-Book.eot?#iefix') format('embedded-opentype'), url('./fonts/CircularStd-Book.woff') format('woff'), url('./fonts/CircularStd-Book.ttf') format('truetype'), url('./fonts/CircularStd-Book.svg#CircularStd-Book') format('svg');

    font-weight: normal;

    font-style: normal;

}

@font-face {

    font-family: 'CircularStd-Bold';

    src: url('fonts/CircularStd-Bold.eot');

    src: local('☺'), url('./fonts/CircularStd-Bold.woff') format('woff'), url('./fonts/CircularStd-Bold.ttf') format('truetype'), url('./fonts/CircularStd-Bold.svg') format('svg');

    font-weight: normal;

    font-style: normal;

}

* {
    box-sizing: border-box;
}

html,
body {

    -webkit-font-smoothing: antialiased !important;

    -moz-osx-font-smoothing: grayscale !important;

}

html {

    height: 100%;

}

body {

    font-family: 'CircularStd-Book', arial, sans-serif;

    position: relative;

    height: 100%;

    min-height: 100%;

    color: #000000;

    overflow-x: hidden;

}

.clear {
    clear: both;
}

a,
a:link,
a:hover,
a:active,
a:visited {

    color: black;

    text-decoration: none;

    outline: none;

}

a:hover {

    color: #444;

}

h1,
h2 {

    font-family: 'CircularStd-Bold', arial, sans-serif;

}

h1 {

    font-size: 60px;

}

.clear {

    clear: both;

}

#page-overlay {

    position: fixed;

    top: 0;

    left: 0;

    height: 100%;

    width: 100%;

    background: rgba(0, 0, 0, 0.6);

    z-index: 19;

    display: none;

}

.container {

    padding-left: 50px;

    padding-right: 50px;

}

.large-container {

    width: auto;

    max-width: 1350px;

}

.full-container {

    width: auto;

    max-width: 100%;

}

.arrow-link {

    color: black;

    font-size: 16px;

    display: inline-block;

    padding-right: 35px;

    vertical-align: top;

    background: url(img/arrow-link-black.png) top right no-repeat;

    cursor: pointer;

}

.arrow-link-service-center {
    font-size: inherit;
}

.title-bar .arrow-link-title-bar {
    float: right;
    color: white;
    font-size: 18px;
    background: url(img/arrow-link-white.png) center right no-repeat;
    display: inline-block;
    text-align: center;
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.title-bar-service-centre .row-equal-height {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
}

.no-touch .title-bar .arrow-link-title-bar:hover {
    color: inherit;
}

.no-touch .arrow-link:hover {

    text-decoration: none;

    color: black;

}

.arrow-link span {

    padding-bottom: 5px;

    position: relative;

}

.arrow-link span::after {

    background-color: black;

    bottom: 0;

    content: "";

    display: block;

    height: 1px;

    left: 0;

    position: absolute;

    transform: translateZ(0px) translate(0px, 0px);

    transition: width 0.2s ease-in 0s;

    width: 100%;

}

.no-touch .arrow-link:hover span::after {

    width: 0%;

}

.arrow-link-white {

    color: white;

    background: url(img/arrow-link-white.png) top right no-repeat;

}

.no-touch .arrow-link-white:hover {

    color: white;

}

.arrow-link-white span::after {

    background-color: white;

}

.arrow-link-bigger {

    font-size: 28px;

    padding-right: 48px;

    background: url(img/arrow-link-bigger-white.png) top right no-repeat;

}

.arrow-link-big {

    font-size: 22px;

    padding-right: 48px;

    background: url(img/arrow-link-bigger-white.png) 100% -5px no-repeat;

}

.arrow-link-big-black {

    font-size: 22px;

    padding-right: 48px;

    background: url(img/arrow-link-bigger-black.png) 100% -5px no-repeat;

}

.arrow-link span::after {

    height: 2px;

}

.embed-container {

    position: relative;

    /* 

    overflow: hidden;

    */

    max-width: 100%;

    height: 700px;

}

.embed-container iframe,
.embed-container object,
.embed-container embed {

    width: 100%;

    height: 100%;

}

ul.social-icons {

    margin: 0;

    padding: 0;

    list-style-type: none;

}

ul.social-icons li {

    padding: 0;

    margin-right: 20px;

    display: inline-block;

    height: 25px;

}

ul.social-icons li img {

    height: 100%;

    width: auto;

    opacity: 1;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

ul.social-icons li a:hover img {

    opacity: 0.6;

}

.os-animation {

    opacity: 0;

}

.os-animation.animated {

    opacity: 1;

}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    .container {

        padding-left: 27px;

        padding-right: 27px;

    }

    .embed-container {

        height: 550px;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

}

/**************************************************

 * HEADER & NAVIGATION

 **************************************************/

header {

    background-color: rgba(0, 0, 0, 0.50);

    position: fixed;

    top: 0;

    width: 100%;

    height: 97px;

    z-index: 20;

    transition: top 0.3s ease-in-out;

}

header.nav-up {

    top: -97px;

}

header #logo {

    position: absolute;

    top: 18px;

    left: 50px;

}

.contact-header{
    position: absolute;
    top: 30px;
    left: 150px;

    color: white!important;
    font-size: 20px;

    transition: all 200ms ease-out;
}

.contact-header img{
    width: 18%;
    margin-left: 10px;
}


.contact-header span:after{
    background-color: white;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    transform: translateZ(0px) translate(0px, 0px);
    transition: width 0.2s ease-in 0s;
    width: 100%;
}
.contact-header:hover span:after{
  width: 0;
}
.contact-header:visited, .contact-header:active{
   color: white!important;
}

.contact-header:hover{
    color: #df1123!important;
    font-weight: bold;
}

header #logo img {

    height: 60px;

    width: auto;

}

header nav#main-nav {

    background-color: #0a0a0a;

    position: fixed;

    right: -750px;

    top: 0;

    width: 750px;

    height: 100%;

    z-index: 30;

    overflow: hidden;

}

header nav#main-nav a {

    outline: none;

}

header nav#main-nav #main-nav-container {

    position: relative;

    height: 100%;

    width: 100%;

}

header nav#main-nav #main-nav-panel {

    position: absolute;

    top: 0;

    left: 0%;

    width: 100%;

}

header nav#main-nav ul#primary-menu li ul {

    position: absolute;

    top: 0;

    left: 200%;

    width: 100%;

}

header nav#main-nav ul.primary,
header nav#main-nav ul.submenu {

    list-style-type: none;

    padding: 0;

    margin-top: 90px;

    margin-bottom: 30px;

}

header nav#main-nav ul.primary {

    margin-bottom: 40px;

}

header nav#main-nav ul.primary li {

    border-bottom: 1px solid #272727;

    cursor: pointer;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

header nav#main-nav ul.primary li:hover,
header nav#main-nav ul.primary li.current-menu-item {

    background-color: #b70c1b;

}

header nav#main-nav ul.primary li:nth-child(3),
header nav#main-nav ul.primary li:nth-child(4) {

    background-color: transparent !important;

}

header nav#main-nav ul.primary li:nth-child(3):hover,
header nav#main-nav ul.primary li:nth-child(4):hover {

    background-color: #b70c1b !important;

}

header nav#main-nav ul.primary li:nth-child(4) ul li.current-menu-item {

    background-color: transparent !important;

}

header nav#main-nav ul.primary li:nth-child(4) ul li:hover {

    background-color: #b70c1b !important;

}

header nav#main-nav ul.primary li.menu-item-has-children {

    background-image: url(./img/main-nav-arrow.png);

    background-position: 670px 25px;

    background-repeat: no-repeat;

}

header nav#main-nav ul.primary a {

    display: block;

    padding: 14px 60px;

    color: white;

    text-decoration: none;

    font-family: 'CircularStd-Bold', arial, sans-serif;

    font-size: 40px;

    line-height: 40px;

}

header nav#main-nav ul.submenu li.back {

    background-image: url(./img/main-nav-back.png);

    background-position: 30px 12px;

    background-repeat: no-repeat;

}

header nav#main-nav ul.submenu li.back a {

    padding: 10px 60px;

    font-size: 20px;

    line-height: 20px;

}

header nav#main-nav ul.secondary {

    list-style-type: none;

    padding: 0;

    margin-bottom: 35px;

}

header nav#main-nav ul.secondary a {

    display: block;

    padding: 2px 60px;

    color: white;

    text-decoration: none;

    font-family: 'CircularStd-Bold', arial, sans-serif;

    font-size: 19px;

    line-height: 22px;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

.no-touch header nav#main-nav ul.secondary li:hover a,
header nav#main-nav ul.secondary li.current-menu-item a {

    color: #b70c1b;

}

header nav#main-nav ul.social-icons {

    margin-left: 60px;

}

header nav#main-nav ul.social-icons li {

    height: 22px;

}

header #languages {

    position: absolute;

    display: inline-block;

    top: 32px;

    right: 140px;

    z-index: 40;

}

header #languages a {

    color: white;

    font-size: 20px;

    font-family: 'CircularStd-Bold', arial, sans-serif;

    display: inline-block;

    margin-left: 10px;

}

#hamburger {

    display: block;

    width: 54px;

    overflow: hidden;

    cursor: pointer;

    position: absolute;

    right: 45px;

    top: 25px;

    z-index: 40;

}

/* link support in the header*/

header svg {
    width: 58px;
    fill: white;
}

#languages-drawer {
    display: none;
    padding: 0 30px;
    position: absolute;
    left: 0;

}

#languages-drawer > a {
    color: white;
    padding-right: 20px;
    font-size: 20px;
    font-family: 'CircularStd-Bold', arial, sans-serif;

}

.front-page {
    position: absolute;
    right: 220px;
    overflow: hidden;
    top: 15px;
}

.not-support-page {
    display: none;
}

/* -------------------------------- */

#hamburger span {

    background: white;

    display: block;

    height: 5px;

    margin: 8px 0;

    position: relative;

    transform: rotate(0);
    -webkit-transform: rotate(0);

    top: 0;

    left: 0;

    opacity: 1;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;

    transition: none 0.5s ease;
    -webkit-transition: none 0.5s ease;

    transition-property: transform, top, left, opacity;
    -webkit-transition-property: -webkit-transform, top, left, opacity;

}

html.menu-opened #hamburger span {
}

html.menu-opened #hamburger span.top-bar {
    transform: rotate(45deg);
    top: 10px;
    -webkit-transform: rotate(45deg);
    top: 10px;
}

html.menu-opened #hamburger span.middle-bar {
    opacity: 0;
    left: -40px;
}

html.menu-opened #hamburger span.bottom-bar {
    transform: rotate(-45deg);
    top: -15px;
    -webkit-transform: rotate(-45deg);
    top: -15px;
}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    header {

        height: 76px;

    }

    header #logo {

        position: absolute;

        top: 15px;

        left: 32px;

        height: 45px;

        width: auto;

    }

    header #logo img {

        height: 45px;

        width: auto;

    }

    header nav#main-nav {

        right: -600px;

        width: 600px;

    }

    header #languages {

        top: 25px;

        right: 120px;

    }

    #hamburger {

        right: 26px;

        top: 17px;

        transform: scale(0.9);

    }

    .front-page {
        right: 200px;
        top: 8px;
    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {
    .front-page {
        right: 175px;
    }

    header nav#main-nav {

        right: -300px;

        width: 300px;

    }

    header nav#main-nav ul.primary,
    header nav#main-nav ul.submenu {

        margin-bottom: 20px;

        margin-top: 80px;

    }

    header nav#main-nav ul.primary a {

        padding: 10px 30px;

        font-size: 23px;

        line-height: 23px;

    }

    header nav#main-nav ul.submenu li.back {

        background-image: url(./img/main-nav-back.png);

        background-position: 30px 12px;

        background-repeat: no-repeat;

    }

    header nav#main-nav ul.submenu li.back a {

        padding: 10px 30px;

        font-size: 16px;

        line-height: 16px;

    }

    header nav#main-nav ul.secondary {

        margin-bottom: 20px;

    }

    header nav#main-nav ul.secondary a {

        padding: 2px 30px;

        font-size: 15px;

        line-height: 17px;

    }

    header nav#main-nav ul.social-icons {

        margin-left: 30px;

    }

    header nav#main-nav ul.social-icons li {

        height: 18px;

    }

    header #languages {

        top: 25px;

        right: 100px;

    }

    #hamburger {

        right: 20px;

        top: 17px;

        transform: scale(0.7);

    }

    header #technical-support {
        position: absolute;

        display: inline-block;

        top: 26px;

        right: 186px;

        font-size: 16px;

    }

}

@media only screen and (max-width: 545px) {
    header #languages {

        display: none;
    }

    .front-page {
        right: 88px;
        top: 11px;
        height: 100%;

    }

    .front-page > a > svg {
        width: 58px;
        top: 6px;

    }

    header #languages-drawer {
        display: block;
        top: 25px;
        left: 113px;
    }


    .contact-header{
        display: none;
    }

}

/**************************************************

 * HOMEPAGE

 **************************************************/

.home-hero-module {

    border-right: none;

    border-left: none;

    position: relative;

    height: 100%;

}

.no-video .video-container video,
.touch .video-container video {

    display: none;

}

.no-video .video-container .poster,
.touch .video-container .poster {

    display: block !important;

}

.home-hero-module a.arrow-down {

    display: block;

    position: absolute;

    z-index: 11;

    bottom: 65px;

    left: 48%;

    width: 34px;

    height: 67px;

    background: url(./img/arrow-down.png) top left no-repeat;

    vertical-align: middle;

    -webkit-transform: translateZ(0);

    transform: translateZ(0);

    -webkit-backface-visibility: hidden;

    backface-visibility: hidden;

    -moz-osx-font-smoothing: grayscale;

    -webkit-transition-duration: 0.3s;

    transition-duration: 0.3s;

    -webkit-transition-property: transform;

    transition-property: transform;

    -webkit-transition-timing-function: ease-out;

    transition-timing-function: ease-out;

}

.no-touch .home-hero-module a.arrow-down:hover,
.no-touch .home-hero-module a.arrow-down:focus,
.no-touch .home-hero-module a.arrow-down:active {

    -webkit-transform: translateY(-8px);

    transform: translateY(-8px);

}

.home-hero-module .video-container {

    position: relative;

    bottom: 0%;

    left: 0%;

    min-height: 100%;

    width: 100%;

    overflow: hidden;

    background: #000;

}

.home-hero-module .video-container .poster img {

    width: 100%;

    height: auto;

    top: 0;

    bottom: 0;

    position: absolute;

}

.home-hero-module .video-container .filter {

    z-index: 10;

    position: absolute;

    background: rgba(0, 0, 0, 0.5);

    width: 100%;

    height: 100%;

}

.video-container .title-container {

    z-index: 11;

    position: absolute;

    top: 35%;

    width: 100%;

    text-align: center;

    color: #fff;

}

.video-container .title-container h1 {

    font-family: 'CircularStd-Book', arial, sans-serif;

    font-size: 55px;

    margin-bottom: 15px;

}

.video-container .title-container h1 span {

    font-family: 'CircularStd-Bold', arial, sans-serif;

    color: #cc0d1d;

}

.video-container .title-container p {

    max-width: 950px;

    padding: 0 30px;

    margin: 0 auto;

    font-size: 28px;

    line-height: 32px;

}

.home-hero-module .video-container video {

    position: absolute;

    z-index: 0;

    bottom: 0;

}

.home-hero-module .video-container video.fillWidth {

    width: 100%;

    object-fit: cover;

}

#home-realisations {

    min-height: 100%;

    background: url(img/bg-red-1.jpg) no-repeat center fixed;

    -webkit-background-size: cover;

    background-size: cover;

    color: white;

}

#home-realisations .container {

    padding-top: 10%;

    padding-bottom: 60px;

}

#home-realisations h2 {

    text-align: center;

    font-family: 'CircularStd-Book', arial, sans-serif;

    font-weight: 400;

    font-size: 29px;

    margin-bottom: 50px;

}

#home-realisations .home-rea {

}

#home-realisations .home-rea a {

    color: white;

    text-align: center;

    position: relative;

    display: block;

    margin: 0px 0px 25px 0px;

    height: 276px;

    overflow: hidden;

}

#home-realisations .home-rea a h3 {

    font-size: 27px;

    position: absolute;

    z-index: 3;

    width: 100%;

    padding: 0 50px;

    margin: auto;

    top: 40%;
    text-align: center;

    -webkit-transform: translate(0, 0) translate3d(0, 0, 0);

    -ms-transform: translate(0, 0) translate3d(0, 0, 0);

    transform: translate(0, 0) translate3d(0, 0, 0);

}

#home-realisations .home-rea a img {

    position: absolute;

    top: 0;

    left: 0;

    z-index: 1;

    width: auto;

    height: 100%;

    -webkit-transition: all 500ms ease-out;
    -moz-transition: all 500ms ease-out;
    -o-transition: all 500ms ease-out;
    -ms-transition: all 500ms ease-out;
    transition: all 500ms ease-out;

}

#home-realisations .home-rea a .overlay {

    position: absolute;

    z-index: 2;

    width: 100%;

    height: 100%;

    background: rgba(0, 0, 0, 0.5);

    opacity: 0;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

.no-touch #home-realisations .home-rea a:hover img {

    top: -10%;

    left: -10%;

    height: 120%;

}

.no-touch #home-realisations .home-rea a:hover .overlay {

    opacity: 1;

}

#home-realisations .home-rea-all a {

    text-align: left;

}

#home-realisations .home-rea-all a h3 {

    top: 36%;

    padding-left: 10%;

}

#home-realisations .home-rea-all a h3 img {

    position: relative;

    display: inline-block;

    width: auto;

    height: auto;

    top: auto;

    left: auto;

    margin-left: 10px;

}

.no-touch #home-realisations .home-rea-all a:hover h3 img {

    width: auto !important;

    height: auto !important;

    top: auto !important;

    left: auto !important;

}

#home-realisations .home-rea-all a h3 span {

    padding-bottom: 5px;

    position: relative;

}

#home-realisations .home-rea-all a h3 span::after {

    background-color: white;

    bottom: 0;

    content: "";

    display: block;

    height: 2px;

    left: 0;

    position: absolute;

    transform: translateZ(0px) translate(0px, 0px);

    transition: width 0.2s ease-in 0s;

    width: 100%;

}

#home-realisations .home-rea-all a:hover h3 span::after {

    width: 0%;

}

#home-services {

    min-height: 100%;

    background: url(img/bg-home-services.jpg) no-repeat center fixed;

    -webkit-background-size: cover;

    background-size: cover;

    color: white;

}

#home-services .container {

    padding-top: 15%;

    padding-bottom: 60px;

}

#home-services h2 {

    font-size: 60px;

    margin-bottom: 60px;

}

#home-services .service {

    width: 25%;

    float: left;

    border-right: 1px solid white;

    padding: 0 26px;

    margin-bottom: 35px;

}

#home-services .service-content {

    min-height: 230px;

}

#home-services .service:first-of-type {

    padding-left: 0;

}

#home-services .service:last-of-type {

    padding-right: 0;

    border-right: 0;

}

#home-services .service h3 {

    font-size: 28px;

    margin-top: 15px;

    margin-bottom: 28px;

}

#home-services .service p {

    font-size: 14.5px;

    line-height: 18px;

}

#home-services .service,
#home-services .service a:link,
#home-services .service a:hover,
#home-services .service a:active,
#home-services .service a:visited {

    color: white;

}

#home-services .arrow-link-bigger {

    margin-top: 50px;

}

#home-expertise {

    min-height: 100%;

    background: url(img/bg-red-2.jpg) no-repeat center fixed;

    -webkit-background-size: cover;

    background-size: cover;

    color: white;

}

#home-expertise .container {

    padding-top: 10%;

}

#home-expertise h2 {

    font-size: 60px;

    margin-bottom: 60px;

}

#home-expertise .row {

    margin-bottom: 30px;

}

#home-expertise .expertise {

}

#home-expertise .expertise-container {

    padding-left: 110px;

    padding-right: 40px;

    height: 200px;

    display: block;

    background: url(img/icon-expertise-1.png) no-repeat 15px 20px;

}

#home-expertise #expertise-1 .expertise-container {
    background-image: url(img/icon-exp-audio-white.png);
}

#home-expertise #expertise-2 .expertise-container {
    background-image: url(img/icon-exp-video-white.png);
}

#home-expertise #expertise-3 .expertise-container {
    background-image: url(img/icon-exp-eclairage-white.png);
}

#home-expertise #expertise-4 .expertise-container {
    background-image: url(img/icon-exp-controle-white.png);
}

#home-expertise #expertise-5 .expertise-container {
    background-image: url(img/icon-exp-interactivite-white.png);
}

#home-expertise #expertise-6 .expertise-container {
    background-image: url(img/icon-exp-scenographie-white.png);
}

#home-expertise #expertise-7 .expertise-container {
    background-image: url(img/icon-exp-greage-white.png);
}

#home-expertise .expertise h3 {

    margin-top: 0;

}

#home-expertise .expertise p {

    font-size: 14.5px;

    line-height: 18px;

}

#home-expertise .expertise a {

    color: white;

}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    .video-container .title-container h1 {

        font-size: 36px;

        margin-bottom: 10px;

    }

    .video-container .title-container p {

        font-size: 19px;

        line-height: 25px;

    }

    #home-realisations .container {

        padding-top: 60px;

        padding-bottom: 60px;

    }

    #home-realisations h2 {

        margin-bottom: 50px;

    }

    #home-realisations .home-rea a {

        height: 240px;

    }

    #home-realisations .home-rea a h3 {

        font-size: 23px;

    }

    #home-services .container {

        padding-top: 60px;

        padding-bottom: 60px;

    }

    #home-services h2 {

        font-size: 50px;

        margin-bottom: 50px;

    }

    #home-services .service {

        width: 50%;

        margin-bottom: 50px;

    }

    #home-services .service-content {

        min-height: auto;

    }

    #home-services #service-1,
    #home-services #service-3 {

        padding-left: 0;

    }

    #home-services #service-2,
    #home-services #service-4 {

        padding-right: 0;

        border-right: 0;

    }

    #home-expertise .container {

        padding-top: 60px;

        padding-bottom: 60px;

    }

    #home-expertise h2 {

        font-size: 50px;

        margin-bottom: 50px;

    }

    #home-expertise .expertise-container {

        background-size: 40px 40px;

        padding-left: 0;

        padding-right: 30px;

        height: 190px;

    }

    #home-expertise .expertise h3 {

        padding-left: 60px;

        padding-top: 5px;

        margin-bottom: 25px;

    }

    .contact-header{
        top: 20px;
        left: 100px;
        font-size: 18px;
    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    .video-container .title-container h1 {

        font-size: 26px;

        margin-bottom: 10px;

    }

    .video-container .title-container p {

        font-size: 16px;

        line-height: 18px;

    }

    .home-hero-module a.arrow-down {

        transform: scale(0.65);

    }

    #home-realisations .container {

        padding-top: 40px;

        padding-bottom: 40px;

    }

    #home-realisations h2 {

        font-size: 17px;

        margin-bottom: 40px;

    }

    #home-realisations .home-rea a {

        height: 200px;

    }

    #home-realisations .home-rea a img {

        width: 100%;

        height: auto;

    }

    #home-services .container {

        padding-top: 40px;

        padding-bottom: 40px;

    }

    #home-services h2 {

        font-size: 36px;

        margin-bottom: 30px;

    }

    #home-services .service {

        width: 100%;

        margin-bottom: 30px;

        padding: 0 !important;

        border: 0 !important;

    }

    #home-expertise .container {

        padding-top: 40px;

        padding-bottom: 40px;

    }

    #home-expertise h2 {

        font-size: 36px;

        margin-bottom: 30px;

    }

    #home-expertise .expertise-container {

        background: url(img/icon-expertise-1.png) no-repeat 0 0;

        background-size: 40px 40px;

        padding-left: 0;

        padding-right: 0;

        height: auto;

        margin-bottom: 40px;

    }

}

/**************************************************

* GENERAL PAGE LAYOUT

**************************************************/

.title-bar {

    background: #cc0d1d;

    color: white;

    padding: 32px 0;

    border-top: 97px solid black;

}

.title-bar h1 {

    font-family: 'CircularStd-Book', arial, sans-serif;

    margin: 0;

    font-size: 40px;

}

.title-bar a#prev-rea,
.title-bar a#next-rea {

    background: url(./img/btn-prev.png) top left no-repeat;

    position: absolute;

    display: none;

    top: 8px;

    right: 95px;

    width: 16px;

    height: 30px;

    cursor: pointer;

    opacity: 1;

}

.title-bar a#next-rea {

    background: url(./img/btn-next.png) top left no-repeat;

    right: 65px;

}

.title-bar a#prev-rea:hover,
.title-bar a#next-rea:hover {

    opacity: 0.7;

}

.title-bar a#back-to-grid {

    background: url(./img/btn-grid.png) top left no-repeat;

    display: none;

    float: right;

    width: 36px;

    height: 36px;

    margin-top: 5px;

    -webkit-transition-duration: 0.3s;

    -moz-transition-duration: 0.3s;

    -o-transition-duration: 0.3s;

    transition-duration: 0.3s;

    -webkit-transition-property: -webkit-transform;

    -moz-transition-property: -moz-transform;

    -o-transition-property: -o-transform;

    transition-property: transform;

}

.title-bar a#back-to-grid:hover {

    background: url(./img/btn-grid.png) top left no-repeat;

    display: inline-block;

    width: 36px;

    height: 36px;

    -webkit-transform: rotate(90deg);

    -moz-transform: rotate(90deg);

    -o-transform: rotate(90deg);

}

.title-bar-2 {

    background: #91141a;

    color: white;

    padding: 20px 0;

}

.title-bar-2 h2 {

    font-size: 19px;

    margin: 0;

}

.intro-bar {

    background: black;

    color: white;

    border-top: 97px solid black;

    font-size: 16px;

}

.intro-bar h1 {

    font-family: 'CircularStd-Book', arial, sans-serif;

    margin: 0;

    text-transform: uppercase;

    font-size: 40px;

    padding: 50px;

    background: rgba(184, 6, 11, 0.5);

}

.intro-bar a {

    color: white;

}

.intro-bar .container {

    padding-top: 100px;

    padding-bottom: 80px;

}

.intro-bar h2 {

    font-size: 24px;

    margin-bottom: 20px;

}

.intro-bar ul.page-nav {

    list-style-type: none;

    margin: 30px 0 0 0;

    padding: 0;

    font-size: 18px;

}

.intro-bar ul.page-nav li {

    margin: 0;

    padding: 6px 23px;

    display: inline-block;

    border-right: 2px solid white;

}

.intro-bar ul.page-nav li:first-child {

    padding-left: 0;

}

.intro-bar ul.page-nav li:last-child {

    padding-right: 0;

    border-right: 0;

}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    .title-bar {

        padding: 20px 0;

        border-top: 76px solid black;

        position: relative;

    }

    .title-bar .container,
    .title-bar .row,
    .title-bar .text-right {

        position: static !important;

    }

    .title-bar a#back-to-grid {

        position: absolute;

        top: 20px;

        right: 30px;

        float: none;

        margin-top: 0;

    }

    .title-bar a#prev-rea,
    .title-bar a#next-rea {

        top: 24px;

        right: 110px;

    }

    .title-bar a#next-rea {

        right: 80px;

    }

    .intro-bar {

        border-top: 76px solid black;

    }

    .intro-bar h1 {

        font-size: 35px;

        padding: 20px;

    }

    .intro-bar ul.page-nav {

        margin: 20px 0 0 0;

        font-size: 17px;

        text-align: center;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    .intro-bar ul.page-nav li {

        display: block;

        border: 0;

        padding-left: 0;

        padding-right: 0;

    }

}

/**************************************************

* REALISATIONS

**************************************************/

.title-bar-realisations h1,
.title-bar-realisations h2 {

    text-transform: uppercase;

}

/*

body.single-realisations .filter-group {

  display: none;

}

*/

body.single-realisations #back-to-grid {

    display: inline-block !important;

}

body.single-realisations a#prev-rea,
body.single-realisations a#next-rea {

    display: none !important;

}

#no-results {

    text-align: center;

    font-weight: bold;

    font-size: 15px;

    padding-top: 50px;

}

#projects {

    min-height: 700px;

    padding: 50px 0;

}

#projects:after {

    content: '';

    display: block;

    clear: both;

}

.filter-group-radio {

    max-width: 900px;

}

.filter-group span {

    display: inline-block;

    width: 200px;

}

.filter-group span.first {

    float: left;

    margin-bottom: 25px;

    width: 100px;

}

.filter-group span a {

    color: white;

    cursor: pointer;

    text-decoration: none;

    font-size: 16.5px;

    opacity: 1;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

body.es .filter-group span a {

    font-size: 14.5px;

}

.no-touch .filter-group span a:hover {

    opacity: 0.8;

}

.filter-group a.is-checked {

    border-bottom: 1px solid white;

}

.filter-group-checkbox span {

    width: auto;

}

.filter-group-checkbox span a {

    display: inline-block;

    padding-left: 30px;

    background: url(./img/checkbox-off.jpg) top left no-repeat;

    font-size: 15px;

    margin-right: 25px;

}

.filter-group-checkbox a.is-checked {

    border: 0;

    background: url(./img/checkbox-on.jpg) top left no-repeat;

}

.project {

    width: 25%;

    height: 305px;

    float: left;

    padding: 0 15px;

    position: relative;

}

.project a {

    display: block;

    outline: none !important;

}

.project a .thumb {

    height: 160px;

    position: relative;

    overflow: hidden;

    margin-bottom: 30px;

}

.project a .thumb .overlay {

    position: absolute;

    z-index: 2;

    opacity: 0;

    width: 100%;

    height: 100%;

    background: rgba(0, 0, 0, 0.3);

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

.project a .thumb img {

    position: absolute;

    top: 0;

    left: 0;

    z-index: 1;

    width: 100%;

    height: auto;

    -webkit-transition: all 500ms ease-out;
    -moz-transition: all 500ms ease-out;
    -o-transition: all 500ms ease-out;
    -ms-transition: all 500ms ease-out;
    transition: all 500ms ease-out;

}

.no-touch .project a:hover .thumb .overlay {

    opacity: 1;

}

.no-touch .project a:hover .thumb img {

    top: -10%;

    left: -10%;

    width: 120%;

}

.project a span {

    display: block;

    font-size: 15px;

}

.project a span.title {

    font-family: 'CircularStd-Bold', arial, sans-serif;

    font-size: 17px;

}

#project-details {

}

#part-intro {

    background-color: #434040;

    color: white;

    margin-bottom: 22px;

    overflow: hidden;

    position: relative;

}

#part-intro #slider-container {

    overflow: hidden;

    position: relative;

}

#part-intro #slider-container:after {

    padding-top: 56.25%;

    /* 16:9 ratio */

    display: block;

    content: '';

}

#part-intro span#category {

    text-transform: uppercase;

    display: block;

    font-size: 12px;

    margin-bottom: 10px;

}

#part-intro h2 {

    font-family: 'CircularStd-Book', arial, sans-serif;

    font-size: 32px;

    margin: 0 0 10px 0;

}

#part-intro h3 {

    font-family: 'CircularStd-Book', arial, sans-serif;

    font-size: 19px;

    margin: 0 0 25px 0;

}

#part-intro .flexslider {

    position: absolute;

    top: 0;

    bottom: 0;

    right: 0;

    left: 0;

    margin-left: -15px;

}

#part-intro .flexslider .flex-viewport {

    width: 100%;

    height: 100%;

    min-width: 790px;

    min-height: 420px;

}

#part-intro .flexslider .slides,
#part-intro .flexslider .slides > li {

    height: 100%;

}

#part-intro > div {

}

#part-intro #intro {

    font-size: 15px;

    padding: 30px 25px 70px 25px;

}

#part-intro #intro a {
    color: #fff;
    font-weight: bold;
}

#part-intro #actions {

    position: absolute;

    bottom: 0px;

    padding-bottom: 50px;

    padding-left: 50px;

    left: 58.3333%;

}

#part-intro #actions > a {

    color: white;

    cursor: pointer;

    display: inline-block;

    margin-right: 20px;

    padding-left: 35px;

    height: 23px;

    line-height: 24px;

    font-size: 13px;

}

#part-intro #actions > a:hover {

    text-decoration: underline;

}

#part-intro #actions a#action-print {

    background: url(./img/icon-print.jpg) top left no-repeat;

}

#part-intro #actions a#action-share {

    background: url(./img/icon-share.jpg) top left no-repeat;

    position: relative;

}

#part-intro #actions .addtoany_list {

    opacity: 0;

    position: absolute;

    top: 34px;

    left: 10px;

    width: 200px;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

#part-intro #actions a#action-share:hover .addtoany_list {

    opacity: 1;

}

#part-intro #actions a#action-press {

    background: url(./img/icon-press.jpg) top left no-repeat;

}

#part-intro .flexslider .slides > li {

    background-size: cover;

    background-repeat: no-repeat;

    background-position: center;

}

#part-carrousel {

    overflow-x: hidden;

}

#part-carrousel .flexslider {

    margin-bottom: 0;

}

#part-carrousel .flexslider .slides > li {

    position: relative;

    cursor: pointer;

}

#part-carrousel .flexslider .slides > li img {

    position: relative;

    z-index: 1;

}

#part-carrousel .flexslider .slides > li .overlay {

    position: absolute;

    z-index: 2;

    width: 100%;

    height: 100%;

    background-color: rgba(0, 0, 0, 0.5);

    opacity: 0;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

#part-carrousel .flexslider .slides > li.flex-active-slide .overlay,
#part-carrousel .flexslider .slides > li:hover .overlay {

    opacity: 1;

}

#part-content {

    padding-top: 40px;

    padding-bottom: 40px;

    font-size: 15px;

    line-height: 20px;

}

#part-content .col-md-3,
#part-content .col-md-6 {

    float: right;

}

#part-content h4 {

    font-size: 23px;

    font-family: 'CircularStd-Book', arial, sans-serif;

    font-weight: normal;

    border-bottom: 1px solid black;

    padding-bottom: 20px;

    margin-bottom: 20px;

    margin-top: 20px;

}

#part-content ul#expertises {

    margin: 0;

    padding: 0;

    list-style-type: none;

}

#part-content ul#expertises li {

    margin: 0 0 7px 0;

    padding: 0;

    line-height: 25px;

}

#part-content ul#expertises li img {

    width: 22px;

    height: 22px;

    opacity: 0.85;

    margin-right: 12px;

}

#part-video {

    background-color: #f4f4f4;

    padding-top: 40px;

    padding-bottom: 140px;

}

#part-video h4 {

    font-family: 'CircularStd-Bold', arial, sans-serif;

    text-align: center;

    font-size: 23px;

    margin-bottom: 30px;

}

/* Small adjusts */

@media only screen and (max-width: 1280px) {

    .title-bar-realisations h1 {

        font-size: 32px;

    }

    .filter-group-checkbox span a {

        margin-bottom: 10px;

    }

}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    .title-bar-realisations h1 {

        font-size: 32px;

        margin-bottom: 15px;

    }

    .title-bar-realisations h2 {

        font-size: 14px;

        margin-bottom: 10px;

    }

    .filter-group span {

        display: inline-block;

    }

    .filter-group span.first {

        float: none;

        margin-bottom: 0;

        width: 200px;

    }

    .filter-group span a {

        font-size: 14.5px;

    }

    .filter-group-checkbox span a {

        margin-bottom: 10px;

    }

    .project {

        width: 50%;

        height: 300px;

        float: left;

        padding: 0 15px;

        position: relative;

    }

    .project a .thumb {

        height: 200px;

        position: relative;

        overflow: hidden;

        margin-bottom: 20px;

    }

    #part-carrousel {

        display: none !important;

    }

    #part-intro .flexslider .flex-viewport {

        height: 100%;

        min-height: auto;

        min-width: auto;

        width: 100%;

    }

    #part-intro #intro {

        font-size: 14px;

        padding: 25px 25px 90px 20px;

    }

    #part-intro #actions {

        left: 0;

    }

    #part-content {

        padding-top: 10px;

    }

    #part-video {

        padding-top: 40px;

        padding-bottom: 100px;

    }

    #part-video h4 {

        text-align: left;

        font-size: 20px;

        margin-bottom: 30px;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    .title-bar-realisations h1 {

        font-size: 30px;

    }

    .project {

        width: 100%;

        height: 280px;

        float: left;

        padding: 0;

        position: relative;

    }

    .project a .thumb {

        height: 170px;

        margin-bottom: 20px;

    }

    #part-content .col-md-3,
    #part-content .col-md-6 {

        float: none;

    }

    #part-video {

        padding-top: 40px;

        padding-bottom: 100px;

    }

    #part-video h4 {

        text-align: left;

        font-size: 20px;

        margin-bottom: 30px;

    }

}

/**************************************************

* CONTACT

**************************************************/

.title-bar-contact {

    padding: 55px 0;

    background: url(./img/bg-title-bar-contact.jpg) no-repeat center center;

    -webkit-background-size: cover;

    background-size: cover;

}

.title-bar-contact h1 {

    font-size: 42px;

    text-transform: uppercase;

}

#contact-departements,
#contact-adresses {

    padding-top: 60px;

    font-size: 16px;

}

#contact-departements .row,
#contact-adresses .row {

    margin-bottom: 60px;

}

#contact-departements h2,
#contact-adresses h2 {

    font-size: 25px;

    /*border-bottom: 1px solid black;*/

    padding: 15px 0;

    margin-bottom: 15px;
    text-transform: uppercase;

}

#contact-departements h2 span,
#contact-adresses h2 span {

    font-family: 'CircularStd-Book', arial, sans-serif;

}

#contact-adresses {

    /*background-color: #2f2e2e;*/

    color: white;

}

#contact-adresses a {

    color: white;

}

#contact-adresses h2 {

    text-transform: none;
    font-size: 20px;
}

#contact-adresses img {

    max-width: 100%;

    height: auto;

    border: 8px solid #b2b2b2;

    margin-top: 80px;

}

/*MODIFICATIONS CONTACT (AJOUT FORM)*/

.contact-wrapper {
    display: flex;

}

/*FORM*/
.form-container {
    min-width: 50%;
    margin-top: 60px;
    padding-right: 20px;
}

.form-container .gfield select {
    height: 35px;
}

.form-container .gform_wrapper .gform_footer input[type='submit'] {
    color: white !important;
    padding: 5px 25px !important;
    font-size: 18px !important;
    border: none;
    background: #951515 !important;
    transition: all ease-in-out .3s;
}

.form-container .gform_wrapper .gform_footer input[type='submit']:hover {
    background-color: #b70c1b !important;
}

.form-container .gform_wrapper div.validation_error {
    display: none;

}

.form-container .gform_wrapper li.gfield.gfield_error {
    background: transparent !important;
    margin-bottom: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    padding-top: 0 !important;
}

.form-container .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description {
    display: none !important;
}

.form-container .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
    margin-top: 0 !important;
    color: #b70c1b !important;
}

.form-container .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label .gfield_required {
    display: unset !important;
    color: #b70c1b !important;;
}

.form-container .gform_wrapper .gfield_required {
    display: none !important;
}

.form-container .gform_confirmation_message {
    font-size: 20px;
    padding-top: 30px;
}

/*DEPARTEMENTS*/
.departements-container {
    display: flex;
    flex-wrap: wrap;

}

.single-departement {
    margin-right: 80px;
}

.single-departement:last-child {
    margin-right: 0;
}

/*ADRESSE*/

.adresse-container {
    display: flex;
    flex-wrap: wrap;

}

.adresse-container .single-adresse-box:last-child {
    margin-right: 0;
}

.single-adresse-box {
    background: #951515;
    height: 100%;
    min-height: 230px;
    max-height: 230px;
    width: 300px;
    padding: 15px;
    margin-right: 20px;
    margin-bottom: 20px;
}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    .contact-wrapper {
        flex-direction: column;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    .departements-container {
        flex-direction: column;
        align-items: center
    }

    .single-departement {
        margin-right:0;
        min-width: 300px;
    }

    .adresse-container {
       flex-direction: column;
        align-items: center

    }

    .single-adresse-box {

        margin-right: 0;
    }


    /*----------------------*/

    .title-bar-contact {

        padding: 25px 0;

    }

    .title-bar-contact h1 {

        font-size: 35px;

    }

    #contact-departements,
    #contact-adresses {

        padding-top: 30px;

        padding-bottom: 30px;

    }

    #contact-departements .row,
    #contact-adresses .row {

        margin-bottom: 0px;

    }

    #contact-adresses img {

        margin-top: 20px;

        margin-bottom: 30px;

    }

}

/**************************************************

* BLOG

**************************************************/

#list-categories {

    background: #322c2c;

    color: white;

    padding-top: 20px;

    padding-bottom: 20px;

    font-size: 15px;

    line-height: 30px;

}

#list-categories span {

    font-weight: bold;

    display: inline-block;

    margin-right: 6px;

}

#list-categories ul,
#list-categories ul li {

    list-style-type: none;

    display: inline-block;

    margin: 0;

    padding: 0;

}

#list-categories ul li.current-cat {

    font-weight: bold;

}

#list-categories a {

    color: white;

    display: inline-block;

    margin: 0 6px;

}

#list-categories #back-to-list {

    background: url(./img/btn-back-to-list.png) top left no-repeat;

    float: right;

    width: 32px;

    height: 31px;

    -webkit-transition-duration: 0.3s;

    -moz-transition-duration: 0.3s;

    -o-transition-duration: 0.3s;

    transition-duration: 0.3s;

    -webkit-transition-property: -webkit-transform;

    -moz-transition-property: -moz-transform;

    -o-transition-property: -o-transform;

    transition-property: transform;

}

#list-categories #back-to-list:hover {

    -webkit-transform: rotate(180deg);

    -moz-transform: rotate(180deg);

    -o-transform: rotate(180deg);

}

.news-item {

    background: #f1f1f1;

    margin-bottom: 40px;

    position: relative;

}

.news-item .news-metas {

    color: #cc0d1d;

    font-size: 14.5px;

}

.news-item .news-metas .news-date {

    font-weight: bold;

}

.news-item .news-metas span.separator {

    color: black;

    font-size: 18px;

    display: inline-block;

    margin: 0 10px;

}

.news-item .news-metas ul,
.news-item .news-metas ul li {

    list-style-type: none;

    display: inline-block;

    margin: 0;

    padding: 0;

}

.news-item .news-metas .news-categories {

    font-weight: bold;

    display: inline-block;

    margin-right: 8px;

    text-transform: uppercase;

    font-size: 12px;

}

.news-item .news-metas a {

    color: #cc0d1d;

    display: inline-block;

    margin-right: 8px;

    text-transform: uppercase;

    font-size: 12px;

}

.news-item h2.news-title {

    font-size: 28px;

    font-family: 'CircularStd-Book', arial, sans-serif;

    margin: 20px 0;

}

.news-item .news-excerpt {

    font-size: 15px;

    line-height: 18px;

    margin-bottom: 30px;

}

.news-list {

    padding: 40px 0;

}

.news-list .news-item .news-image {

    width: 45%;

    float: left;

    position: relative;

}

.news-list .news-item .news-image img {

    max-width: 100%;

    height: auto;

}

.news-list .news-item .news-content {

    width: 55%;

    float: left;

    padding: 40px 50px 0 50px;

}

.single-news {

}

.single-news h2.news-title {

    font-size: 37px;

    font-family: 'CircularStd-Book', arial, sans-serif;

    margin: 70px 0 30px 0;

}

.single-news .news-item .news-image img {

    max-width: 100%;

    width: 100%;

    height: auto;

}

.single-news .news-content {

    padding: 15px 45px 100px 45px;

}

.single-news .news-content .caption p {

    text-align: center;

    font-style: italic;

    font-size: 12px;

    margin-bottom: 25px;

}

.single-news .news-content .news-metas {

    margin-bottom: 25px;

}

.single-news .news-description {

    border-bottom: 2px solid #cc0d1d;

    padding-bottom: 40px;

}

.single-news .share-box {

    background-color: #dddada;

    padding: 20px 20px 35px 20px;

}

.single-news .share-box h3 {

    margin: 0 0 20px 0;

    padding: 5px 0 10px 0;

    border-bottom: 2px solid black;

    font-size: 22px;

    font-weight: bold;

}

.single-news .share-box .tools {

    border-top: 2px solid black;

    margin-top: 10px;

}

.single-news .share-box .tools a {

    display: block;

    margin-top: 20px;

    position: relative;

    padding-left: 35px;

}

.single-news .share-box .tools a img {

    position: absolute;

    left: 0;

    right: 0;

}

/* Tablet adjusts */

@media only screen and (max-width: 1199px) {

    .news-list .news-item .news-image {

        width: 100%;

        float: none;

    }

    .news-list .news-item .news-content {

        width: 100%;

        float: none;

        padding: 30px 30px 0 30px;

    }

    .news-item h2.news-title {

        font-size: 25px;

        margin: 15px 0;

    }

    .news-item .news-excerpt {

        margin-bottom: 20px;

    }

}

@media only screen and (max-width: 1024px) {

    .single-news h2.news-title {

        font-size: 28px;

        font-family: 'CircularStd-Book', arial, sans-serif;

        margin: 40px 0 20px 0;

    }

    .single-news .share-box {

        margin-top: 30px;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

}

/**************************************************

* SERVICES

**************************************************/

.intro-bar-services {

    background: url(img/bg-service-intro.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    text-align: right;

}

.intro-bar-services p.cta {

    margin-top: 30px;

    text-align: right;

}

.intro-bar-services .arrow-link-white {

    background: url(img/arrow-link-bigger-red.png) top right no-repeat;

}

.service-part {

    padding-top: 120px;

    padding-bottom: 80px;

    font-size: 15px;

}

.service-part h2 {

    font-family: 'CircularStd-Book', arial, sans-serif;

    margin-bottom: 30px;

    font-size: 45px;

}

.service-part div.content {

    display: inline-block;

    max-width: 730px;

}

.service-part div.content ul {

    list-style-type: none;

    margin: 30px 0 0 0;

    padding: 0;

    width: 270px;

    float: left;

}

.service-part div.content ul li {

    display: block;

    border-left: 2px solid white;

    padding: 10px 22px;

}

.page-template-template-services #service-1 {

    background: url(img/bg-service-1.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    color: black;

}

.page-template-template-services #service-2 {

    background: url(img/bg-service-2.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    color: white;

    text-align: right;

}

.page-template-template-services #service-3 {

    background: url(img/bg-service-3.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    color: white;

}

.page-template-template-services #service-4 {

    background: url(img/bg-service-4.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    color: black;

    text-align: right;

}

.page-template-template-services #service-1 h2,
.page-template-template-services #service-4 h2 {

    color: #c2292d;

}

.page-template-template-services #service-1 div.content ul,
.page-template-template-services #service-3 div.content ul {

}

.page-template-template-services #service-1 div.content ul li,
.page-template-template-services #service-3 div.content ul li {

    /*

    border-left: 0;

    border-right: 2px solid #cc0d1d;

    */

    border-color: #cc0d1d;

    padding: 10px 22px;

}

.page-template-template-services #service-2 div.content ul {

    float: right;

}

.page-template-template-services #service-2 div.content ul li {

    border-left: 0;

    border-right: 2px solid white;

}

.page-template-template-services #service-3 div.content ul li {

    border-left: 2px solid white;

}

.page-template-template-services #service-4 div.content ul {

    float: right;

}

.page-template-template-services #service-4 div.content ul li {

    border-left: 0;

    border-right: 2px solid #cc0d1d;

}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    .service-part {

        padding-top: 80px;

        padding-bottom: 60px;

    }

    .intro-bar-services p.cta {

        margin-top: 30px;

        text-align: center;

    }

    .service-part h2 {

        font-size: 35px;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    .service-part {

        padding-top: 50px;

        padding-bottom: 50px;

    }

    .service-part h2 {

        font-size: 30px;

    }

    .service-part div.content p {

        margin-bottom: 25px;

    }

    .service-part div.content ul {

        margin: 0;

        width: 100%;

        float: none;

    }

    .service-part div.content ul li {

        display: block;

        border-left: 2px solid white;

        padding: 10px 22px;

    }

}

/**************************************************

* TEAM

**************************************************/

#team-part {

    /* background-color: #282828; */

    background-color: black;

    color: white;

    padding-bottom: 100px;

}

#team-part .title-bar-employee {
    margin: 0 0 50px 0
}

#team-part .title-bar-employee h2 {
    text-transform: uppercase;
}

#team-part .title-bar-employee .group-ville {

}

#team-part .title-bar-employee .group-ville a {
    color: #fff;
    transition: 0.4s;
    margin: 0 20px 0 0;
    font-size: 16px;
}

#team-part .title-bar-employee .group-ville a:last-child {
    margin: 0
}

#team-part .title-bar-employee .group-ville a:hover {
    opacity: 0.8;
}

#team-part #no-results {

    text-align: center;

    font-weight: bold;

    font-size: 15px;

    padding: 0 0 50px 0 !important;

}

#team-part .container {

}

#team-part .container section {

}

#team-part .container section .section-int {

}

#team-part .container section .titre {
    padding: 60px 0 30px 0;
}

#team-part .container section .titre h2 {
    margin: 0;
}

#team-part .container section .section-int .employe-by-employe {
    margin: 0 0 20px 0
}

#team-part .container section .section-int .employe-by-employe .employe-int {
    padding: 20px 0 0 0
}

#team-part .container section .section-int .employe-by-employe img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

#team-part .container section .section-int .employe-by-employe span {
    display: block;
}

#team-part .container section .section-int .employe-by-employe span.employeName {
    font-weight: bold;
}

#team-part .container #employes-list {
    position: relative;
}

#team-part #headerTeam {

    margin: 0 0 30px 0;

}

#team-part #headerTeam h2 {

    margin: 0;

}

@media screen and (min-width: 1350px) {
    #team-part .container section .section-int .employe-by-employe {

    }
}

#headerTeam .filter-group-checkbox a.is-checked {

    border: 0;

    background: url(img/checkbox-on-n.jpg) top left no-repeat;

}

#headerTeam .filter-group-checkbox span a {

    display: inline-block;

    padding-left: 30px;

    background: url(img/checkbox-off-n.jpg) top left no-repeat;

    font-size: 15px;

    margin-right: 25px;

}

#team-part .content {

    text-align: center;

    font-size: 22px;

    margin-bottom: 0;

    max-width: 800px;

    margin-left: auto;

    margin-right: auto;

}

#team-part .employee {

    position: relative;

    margin-bottom: 15px;

}

#team-part .employee img {

    max-width: 100%;

    height: auto;

}

#team-part .employee-details {

    height: 130px;

    padding-top: 30px;

    font-size: 15px;

}

#team-part .employee-details strong {

    display: block;

}

/**************************************************

* LOGOS TEMPLATE

**************************************************/

#logos-part {

    background-color: white;

    color: black;

    padding-top: 100px;

    padding-bottom: 100px;

}

#logos-part .content {

    text-align: left;

    font-size: 22px;

    margin-bottom: 100px;

    max-width: 800px;

    margin-left: 30px;

}

#logos-part .logo {

    position: relative;

    text-align: center;

    margin-bottom: 20px;

}

#logos-part .logo img {

    width: 130px;

    max-width: 80%;

    margin-bottom: 15px;

    height: auto;

}

#logos-part .logo strong {

    display: block;

    height: 50px;

}

/**************************************************

* GENERIC PAGE TEMPLATE (MISSION)

**************************************************/

.intro-bar-generic {

    background: black url(img/bg-mission.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

}

.intro-bar-generic div.content {

    max-width: 800px;

    float: right;

}

.intro-bar-generic p {

    text-align: right;

    margin-bottom: 25px;

    font-size: 18px;

}

.intro-bar-generic .arrow-link-white {

    background: url(img/arrow-link-bigger-red.png) top right no-repeat;

}

/**************************************************

* EMPLOIS Template

**************************************************/

.intro-bar-emplois {

    background: url(img/bg-emplois.jpg) no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    text-align: right;

}

#jobs-part {

    padding-top: 80px;

    padding-bottom: 80px;

}

#jobs-part .job {

    font-size: 16px;

    text-align: center;

    margin-bottom: 30px;

}

#jobs-part .job a {

    font-size: 18px;

    color: #c22a2e;

    font-weight: bold;

}

/**************************************************

* EXPERTISE PAGE TEMPLATE

**************************************************/

#title-bar-expertise h1 {

    text-transform: uppercase;

}

#section-nav {

    max-width: 700px;

}

#section-nav span {

    display: inline-block;

    width: 200px;

}

#section-nav span a {

    color: white;

    cursor: pointer;

    text-decoration: none;

    font-size: 16.5px;

    opacity: 1;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

#section-nav span a.active,
.no-touch #section-nav span a.active {

    border-bottom: 1px solid white;

}

.no-touch #section-nav span a:hover {

    opacity: 0.8;

}

#expertise-gallery {

    height: 50%;

    width: 100%;

    position: relative;

}

#expertise-gallery #eg-1,
#expertise-gallery #eg-2,
#expertise-gallery #eg-3 {

    background-position: center;

    position: absolute;

    background-repeat: no-repeat;

    -webkit-background-size: cover;

    background-size: cover;

}

#expertise-gallery #eg-1 {

    top: 0;

    left: 0;

    height: 100%;

    width: 70%;

    border-right: 8px solid white;

}

#expertise-gallery #eg-2 {

    top: 0;

    right: 0;

    height: 50%;

    width: 30%;

    border-bottom: 8px solid white;

}

#expertise-gallery #eg-3 {

    bottom: 0;

    right: 0;

    height: 50%;

    width: 30%;

}

#expertise-content {

    padding-top: 50px;

    padding-bottom: 50px;

    font-size: 15px;

    line-height: 20px;

}

#expertise-content h2,
#expertise-content h3 {

    font-size: 23px;

    font-family: 'CircularStd-Book', arial, sans-serif;

    font-weight: normal;

    border-bottom: 1px solid black;

    padding-bottom: 20px;

    margin-bottom: 20px;

    margin-top: 20px;

}

#expertise-content h2 {

    padding-bottom: 17px;

}

#expertise-content h2 img {

    max-height: 30px;

    width: auto;

    margin-right: 15px;

    vertical-align: middle;

}

#expertise-content #expertise-prod-serv {

    font-size: 16px;

    line-height: 25px;

}

.page-template-template-expertise #part-projects {

    background-color: #f4f4f4;

}

.page-template-template-expertise #part-projects .container {

    padding-top: 50px;

    padding-bottom: 70px;

}

.page-template-template-expertise #part-projects h2 {

    text-align: center;

    font-size: 24px;

    line-height: 28px;

}

.page-template-template-expertise #projects {

    min-height: auto;

    padding-bottom: 0;

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    #expertise-gallery #eg-1 {

        top: 0;

        left: 0;

        height: 100%;

        width: 100%;

        border-right: 0;

    }

    #expertise-gallery #eg-2 {

        display: none;

    }

    #expertise-gallery #eg-3 {

        display: none;

    }

}

/**************************************************

* FOOTER

**************************************************/

#footer-1,
#footer-2 {

    color: white;

}

#footer-1 a,
#footer-2 a {

    color: white;

    -webkit-transition: all 200ms ease-out;
    -moz-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    -ms-transition: all 200ms ease-out;
    transition: all 200ms ease-out;

}

#footer-1 a:hover,
#footer-2 a:hover {

    color: #df1123;

}

#footer-1 {

    background-color: #111010;

    padding-top: 80px;

    padding-bottom: 80px;

}

#footer-1 #footer-1-left {

    border-right: 1px solid white;

    padding-bottom: 40px;

}

#footer-1 #footer-1-right-inner {

    padding-left: 40px;

}

#footer-1 h3 {

    font-family: 'CircularStd-Bold', arial, sans-serif;

    color: #df1123;

    font-size: 35px;

    margin-top: 0;

    margin-bottom: 30px;

}

#footer-1 a.arrow-link {

    margin-bottom: 20px;

}

#footer-1 p {

    font-size: 16px;

    margin-bottom: 30px;

}

#footer-1 h4 {

    font-family: 'CircularStd-Bold', arial, sans-serif;

    font-size: 24px;

    margin-top: 20px;

    margin-bottom: 30px;

}

#footer-1 p.licence {

    font-size: 14px;

    color: #626262;

}

#footer-1 p.licence span {

    color: white;

}

#footer-1 #partners-logos {

    margin-bottom: 60px;

}

#footer-1 #partners-logos img {

    margin-right: 30px;

}

#footer-1 #partners-logos img.no-margins {

    margin-right: 0;

}

#footer-2 {

    background-color: #1f1d1d;

    padding-top: 30px;

    padding-bottom: 30px;

}

#footer-2 #footer-2-left ul {

    margin: 0 0 10px 0;

    padding: 0;

    list-style-type: none;

}

#footer-2 #footer-2-left ul li {

    margin: 0;

    padding: 0;

    display: inline-block;

    margin-right: 10px;

}

#footer-2 #footer-2-middle {

    text-align: center;

}

#footer-2 #footer-2-right {

    text-align: right;

}

#footer-2 #login-form {

    color: #AAA;

}

#footer-2 #login-form input[type="text"] {

    background-color: #333;

    border: 1px solid black;

    color: white;

    width: 120px;

    padding: 4px 10px;

}

#footer-2 #login-form input[type="submit"] {

    background-color: #333;

    border: 1px solid black;

    color: #AAA;

    padding: 4px 10px;

}

/* Tablet adjusts */

@media only screen and (max-width: 1024px) {

    #footer-1 {

        padding-top: 40px;

        padding-bottom: 40px;

    }

    #footer-1 #footer-1-left {

        border-right: 0;

        padding-bottom: 40px;

    }

    #footer-1 #footer-1-right-inner {

        padding-left: 0;

    }

}

/* Mobile adjusts */

@media only screen and (max-width: 767px) {

    #footer-2,
    #footer-2 * {

        text-align: center !important;

    }

}

#part-content .text-white {
    color: white;
}

#part-content .text-white a.main-link {
    color: white;
    font-size: 26px;
    margin-bottom: 50px;
    display: inline-block;
    padding-right: 50px;
}

#part-content h4.text-white {
    color: white;
    border-color: white;
}

.bg-black {
    background-color: #111010;
}

#part-content .bg-dark {
    background-color: #25272A;
}

div.full-width {
    width: 100%;
}

#part-content .img-container {
    margin-top: 80px;
    margin-bottom: 40px;
    max-width: 100%;
    width: fit-content;
    padding: 7px;
    background-color: darkgrey;
    box-sizing: border-box;
}

#part-content .img-container img {
    max-width: 100%;
    height: auto;
}

.form_field_full {
    width: 100%;
    margin: 0 0 20px 0;
    max-width: 350px;
}

.form_field_full input {
    width: 100%;
    padding: 5px;
}

.gform_wrapper .gform_footer input.gform_button.button {
    color: black;
    text-decoration: none;
    outline: none;

    padding: .5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: .3rem;

    border-color: #dc3545;
    background: transparent;

}

.gform_wrapper .gform_footer input.gform_button.button:hover {
    background: #dc3545;
    color: #fff;
}

.lost-password-link {
    font-size: 12px;
    text-decoration: underline !important;
    margin-left: 15px;
}

.lost-password-link:hover {
    color: #dc3545;
}

#field_1_2,
#field_1_22 {
    float: left;
    width: 50%;
    clear: none;
}

@media only screen and (max-width: 767px) {
    #field_1_2,
    #field_1_22 {
        float: left;
        width: 100%;
        clear: none;
    }
}

#field_1_7 .gfield_list_7_cell1 {
    width: 50px;
}

#field_1_7 .gfield_list_7_cell2 {
    width: 150px;
}

#field_1_11,
#field_1_4 {
    width: 150px;
    float: left;
    clear: none;
    margin-bottom: 20px;
}

#field_1_11 input,
#field_1_4 input,
#field_1_10 input,
#field_1_3 input {
    width: 100%;
}

#field_1_10,
#field_1_3 {
    width: 50%;
    float: left;
    clear: none;
    margin-bottom: 20px;
}

.client-select {
    height: 30px;
}

.filters-dashboard {
    display: flex;
    width: 100%;
}

.single-filter-dashboard {
    margin-right: 30px;
    display: flex;
    align-items: flex-end;
}

.single-filter-dashboard select {
    width: 250px;
}

.single-filter-dashboard input {
    height: 30px;
}

@media only screen and (max-width: 767px) {
    .filters-dashboard {
        flex-direction: column;
    }

    .single-filter-dashboard {
        margin-bottom: 30px;
    }
}