body > footer .field--name-field-visible-title, body > footer nav > h2 {
  color: #d7d7d7;
  font-family: 'opensans-bold';
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 20px;
  margin: 0;
  padding: 0 0 30px;
  position: relative;
  text-transform: uppercase; }
  body > footer .field--name-field-visible-title:after, body > footer nav > h2:after {
    background: #d7d7d7;
    content: "";
    display: block;
    height: 2px;
    width: 38px;
    position: absolute;
    left: 0;
    bottom: 18px; }
  @media only screen and (max-width: 980px) {
    body > footer .field--name-field-visible-title:after, body > footer nav > h2:after {
      width: 90%; } }
  @media only screen and (max-width: 480px) {
    body > footer .field--name-field-visible-title:after, body > footer nav > h2:after {
      width: 100%; } }

body > footer {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-content: center;
  -moz-align-content: center;
  -ms-align-content: center;
  align-content: center;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  align-items: stretch;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 18px;
  font-size: 1.8rem;
  /*   margin: auto;
  max-width: 1060px; */
  padding: 55px 20px 0;
  margin: 0;
  position: relative;
  z-index: 100;
  top: -1px; }
  body > footer .field--name-field-visible-title::before {
    display: none; }
  body > footer .block-custom-wrapper {
    background: transparent;
    padding: 0;
    margin: 0; }
  body > footer nav ul.menu.nav {
    margin: 0;
    padding: 0; }
    body > footer nav ul.menu.nav li {
      font-size: 16px;
      font-size: 1.6rem; }
      body > footer nav ul.menu.nav li a {
        -webkit-transition: all 0.3s ease-in-out 0s;
        -khtml-transition: all 0.3s ease-in-out 0s;
        -moz-transition: all 0.3s ease-in-out 0s;
        -ms-transition: all 0.3s ease-in-out 0s;
        -o-transition: all 0.3s ease-in-out 0s;
        transition: all 0.3s ease-in-out 0s;
        display: inline-block;
        padding: 0 0 15px 20px;
        position: relative; }
        body > footer nav ul.menu.nav li a:before {
          -webkit-transition: all 0.6s ease-in-out 0s;
          -khtml-transition: all 0.6s ease-in-out 0s;
          -moz-transition: all 0.6s ease-in-out 0s;
          -ms-transition: all 0.6s ease-in-out 0s;
          -o-transition: all 0.6s ease-in-out 0s;
          transition: all 0.6s ease-in-out 0s;
          font-size: 50px;
          font-size: 5rem;
          content: '\6a';
          font-family: "cern-icons";
          -moz-osx-font-smoothing: grayscale;
          -webkit-font-smoothing: antialiased;
          display: block;
          position: absolute;
          top: -2px;
          left: -22px;
          line-height: 22px; }
        body > footer nav ul.menu.nav li a:after {
          -webkit-transition: all 0.3s ease-in-out 0s;
          -khtml-transition: all 0.3s ease-in-out 0s;
          -moz-transition: all 0.3s ease-in-out 0s;
          -ms-transition: all 0.3s ease-in-out 0s;
          -o-transition: all 0.3s ease-in-out 0s;
          transition: all 0.3s ease-in-out 0s;
          content: '';
          display: block;
          height: 2px;
          width: 0%;
          position: absolute;
          bottom: 14px;
          left: 0;
          margin: 0 0 0 18px;
          max-width: calc(100% - 18px); }
        body > footer nav ul.menu.nav li a:hover, body > footer nav ul.menu.nav li a.is-active {
          background: none; }
          body > footer nav ul.menu.nav li a:hover:before, body > footer nav ul.menu.nav li a.is-active:before {
            left: -12px; }
          body > footer nav ul.menu.nav li a:hover:after, body > footer nav ul.menu.nav li a.is-active:after {
            width: 100%; }
  body > footer section[id*="copyright"] {
    margin: auto;
    padding: 80px 0 0;
    text-align: center;
    width: auto; }
    body > footer section[id*="copyright"] h2.block-title {
      display: none; }
  body > footer section a {
    -webkit-transition: all 0.3s ease-in-out 0s;
    -khtml-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s; }
    body > footer section a:hover, body > footer section a:focus {
      text-decoration: none; }
  body > footer .logo {
    display: none;
    position: absolute;
    right: 20px;
    bottom: 10px; }
    body > footer .logo img {
      height: 80px;
      width: auto; }

@media only screen and (max-width: 980px) {
  body > footer .region-footer {
    padding: 20px; }
    body > footer .region-footer section[id*='copyright'] {
      padding: 0; }
    body > footer .region-footer .logo {
      right: 20px; }
      body > footer .region-footer .logo img {
        height: 55px; } }

@media only screen and (max-width: 767px) {
  .cern-footer {
    padding: 15px 0 0; }
    .cern-footer .footer-first-col:after {
      content: unset !important; } }

.cern-footer {
  /* .block.block-block-content h2.block-title {
    display: inline-block;
  } */
  margin: auto;
  max-width: 1140px;
  width: 100%;
  /* .block-custom-wrapper .field--name-field-visible-title {
    margin: 0;
  } */ }
  .cern-footer .block-custom-wrapper {
    margin-bottom: 4rem; }
  .cern-footer ul {
    padding: 0;
    list-style: none; }
  .cern-footer .footer-first-col {
    padding-right: 40px; }
    .cern-footer .footer-first-col:after {
      content: '';
      display: block;
      width: 2px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 30px;
      background: rgba(255, 255, 255, 0.2); }
  .cern-footer nav {
    width: 100%; }
    .cern-footer nav ul.menu.nav li a:before {
      line-height: 26px;
      left: -17px;
      font-size: 4rem; }
    .cern-footer nav ul.menu.nav li a:hover:before {
      left: -10px; }
  .cern-footer h2,
  .cern-footer .block-custom-wrapper .field--name-field-visible-title {
    text-transform: uppercase;
    position: relative;
    display: inline-block;
    margin: 0rem 0 2.5rem 0;
    /* font-weight: 700; */
    font-size: 18px;
    /* color: #fffeee; */
    /*line-height: 1.1;*/
    /* font-family: "opensans-regular"; */
    padding: 0; }
    .cern-footer h2:after,
    .cern-footer .block-custom-wrapper .field--name-field-visible-title:after {
      content: '';
      width: 50%;
      height: 2px;
      left: 0;
      bottom: -8px;
      position: absolute;
      /*  background: white; */
      display: block; }
  .cern-footer a {
    /* color: #fffeee; */
    /* &:hover, &:active, &:focus {
      color: #fffeee;
    } */ }
    .cern-footer a.cern-icon-large {
      padding: 0 0 15px 26px; }
    .cern-footer a.cern-newsletter:before {
      content: attr(data-icon);
      font-family: "cern-icons";
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      display: block;
      position: absolute;
      top: 0px;
      left: -10px;
      line-height: 22px;
      /* color: #fffeee; */
      font-size: 4rem; }
  .cern-footer .contextual a {
    color: #000 !important; }

.copy-wrapper {
  font-size: 13px;
  font-size: 1.3rem;
  font-family: 'sourcesans-light';
  text-align: center;
  width: 100%;
  line-height: 50px;
  margin: 0; }
