/** ===============================================

  Responsive

  ===============================================**/

/** ===============================================

  Layout

  ===============================================**/

/** ===============================================

  Flexbox

  ===============================================**/

/** ===============================================

  Position

  ===============================================**/

/** ===============================================

  Effects

  ===============================================**/

/** ===============================================

  Buttons

  ===============================================**/

/** ===============================================

  Components

  ===============================================**/



  @media (max-width:82rem) {

    .container,

    .user-login-form, 

    .user-register-form, 

    .user-pass{

      padding: 0 15px;

    }

  }

.quicklinks-menu,

.site-header {

  position: fixed;

  left: 0;

  right: 0;

  z-index: 2; }



.site-header {

  top: 0; }

  .site-header.preheaded{

    top: 50px;

  }

  @media (min-width: 48rem) {

    .toolbar-vertical .site-header,

    .toolbar-horizontal .site-header {

      top: 39px; }

    .toolbar-tray-open .site-header{

      top: 79px; } 

    .toolbar-vertical .site-header.preheaded,

    .toolbar-horizontal .site-header.preheaded{

      top: 89px

    }

    .toolbar-tray-open .site-header.preheaded{

      top: 129px;

    }

   }

  .site-header.open {

    z-index: 9; }



.site-header-row {

  display: table;

  width: 100%;

  box-shadow: 0px 1px 5px #222222;

  color: #ffffff; }

  .site-header-row > * {

    display: table-cell;

    vertical-align: top;

    line-height: 1; }

  .site-header-row > * {

    vertical-align: bottom; }

  .site-header-row a {

    -webkit-transition: all 0.2 linear;

    -moz-transition: all 0.2 linear;

    -ms-transition: all 0.2 linear;

    transition: all 0.2 linear; }

  .site-header-row .fill {

    fill: #ffffff; }

  .site-header-row .search-button {

    outline-color: #ffffff; }



.site-header-logo {

  position: relative;

  z-index: 1; }

  @media (max-width: 56.25rem) and (min-width: 48rem){

    .site-header-row{

      padding-top:40px;

    }

    .site-header-logo{

      position: absolute;

      width: 30%;

      top: 0

    }

  }

  @media (min-width: 48rem) {

    .site-header-logo {

      min-width: 20%; } }



@media (max-width: 48rem) {

  .site-header-content {

    display: none; } }



@media (min-width: 48rem) {

  .site-header-top {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-box;

    display: -ms-flexbox;

    display: flex;

    -moz-align-items: flex-end;

    -webkit-align-item: flex-end;

    -ms-align-item: flex-end;

    align-items: flex-end;

    padding: 0.5rem 0 1rem;

    float: right; }

    .site-header-top > * {

      -webkit-flex: 1;

      /* Safari 6.1+ */

      -ms-flex: 1;

      /* IE 10 */

      flex: 1; } }



@media (min-width: 48rem) {

  .site-header-main {

    display: inline-flex;

    -moz-align-items: flex-end;

    -webkit-align-item: flex-end;

    -ms-align-item: flex-end;

    align-items: flex-end;

    -moz-justify-content: center;

    -webkit-justify-content: center;

    -ms-justify-content: center;

    justify-content: center;

    width: 100%;

    margin: auto; } }



#block-navigationprincipalechoeur{

  position: static;

}

.menu--navigation-principale-choeur,

.menu--account {

  font-size: 1.2rem; }



.block--system-menu-blockmain {

  position: initial; }



.menu--navigation-principale-choeur .icon {

  cursor: pointer;

  padding: 0.5rem; }

  .menu--navigation-principale-choeur .icon svg {

    height: 1rem;

    width: 1rem; }



@media (max-width: 48rem) {

  .menu--navigation-principale-choeur .menu-item {

    margin-top: 1rem; } }



.menu--navigation-principale-choeur .submenu {

  position: absolute;

  top: 8rem;

  left: 100%;

  right: 0;

  opacity: 0;

  z-index: -1;

  padding-top: 0;

  transition: all 0.4s ease-in;

  background: #f3f3ef; }

  .menu--navigation-principale-choeur .submenu .menu-items {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-box;

    display: -ms-flexbox;

    display: flex;

    -moz-align-items: center;

    -webkit-align-item: center;

    -ms-align-item: center;

    align-items: center;

    -moz-justify-content: center;

    -webkit-justify-content: center;

    -ms-justify-content: center;

    justify-content: center;

    flex-direction: column; }

    .menu--navigation-principale-choeur .submenu .menu-items > * {

      -webkit-flex: none;

      /* Safari 6.1+ */

      -ms-flex: none;

      /* IE 10 */

      flex: none; }

    .menu--navigation-principale-choeur .submenu .menu-items > * {

      margin-top: 1rem; }

  .menu--navigation-principale-choeur .submenu .menu-close {

    display: block;

    margin-left: auto;

    margin-right: auto;

    margin-top: 2rem;

    margin-bottom: 0;

    width: 30px; }

    @media (min-width: 48rem) {

      .menu--navigation-principale-choeur .submenu .menu-close {

        margin-bottom: -1rem; } }



@media (min-width: 48rem) {

  .menu--navigation-principale-choeur .has-submenu:not(.open) .submenu {

    top: -300%;

    left: 0;

    z-index: -10; } }



.menu--navigation-principale-choeur .has-submenu.open .submenu {

  top: 8rem;

  left: 0;

  opacity: 1;

  z-index: 1; }

  @media (max-width: 48rem) {

    .menu--navigation-principale-choeur .has-submenu.open .submenu {

      height: 100vh; } }

  @media (min-width: 48rem) {

    .menu--navigation-principale-choeur .has-submenu.open .submenu {

      top: 0;

      padding-top: 8rem;

      z-index: -1; } }



.menu--navigation-principale-choeur .menu-item-title {

  display: inline-block;

  text-align: center;

  border-radius: 0;

  width: 50rem;

  padding: 1rem;

  position: relative;

  width: 100%;

  padding: 1rem; }

  .menu--navigation-principale-choeur .menu-level-one > .menu-item > a .menu-item-title .item-title{

    position: relative;

    text-decoration: none;}

    .menu--navigation-principale-choeur .menu-level-one > .menu-item > a .menu-item-title .item-title::after{

      content: '';

      position: absolute;

      left: 0;

      bottom: 0;

      width: 0;

      height: 2px; 

      background-color: var(--secondary-color);

      transition: width 0.3s ease-in-out;}

      .menu--navigation-principale-choeur .menu-level-one > .menu-item > a .menu-item-title:hover .item-title::after{

        width: 100%;

      }

  .menu--navigation-principale-choeur .menu-item-title .icon {

    position: absolute;

    top: 0;

    bottom: 0;

    right: 0;

    height: 2rem;

    margin: auto; }

    @media (min-width: 48rem) {

      .menu--navigation-principale-choeur .menu-item-title .icon {

        display: none; } }



.menu--navigation-principale-choeur .menu-item-decorator,

.menu--navigation-principale-choeur .menu-item-decorator-open {

  display: none;

  position: absolute;

  left: 0;

  right: 0;

  margin: auto;

  width: 2px;

  transition: all 0.1s linear; }



.menu--navigation-principale-choeur .menu-item-decorator {

  bottom: 0;

  height: 10px;

  background: #ffffff; }



.menu--navigation-principale-choeur .open .menu-item-decorator {

  width: 10px; }



.menu--navigation-principale-choeur .menu-item-decorator-open {

  top: 100%;

  height: 20px; }



@media (min-width: 48rem) {

  .menu--navigation-principale-choeur .menu-level-one {

    display: table;

    width: 100%; }

    .menu--navigation-principale-choeur .menu-level-one > * {

      display: table-cell;

      vertical-align: top;

      line-height: 1; }

    .menu--navigation-principale-choeur .menu-level-one > * {

      vertical-align: bottom; }

  .menu--navigation-principale-choeur .menu-item-decorator,

  .menu--navigation-principale-choeur .open .menu-item-decorator-open {

    display: block; } }



.submenu .menu-item-title {

  width: 48rem;

  max-width: 90vw; }



@media (max-width: 48rem) {

  .menu-level-one .menu-item-title {

    width: 48rem;

    max-width: 90vw; } }



.quicklinks-menu {

  top: 85%; }

  .scroll .quicklinks-menu {

    display: none; }

  .quicklinks-menu ul {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-box;

    display: -ms-flexbox;

    display: flex;

    -moz-align-items: center;

    -webkit-align-item: center;

    -ms-align-item: center;

    align-items: center;

    -moz-justify-content: center;

    -webkit-justify-content: center;

    -ms-justify-content: center;

    justify-content: center; }

    .quicklinks-menu ul > * {

      -webkit-flex: none;

      /* Safari 6.1+ */

      -ms-flex: none;

      /* IE 10 */

      flex: none; }

    .quicklinks-menu ul li + li {

      margin-left: 1rem; }

    .quicklinks-menu ul a {

      display: inline-block;

      line-height: 1;

      border-radius: 50%;

      box-shadow: 0px 0px 3px #222222;

      border: 1px solid #ffffff;

      transition: box-shadow 0.2s linear; }

      .quicklinks-menu ul a:hover {

        box-shadow: 0px 0px 10px #222222; }

    .quicklinks-menu ul svg {

      height: 2rem;

      width: 2rem;

      margin: 1rem; }

    .quicklinks-menu ul .fill {

      fill: #ffffff; }

  @media (min-width: 48rem) {

    .quicklinks-menu {

      display: none; } }



.menu-item-back {

  cursor: pointer;

  position: relative;

  width: 90vw;

  padding: 1rem;

  margin: 2rem auto;

  margin-bottom: 0;

  color: #222222;

  border: 2px solid transparent;

  text-align: center; }

  .menu-item-back .fill {

    fill: #222222; }

  .menu-item-back .icon {

    position: absolute;

    top: 0;

    bottom: 0;

    left: 0;

    height: 2rem;

    margin: auto; }

  @media (min-width: 48rem) {

    .menu-item-back {

      display: none; } }



@media (max-width: 48rem) {

  .site-header-content.open {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    margin: auto;

    padding-top: 8.4rem;

    padding-bottom: 7rem;

    display: inline-flex;

    flex-direction: column;

    align-items: center;

    min-height: 100vh;

    overflow-x: hidden;

    overflow-y: scroll;

    background: #f3f3ef; }

    .site-header-content.open .site-header-main {

      order: 1; }

    .site-header-content.open .site-header-top {

      order: 2;

      width: 90vw; } }

    @media (max-width: 48rem) and (max-width: 48rem) {

      .site-header-content.open .site-header-top {

        border-top-width: 1px;

        border-top-style: solid; } }



@media (max-width: 48rem) {

      .site-header-content.open .site-header-top ul {

        display: -webkit-box;

        display: -webkit-flex;

        display: -moz-box;

        display: -ms-flexbox;

        display: flex; }

        .site-header-content.open .site-header-top ul > * {

          -webkit-flex: 1;

          /* Safari 6.1+ */

          -ms-flex: 1;

          /* IE 10 */

          flex: 1; }

      .site-header-content.open .site-header-top .region {

        margin-top: 1rem; }

    .site-header-content.open .region--header-search:not(.open) {

      display: none; }

    .site-header-content.open .contextual,

    .site-header-content.open .contextual-links {

      display: none; } }



.header-close {

  order: 9;

  min-height: 2.5rem;

  border: none;

  background: none;

  margin-top: 1rem; }

  .header-close .icon {

    cursor: pointer; }

  .header-close svg {

    width: 1rem;

    height: 1rem; }

  @media (min-width: 48rem) {

    .header-close {

      display: none; } }



.menu--account .menu-items {

  display: table;

  width: 100%; }

  .menu--account .menu-items > * {

    display: table-cell;

    vertical-align: top;

    line-height: 1; }



@media (min-width: 48rem) {

  .menu--account {

    padding: 0 1rem; }

    .menu--account .menu-item-title {

      color: #ffffff;

      border: 1px solid #ffffff; } 

      .menu--account .menu-item-title:hover{

        background-color: var(--secondary-color);

        border-color: var(--secondary-color);

      }

}



.menu--account {

  font-size: 1.2rem; }

  .menu--account .menu-item-title {

    display: block;

    padding: 0.5rem 1rem;

    text-align: center;

    border-width: 1px;

    border-style: solid; }

  .menu--account .menu-item + .menu-item {

    padding-left: 0.5rem; }



.block--system-branding-block a {

  display: block;

  height: 6rem;

  max-height: 6rem;

  width: 100%; }

  @media (min-width: 48rem) {

    .block--system-branding-block a {

      max-width: 13rem; } }

  @media (min-width: 75rem) {

    .site-header .block--system-branding-block a {

      margin-left: 3rem; } }



.block--system-branding-block img {

  padding: 1rem;

  max-width: 100%;

  max-height: 100%; }

  @media (min-width: 48rem) {

    .block--system-branding-block img {

      padding: 0; }

      .site-header .block--system-branding-block img {

        padding: 0 1rem 0.25rem 1rem; } }





@media (max-width: 600px) {

  .container{

    max-width: 100%;

  }

}