#site-header, .custom-header {
  padding: 0;
}
#site-header table, .custom-header table {
  margin: 12px 0 0;
}
#site-header td.logo, .custom-header td.logo {
  width: 120px;
}
#site-header td.logo img, .custom-header td.logo img {
  height: 100px;
}
#site-header h1, .custom-header h1 {
  margin-bottom: 6px;
}

.header-info-container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media (min-width: 1200px) {
  .header-info-container {
    height: 63px;
  }
}
.header-info-container .header-info, .header-info-container .control-bar-grid {
  background: rgba(255, 255, 255, 0.8);
}

.header-info-container .header-info .header-info-logo img {
  max-width: unset;
}

body, body.cms, body.internal, body.cms-page-editor.nlo, body.nlo {
  margin-top: 0;
  padding-top: 0;
}

#site-navigation {
  display: block;
  height: 32px;
  display: block;
}
#site-navigation:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}
#site-navigation .nav-element {
  float: left;
  margin: 1px 12px;
  border: 1px solid #ccc;
  padding: 2px 8px;
  line-height: 1.5;
}
#site-navigation .nav-element:first-of-type {
  margin-left: 0;
}

input[type=text].numeric, input[type=text].date_input, input[type=text].narrow {
  width: 10em;
  max-width: 98%;
}

@media (max-width: 600px) {
  body, body p, body li, body th, body td, body input, body select, body label {
    font-size: 24px;
  }
}
body.cms {
  max-width: 1024px;
  box-sizing: border-box;
}

body.cms.cms-intranet-funnel {
  max-width: 100%;
  width: auto;
}

body {
  border-radius: 0px;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  background: url("/file/bg003.png"), -webkit-linear-gradient(105deg, white, white, #ddf);
  background: url("/file/bg003.png"), linear-gradient(-15deg, white, white, #aaf);
  background: repeating-radial-gradient(ellipse at 0px 0px, rgba(200, 200, 200, 0.05) 0, rgba(216, 216, 255, 0.05) 2%, rgba(110, 170, 190, 0.08) 7%, rgba(200, 200, 200, 0.05) 8%), repeating-radial-gradient(ellipse at 0px 0px, rgba(180, 180, 180, 0.05) 0, rgba(216, 216, 255, 0.05) 7%, rgba(160, 190, 150, 0.05) 17%), repeating-radial-gradient(ellipse at 100% 0px, rgba(200, 200, 200, 0.05) 0, rgba(216, 216, 255, 0.05) 2%, rgba(110, 170, 190, 0.08) 7%, rgba(200, 200, 200, 0.05) 8%), repeating-radial-gradient(ellipse at 100% 0px, rgba(180, 180, 180, 0.05) 0, rgba(216, 216, 255, 0.05) 5%, rgba(160, 190, 150, 0.05) 18%), repeating-radial-gradient(ellipse at 0px 100%, rgba(200, 200, 200, 0.05) 0, rgba(216, 216, 255, 0.05) 2%, rgba(110, 170, 190, 0.08) 7%, rgba(200, 200, 200, 0.05) 8%), repeating-radial-gradient(ellipse at 0px 100%, rgba(180, 180, 180, 0.05) 0, rgba(216, 216, 255, 0.05) 6%, rgba(160, 190, 150, 0.05) 13%), repeating-radial-gradient(ellipse at 100% 100%, rgba(200, 200, 200, 0.05) 0, rgba(216, 216, 255, 0.05) 2%, rgba(110, 170, 190, 0.08) 7%, rgba(200, 200, 200, 0.05) 8%), repeating-radial-gradient(ellipse at 100% 100%, rgba(180, 180, 180, 0.05) 0, rgba(216, 216, 255, 0.05) 8%, rgba(160, 190, 150, 0.05) 19%), linear-gradient(-15deg, white, white, #ddf);
  background-attachment: fixed;
  border: none;
}
body, body p, body li, body th, body td {
  color: inherit;
}
body a, body .clickable {
  color: #55C;
}

.cms h1.modules {
  font-family: Bookman, Times New Roman, serif;
}

#site-main {
  padding-top: 24px;
}

.news {
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  margin: 20px;
  padding: 10px 20px;
  border: 1px solid #aaa;
  background: rgba(255, 255, 238, 0.2);
}

.news-item h1 {
  font-size: 1.6rem;
  font-weight: bold;
}

body.cms-intranet-funnel h3.funnel-title {
  margin-bottom: 0.5rem;
}

#site-footer {
  margin-top: 24px;
}

.footer {
  padding: 12px;
  background: url("/file/bg-gradient-footer.png") repeat-x;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
}

body, p, th, td, #nav_sidebar, h4, .description, .markdowned p, .markdowned li {
  font-size: 1rem;
}

html {
  scroll-behavior: smooth;
}

html[lang=fr] .brain {
  display: none !important;
}

body.cms.website {
  background: url("/file/dot-grid.png");
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  color: #0D0D53;
}
body.cms.website .control-bar-grid {
  height: 100%;
  place-items: center;
}
body.cms.website.public-page header {
  padding: 0.3rem;
}
body.cms.website.public-page .control-bar-grid {
  grid-template-areas: "logo nav login lang";
  grid-template-columns: 0fr 2fr 0fr 0fr;
}
@media screen and (max-width: 740px) {
  body.cms.website.public-page .control-bar-grid {
    grid-template-areas: "logo" "nav";
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 980px) {
  body.cms.website.public-page .control-bar-grid .language-select,
body.cms.website.public-page .control-bar-grid .login-status {
    display: none;
  }
}
body.cms.website.public-page .control-bar-grid nav {
  grid-area: nav;
}
body.cms.website.public-page footer {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  gap: 0;
  border-top: 1px solid #ddd;
  margin-top: 100px;
  padding: 1.5rem 0.5rem;
}
body.cms.website.public-page footer small, body.cms.website.public-page footer div {
  flex: 1;
  min-width: 315px;
}
body.cms.website.public-page footer a.cr-link {
  text-transform: uppercase;
  color: #0D0D53;
  transition: all 0.3s;
}
body.cms.website.public-page footer a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 325px) {
  body.cms.website.public-page footer .powered-by {
    padding: 0;
  }
}
body.cms.website .site-nav {
  list-style: none;
  display: flex;
  margin: 0;
}
@media screen and (max-width: 345px) {
  body.cms.website .site-nav {
    flex-direction: column;
  }
}
body.cms.website .site-nav li {
  margin: 0 0.5rem;
}
body.cms.website .site-nav a {
  display: flex;
  align-items: center;
  height: 3rem;
  text-transform: uppercase;
  font-size: 1.125rem;
  border-bottom: 5px double transparent;
  transition: all 0.3s;
}
body.cms.website .site-nav a:hover {
  border-color: #fff;
}
body.cms.website main h1:not(.popup__header, .small__title) {
  font-size: 2.5rem;
  color: #0D0D53;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
  text-align: center;
  font-weight: bold;
}
body.cms.website main h2:not(.popup__header, .small__title) {
  font-size: 2.5rem;
  color: #0D0D53;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
  text-align: center;
  font-weight: bold;
}
body.cms.website main h3:not(.popup__header, .small__title) {
  font-size: 2.5rem;
  color: #0D0D53;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
  text-align: center;
  font-weight: bold;
}
body.cms.website main h4:not(.popup__header, .small__title) {
  font-size: 2.5rem;
  color: #0D0D53;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
  text-align: center;
  font-weight: bold;
}
body.cms.website main h4.popup__header {
  font-size: unset;
}
body.cms.website main a {
  color: #008BD1;
  text-decoration: underline;
  transition: all 0.3s;
}
body.cms.website main a:hover {
  font-style: italic;
}
body.cms.website a.actionLink {
  display: block;
  border-radius: 0.25rem;
  background: #DE812B;
  padding: 0.75rem 1.5rem;
  margin: auto;
  width: max-content;
  filter: drop-shadow(1px 1px 10px rgba(0, 0, 0, 0.25));
  position: relative;
  overflow: hidden;
  transition: transform 0.3s, filter 0.3s;
}
body.cms.website a.actionLink:hover {
  filter: drop-shadow(1px 5px 10px rgba(0, 0, 0, 0.5));
}
body.cms.website a.actionLink::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s;
}
body.cms.website a.actionLink:hover::before {
  opacity: 0;
}
body.cms.website a.actionLink::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background-color: #eb801e;
  transform: translate(0, -70px) scale(0.1);
  opacity: 0;
  z-index: -1;
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
}
body.cms.website a.actionLink:hover::after {
  opacity: 1;
  transform-origin: 100px 300px;
  transform: scale(1) translate(0, -70px);
}
body.cms.website a.actionLink:active {
  font-size: 0.9rem;
}
body.cms.website p {
  color: #0D0D53;
}
body.cms.website.public-page .header-info-container {
  background: #0D0D53;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  margin: 0;
}
body.cms.website.public-page .header-info-container .control-bar-grid {
  padding-top: 0;
}
body.cms.website.public-page .header-info-container .language-select {
  color: #fff;
}
body.cms.website.public-page .header-info-container .login-status .icon-image {
  filter: invert(1);
}
body.cms.website main > section, body.cms.website .content-wrapper, body.cms.website footer {
  max-width: 1440px;
  margin: auto;
}
body.cms.website .wwd-details {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 40px;
}
@media screen and (max-width: 692px) {
  body.cms.website .wwd-details {
    gap: 3rem;
  }
}
body.cms.website .wwd-details h1 {
  text-align: left;
  font-size: 2rem;
}
body.cms.website .wwd-details a.actionLink {
  color: #fff;
  text-decoration: none;
}
body.cms.website .wwd-details article {
  flex: 1;
  min-width: 315px;
}
body.cms.website .ml {
  padding-top: 3.125rem;
}
body.cms.website .ml h1 {
  display: flex;
  justify-content: center;
}
body.cms.website .ml h1 img {
  width: 2.5rem;
}
body.cms.website .ml h2 {
  font-size: 1.5rem;
}
body.cms.website .dp {
  padding-top: 3.125rem;
}

.public-page .control-bar-grid {
  background: #0D0D53;
  border: none;
}
.public-page .control-bar-grid a {
  color: #fff;
  text-decoration: none;
}
.public-page .control-bar-grid .header-info-logo {
  padding-left: 0.3rem;
}

#hero, #about {
  max-width: 100%;
}

#hero {
  display: flex;
  flex-direction: column;
  background: url("/file/hero-background.svg");
  background-size: cover;
  background-position: center center;
  min-height: 75vh;
  padding-top: 1.5rem;
}
#hero h1 {
  color: #fff;
  margin-top: auto;
}
#hero .hero-illustration {
  height: 35vh;
  margin: auto;
}
#hero .transition {
  width: 90%;
  margin: auto;
  padding: 1rem 0.5rem;
  margin-bottom: -30px;
  background: #854794;
  border-radius: 0.25rem;
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
  text-align: center;
}

#what-we-do {
  padding: 100px 1rem 200px 1rem;
}

.wwd-icons {
  display: block;
  margin: auto auto 25px auto;
}

#about {
  transform: skewY(7deg);
  background: #854794;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3), 0px -5px 20px rgba(0, 0, 0, 0.3);
  padding: 100px 0.5rem 200px 0.5rem;
  margin-bottom: 200px;
}
#about .content-wrapper {
  transform: skewY(-7deg);
  position: relative;
}
@media screen and (min-width: 410px) {
  #about .content-wrapper::before {
    content: "";
    background: url("/file/dots.svg") no-repeat;
    width: 82px;
    height: 150px;
    position: absolute;
    top: -120px;
    left: 25px;
  }
  #about .content-wrapper::after {
    content: "";
    background: url("/file/dots.svg") no-repeat;
    width: 82px;
    height: 150px;
    position: absolute;
    bottom: -182px;
    right: 25px;
  }
}
#about h3 {
  color: #fff;
}
#about .staff {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#about .staff article {
  flex: 1;
  min-width: 315px;
  gap: 2rem;
  background: #fff;
  border-radius: 0.25rem;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  padding: 2rem;
}
@media screen and (max-width: 395px) {
  #about .staff article {
    padding: 0.75rem;
  }
}
#about .staff .biography {
  margin-top: 2em;
}
#about .fn {
  font-size: 1.875rem;
}
#about .title {
  color: rgba(51, 51, 51, 0.6);
  font-size: 1.5625rem;
}
#about .fn, #about .title {
  font-weight: 700;
  margin-bottom: 0;
}
#about figure {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin: 0;
}
@media screen and (min-width: 976px) {
  #about figure .vcard--cd {
    margin-left: 1.5rem;
  }
  #about figure .vcard--sd {
    margin-right: 1.5rem;
  }
}
@media screen and (max-width: 975px) {
  #about figure {
    flex-direction: column !important;
  }
  #about figure .vcard {
    text-align: center;
  }
}
#about figure img {
  border-radius: 50%;
  width: 150px;
  filter: drop-shadow(0px 2px 4px rgba(13, 13, 83, 0.5));
}
#about figure .brain {
  opacity: 0.5;
  width: 150px;
}
@media screen and (max-width: 1384px) {
  #about figure .brain {
    display: none;
  }
}
#about figure .left-brain {
  transform: rotateY(180deg);
  margin-left: auto;
}
#about figure .right-brain {
  margin-right: auto;
}
#about .sd {
  flex-direction: row-reverse;
}
@media screen and (min-width: 975px) {
  #about .sd .vcard {
    text-align: right;
  }
}

#contact {
  padding: 1rem;
}
#contact h4 {
  margin-bottom: 100px;
}

@media screen and (min-width: 616px) {
  #signups_form {
    display: grid;
    grid-template-columns: repeat(2, minmax(300px, 1fr));
  }
}
#signups_form h3 {
  text-align: left;
  font-size: 1.3rem;
  margin-bottom: 1.5em;
}
#signups_form label {
  color: #0D0D53;
}
#signups_form input[type=text], #signups_form textarea {
  padding: 0.5rem 0.3rem;
  border-radius: 0.25rem;
  background-color: #f7f7f7 !important;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.1);
}
#signups_form .roof-box {
  border: 0;
}
#signups_form input[type=submit] {
  display: block;
  border-radius: 0.25rem;
  background: #DE812B;
  padding: 0.75rem 1.5rem;
  margin: auto;
  width: max-content;
  filter: drop-shadow(1px 1px 10px rgba(0, 0, 0, 0.25));
  position: relative;
  overflow: hidden;
  transition: transform 0.3s, filter 0.3s;
  color: #fff;
  width: 200px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#signups_form input[type=submit]:hover {
  filter: drop-shadow(1px 5px 10px rgba(0, 0, 0, 0.5));
}
#signups_form input[type=submit]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  eight: 100%;
  transition: opacity 0.3s;
}
#signups_form input[type=submit]:hover::before {
  opacity: 0;
}
#signups_form input[type=submit]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background-color: #eb801e;
  transform: translate(0, -70px) scale(0.1);
  opacity: 0;
  z-index: -1;
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
}
#signups_form input[type=submit]:hover::after {
  opacity: 1;
  transform-origin: 100px 300px;
  transform: scale(1) translate(0, -70px);
}
#signups_form input[type=submit]:active {
  font-size: 0.9rem;
}
#signups_form .organisation-section {
  margin-bottom: 0;
}
#signups_form .recpatcha {
  margin: 0;
}
#signups_form .g-recaptcha div {
  margin: auto;
}

.lang-link-inactive {
  opacity: 0.7;
}

.lang-link-lang-active {
  text-decoration: underline;
}

.cms_stylesheet {
  background: #2e3136;
  color: #86d787;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.admin-only .cms-menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 35rem;
  margin: auto;
}
.admin-only .cms-menu a {
  color: #444 !important;
}
.admin-only .cms-menu .nav-admin {
  padding: 1rem;
}
.admin-only .cms-menu .nav-admin a {
  text-decoration: none;
}
.admin-only .cms-menu-admin-homepage-links > .cms-menu-item a {
  font-weight: 600;
  display: block;
}
.admin-only .cms-menu > li:nth-child(2) {
  order: 1;
}
.admin-only .cms-menu > li:nth-child(1) {
  order: 2;
}
.admin-only .cms-menu > li:nth-child(3) {
  order: 3;
}
.admin-only .cms-menu > li:nth-child(4) {
  order: 4;
}

.clients__listing--org {
  padding-inline-start: 0.25rem;
}

.actions {
  margin-inline-start: 0.5rem;
}

article.project-page h1 {
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 1px solid black;
}
