/* RESPONSIVE
-------------------------------------------------- */
:root {
  /* Colors
  -------------------------------------------------- */
  --primary:#336699;
  --primary-dark:#003c6b;
  --secondary:#996633;
  --grey-light:#ccc;
  --grey:#999;
  --grey-dark:#333;
  --white:#ffffff;
  --white-light: rgba(255,255,255, 0.4);
  --black: var(--grey-dark);
  --background:#f0f0f0;
  --alert:#be4f2c;
  /* Font
  -------------------------------------------------- */
  --font-family-sans: "SchnebelSansPro", sans-serif;
  --font-family-serif: "P22MackinacPro", serif;
  --font-size-regular:20px;
  --font-size-small:.7em;
  --font-size-smaller:.6em;
  --font-size-tiny:.5em;
  /* Components
  -------------------------------------------------- */
  --header-height:95px;
  --header-height-mobile:65px;
  --footer-height:380px;
  --image-height:60vh;
  --image-height-mobile: 300px;
  --animation-speed: 250ms;
  /* Grid
  -------------------------------------------------- */
  --column-space:30px;
  --column-space-half:15px;
  --column-space-double:60px;
}

/* Responsive
-------------------------------------------------- */
/* Mixins 
-------------------------------------------------- */
@media screen and (min-width: 2100px) {
  .grid {
    max-width: 60vw;
  }
}
@media screen and (max-width: 1640px) {
  header .header--fixed .grid {
    max-width: calc(100vw - var(--column-space-double));
  }
}
@media screen and (max-width: 1365px) {
  header .header--fixed nav.menu .menu--main {
    display: none;
  }
  header .header--fixed nav.menu .menu--mobile {
    display: block;
  }
  header .header--fixed nav.menu .menu--buttons {
    margin-right: 60px;
  }
}
@media screen and (max-width: 1450px) {
  section.cta .beta br {
    display: none;
  }
  section.cta .contact-column {
    width: 33.33%;
    margin-left: 0;
  }
  footer.footer .footer-column {
    width: 33.33%;
    margin-left: 0;
  }
}
@media screen and (max-width: 1125px) {
  section.expertises .box--xs {
    width: 50%;
  }
}
@media screen and (max-width: 1260px) {
  .grid {
    max-width: 90vw;
  }
  section.cta .beta br {
    display: none;
  }
}
@media screen and (max-width: 970px) {
  /* Basic
  -------------------------------------------------- */
  body {
    font-size: 95%;
  }
  .color-bar.progress-bar {
    width: 5px;
  }
  .headings-left,
  .headings-left + .box-wrapper {
    width: 100%;
    margin-bottom: 2em;
  }
  .alpha {
    font-size: 2.5em;
  }
  h2.delta, h3.delta, h4.delta, h5.delta {
    font-size: 1em;
  }
  main {
    padding-top: var(--header-height-mobile);
  }
  [class*=push-] {
    margin-left: 0;
  }
  .col-4-5.push-1-5,
  .col-2-3.push-1-6 {
    width: 100%;
    margin-left: 0;
  }
  nav.sitelinks button.tablink, nav.sitelinks a.tablink {
    font-size: var(--font-size-large);
    line-height: 1.4;
  }
  .color-box .image, .color-box .image img {
    height: var(--image-height-mobile);
    width: 100%;
  }
  /* Header
  -------------------------------------------------- */
  header .header--fixed {
    height: var(--header-height-mobile);
    padding-top: var(--column-space-half);
  }
  header .header--fixed nav.menu .menu--buttons {
    display: none;
  }
  header .header--fixed .logo img {
    max-height: calc(var(--header-height-mobile) - var(--column-space-half) - var(--column-space-half));
  }
  header .header--fixed .menu--mobile .background,
  header .header--fixed .menu--mobile .toggle {
    top: 2px;
  }
  header .header--fixed nav.menu .selectdiv:after {
    top: 6px;
  }
  /* Sections
  -------------------------------------------------- */
  section.services nav.sitelinks button.tablink span {
    font-size: 1em;
  }
  section.services .tabcontent {
    min-height: 340px;
  }
  section.services .tabcontent .col-5-12.push-1-12 {
    margin-left: 0;
    padding-left: var(--column-space);
    width: 66.666%;
  }
  section.media-full-width,
  section.media-full-width .media {
    height:40vh !important;
  }
  section.media-full-width .media {
    background-position: -20vw center !important;
  }
  main:not(.profile) section.text-image .column-image, main:not(.profile) section.text-image .column-image img {
    height: var(--image-height-mobile) !important;
    margin-bottom: 2em;
  }
  main:not(.profile) section.text-image .column-text {
    padding-top: 0;
  }
}

@media screen and (max-height: 700px) {
  section.cover-image {
    height:100vh;
  } 
}
@media screen and (min-width:1400px) and (max-height: 780px) {
  section.cover-image {
    height:100vh;
  }
}

@media screen and (max-width: 750px) {
  /* Basic
  -------------------------------------------------- */
  body {
    font-size: 90%;
  }
  .alpha {
    font-size: 2em;
  }
  .arrow-container {
    scale: 0.6;
  }
  .box-wrapper .box--xs {
    padding-right: var(--column-space-half);
    margin-bottom: var(--column-space-half);
  }
  .box-wrapper .box--xs:last-child {
    padding-right: var(--column-space-half);
  }
  nav.sitelinks {
    margin-bottom: 2em;
    padding: 0;
  }
  nav.sitelinks button.tablink, nav.sitelinks a.tablink {
    display: inline-block;
    width: calc(50% - 0.5em - 2px);
    margin-right: 1em;
  }
  nav.sitelinks button.tablink:nth-child(even), nav.sitelinks a.tablink:nth-child(even) {
    margin-right: 0;
  }
  .text--auto-column {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
  /* Sections
  -------------------------------------------------- */
  section.cover-image {
    height: var(--image-height-mobile);
    background-attachment: unset;
  }
  section.services .tabcontent {
    padding: var(--column-space);
    padding-top: var(--column-space);
  }
  section.profiles .box--xs.profile:last-child {
    padding-right: 0;
  }
  section.profiles .profile-infos {
    margin-bottom: 0;
  }
  section.profiles.profiles-short .profile.col-1-2 {
    width: 50%;
  }
  section.profiles.profiles-short .box--xs.profile:last-child {
    padding-right: var(--column-space-half);
  }
  section.profiles.profiles-short .text-link {
    margin-bottom: 2em;
  }
  section.team .filter-col, section.team hr {
    width: calc(100% + var(--column-space-double));
  }
  section.cta .contact-column {
    width: 100%;
  }
  section.text-image .column-text {
    width: 100%;
    padding-left: var(--column-space);
  }
  main:not(.profile) section.text-image {
    padding-top: 0;
  }
  main:not(.profile) section.text-image .column-text {
    padding-left: 0;
  }
  main:not(.profile) section.text-image .flex-boxes .flex-box.column-image {
    padding-right: 0 !important;
  }
  section.contact:not(.section--primary) {
    padding-top: 0;
  }
  /* Footer
  -------------------------------------------------- */
  footer.footer .logo {
    margin-bottom: var(--column-space);
  }
  footer.footer .footer-column {
    width: 100%;
  }
}
@media screen and (max-width: 550px) {
  .grid {
    max-width: 100vw;
  }
  .arrow-container {
    display: none !important;
  }
  nav.sitelinks button.tablink span, nav.sitelinks a.tablink span {
    min-height: 4em;
  }
  .flex-boxes.grid-container {
    width: 100%;
  }
  .box-wrapper .box--xs.mobile-col-1-1,
  .box-wrapper .box--xs.mobile-col-1-1:last-child {
    padding-right: 0;
  }
  main.home section.intro {
    padding-bottom: 1em;
  }
  main.profile section.content + section.text-columns {
      margin-top:-2em;
  }
  section.team .filter-col {
    width: calc(100% + var(--column-space-half));
  }
  section.team hr {
    width: 100%;
  }
  section.contact a.btn-primary + a.btn-primary {
    margin-top: var(--column-space-half);
  }
}