/*
Theme Name: Arter
Author: Neal Fletcher
Author URI: http://www.nealfletcher.co.uk
Version: 1.1
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: transparent
}

@font-face {
  font-family: 'Calibre-Light';
  src: url("/wp-content/themes/arter/fonts/calibre/CalibreWeb-Light.eot");
  src:
    url("/wp-content/themes/arter/fonts/calibre/CalibreWeb-Light.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/themes/arter/fonts/calibre/CalibreWeb-Light.woff2") format("woff2"),
    url("/wp-content/themes/arter/fonts/calibre/CalibreWeb-Light.woff") format("woff")
}

@font-face {
  font-family: "Calibre-Bold";
  src: url("/wp-content/themes/arter/fonts/calibre/Calibre-Bold.eot");
  src:
    url("/wp-content/themes/arter/fonts/calibre/Calibre-Bold.eot?#iefix") format("embedded-opentype"),
    url("/wp-content/themes/arter/fonts/calibre/Calibre-Bold.woff2") format("woff2"),
    url("/wp-content/themes/arter/fonts/calibre/Calibre-Bold.woff") format("woff"),
    url("/wp-content/themes/arter/fonts/calibre/Calibre-Bold.ttf") format("truetype"),
    url("/wp-content/themes/arter/fonts/calibre/Calibre-Bold.svg#Calibre") format("svg");
}


html,
html a {
  -webkit-font-smoothing: antialiased !important;
  text-transform: uppercase;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004)
}

html,
body {
  overflow-x: hidden !important
}

html.no-scroll,
body.no-scroll {
  overflow: hidden !important
}

html {
  overflow-y: scroll
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

img {
  max-width: 100%;
  display: block
}

body {
  color: #000000;
  background-color: #f2f2f2;
  text-rendering: optimizeLegibility;
  font-family: 'Calibre-Light';
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0
}

body a {
  color: #9a9a9a;
  text-decoration: none;
  -webkit-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

body a:hover {
  color: #000000 !important
}

input {
  -webkit-appearance: none;
  border-radius: 0
}

textarea:focus,
input:focus,
select:focus {
  outline: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  font-family: 'Calibre-Light';
  line-height: 1.2em;
  font-style: normal;
  font-weight: normal;
  margin-bottom: 0.9em
}

h1,
.h1 {
  font-size: 83px;
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-bottom: 1.1em
}

h2,
.h2 {
  font-size: 30px;
  letter-spacing: .025em;
  margin-bottom: 1.1em;
  line-height: 1.1em
}

h3,
.h3 {
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 1.4em
}

h4,
.h4 {
  font-size: 15px;
  line-height: 1.2em;
  letter-spacing: .025em;
  margin-bottom: 1.3em
}

h5,
.h5 {
  font-size: 15px;
  line-height: 1.2em;
  letter-spacing: .025em;
  margin-bottom: 1.3em
}

p {
  font-family: 'Calibre-Light';
  font-size: 22px;
  line-height: 1.4em;
  letter-spacing: .015em;
  margin-bottom: 1.3em;
  color: #000000 !important
}

@media only screen and (max-width: 920px) {
  h1 {
    font-size: 50px
  }

  h2 {
    font-size: 26px
  }

  h3 {
    font-size: 17px
  }

  h4 {
    font-size: 12px
  }

  p {
    font-size: 17px
  }
}

@media only screen and (max-width: 580px) {
  h1 {
    font-size: 35px
  }

  h2 {
    font-size: 22px
  }

  h3 {
    font-size: 15px
  }

  h4 {
    font-size: 12px
  }

  p {
    font-size: 12px
  }
}

strong {
  font-family: 'Calibre-Bold';
  /* font-style: normal; */
  /* font-weight: normal; */
  letter-spacing: .09em;
  text-transform: uppercase
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child {
  margin-bottom: 0px
}

.out-of-view {
  transition: opacity 1750ms cubic-bezier(0.23, 1, 0.32, 1) 250ms;
  -o-transition: opacity 1750ms cubic-bezier(0.23, 1, 0.32, 1) 250ms;
  -ms-transition: opacity 1750ms cubic-bezier(0.23, 1, 0.32, 1) 250ms;
  -moz-transition: opacity 1750ms cubic-bezier(0.23, 1, 0.32, 1) 250ms;
  -webkit-transition: opacity 1750ms cubic-bezier(0.23, 1, 0.32, 1) 250ms;
  opacity: 0
}

.am-in-view {
  opacity: 1
}

.page-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-top: 15px;
}

.content-wrap {
  position: relative;
  display: block;
  width: -ms-calc(100% - 70px);
  width: -o-calc(100% - 70px);
  width: calc(100% - 70px);
  max-width: 1150px;
  height: auto;
  margin: 0 auto
}

@media only screen and (max-width: 800px) {
  .content-wrap {
    width: -ms-calc(100% - 35px);
    width: -o-calc(100% - 35px);
    width: calc(100% - 35px)
  }
}

.inner-content {
  padding-left: 35px;
  padding-right: 35px
}

.breadcrumbs-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 80px;
  color: #9a9a9a
}

.breadcrumbs-wrap ul li{
  display: inline;
}

.breadcrumbs-wrap ul li:not(:last-child):after{
  content: '|';
  padding:0 10px;
}

.breadcrumbs-wrap ul li:last-child{
  color: #000;
}

@media only screen and (max-width: 580px) {
  .breadcrumbs-wrap {
    margin-bottom: 30px
  }

  .page-wrap {
    padding-bottom: 30px
  }
}

.breadcrumbs-wrap strong>span:last-of-type {
  color: #000000 !important
}

.page-title-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 30px;
  z-index: 99
}

.page-wrap#projet-archive .page-title-wrap {
  margin-bottom: 50px
}

.page-wrap#projet-single .page-title-wrap {
  width: 80%
}

@media only screen and (max-width: 580px) {
  .page-title-wrap {
    margin-bottom: 20px
  }

  .page-wrap#projet-archive .page-title-wrap {
    margin-bottom: 20px
  }
}

.video-overlay-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
  cursor: pointer
}

.image-overlay-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
  cursor: pointer;
  background: no-repeat 50% 50%;
  background-size: cover
}

.video-overlay-wrap .text-logo,
.image-overlay-wrap .text-logo {
  position: absolute;
  width: 35%;
  height: auto;
  max-width: 442px;
  min-width: 220px;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 99
}

.video-overlay-wrap .text-logo svg,
.image-overlay-wrap .text-logo svg {
  position: relative;
  display: block;
  width: 100%;
  height: auto
}

.header-wrap {
  position: fixed;
  width: 100%;
  height: auto;
  padding-top: 44px;
  padding-bottom: 44px;
  top: 0;
  left: 0;
  background-color: #ffffff;
  z-index: 999;
  transform: translateY(0px);
  -o-transform: translateY(0px);
  -ms-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -webkit-transform: translateY(0px);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  -o-transition: -o-transform 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  transition: -webkit-transform 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  -o-transition: transform 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  transition: transform 1s cubic-bezier(0.55, 0.085, 0, 0.99);
  transition: transform 1s cubic-bezier(0.55, 0.085, 0, 0.99), -webkit-transform 1s cubic-bezier(0.55, 0.085, 0, 0.99)
}

.header-wrap.invisible {
  transform: translateY(-150px);
  -o-transform: translateY(-150px);
  -ms-transform: translateY(-150px);
  -moz-transform: translateY(-150px);
  -webkit-transform: translateY(-150px)
}

.dummy-header {
  position: relative;
  width: 100%;
  height: auto
}

.header-wrap .text-logo {
  position: relative;
  display: block;
  width: 242px;
  height: 38px;
  margin: 0 auto;
  z-index: 1
}

@media only screen and (max-width: 800px) {
  .header-wrap {
    padding-top: 26px;
    padding-bottom: 26px
  }
}

@media only screen and (max-width: 580px) {
  .header-wrap {
    padding-top: 11px;
    padding-bottom: 11px
  }
}

.header-wrap .header-section {
  position: absolute;
  top: 0;
  z-index: 999
}

.header-wrap .header-section.left {
  left: 0
}

.header-wrap .header-section.right {
  right: 0
}

.header-wrap .header-section:after {
  content: "";
  display: block;
  clear: both
}

.header-wrap .header-section .button {
  position: relative;
  float: left;
  height: 100%
}

.header-wrap #menu-language-menu {
  position: absolute;
  width: auto;
  height: 100%;
  min-width: 252px;
  font-size: 0;
  list-style: none;
  display: none
}

.header-wrap #menu-language-menu .lang-item {
  position: relative;
  display: inline-block;
  width: 84px;
  height: 126px;
  background-color: #fafafa;
  transition: background-color 500ms ease-in-out;
  -o-transition: background-color 500ms ease-in-out;
  -ms-transition: background-color 500ms ease-in-out;
  -moz-transition: background-color 500ms ease-in-out;
  -webkit-transition: background-color 500ms ease-in-out;
  cursor: pointer
}

.header-wrap #menu-language-menu .lang-item.current-lang,
.header-wrap #menu-language-menu .lang-item:hover {
  background-color: #e6e6e6
}

.header-wrap #menu-language-menu .lang-item a {
  position: absolute;
  width: 100%;
  height: 100%;
  color: #8c8c8c;
  font-size: 40px;
  line-height: 126px;
  letter-spacing: .1em;
  top: 0;
  left: 0;
  text-align: center
}

.header-wrap #menu-language-menu:hover .lang-item a {
  color: #8c8c8c !important
}

.header-wrap .button.search-button {
  width: auto;
  height: 100%;
  background-color: #e6e6e6;
  cursor: pointer;
  display: block
}

.header-wrap .button.search-button .search-icon {
  position: absolute;
  display: block;
  width: 35px;
  height: 35px;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

.header-wrap .menu-button {
  width: auto;
  height: 100%;
  background-color: var(--SITECOLOR);
  cursor: pointer
}

.header-wrap .menu-button .nav-toggle-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 54px;
  height: 37px;
  z-index: 3
}

#nav-toggle {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0
}

#nav-toggle {
  cursor: pointer;
  padding: 17px 54px 20px 0px
}

#nav-toggle span,
#nav-toggle span:before,
#nav-toggle span:after {
  cursor: pointer;
  height: 3px;
  width: 54px;
  background: #ffffff;
  position: absolute;
  display: block;
  content: '';
  transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  -ms-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -webkit-transition: all 500ms ease-in-out
}

#nav-toggle span:before {
  top: -17px
}

#nav-toggle span:after {
  bottom: -17px
}

.header-wrap .menu-button.opened #nav-toggle span {
  background-color: transparent !important
}

.header-wrap .menu-button.opened #nav-toggle span:before,
.header-wrap .menu-button.opened #nav-toggle span:after {
  top: 0
}

.header-wrap .menu-button.opened #nav-toggle span:before {
  transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg)
}

.header-wrap .menu-button.opened #nav-toggle span:after {
  transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg)
}

.header-wrap .button.search-button,
.header-wrap .button.menu-button {
  width: 126px;
  height: 126px
}

@media only screen and (max-width: 800px) {
  .header-wrap a.text-logo {
    max-width: 150px
  }

  .header-wrap a.text-logo svg {
    max-width: 150px
  }

  .header-wrap .menu-button .nav-toggle-wrap {
    width: 35px
  }

  .header-wrap .button .nav-toggle-wrap {
    width: 35px
  }

  .header-wrap .button .nav-toggle-wrap #nav-toggle {
    padding: 17px 35px 20px 0
  }

  .header-wrap .button .nav-toggle-wrap #nav-toggle span {
    width: 35px
  }

  .header-wrap .button .nav-toggle-wrap #nav-toggle span:after,
  .header-wrap .button .nav-toggle-wrap #nav-toggle span:before {
    width: 35px
  }

  #nav-toggle span:before {
    top: -13px
  }

  #nav-toggle span:after {
    bottom: -13px
  }
}

@media only screen and (max-width: 580px) {
  .header-wrap .menu-button .nav-toggle-wrap {
    width: 26px;
    height: 17px
  }

  .header-wrap .button .nav-toggle-wrap {
    width: 26px
  }

  .header-wrap .button .nav-toggle-wrap #nav-toggle {
    padding: 8px 26px 10px 0
  }

  .header-wrap .button .nav-toggle-wrap #nav-toggle span {
    width: 26px;
    height: 2px
  }

  .header-wrap .button .nav-toggle-wrap #nav-toggle span:after,
  .header-wrap .button .nav-toggle-wrap #nav-toggle span:before {
    width: 26px;
    height: 2px
  }

  #nav-toggle span:before {
    top: -8px
  }

  #nav-toggle span:after {
    bottom: -8px
  }
}

@media only screen and (max-width: 800px) {
  .header-wrap #menu-language-menu {
    min-width: 180px
  }

  .header-wrap #menu-language-menu .lang-item,
  .header-wrap .button.search-button,
  .header-wrap .button.menu-button {
    width: 60px;
    height: 90px
  }

  .header-wrap #menu-language-menu .lang-item a {
    line-height: 90px;
    font-size: 24px
  }
}

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

  .header-wrap .button.search-button span,
  .header-wrap .button.menu-button span {
    font-size: 20px
  }
}

@media only screen and (max-width: 580px) {
  .header-wrap #menu-language-menu {
    min-width: 90px
  }

  .header-wrap #menu-language-menu .lang-item {
    width: 30px;
    height: 60px;
  }

  .header-wrap #menu-language-menu .lang-item a {
    font-size: 14px;
    line-height: 60px
  }

  .header-wrap .header-section.right .menu-button,
  .header-wrap .header-section.right .search-button {
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0
  }

  .header-wrap .header-section.right .menu-button {
    top: 0
  }

  .header-wrap .header-section.right .search-button {
    top: 60px;
    display: none
  }

  .header-wrap .button.language-button.search-button .search-icon,
  .header-wrap .button.search-button.search-button .search-icon,
  .header-wrap .button.menu-button.search-button .search-icon {
    width: 24px;
    height: 24px
  }

  .header-wrap .button.language-button.search-button svg,
  .header-wrap .button.search-button.search-button svg,
  .header-wrap .button.menu-button.search-button svg {
    width: 24px;
    height: 24px
  }
}

@media only screen and (max-width: 500px) {
  .header-wrap a.text-logo {
    max-width: 105px
  }

  .header-wrap a.text-logo svg {
    max-width: 105px
  }
}

@media only screen and (max-width: 400px) {
  .header-wrap a.text-logo {
    max-width: 90px
  }

  .header-wrap a.text-logo svg {
    max-width: 90px
  }
}

.main-menu-wrap {
  position: fixed;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  background-color: var(--SITECOLOR);
  padding-top: 65px;
  padding-bottom: 65px;
  z-index: 998;
  display: none
}

.main-menu-wrap .menu {
  position: relative;
  list-style: none;
  width: 100%;
  height: auto;
  text-align: center;
  -webkit-transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  opacity: 0
}

.main-menu-wrap .social-wrap {
  padding-top: 5px;
  display: block;
  text-align: center;
  font-size: 0;
  -webkit-transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  opacity: 0
}

.main-menu-wrap .social-wrap .social-icon {
  width: 20px;
  display: inline-block;
  margin: 0 10px
}

.main-menu-wrap .social-wrap .social-icon path {
  fill: white
}

.main-menu-wrap .menu.visible {
  opacity: 1
}

.main-menu-wrap .menu.visible+.social-wrap {
  opacity: 1
}

.main-menu-wrap .menu .menu-item {
  position: relative;
  display: block;
  margin-bottom: 25px
}

.main-menu-wrap .menu .sub-menu {
  margin-top: 5px
}

.main-menu-wrap .menu .sub-menu .menu-item {
  margin-bottom: 5px
}

.main-menu-wrap .menu .menu-item a {
  font-family: 'Calibre-Light';
  font-size: 28px;
  line-height: 1.2em;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ffffff !important;
  -webkit-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  cursor: pointer
}

.main-menu-wrap .menu .sub-menu .menu-item a {
  font-size: 20px;
}

.main-menu-wrap .menu .menu-item a:hover,
.main-menu-wrap .menu .menu-item.current-menu-item>a {
  color: #000000 !important;
  text-decoration: underline;
  text-underline-offset: 5px
}

.main-menu-wrap .menu .menu-item.current-menu-item ul.sub-menu a {
  color: #FFFFFF !important;
  text-decoration: none;
}

.main-menu-wrap .menu .menu-item.current-menu-item ul.sub-menu a:hover {
  text-decoration: underline;
}


@media only screen and (max-width: 920px) {
  .main-menu-wrap {
    padding-top: 55px;
    padding-bottom: 55px
  }

  .main-menu-wrap .menu .menu-item a {
    font-size: 23px
  }
}

@media only screen and (max-width: 580px) {
  .main-menu-wrap {
    padding-top: 45px;
    padding-bottom: 45px
  }

  .main-menu-wrap .menu .menu-item {
    margin-bottom: 15px
  }

  .main-menu-wrap .menu .menu-item a {
    font-size: 18px
  }
}

.content-under-image {
  margin-top: 30px;
  background-color: #fff;
  overflow: hidden
}

.content-under-image .left-content,
.content-under-image .right-content {
  max-width: 50%;
  width: 100%;
  float: left;
  padding: 30px;
  padding-bottom: 70px
}

.content-under-image .right-content * {
  color: #8c8c8c !important
}

.content-under-image .left-content.left-content p,
.content-under-image .right-content.left-content p {
  padding-right: 80px
}

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

  .content-under-image .left-content,
  .content-under-image .right-content {
    padding: 22px;
    padding-bottom: 40px
  }
}

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

  .content-under-image .left-content,
  .content-under-image .right-content {
    max-width: 100%;
    padding-bottom: 0px
  }

  .content-under-image .right-content {
    padding-bottom: 22px
  }
}

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

  .content-under-image .left-content.left-content p,
  .content-under-image .right-content.left-content p {
    padding: 0
  }
}

@media only screen and (max-width: 580px) {
  .content-under-image {
    margin-top: 20px
  }

  .content-under-image .left-content,
  .content-under-image .right-content {
    padding: 15px;
    padding-bottom: 0px
  }

  .content-under-image .right-content {
    padding-bottom: 15px
  }

  .content-under-image .left-content h2,
  .content-under-image .right-content h2 {
    font-size: 14px
  }
}

.search-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--SITECOLOR);
  padding-top: 65px;
  padding-bottom: 65px;
  z-index: 998;
  display: none
}

.search-wrap {
  bottom: 0
}

.search-wrap .screen-reader-text,
.search-wrap input[type="submit"] {
  display: none
}

.search-wrap input[type="search"]::-webkit-search-decoration,
.search-wrap input[type="search"]::-webkit-search-cancel-button,
.search-wrap input[type="search"]::-webkit-search-results-button,
.search-wrap input[type="search"]::-webkit-search-results-decoration {
  display: none
}

.search-wrap .search-form {
  position: relative;
  max-width: 90%;
  width: 100%;
  margin: 80px auto 0 auto;
  -webkit-transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 500ms cubic-bezier(0.25, 0.1, 0.25, 1);
  opacity: 0
}

.search-wrap .search-form.visible {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  opacity: 1
}

.search-wrap label {
  display: block;
  width: 100%;
  margin: 0 auto;
  position: relative
}

.search-wrap input[type="search"] {
  width: 100%;
  display: block;
  background: none;
  border: none;
  border-bottom: 2px solid #fff;
  color: #fff;
  font-size: 56px;
  text-transform: uppercase;
  font-family: 'Calibre-Light';
  letter-spacing: .08em;
  margin: 0;
  padding: 0
}

.search-wrap input[type="search"]::-webkit-input-placeholder {
  color: #ffffff
}

.search-wrap input[type="search"]:-moz-placeholder {
  color: #ffffff
}

.search-wrap input[type="search"]::-moz-placeholder {
  color: #ffffff
}

.search-wrap input[type="search"]:-ms-input-placeholder {
  color: #ffffff
}

@media only screen and (max-width: 920px) {
  .search-wrap input[type="search"] {
    font-size: 36px
  }
}

@media only screen and (max-width: 580px) {
  .search-wrap input[type="search"] {
    font-size: 22px
  }
}

.search-wrap .close-search-box {
  position: absolute;
  right: 0;
  bottom: 10px;
  display: block;
  z-index: 200;
  padding-top: 12px;
  width: 34px;
  height: 28px;
  cursor: pointer
}

.search-wrap .close-search-box:before,
.search-wrap .close-search-box:after {
  cursor: pointer;
  height: 3px;
  width: 34px;
  background: #ffffff;
  position: absolute;
  display: block;
  content: '';
  transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  -ms-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -webkit-transition: all 500ms ease-in-out
}

.search-wrap .close-search-box:before {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg)
}

.search-wrap .close-search-box:after {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg)
}

@media only screen and (max-width: 580px) {
  .search-wrap .close-search-box {
    width: 22px;
    height: 22px
  }

  .search-wrap .close-search-box:before,
  .search-wrap .close-search-box:after {
    height: 1.5px;
    width: 24px
  }
}

.search-result-list {
  padding: 0 0 20px 0;
  margin: 0
}

.search-result-list li {
  list-style: none;
  margin-bottom: 12px
}

.search-page {
  padding-top: 15px;
  padding-bottom: 100px
}

.grid-wrap {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
  margin-bottom: 65px
}

.grid-wrap .grid-sizer {
  width: 31%
}

.grid-wrap .gutter-sizer {
  width: 3.5%
}

.grid-wrap .grid-block {
  position: relative;
  width: 31%;
  height: auto;
  text-align: left;
  overflow: hidden
}

.grid-wrap.two--col .grid-sizer {
  width: 48.5%
}

.grid-wrap.two--col .gutter-sizer {
  width: 3%
}

.grid-wrap.two--col .grid-block {
  width: 48.5%
}

@media only screen and (max-width: 650px) {
  .grid-wrap {
    margin-bottom: 30px
  }

  .grid-wrap.two--col .grid-block {
    width: 100%
  }
}

.grid-wrap.two--col .grid-block.fullwidth {
  width: 100%
}

.grid-wrap.three--col .grid-sizer {
  width: 31%
}

.grid-wrap.thre--col .gutter-sizer {
  width: 3.5%
}

.grid-wrap.three--col .grid-block {
  width: 31%
}

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

  .grid-wrap.three--col .grid-block,
  .grid-wrap.three--col .grid-sizer {
    width: 48.5%
  }

  .grid-wrap.three--col .gutter-sizer {
    width: 3%
  }
}

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

  .grid-wrap.three--col .grid-block,
  .grid-wrap.three--col .grid-sizer {
    width: 100%
  }

  .grid-wrap.three--col .grid-block {
    margin-bottom: 30px
  }

  .grid-wrap.three--col .gutter-sizer {
    width: 0%
  }
}

.grid-wrap .grid-block.hover {
  cursor: pointer
}

.grid-wrap .grid-block.thumbnail {
  background: no-repeat 50% 50%;
  background-size: cover;
  background-color: #FFFFFF;
}

.grid-wrap .grid-block.block--height:after {
  content: "";
  display: block;
  padding-bottom: 70.6%
}

.grid-wrap .grid-block.fullwidth.block--height:after {
  content: "";
  display: block;
  padding-bottom: 51.56%
}

.grid-wrap .grid-block img.grid-image {
  position: relative;
  display: block;
  width: 100%;
  height: auto
}

.grid-wrap .grid-block .text-content {
  position: relative;
  width: 100%;
  height: auto;
  padding: 35px;
  background-color: #ffffff
}

.grid-wrap .grid-block .text-content .social-symbol {
  position: relative;
  display: block;
  width: 20px;
  height: 20px
}

.grid-wrap .grid-block .text-content .social-symbol svg {
  display: block
}

@media only screen and (max-width: 920px) {
  .grid-wrap .grid-block .text-content {
    padding: 27px
  }
}

@media only screen and (max-width: 580px) {
  .grid-wrap .grid-block .text-content {
    padding: 18px
  }

  .grid-wrap .grid-block .text-content .social-symbol {
    width: 12px;
    height: 12px
  }
}

.grid-wrap .grid-block .overlay-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 50
}

.grid-wrap .grid-block .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 50;
  /* opacity: 0; */
  -webkit-transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

.grid-wrap .grid-block .overlay-b {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 50;
  opacity: 1;
  -webkit-transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

.grid-wrap.three--col .grid-block .overlay-b {
  padding: 35px;
}

.grid-wrap .grid-block.fullwidth .overlay {
  right: 0;
  max-width: 50%;
  left: auto
}

.grid-wrap .grid-block.fullwidth .overlay .content p {
  font-size: 15px !important
}

.grid-wrap.three--col .grid-block .overlay {
  padding: 35px
}

.grid-wrap.two--col .grid-block .overlay {
  padding: 55px
}

@media only screen and (max-width: 1100px) {
  .grid-wrap.two--col .grid-block .overlay {
    padding: 35px
  }
}

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

  .grid-wrap.two--col .grid-block .overlay,
  .grid-wrap.three--col .grid-block .overlay {
    padding: 27px
  }
}

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

  .grid-wrap.two--col .grid-block .overlay,
  .grid-wrap.three--col .grid-block .overlay {
    padding: 20px
  }
}

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

  .grid-wrap.two--col .grid-block .overlay,
  .grid-wrap.three--col .grid-block .overlay {
    padding: 15px
  }
}

.grid-wrap .grid-block .overlay.grey,
.grid-wrap .grid-block .overlay.white{
  background-color: transparent;
}
.grid-wrap .grid-block:hover .overlay.white {
  background-color: #ffffff;
}

.grid-wrap .grid-block:hover .overlay.grey {
  background-color: #f2f2f2
}

.grid-wrap .grid-block .overlay.black {
  background-color: #000000
}

.grid-wrap .grid-block:hover .overlay {
  opacity: 1
}

.grid-wrap .grid-block .overlay-wrap.visible .overlay {
  opacity: 1 !important
}

.grid-wrap .grid-block .overlay.white * {
  color: #ffffff;
  stroke: #121212
}
.grid-wrap .grid-block:hover .overlay.white * {
  color: #3e3e3e;
  stroke: #121212
}

.grid-wrap .grid-block .overlay.white em {
  font-style: normal;
  font-weight: normal;
  color: #9a9a9a !important
}

.grid-wrap .grid-block .overlay.grey,
#projets-grid .grid-block .overlay.white *:is(h1, h2, h3, h4, h5, h6),
.grid-wrap .grid-block .overlay.white *:not(:is(h1, h2, h3, h4, h5, h6)){
  opacity: 0;
}
.grid-wrap .grid-block:hover .overlay.grey,
#projets-grid .grid-block:hover .overlay.white *:is(h1, h2, h3, h4, h5, h6),
.grid-wrap .grid-block:hover .overlay.white *:not(:is(h1, h2, h3, h4, h5, h6)){
  opacity: 1;
}

.grid-wrap .grid-block .overlay.grey * {
  color: #000000;
  stroke: #000000
}

.grid-wrap .grid-block .overlay.grey p {
  color: #000000 !important
}

.grid-wrap .grid-block .overlay.grey em {
  font-style: normal;
  font-weight: normal;
  color: #8c8c8c
}

.grid-wrap .grid-block .overlay.black * {
  color: #ffffff;
  stroke: #ffffff
}

.grid-wrap .grid-block .overlay.black em {
  font-style: normal;
  font-weight: normal;
  color: #8c8c8c
}

.grid-wrap .grid-block .overlay .plus-icon {
  position: absolute;
  display: block
}

@media only screen and (max-width: 750px) {
  .grid-wrap .grid-block .overlay .plus-icon {
    display: none
  }
}

.grid-wrap.three--col .grid-block .overlay .plus-icon {
  width: 20px;
  height: 20px;
  bottom: 35px;
  left: 35px
}

.grid-wrap.two--col .grid-block .overlay .plus-icon {
  width: 30px;
  height: 30px;
  bottom: 55px;
  left: 55px
}

@media only screen and (max-width: 1100px) {
  .grid-wrap.two--col .grid-block .overlay .plus-icon {
    bottom: 35px;
    left: 35px
  }
}

@media only screen and (max-width: 920px) {
  .grid-wrap.two--col .grid-block .overlay .plus-icon {
    bottom: 27px;
    left: 27px;
    width: 20px;
    height: 20px
  }
}

@media only screen and (max-width: 800px) {
  .grid-wrap.two--col .grid-block .overlay .plus-icon {
    bottom: 20px;
    left: 20px
  }
}

.grid-wrap .grid-block .overlay .plus-icon svg {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (max-width: 580px) {
  .grid-wrap .grid-block .overlay {
    display: none
  }
}

.main-image {
  position: relative;
  background: no-repeat 50% 50%;
  background-size: cover
}

.main-image:after {
  content: "";
  display: block;
  padding-bottom: 50%
}

@media only screen and (max-width: 830px) {
  .main-image:after {
    padding-bottom: 80%
  }
}

@media only screen and (max-width: 580px) {
  .main-image:after {
    padding-bottom: 100%
  }
}

.main-image .content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  text-align: center;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%)
}

.main-image .content h1 {
  color: #fff !important
}

.main-image.fresco {
  height: auto;
  white-space: nowrap;
  overflow: hidden;
  cursor: -webkit-grab;
  cursor: grab;
  position: relative
}

.main-image.fresco .wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%
}

.main-image.fresco img {
  height: 100%;
  width: auto;
  max-width: none;
  display: inline-block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.page-wrap#home {
  padding: 0px !important
}

@media screen and (max-width: 650px) {
  .homepage-section .btn--top {
    margin-bottom: -30px !important;
  }
}

.homepage-section {
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 50px;
  padding-bottom: 65px;
  text-align: center;
  z-index: 200
}

.homepage-section .btn--top {
  margin-bottom: -63px
}

.homepage-section.grey {
  background-color: #e6e6e6
}

.homepage-section.white {
  background-color: #ffffff
}

.homepage-section.black {
  background-color: #212121
}

.homepage-section.blue {
  background-color: #e3f0f0
}

.homepage-section.grey *,
.homepage-section.white * {
  color: #3e3e3e
}

.homepage-section.black * {
  color: #ffffff
}

.homepage-section.blue * {
  color: #000000
}

@media only screen and (max-width: 650px) {
  .homepage-section {
    padding-top: 30px;
    padding-bottom: 30px
  }

  .homepage-section#recent-projects .grid-block {
    background-size: 105% auto;
    -o-background-size: 105% auto;
    -ms-background-size: 105% auto;
    -moz-background-size: 105% auto;
    -webkit-background-size: 105% auto;
    background-position: bottom center;
    -o-background-position: bottom center;
    -ms-background-position: bottom center;
    -moz-background-position: bottom center;
    -webkit-background-position: bottom center
  }

  .homepage-section#recent-projects .grid-block .overlay {
    position: relative;
    display: block !important;
    opacity: 1;
    height: auto
  }

  .homepage-section#recent-projects .grid-block .overlay * {
    margin-bottom: 0px
  }
}

@media only screen and (max-width: 580px) {
  .homepage-section#recent-projects .grid-block .overlay * {
    font-size: 12px
  }
}

.homepage-slideshow {
  position: relative;
  display: block;
  width: 100%;
  height: auto
}

.homepage-slideshow .homepage-slideshow-slide {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: no-repeat 50% 50%;
  background-size: cover
}

.homepage-slideshow .homepage-slideshow-slide * {
  color: #ffffff
}

.homepage-slideshow .homepage-slideshow-slide .content {
  position: absolute;
  width: -ms-calc(100% - 70px);
  width: -o-calc(100% - 70px);
  width: calc(100% - 70px);
  max-width: 1150px;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center
}

@media only screen and (max-width: 800px) {
  .homepage-slideshow .homepage-slideshow-slide .content {
    width: -ms-calc(100% - 35px);
    width: -o-calc(100% - 35px);
    width: calc(100% - 35px)
  }
}

.sector-plus-icon {
  position: absolute;
  display: block;
  width: 42px;
  height: 42px;
  bottom: 0;
  background: #fff;
  z-index: 200;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%)
}

.sector-plus-icon:hover {
  cursor: pointer
}

.sector-plus-icon svg {
  position: absolute;
  width: 24px;
  height: 24px;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #000000;
  stroke: #000000
}

@media only screen and (max-width: 580px) {
  .sector-plus-icon {
    width: 25px;
    height: 25px
  }

  .sector-plus-icon svg {
    width: 15px;
    height: 15px
  }
}

section#latest-news div.lead-image {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 40px;
  background: no-repeat 50% 50%;
  background-size: cover;
  text-align: center
}

section#latest-news div.lead-image * {
  color: #ffffff !important;
  text-align: center
}

@media only screen and (max-width: 650px) {
  section#latest-news div.lead-image {
    padding-top: 25px
  }
}

@media only screen and (max-width: 580px) {
  section#latest-news div.lead-image {
    padding-top: 20px
  }
}

section#latest-news div.lead-image .title-wrap {
  position: absolute;
  width: -ms-calc(100% - 70px);
  width: -o-calc(100% - 70px);
  width: calc(100% - 70px);
  height: auto;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-width: 800px
}

@media only screen and (max-width: 800px) {
  section#latest-news div.lead-image .title-wrap {
    width: -ms-calc(100% - 35px);
    width: -o-calc(100% - 35px);
    width: calc(100% - 35px)
  }
}

@media only screen and (max-width: 580px) {
  section#latest-news div.lead-image h2 {
    font-size: 15px !important
  }

  section#latest-news div.lead-image .title-wrap {
    top: 0px;
    height: 100%;
    -ms-transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%)
  }

  section#latest-news div.lead-image .title-wrap h1.date {
    position: relative;
    margin-bottom: 0px;
    top: 50%;
    transform: translate(0%, -60%);
    -o-transform: translate(0%, -60%);
    -ms-transform: translate(0%, -60%);
    -moz-transform: translate(0%, -60%);
    -webkit-transform: translate(0%, -60%)
  }

  section#latest-news div.lead-image .title-wrap .title-location {
    position: absolute;
    bottom: 50px;
    width: 100%;
    left: 0px
  }
}

#agence-archive .main-map-wrapper {
  position: absolute !important;
  width: 100%;
  overflow: hidden;
  background-color: #fff;
  height: 700px
}

@media only screen and (max-width: 750px) {
  #agence-archive .main-map-wrapper {
    background-color: transparent;
    height: auto
  }
}

#agence-archive .main-map-wrapper .close-map {
  position: absolute;
  width: 23px;
  height: 23px;
  top: 35px;
  right: 35px;
  cursor: pointer;
  display: block;
  z-index: 99
}

#agence-archive .grid-wrap .grid-block .overlay .slogan {
  font-size: 22px
}

#agence-archive .main-map-wrapper .close-map svg {
  display: block;
  width: 100%;
  height: 100%
}

#agence-archive .main-map-wrapper .close-map svg * {
  stroke: #000000 !important
}

@media only screen and (max-width: 920px) {
  #agence-archive .main-map-wrapper .close-map {
    top: 20px;
    right: 20px
  }
}

#agence-archive .main-map-wrapper .list-of-countries {
  position: relative;
  max-width: 20%;
  width: 100%;
  height: 100%;
  padding: 30px;
  float: left;
  -webkit-box-sizing: border-content;
  box-sizing: border-content;
  overflow-y: scroll
}

#agence-archive .main-map-wrapper .list-of-countries::-webkit-scrollbar-track {
  border: none;
  background-color: transparent
}

#agence-archive .main-map-wrapper .list-of-countries::-webkit-scrollbar {
  width: 10px;
  background-color: transparent
}

#agence-archive .main-map-wrapper .list-of-countries::-webkit-scrollbar-thumb {
  background-color: #cccccc
}

#agence-archive .main-map-wrapper .list-of-countries ul {
  position: relative;
  padding: 0;
  margin: 0
}

#agence-archive .main-map-wrapper .list-of-countries ul li {
  list-style: none;
  color: #8c8c8c;
  -webkit-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  cursor: pointer
}

#agence-archive .main-map-wrapper .list-of-countries ul li:hover,
#agence-archive .main-map-wrapper .list-of-countries ul li.hover {
  color: #111
}

#agence-archive .main-map-wrapper .list-of-countries ul li.active {
  color: var(--SITECOLOR)
}

@media only screen and (max-width: 750px) {
  #agence-archive .main-map-wrapper .list-of-countries {
    max-width: 100%;
    background-color: #ffffff;
    margin-top: 20px;
    overflow-y: visible
  }
}

g[cursor="pointer"] path {
  stroke: #11159a
}

g[cursor="pointer"] circle {
  fill: #cdcdcd;
  fill-opacity: 1;
  stroke: none
}

#agence-archive #chartdiv {
  position: relative;
  width: 80%;
  height: 486px;
  margin-top: 215px;
  background: #fff;
  float: left
}

#agence-archive #chartdiv .controls {
  -webkit-transform: translate(0, 250) !important;
  -ms-transform: translate(0, 250) !important;
  transform: translate(0, 250) !important
}

#agence-archive #chartdiv a {
  color: #fff !important
}

@media only screen and (max-width: 750px) {
  #agence-archive #chartdiv {
    height: 300px;
    width: 100%;
    margin-top: 0
  }
}

#agence-archive .info-box {
  position: absolute;
  background: #ccc;
  text-transform: uppercase;
  width: 80%;
  height: 215px;
  top: 0;
  left: 0;
  padding: 20px 20px 140px 20px;
  margin: 0 0 0 auto;
  z-index: 99
}

#agence-archive .info-box#mobile {
  display: none !important
}

@media only screen and (max-width: 750px) {
  #agence-archive .info-box {
    display: none
  }

  #agence-archive #mobile .project-overlay {
    display: block;
    position: relative
  }

  #agence-archive .info-box#mobile {
    display: block !important;
    max-height: 100%;
    height: 100%;
    width: 50%;
    padding: 0;
    left: auto;
    right: 0;
    background-color: transparent
  }

  #agence-archive .info-box#mobile>p {
    display: none
  }
}

@media only screen and (max-width: 580px) {
  #agence-archive .info-box#mobile {
    padding: 10px 10px 140px 10px
  }
}

#agence-archive .info-box .project-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--SITECOLOR);
  padding: 18px;
  overflow-y: scroll;
  display: none;
  z-index: 99
}

@media only screen and (max-width: 580px) {
  #agence-archive .info-box#mobile .project-overlay {
    padding: 10px
  }
}

#agence-archive .info-box .project-overlay::-webkit-scrollbar-track {
  border: none;
  background-color: transparent
}

#agence-archive .info-box .project-overlay::-webkit-scrollbar {
  width: 10px;
  background-color: transparent
}

#agence-archive .info-box .project-overlay::-webkit-scrollbar-thumb {
  background-color: #000000
}

#agence-archive .info-box .project-overlay * {
  color: #ffffff !important
}

#agence-archive .info-box .project-overlay a.country-item {
  display: block;
  margin-bottom: .5em;
  -webkit-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

#agence-archive .info-box .project-overlay a.country-item:hover {
  color: #000000 !important
}

#agence-archive .info-box .project-overlay .plus-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  display: none
}

#agence-archive .info-box .project-overlay .plus-icon.shown {
  display: block !important
}

#agence-archive .info-box .project-overlay .plus-icon * {
  stroke: #ffffff !important
}

@media only screen and (max-width: 580px) {
  #agence-archive .info-box .project-overlay .plus-icon {
    width: 15px;
    height: 15px
  }
}

#agence-archive .map-marker {
  margin-left: -8px;
  margin-top: -8px;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 0.8s cubic-bezier(0.77, 0, 0.175, 1)
}

#agence-archive .map-marker.in-use {
  display: block
}

#agence-archive .map-marker.map-clickable {
  cursor: pointer
}

#agence-archive .map-marker .pulse {
  width: 10px;
  height: 10px;
  border: 5px solid var(--SITECOLOR);
  border-radius: 30px;
  background-color: var(--SITECOLOR);
  z-index: 10;
  position: absolute;
  -webkit-transition: border-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: border-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: border-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

#agence-archive .map-marker.hover {
  z-index: 99;
  -webkit-transform: translate(-2px, -2px) scale(1.5);
  -ms-transform: translate(-2px, -2px) scale(1.5);
  transform: translate(-2px, -2px) scale(1.5);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)
}

#agence-archive .map-marker.active {
  z-index: 99;
  -webkit-transform: translate(-3px, -3px) scale(1.7);
  -ms-transform: translate(-3px, -3px) scale(1.7);
  transform: translate(-3px, -3px) scale(1.7)
}

#agence-archive .map-marker.active .pulse {
  border-color: #000000
}

#agence-archive .map-marker .dot {
  border: 10px solid var(--SITECOLOR);
  background: transparent;
  border-radius: 100%;
  height: 10px;
  width: 10px;
  position: absolute;
  top: -5px;
  left: -4px;
  z-index: 1;
  opacity: 0
}

#agence-archive .grid-block.rollover:not(.fullwidth){
  padding-top: 68px;
  cursor: pointer !important
}

@media only screen and (max-width: 500px) {
  #agence-archive .grid-block:after {
    padding-bottom: 100%
  }
}

@media only screen and (max-width: 750px) {
  #agence-archive .grid-block {
    width: 100%
  }

  #agence-archive .grid-block .overlay-wrap .plus-icon,
  #agence-archive .grid-block .overlay-wrap .slogan,
  #agence-archive .grid-block .overlay-wrap .overlay-excerpt{
    display: none
  }
  
  .grid-wrap .grid-block:hover .overlay.white *{
    color: #fff;
  }
}

.grid-block .title {
  padding-top: 35px;
  padding-left: 35px;
  display: block;
  color: #fff;
  font-size: 30px
}

@media only screen and (max-width: 920px) {
  #agence-archive .grid-block span.title {
    padding-top: 20px;
    padding-left: 20px
  }
}

#agence-archive .grid-block .overlay {
  padding: 35px
}

#agence-archive .grid-block .overlay .plus-icon {
  bottom: 35px;
  left: 35px
}

@media only screen and (max-width: 920px) {
  #agence-archive .grid-block .overlay {
    padding: 20px
  }

  #agence-archive .grid-block .overlay .plus-icon {
    bottom: 20px;
    left: 20px
  }
}

@media only screen and (max-width: 750px) {
  #agence-archive .grid-block .overlay {
    max-width: 100%;
    bottom: 0;
    position: absolute;
    background-color: transparent;
  }

  #agence-archive .grid-block .overlay .plus-icon {
    display: block
  }

  #agence-archive .grid-block .overlay:hover {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1
  }
}

#agence-archive .grid-block.fullwidth span.title {
  font-size: 27px
}

@media only screen and (max-width: 750px) {
  #agence-archive .grid-block.fullwidth:after {
    padding-bottom: 60%
  }
}

@media only screen and (max-width: 580px) {
  #agence-archive .grid-block.fullwidth:after {
    padding-bottom: 75%
  }
}

#single-agence .main-image:after,
#single-agence .footer-image:after {
  content: "";
  display: block;
  padding-bottom: 40%
}

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

  #single-agence .main-image:after,
  #single-agence .footer-image:after {
    padding-bottom: 80%
  }
}

#single-agence .main-image.footer-image,
#single-agence .footer-image.footer-image {
  margin-top: 30px
}

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

  #single-agence .main-image.footer-image,
  #single-agence .footer-image.footer-image {
    margin-top: 20px
  }
}

@media only screen and (max-width: 580px) {
  #agence-archive .grid-block .overlay {
    display: block !important
  }

  #agence-archive .grid-block * {
    font-size: 14px !important
  }
}

.page-wrap#projet-archive .taxonomy-menu-toggles {
  position: relative;
  display: block
}

.page-wrap#projet-archive .taxonomy-menu-toggles .taxonomy-menu-toggle {
  display: inline-block;
  margin-right: 35px;
  vertical-align: text-bottom;
  cursor: pointer;
  color: #8c8c8c;
  -webkit-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

.page-wrap#projet-archive .taxonomy-menu-toggles .taxonomy-menu-toggle:hover,
.page-wrap#projet-archive .taxonomy-menu-toggles .taxonomy-menu-toggle.active {
  color: #000000
}

@media only screen and (max-width: 750px) {
  .page-wrap#projet-archive .taxonomy-menu-toggles {
    text-align: center
  }

  .page-wrap#projet-archive .taxonomy-menu-toggles strong {
    display: -webkit-flex;
    -webkit-justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
  }

  .page-wrap#projet-archive .taxonomy-menu-toggles .taxonomy-menu-toggle {
    margin-left: 0px;
    margin-right: 0px
  }
}

.page-wrap#projet-archive .taxonomy-filter-menu {
  position: absolute;
  width: 31.1%;
  height: auto;
  background-color: #ffffff;
  right: 0;
  bottom: -17px;
  display: none;
  z-index: 999
}

.page-wrap#projet-archive .taxonomy-filter-menu#categories {
  display: block
}

@media only screen and (max-width: 750px) {
  .page-wrap#projet-archive .taxonomy-filter-menu {
    width: 100%;
    position: absolute;
    top: 50px;
    bottom: initial
  }

  .page-wrap#projet-archive .grid-wrap#projets-grid {
    padding-top: 65px
  }
}

@media only screen and (max-width: 580px) {
  .page-wrap#projet-archive .taxonomy-filter-menu {
    top: 30px
  }
}

.page-wrap#projet-archive .taxonomy-filter-menu .title-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 17px;
  cursor: pointer
}

.page-wrap#projet-archive .taxonomy-filter-menu .title-wrap h5 {
  margin-bottom: 0px
}

.page-wrap#projet-archive .taxonomy-filter-menu .title-wrap .plus {
  position: absolute;
  width: 18px;
  height: 18px;
  top: 50%;
  right: 17px;
  margin-top: -9px;
  transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  -ms-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -webkit-transition: all 500ms ease-in-out
}

.page-wrap#projet-archive .taxonomy-filter-menu .title-wrap .plus * {
  stroke: #000000 !important
}

.page-wrap#projet-archive .taxonomy-filter-menu.visible .title-wrap .plus {
  transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg)
}

.page-wrap#projet-archive .taxonomy-filter-menu .filter-menu {
  position: absolute;
  display: block;
  width: 100%;
  height: auto;
  padding: 17px;
  padding-bottom: 5px;
  padding-top: 10px;
  max-height: 285px;
  overflow: scroll;
  background-color: #ffffff;
  display: none
}

.page-wrap#projet-archive .taxonomy-filter-menu .filter-menu::-webkit-scrollbar-track {
  border: none;
  background-color: transparent
}

.page-wrap#projet-archive .taxonomy-filter-menu .filter-menu::-webkit-scrollbar {
  width: 10px;
  background-color: transparent
}

.page-wrap#projet-archive .taxonomy-filter-menu .filter-menu::-webkit-scrollbar-thumb {
  background-color: #000000
}

.page-wrap#projet-archive .taxonomy-filter-menu .filter-menu .filter-menu-item {
  position: relative;
  display: block;
  color: #8c8c8c;
  margin-bottom: 0px;
  opacity: 0;
  -webkit-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1), opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 150ms;
  -o-transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1), opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 150ms;
  transition: color 300ms cubic-bezier(0.25, 0.1, 0.25, 1), opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 150ms;
  cursor: pointer
}

.page-wrap#projet-archive .taxonomy-filter-menu.visible .filter-menu .filter-menu-item {
  opacity: 1
}

.page-wrap#projet-archive .taxonomy-filter-menu .filter-menu .filter-menu-item:hover {
  color: #000000
}

@media only screen and (max-width: 750px) {
  .grid-wrap#projets-grid .grid-block {
    background-size: 105% auto;
    -o-background-size: 105% auto;
    -ms-background-size: 105% auto;
    -moz-background-size: 105% auto;
    -webkit-background-size: 105% auto;
    background-position: bottom center;
    -o-background-position: bottom center;
    -ms-background-position: bottom center;
    -moz-background-position: bottom center;
    -webkit-background-position: bottom center
  }

  .grid-wrap#projets-grid .grid-block .overlay {
    background-color: #fff;
    position: relative;
    opacity: 1
  }

  #projets-grid .grid-block .overlay.white :is(h1, h2, h3, h4, h5, h6, em){
    color: #3e3e3e;
    opacity: 1;
  }

  .grid-wrap#projets-grid .grid-block .overlay .plus-icon {
    display: none
  }
}

@media only screen and (max-width: 580px) {
  .grid-wrap#projets-grid .grid-block .overlay {
    display: block !important
  }

  .grid-wrap#projets-grid .grid-block .overlay * {
    margin-bottom: 0px
  }
}

.page-wrap#projet-single {
  padding-bottom: 0px
}

.page-wrap#projet-single .projets-slideshow-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 10px
}

.page-wrap#projet-single .projets-slideshow {
  display: block;
  width: 100%;
  height: auto
}

.page-wrap#projet-single .projets-slideshow .projets-slideshow-slide {
  width: 100%;
  height: auto;
  top: 0;
  left: 0
}

.page-wrap#projet-single .projets-slideshow .projets-slideshow-slide .image-wrap {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden
}

.page-wrap#projet-single .projets-slideshow .projets-slideshow-slide .image-wrap:after {
  content: "";
  display: block;
  padding-bottom: 70.4%
}

.page-wrap#projet-single .projets-slideshow .projets-slideshow-slide img {
  position: absolute;
  width: auto;
  height: 100%;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

.page-wrap#projet-single .projets-slideshow .projets-slideshow-slide .credit {
  position: relative;
  width: 100%;
  height: auto;
  max-width: 700px;
  margin: 0 auto;
  margin-top: 10px;
  text-align: center;
  color: #9a9a9a !important
}

.page-wrap#projet-single .projets-slideshow .cycle-pager {
  position: absolute;
  display: block;
  width: 100%;
  height: 10px;
  top: 30px;
  left: 0;
  font-size: 0;
  text-align: center;
  z-index: 200
}

.page-wrap#projet-single .projets-slideshow .cycle-pager span {
  display: inline-block;
  color: transparent;
  width: 10px;
  height: 10px;
  background-color: #ffffff;
  margin-left: 5px;
  margin-right: 5px;
  -webkit-transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  cursor: pointer
}

.page-wrap#projet-single .projets-slideshow .cycle-pager span.cycle-pager-active,
.page-wrap#projet-single .projets-slideshow .cycle-pager span:hover {
  background-color: #9a9a9a
}

@media only screen and (max-width: 700px) {
  .page-wrap#projet-single .projets-slideshow .cycle-pager {
    height: 7px;
    bottom: 20px
  }

  .page-wrap#projet-single .projets-slideshow .cycle-pager span {
    width: 7px;
    height: 7px
  }
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-wrap {
  width: 100%;
  height: auto;
  opacity: 1
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-wrap .slideshow-nav-outer,
.page-wrap#projet-single .projets-slideshow .slideshow-nav-wrap .cycle-pager {
  -webkit-transition: opacity 500ms ease-out, visibility 500ms;
  -o-transition: opacity 500ms ease-out, visibility 500ms;
  transition: opacity 500ms ease-out, visibility 500ms
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-wrap.hidden .slideshow-nav-outer,
.page-wrap#projet-single .projets-slideshow .slideshow-nav-wrap.hidden .cycle-pager {
  opacity: 0;
  visibility: hidden
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-wrap:after {
  display: block;
  content: "";
  padding-bottom: 70.4%
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-outer {
  position: absolute;
  width: 30%;
  height: 100%;
  top: 0;
  z-index: 200;
  cursor: pointer
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-outer.left {
  left: 0
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav-outer.right {
  right: 0
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav {
  position: absolute;
  width: 32px;
  height: 53px;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  z-index: 200;
  cursor: pointer
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav#left {
  left: 20px;
  background: url("svgs/slideshow-left.svg") no-repeat 50% 50%;
  background-size: cover
}

.page-wrap#projet-single .projets-slideshow .slideshow-nav#right {
  right: 20px;
  background: url("svgs/slideshow-right.svg") no-repeat 50% 50%;
  background-size: cover
}

@media only screen and (max-width: 700px) {
  .page-wrap#projet-single .projets-slideshow .slideshow-nav {
    width: 12px;
    height: 20px
  }

  .page-wrap#projet-single .projets-slideshow .slideshow-nav#left {
    left: 10px
  }

  .page-wrap#projet-single .projets-slideshow .slideshow-nav#right {
    right: 10px
  }
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper {
  position: absolute;
  width: calc(50% + 32px);
  height: calc(100% - 44px);
  bottom: 44px;
  right: 0;
  z-index: 101;
  overflow: auto;
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper .text-content-open {
  position: absolute;
  z-index: 10;
  width: 53px;
  height: 53px;
  top: 0;
  left: 0%;
  background-color: #ffffff;
  cursor: pointer
}

@media only screen and (max-width: 920px) {
  .page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper {
    width: 100%;
    bottom: 44px
  }

  .page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper .text-content-open {
    left: calc(50% - 31px)
  }
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper .text-content-open .plus {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("svgs/text-content-plus.svg") no-repeat 50% 50%;
  background-size: cover;
  -webkit-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper.visible .text-content-open .plus {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper .text-content-wrap {
  width: 100%;
  min-height: 100% !important;
  bottom: 0;
  right: 0;
  padding: 50px;
  background-color: #ffffff;
  display: none
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper .text-content-wrap * {
  color: #8c8c8c;
  opacity: 0;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

.page-wrap#projet-single .projets-slideshow-wrap .text-content-wrapper.visible .text-content-wrap * {
  opacity: 1
}

.page-wrap#projet-single .projets-share-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
  margin-bottom: 35px
}

.page-wrap#projet-single .projets-share-wrap .share-icons {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  font-size: 0;
  text-align: center
}

.page-wrap#projet-single .projets-share-wrap .share-icons .share-icon {
  display: inline-block;
  width: 21px;
  height: 21px;
  margin-left: 9px;
  margin-right: 9px;
  cursor: pointer
}

.page-wrap#projet-single .projets-share-wrap .share-icons .share-icon svg {
  display: block;
  width: 100%;
  height: auto
}

.page-wrap#projet-single .projets-share-wrap .share-icons .share-icon * {
  -webkit-transition: fill 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  -o-transition: fill 300ms cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: fill 300ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

.page-wrap#projet-single .projets-share-wrap .share-icons .share-icon:hover * {
  fill: var(--SITECOLOR) !important
}

.similar-posts-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-top: 50px;
  padding-bottom: 65px;
  background: #fff;
  text-align: center
}

.similar-posts-wrap .grid-wrap {
  margin-bottom: 0
}

.similar-posts-wrap h2 {
  margin-bottom: 1.5em
}

@media only screen and (max-width: 580px) {
  .page-wrap#clients .page-title-wrap {
    display: none !important
  }
}

.page-wrap#clients .grid-wrap#clients-grid .grid-block {
  background-color: var(--SITECOLOR)
}

.page-wrap#clients .grid-wrap#clients-grid .grid-block .text-content-outer-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}

.page-wrap#clients .grid-wrap#clients-grid .grid-block .text-content-outer-wrap .inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: table;
  vertical-align: middle;
  padding: 35px;
  text-align: center
}

.page-wrap#clients .grid-wrap#clients-grid .grid-block .text-content-outer-wrap .inner .client {
  display: table-cell;
  vertical-align: middle
}

.page-wrap#clients .grid-wrap#clients-grid .grid-block .text-content-outer-wrap .inner .client * {
  color: #ffffff !important
}

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

  .page-wrap#clients .grid-wrap#clients-grid .grid-block,
  .page-wrap#clients .grid-wrap#clients-grid .grid-sizer {
    width: 48%
  }

  .page-wrap#clients .grid-wrap#clients-grid .gutter-sizer {
    width: 4%
  }
}

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

  .page-wrap#clients .grid-wrap#clients-grid .grid-block,
  .page-wrap#clients .grid-wrap#clients-grid .grid-sizer {
    width: 100%
  }

  .page-wrap#clients .grid-wrap#clients-grid .grid-block {
    margin-bottom: 0px
  }

  .page-wrap#clients .grid-wrap#clients-grid .grid-block:after {
    display: none
  }

  .page-wrap#clients .grid-wrap#clients-grid .gutter-sizer {
    width: 4%
  }

  .page-wrap#clients .grid-wrap#clients-grid .grid-block .text-content-outer-wrap {
    position: relative
  }

  .page-wrap#clients .grid-wrap#clients-grid .grid-block .text-content-outer-wrap .inner {
    position: relative;
    padding: 35px
  }
}

.newsletter-section {
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 35px;
  padding-bottom: 50px;
  background-color: var(--SITECOLOR);
  text-align: center
}

.newsletter-section * {
  color: #ffffff
}

.newsletter-section h2 {
  margin-bottom: 1.1em
}

.newsletter-section p {
  margin-bottom: 0px
}

.newsletter-section .wpcf7 {
  position: relative;
  width: 100%;
  height: auto;
  max-width: 755px;
  margin: 0 auto
}

.newsletter-section .wpcf7-form-control-wrap {
  display: block
}

.newsletter-section .wpcf7 .newsletter-field {
  position: relative;
  display: block;
  width: 100%;
  height: 35px;
  margin: 0 auto;
  padding: 0px;
  border: none;
  background-color: #ffffff;
  font-family: 'Calibre-Light';
  font-size: 15px;
  line-height: 35px;
  text-align: left;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #8c8c8c;
  text-indent: 20px;
  -webkit-font-smoothing: antialiased !important;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
  z-index: 1
}

.newsletter-section .wpcf7 .newsletter-field::-webkit-input-placeholder {
  color: #8c8c8c
}

.newsletter-section .wpcf7 .newsletter-field:-moz-placeholder {
  color: #8c8c8c
}

.newsletter-section .wpcf7 .newsletter-field::-moz-placeholder {
  color: #8c8c8c
}

.newsletter-section .wpcf7 .newsletter-field:-ms-input-placeholder {
  color: #8c8c8c
}

.newsletter-section .wpcf7 .wpcf7-submit {
  position: absolute;
  width: auto;
  height: 100%;
  border: none;
  top: 0;
  right: 0;
  margin: 0 !important;
  padding: 0px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  font-family: 'Calibre-Light';
  font-size: 15px;
  line-height: 35px;
  text-transform: uppercase;
  letter-spacing: .1em;
  text-align: center;
  color: var(--SITECOLOR);
  background-color: #f2f2f2;
  border: none;
  -webkit-font-smoothing: antialiased !important;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
  cursor: pointer;
  z-index: 2
}

.ajax-loader {
  display: none !important
}

.wpcf7-response-output {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important
}

.wpcf7-validation-errors {
  display: none !important
}

.newsletter-section span.wpcf7-not-valid-tip {
  position: absolute;
  color: #ffffff !important;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
  bottom: -30px;
  width: 100%;
  left: 0
}

@media only screen and (max-width: 580px) {
  .newsletter-section {
    padding-top: 25px;
    padding-bottom: 40px
  }

  .newsletter-section .wpcf7 .newsletter-field {
    font-size: 12px;
    text-indent: 10px
  }

  .newsletter-section .wpcf7 .wpcf7-submit {
    position: relative;
    width: 100%;
    font-size: 12px
  }

  .newsletter-section span.wpcf7-not-valid-tip {
    bottom: -60px
  }
}

section.vacancies {
  margin-top: 70px;
  overflow: hidden
}

section.vacancies .items-wrapper {
  position: relative;
  display: block;
  /*overflow:scroll*/
}

section.vacancies .items-wrapper::-webkit-scrollbar {
  display: none
}

@media only screen and (max-width: 920px) {
  section.vacancies {
    margin-top: 50px
  }
}

@media only screen and (max-width: 800px) {
  section.vacancies .items-wrapper {
    overflow: visible
  }
}

@media only screen and (max-width: 580px) {
  section.vacancies {
    margin-top: 30px
  }
}

@media only screen and (max-width: 920px) {
  .grid-wrap#vacancies {
    margin-top: 45px;
  }
}

@media only screen and (max-width: 800px) {
  .grid-wrap#vacancies {
    margin-top: 35px
  }
}

@media only screen and (max-width: 750px) {
  .grid-wrap#vacancies .grid-block:after {
    padding-bottom: 48.8%
  }
}

@media only screen and (max-width: 580px) {
  .grid-wrap#vacancies {
    margin-top: 20px;
    margin-bottom: 0px
  }

  .grid-wrap#vacancies .grid-block {
    margin-bottom: 20px
  }

  .grid-wrap#vacancies .grid-block:last-child {
    margin-bottom: 0px !important
  }
}

.grid-wrap#vacancies .grid-block {
  cursor: pointer
}

.grid-wrap#vacancies .grid-block .overlay {
  opacity: 1 !important
}

@media only screen and (max-width: 580px) {
  .grid-wrap#vacancies .grid-block .overlay {
    display: block !important
  }

  .grid-wrap#vacancies .grid-block .overlay * {
    font-size: 15px !important
  }
}

@media only screen and (max-width: 580px) {
  .page-wrap#talent .main-image h1 {
    font-size: 25px !important
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 400px;
  background-color: #fff;
  overflow: scroll;
  -webkit-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.6s all;
  -moz-transition: 0.6s all;
  -ms-transition: 0.6s all;
  -o-transition: 0.6s all;
  z-index: 99
}

section.vacancies .items-wrapper .job-vacancy-overlay.open {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  visibility: visible
}

@media only screen and (max-width: 800px) {
  section.vacancies .items-wrapper .job-vacancy-overlay {
    position: relative;
    height: auto;
    top: initial;
    left: initial;
    min-height: auto !important;
    display: none;
    visibility: visible;
    overflow: visible;
    -webkit-transition: 0.6s opacity;
    -moz-transition: 0.6s opacity;
    -ms-transition: 0.6s opacity;
    -o-transition: 0.6s opacity
  }

  section.vacancies .items-wrapper .job-vacancy-overlay.open {
    display: block !important
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay span.close-icon {
  display: block;
  position: absolute;
  right: 20px;
  top: 20px;
  width: 35px;
  height: 35px;
  z-index: 200
}

section.vacancies .items-wrapper .job-vacancy-overlay span.close-icon svg {
  display: block;
  width: 100%;
  height: 100%
}

@media only screen and (max-width: 580px) {
  section.vacancies .items-wrapper .job-vacancy-overlay span.close-icon {
    width: 13px;
    height: 13px
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay span.close-icon:hover {
  cursor: pointer
}

section.vacancies .items-wrapper .job-vacancy-overlay span.close-icon * {
  color: #000000;
  stroke: #000000
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content {
  max-width: 50%;
  width: 100%;
  padding: 35px;
  padding-bottom: 90px;
  float: left;
  position: absolute;
  top: 0;
  bottom: 0
}

section.vacancies .items-wrapper .job-vacancy-overlay .right-content {
  padding-top: 80px
}

.newsletter-section .social-wrap {
  margin: 0px
}

.newsletter-section .footer-wrap {
  background: var(--SITECOLOR);
  padding: 0px
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .content * {
  color: #8d8d8d !important
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content.left-content,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content.left-content {
  left: 0
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content.right-content,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content.right-content {
  right: 0;
  left: 50%
}

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

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content.right-content,
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content.right-content {
    left: 0
  }
}

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

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content,
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content {
    max-width: 100%;
    padding-bottom: 0;
    position: relative;
    float: none;
    top: initial;
    bottom: initial
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form h3 {
  margin-bottom: .7em
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form p,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form p {
  margin: 0 0 5px 0
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form p span,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form p span {
  display: block;
  margin-top: 8px
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form label,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form label {
  font-size: 16px;
  line-height: 18px;
  margin-bottom: 15px;
  display: block
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form label.upload,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form label.upload {
  position: relative;
  max-width: 215px;
  height: 36px
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form label.upload:after,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form label.upload:after {
  content: "Upload CV / Portfolio";
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: #fff;
  padding-top: 8px;
  padding-left: 15px;
  font-size: 15px;
  letter-spacing: .1em;
  text-transform: uppercase
}

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

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form label.upload,
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form label.upload {
    max-width: 100%
  }

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form label.upload:after,
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form label.upload:after {
    text-align: center;
    font-size: 12px
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="file"],
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="file"] {
  visibility: hidden
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="text"],
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="text"],
section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="email"],
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="email"] {
  background-color: #f2f2f2;
  width: 100%;
  border: none;
  outline: none;
  padding: 10px 12px;
  font-size: 15px;
  letter-spacing: .1em;
  margin: 0
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="submit"],
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="submit"] {
  background-color: #000;
  color: #fff;
  text-transform: uppercase;
  padding: 9px 15px;
  border: none;
  font-family: 'Calibre-Light';
  position: absolute;
  bottom: 35px;
  font-size: 15px;
  letter-spacing: .1em;
  margin: 0
}

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

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="submit"],
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="submit"] {
    position: relative;
    bottom: 0
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="submit"]:hover,
section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="submit"]:hover {
  cursor: pointer
}

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

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="submit"],
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="submit"] {
    max-width: 100%;
    width: 100%;
    text-align: center;
    font-size: 12px
  }

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="text"],
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="text"],
  section.vacancies .items-wrapper .job-vacancy-overlay .left-content .form input[type="email"],
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content .form input[type="email"] {
    font-size: 12px
  }
}

section.vacancies .items-wrapper .job-vacancy-overlay a.download-link {
  position: absolute;
  left: 35px;
  bottom: 35px;
  text-transform: uppercase;
  font-weight: 600;
  color: #000 !important
}

section.vacancies .items-wrapper .job-vacancy-overlay a.download-link img {
  max-width: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px
}

section.vacancies .items-wrapper .job-vacancy-overlay a.download-link h4 {
  display: inline-block;
  vertical-align: middle
}

@media only screen and (max-width: 800px) {
  section.vacancies .items-wrapper .job-vacancy-overlay a.download-link {
    position: relative;
    bottom: initial;
    left: initial;
    margin-top: 30px;
    display: block
  }

  section.vacancies .items-wrapper .job-vacancy-overlay .right-content {
    padding-bottom: 35px
  }
}

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

  section.vacancies .items-wrapper .job-vacancy-overlay .left-content,
  section.vacancies .items-wrapper .job-vacancy-overlay .right-content {
    padding: 18px;
    padding-bottom: 18px
  }
}

@media only screen and (min-width: 800px) {
  #vacancies {
    margin-bottom: 165px;
  }
}

.ajax-loader {
  display: none !important
}

section.apply {
  overflow: hidden;
  background: var(--SITECOLOR);
  margin-top: 30px;
  margin-bottom: 30px;
}

section.apply .left,
section.apply .right {
  max-width: 50%;
  width: 100%;
  float: left;
  padding: 30px
}

section.apply * {
  color: #fff !important
}

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

  section.apply .left,
  section.apply .right {
    padding: 15px 30px
  }
}

section.apply .left.left,
section.apply .right.left {
  text-transform: uppercase;
  color: #fff;
  font-size: 22px
}

@media only screen and (max-width: 800px) {
  section.apply .left {
    max-width: 30%;
    padding: 15px 30px
  }

  section.apply .right {
    max-width: 70%;
    padding: 15px 30px
  }
}

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

  section.apply .left,
  section.apply .right {
    padding: 15px 15px
  }

  section.apply .left *,
  section.apply .right * {
    font-size: 14px !important
  }
}

.map-wrapper {
  background-color: #fff;
  padding: 30px;
  overflow: hidden;
  margin-bottom: 60px
}

.map-wrapper .left-content,
.map-wrapper .right-content {
  max-width: 50%;
  width: 100%;
  float: left;
  margin-bottom: 60px
}

.map-wrapper .map {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 700px;
  display: block
}

@media only screen and (max-width: 1200px) {
  .map-wrapper .map {
    height: 500px
  }
}

@media only screen and (max-width: 920px) {
  .map-wrapper {
    margin-bottom: 45px;
    padding: 22px
  }

  .map-wrapper .left-content,
  .map-wrapper .right-content {
    margin-bottom: 40px
  }

  .map-wrapper .map {
    height: 350px
  }
}

@media only screen and (max-width: 800px) {
  #social .grid-wrap.social .grid-block {
    width: 100%
  }
}

@media only screen and (max-width: 580px) {
  .map-wrapper {
    margin-bottom: 30px;
    padding: 15px
  }

  .map-wrapper .left-content,
  .map-wrapper .right-content {
    max-width: 100%;
    margin-bottom: 20px
  }

  .map-wrapper .map {
    height: 165px
  }
}

ul.social-blocks {
  margin: 0;
  padding: 0
}

ul.social-blocks li.block {
  list-style: none;
  background-color: var(--SITECOLOR);
  padding: 30px;
  margin-bottom: 15px;
  overflow: hidden
}

ul.social-blocks li.block * {
  color: #ffffff !important
}

ul.social-blocks li.block .left-content,
ul.social-blocks li.block .right-content {
  max-width: 50%;
  width: 100%;
  float: left
}

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

  ul.social-blocks li.block .left-content,
  ul.social-blocks li.block .right-content {
    max-width: 100%
  }
}

ul.social-blocks li.block .left-content p,
ul.social-blocks li.block .right-content p {
  color: #fff !important;
  word-wrap: break-word
}

ul.social-blocks li.block .left-content .handle,
ul.social-blocks li.block .right-content .handle {
  margin-bottom: 30px
}

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

  ul.social-blocks li.block .left-content .handle,
  ul.social-blocks li.block .right-content .handle {
    margin-bottom: 20px;
    margin-top: 20px
  }
}

ul.social-blocks li.block .left-content .handle h2,
ul.social-blocks li.block .right-content .handle h2 {
  display: inline-block
}

ul.social-blocks li.block .left-content .handle .social-symbol,
ul.social-blocks li.block .right-content .handle .social-symbol {
  width: 20px;
  height: 20px;
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  margin-top: -4px
}

ul.social-blocks li.block .handle .social-symbol * {
  fill: #ffffff !important
}

ul.social-blocks li.block:last-child {
  margin: 0
}

@media only screen and (max-width: 920px) {
  ul.social-blocks li.block {
    padding: 22px;
    padding-bottom: 27px
  }
}

@media only screen and (max-width: 580px) {
  ul.social-blocks li.block {
    padding: 15px;
    padding-bottom: 25px;
    margin-bottom: 20px
  }
}

.footer-wrap {
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 35px;
  padding-bottom: 35px;
  background-color: #ffffff;
  text-align: center
}

.footer-wrap * {
  color: #000000
}

.footer-wrap ul{
  list-style: none;
}
.footer-wrap ul li{
  margin: 5px
}

.footer-wrap h2 {
  margin-bottom: 2.7em
}

.footer-wrap h2:first-of-type {
  margin-bottom: 1.1em
}

.footer-wrap .social-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  font-size: 0;
  text-align: center
}

.footer-wrap .social-wrap .social-icon {
  display: inline-block;
  width: 2%;
  margin-left: 2%;
  margin-right: 2%;
  cursor: pointer
}

.footer-wrap .social-wrap .social-icon svg {
  display: block;
  width: 100%;
  height: auto
}

.footer-wrap .copyright {
  position: relative;
  display: block;
  width: 91px;
  height: 12px;
  margin: 0 auto
}

.footer-wrap .copyright svg {
  display: block;
  width: 91px;
  height: 12px
}

@media only screen and (max-width: 1240px) {
  .social-icon {
    width: 4%;
    height: 14px;
    margin-left: 5%;
    margin-right: 5%
  }
}

@media only screen and (max-width: 1080px) {
  .footer-wrap {
    padding-top: 25px;
    padding-bottom: 25px
  }

  .footer-wrap .social-wrap {
    margin-bottom: 15px
  }

  .footer-wrap .social-wrap .social-icon {
    width: 5%;
    height: 14px;
    margin-left: 5%;
    margin-right: 5%
  }

  .footer-wrap .copyright {
    width: 45px;
    height: 6px
  }

  .footer-wrap .copyright svg {
    width: 45px;
    height: 6px
  }
}

.btn--top {
  display: block;
  margin: 0 auto;
  cursor: pointer
}

.iso {
  max-width: 40%;
  margin: 0px auto;
}

@media(max-width:595px) {
  .iso {
    max-width: 100%;
  }
}

.cn-close-icon {
  display: none;
}

.grid-wrap.three--col .grid-block .overlay-b .plus-icon {
  width: 20px;
  height: 20px;
  bottom: 35px;
  left: 35px;
}

.grid-wrap .grid-block .overlay-b .plus-icon {
  position: absolute;
  display: block;
}

.grid-wrap .grid-block .overlay-b.white * {
  color: #3e3e3e;
  stroke: #121212;
}

.overlay-b em {
  font-style: normal;
  font-weight: normal;
  color: #9a9a9a !important
}


/* MODIFS SLIDESHOW AVRIL 2022 */

.homepage-slideshow-custom-css .homepage-slideshow-slide h1 {
  margin-bottom: 20px;
}

.homepage-slideshow-custom-css .homepage-slideshow-slide .slide-content {
  margin-bottom: 20px;
}

.homepage-slideshow-custom-css .homepage-slideshow-slide .slide-credits {
  margin-bottom: 20px;
}

.homepage-slideshow-custom-css .homepage-slideshow-slide .credit {
  position: relative;
  top: calc(100% - 30px);
  width: 100%;
  height: 30px;
  line-height: 30px;
  background: #f2f2f2;
  margin: 0 auto;
  text-align: center;
  color: #9a9a9a !important;
}

.homepage-slideshow-custom-css .sector-plus-icon {
  bottom: 30px
}


/* MODIFS SLIDESHOW AOUT 2024 */

.homepage-slideshow-custom-css .homepage-slideshow-slide .slide-content .aligncenter {
  margin: 0 auto;
}


/* MODIFS FOOTER AVRIL 2022 */
.footer-website-logos ul {
  display: flex;
  justify-content: space-around;
  list-style: none;
  flex-wrap: wrap;
}

@media(max-width:1024px) {

  .footer-website-logos ul {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    list-style: none;
    flex-wrap: wrap;
  }

  .footer-website-logos ul li {
    margin: 0 auto 20px;
  }

  .footer-website-logos ul li:last-child {
    margin: 0 auto;
  }

}

/* MODIFS VIDEO AVRIL 2022 */
.full-content iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}


.video-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
  z-index: 0;
  text-align: center;
  background-size: cover;
  background-position: center;
}

.video-wrapper video {
  width: 100%;
  object-fit: cover;
  vertical-align: middle;
  position: relative;
  top: 0;
  left: 0;
  background: transparent;
  opacity: 1;
  transition: opacity ease 1s
}

.video-wrapper .controls {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2147483647;
}

/* .video-wrapper .controls .button.play {  display :inline-block; height:0; width:0; border-top:86px solid transparent; border-bottom:64px solid transparent; border-left :150px solid #fff; } */

// Spin animation
@-webkit-keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.stroke-dotted {
  opacity: 0;
  stroke-dasharray: 4, 5;
  stroke-width: 1px;
  transform-origin: 50% 50%;
  -webkit-animation: spin 4s infinite linear;
  animation: spin 4s infinite linear;
  transition: opacity 1s ease, stroke-width 1s ease;
}

.stroke-solid {
  stroke-dashoffset: 0;
  stroke-dashArray: 300;
  stroke-width: 4px;
  transition: stroke-dashoffset 1s ease, opacity 1s ease;
}

.icon {
  transform-origin: 50% 50%;
  transition: transform 200ms ease-out;
}

#play:hover .stroke-dotted {
  stroke-width: 4px;
  opacity: 1;
}

#play:hover .stroke-solid {
  opacity: 0;
  stroke-dashoffset: 300;
}

#play:hover .icon {
  transform: scale(1.05);
}

/* PAGE MANIFESTE */

.manifest-wrapper {
  background: #fff
}

.manifest-intro {
  background: var(--SITECOLOR);
  padding: 50px 100px 100px;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center
}

.manifest-intro .manifest-intro-main-text blockquote {
  font-style: italic;
  margin-bottom: 1.3em;
}

.manifest-intro .manifest-intro-main-text p {
  color: #fff !important
}

.manifest-intro .manifest-intro-short-text {
  background: #fff;
  width: 400px;
  color: var(--SITECOLOR);
  font-size: 30px;
  padding: 20px;
  border: 7px solid var(--SITECOLOR);
  position: absolute;
  margin: auto;
  bottom: -40px;
  border-radius: 5px;
}

.manifest-intro-separator {
  display: block;
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  height: 200px;
  background: #fff;
  background-image: url(img/aftershorttext.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center 39px;
}

.manifest-entry {
  background: #fff;
  padding: 20px 50px;
  display: flex;
  flex: 1;
  justify-content: space-around;
  align-items: center
}

.manifest-entry>div h2 {
  color: var(--SITECOLOR)
}

.manifest-entry>div h2:after {
  content: '';
  width: 14px;
  height: 2px;
  background: var(--SITECOLOR);
  display: block;
  clear: both;
  margin: 20px 0 0
}

.manifest-entry.textimage>div {
  display: flex;
  flex-direction: column
}

.manifest-entry.textimage .manifest-entry-text {
  order: 0;
}

.manifest-entry.textimage .manifest-entry-image {
  order: 1;
  padding-right: 0;
  align-items: flex-end
}

.manifest-entry.imagetext .manifest-entry-text {
  order: 1;
}

.manifest-entry.imagetext .manifest-entry-image {
  order: 0;
  padding-left: 0;
  align-items: flex-start
}

.manifest-entry .manifest-entry-image {
  flex: 1 0 33%;
  padding: 50px;
}

.manifest-entry .manifest-entry-image img {
  width: auto;
  height: auto;
  max-width: 250px;
  display: flex;
}

.manifest-entry .manifest-entry-text {
  flex: 1 0 66%;
  padding: 50px;
}

.manifest-entry-separator.lefttoright {
  display: block;
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  height: 200px;
  background: #fff;
  background-image: url(img/lefttoright.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.manifest-entry-separator.righttoleft {
  display: block;
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  height: 200px;
  background: #fff;
  background-image: url(img/righttoleft.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.manifest-form {
  background: #e6e6e6;
  padding: 50px 100px 100px;
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.manifest-form form p {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.manifest-form form span {
  width: 45%;
}

.manifest-form form span:nth-child(2n+1) {
  margin-right: 5%;
}

.manifest-form form input {
  width: 100%;
  border: none;
  background: #fff;
  height: 50px;
  padding: 0 20px;
  margin-bottom: 20px
}

.manifest-form form input[type=submit] {
  background: var(--SITECOLOR);
  color: #fff
}

.manifest-form form input[type=submit]:hover,
.manifest-form form input[type=submit]:focus {
  background: #000;
  cursor: pointer
}

@media(max-width:730px) {

  .page-template-page-manifest .content-wrap {
    width: 100%
  }

  .page-template-page-manifest .page-title-wrap {
    margin-left: 5%;
    width: calc(100% - 10%)
  }

  .manifest-form {
    padding: 5vw;
  }

  .manifest-intro .manifest-intro-short-text {
    width: 90vw;
    margin-left: 5vw;
    margin-right: 5vw;
    height: 67px;
    bottom: -67px;
    border: none;
    border-radius: 0;
    text-align: center
  }

  .manifest-intro-separator {
    width: 80vw;
    height: 120px;
    margin-top: 30px;
    margin-left: 10vw;
    margin-right: 10vw
  }

  .manifest-entry {
    width: 90vw;
    margin-left: 5vw;
    margin-right: 5vw;
    padding: 20px 0;
  }

  .manifest-entry .manifest-entry-text {
    flex: 1 0 66%;
    padding: 0
  }

  .manifest-entry .manifest-entry-image {
    flex: 0 1 33%;
    padding: 0;
  }

  .manifest-entry .manifest-entry-image img {
    max-width: 100%
  }

  .manifest-entry-separator.lefttoright {
    width: 80vw;
    height: 120px;
    margin-left: 10vw;
    margin-right: 10vw
  }

  .manifest-entry-separator.righttoleft {
    width: 80vw;
    height: 120px;
    margin-left: 10vw;
    margin-right: 10vw
  }

  .manifest-entry.textimage .manifest-entry-image {
    padding-left: 20px
  }

  .manifest-entry.imagetext .manifest-entry-image {
    padding-right: 20px
  }

  .manifest-intro {
    padding: 5vw;
  }

  .manifest-form form span {
    width: 100%
  }

  .manifest-form form span:nth-child(2n+1) {
    margin-right: 0
  }

}

/* COPYRIGHT */

.copyright p {
  text-align: center;
  font-style: italic;
  font-size: 12px;
  letter-spacing: .025em;
  margin: 0 auto;
  color: #9a9a9a !important;
}

.grid-wrap .grid-block {
  position: absolute;
}

/* .grid-block.rollover.hover.thumbnail.block--height h4.credit */
.grid-block .credit {
  width: 100%;
  height: 30px;
  line-height: 30px;
  background: #FFFFFF;
  margin: 0 auto;
  padding-left: 35px;
  text-align: left;
  color: #9a9a9a !important;
  top: calc(100% - 30px);
  position: relative;
}


.grid-block .grid-flex {
  display: flex;
}

.grid-block .grid-flex>div {
  width: 50%;
}

.grid-block .grid-flex .content {
  padding: 35px;
}

@media only screen and (max-width: 580px) {
  .grid-block .grid-flex {
    display: flex;
    flex-direction: column;
  }

  .grid-block .grid-flex div {
    width: 100%;
  }
}
