/* Buttons */
.btn {
  position: relative;
  align-content: center;
  -ms-align-items: center;
  align-items: center;
  width: auto;
  max-width: auto;
  height: 50px;
  font-size: 18px; font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  justify-content: flex-start;
    -webkit-transition: all 0.3s ease-out;
            transition: all 0.3s ease-out;
}
.btn:hover,
.btn:focus,
.btn:active,
button:hover,
button:focus,
button:active {
  outline: none;
  box-shadow: none;
    -webkit-box-shadow: none;
}
/* Button Mobile Menu */
.btn-mobile-menu {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 90px;
  height: 70px;
  font-size: 0;
  z-index: 999;
}
  .btn-mobile-menu:after,
  .btn-mobile-menu:before {
    display: block;
    margin: 0 2rem 0.67rem;
    width: 30px;
    height: 2px;
    content: '';
    background-color: #fff;
    transition: all 0.3s ease-out;
      -webkit-transition: all 0.3s ease-out;
  }
  
  .btn-mobile-menu:before {
    margin-top: 1.7rem;
  }
  
  .active .btn-mobile-menu:after,
  .active .btn-mobile-menu:before, 
  .sticky .btn-mobile-menu:after,
  .sticky .btn-mobile-menu:before, 
  .sticky-minimal .btn-mobile-menu:after,
  .sticky-minimal .btn-mobile-menu:before {
    background-color: #006EB0;
  }
  
  .sticky-minimal .btn-mobile-menu:before {
    margin-top: 1.7rem;
  }
  
  .btn-mobile-menu.active {
    padding-top: 0.4rem;
  }
  
  .btn-mobile-menu.active:after {
    margin-top: -0.8rem;
    -webkit-transform: rotate(-45deg);  
    -ms-transform: rotate(-45deg);  
    transform: rotate(-45deg);
  }
  
  .btn-mobile-menu.active:before {
    -webkit-transform: rotate(45deg);  
    -ms-transform: rotate(45deg);  
    transform: rotate(45deg);
  }
    
/* Button Mobile Menu */
.btn-mobile-language,
.btn-mobile-search {
  display: none;
  position: absolute;
  top: 1.4rem;;
  width: 40px;
  height: 30px;
  border: 1px solid #fff;
}
/* Button Mobile Language */
.btn-mobile-language {
  right: 4.4rem;
  align-content: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px; font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 100px 0 0 100px;
  z-index: 999;
}
.btn-mobile-language:active,
.btn-mobile-language:link,
.btn-mobile-language:visited {
  color: #fff;
}
/* Button Mobile Language */
/* Button Mobile Search */
.btn-mobile-search {
  right: 2rem;
  align-content: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  font-size: 0;
  border-left: none;
  border-radius: 0 100px 100px 0;
  z-index: 999;
}
  
  header.active .btn-mobile-language {
    border-radius: 100px;
  }
  
  header.active .btn-mobile-search {
    opacity: 0;
  }
  .btn-mobile-search .icon-search {
    width: 16px;
    height: 16px;
  }
  
  .active .btn-mobile-language,
  .sticky .btn-mobile-language,
  .sticky-minimal .btn-mobile-language,
  .active .btn-mobile-search,
  .sticky .btn-mobile-search,
  .sticky-minimal .btn-mobile-search {
    color: #006EB0;
    border-color: #006EB0;
  }
  
  .active .btn-mobile-search .fill,
  .sticky .btn-mobile-search .fill,
  .sticky-minimal .btn-mobile-search .fill {
    fill: #006EB0; 
  }
  
  .btn-mobile-language:active,
  .btn-mobile-search:active {
    opacity: 0.7;
  }
/* Button Mobile Search */
/* Button Close */
.btn-close {
  position: absolute;
  width: 60px;
  max-width: 60px;
  min-height: 50px;
  font-size: 0;
  align-content: center;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  color: #006EB0;
  background: none;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease-out;
    -webkit-transition: all 0.3s ease-out;
}
  .btn-close svg {
    color: #006EB0;
  }
  .btn-close .icon {
    fill: #006EB0;
  }
  
  .btn-close:hover {
    opacity: 0.6;
  }
  
  .btn-close:active {
    opacity: 0.8;
  }
.mega-nav .btn-close {
  top: 0.5rem;
  right: 0;
}
/* Button - Text Only */
.btn-link {
  color: #006EB0;
}
 
   .btn-link .icon {
     margin-left: 0.8rem;
     min-width: 20px;
     max-width: 20px;
     height: 20px;
     fill: #fff;
     background-color: #006EB0;
     border: 2px solid #006EB0;
     border-radius: 18px;
   }
   
   .section-cards-bio .section-heading .btn-link {
     padding-right: 0;
   }
   
   .btn-link:hover  { opacity: 0.7; }
   .btn-link:active { opacity: 0.9; }
  
/* Button with arrow forward icon */
.btn-arrow {
  font-weight: 500;
}
  
  .btn-arrow svg {
    margin-left: 0.5rem;
    width: 24px;
    height: 24px;
  }
  
.btn-primary {
  padding-right: 2.5rem;
  padding-left: 2.5rem;
  color: #00529C;
  background-color: #fff;
}
  .btn-primary:hover,
  .btn-primary.btn-open-in-new:hover {
    background-color: rgba(255, 255, 255, 0.8);
  }
  
  .btn-primary:active,
  .btn-primary.btn-open-in-new:active {
    background-color: rgba(255, 255, 255, 0.9);
  }
  .btn-primary .icon,
  .btn-secondary .icon {
    margin-left: 1rem;
    width: 24px;
    height: 24px;
  }
  
.btn-secondary {
  color: #fff;
  background-color: #006EB0;
  border-radius: 2px;
}
  .btn-secondary:hover {
    background-color: #00529C;
  }
  .btn-secondary:active {
    background-color: rgba(0, 82, 156, 0.8);
  }
    
.btn .icon-launch {
  margin-left: 1rem;
}
.btn-view-menu {
  justify-content: space-between;
}
.btn-sign-up {
  padding-left: 0;
  padding-right: 1.2rem;
  width: 161px;
  max-width: 160px;
  min-width: 160px;
  height: 39px;
  color: #fff;
  font-size: 16px; font-size: 1rem;
  border-color: #fff;
}
  .btn-sign-up .icon {
    align-content: center;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    padding: 0 0.5rem;
    width: 60px; 
    height: 37px;
    border-right: 1px solid #fff;
  }
  
    .btn-sign-up .icon img {
      margin: 0;
      width: 24px;
      height: 17px;
    }
  
    .btn-sign-up .icon .fill {
      stroke: #fff;
    }
    
  /* Button Expand for more */
  
  .btn-expand {
    position: relative;
    align-content: center;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: 2rem;
    color: #006EB0;
    font-weight: 500;
    border-bottom: 1px solid rgba(56, 121, 193, 0.2);
    text-decoration: none;
  }
  
    .btn-expand:before {
      position: absolute;
      top: -52px;
      left: 50%;
      margin-left: -20px;
      content: '';
      width: 40px;
      height: 40px;
      background: #006EB0 url('/_assets/img/chevron-right.svg') center center no-repeat;
      background-size: 32px 32px;
      -webkit-background-size: 32px 32px;
      border-radius: 50px;
      -webkit-transform: rotate(90deg); 
      -ms-transform: rotate(90deg);  
      transform: rotate(90deg);
    }
    
    .btn-expand.active:before {
      -webkit-transform: rotate(-90deg); 
      -ms-transform: rotate(-90deg);  
      transform: rotate(-90deg);
    }
  
  /* Button Expand for more */
  
  /* Button Round  */
  
  .btn-round {
    border-radius: 100px;
  }
  /* Button Round  */
  
  /* Button Mobile Contact Us */
  
  .aside-slogan .btn-mobile-contact {
    display: none; 
    margin-top: 2rem;
    max-width: 174px;
    height: 40px;
  }
  
  .btn-mobile-contact:link, 
  .btn-mobile-contact:visited {
    color: #fff;
  }
  
  .btn-mobile-contact:hover  { background-color: rgba(0, 110, 176, 0.8); }
  .btn-mobile-contact:active { background-color: rgba(0, 110, 176, 0.95); }
  
  /* Button Mobile Contact Us */
  
  /* Button Open In New */
  
  .btn-open-in-new, 
  .section-two-column .btn-secondary.btn-open-in-new {
    padding-left: 2rem;
    padding-right: 4rem;
    font-size: 16px; font-size: 1rem;
    min-width: 280px;
  }
  
  .btn-open-in-new:hover, 
  .section-two-column .btn-secondary.btn-open-in-new:hover {
    background-color: #00529C;
  }
  
  .btn-secondary.btn-open-in-new:after {
    position: absolute;
    top: 0.8rem;
    right: 1.5rem;
    content: '';
    width: 24px;
    height: 24px;
    background: url('/_assets/img/icon-open-in-new.svg') center center no-repeat;
    background-size: 20px 20px;
      -webkit-background-size: 20px 20px;
  }
    
  .btn-alert-open-in-new:before,
  .btn-alert-open-in-new-fr:before {
    position: absolute;
    top: -2rem;
    left: 1rem;
    padding: 0.4rem 1rem;
    width: auto;
    content: 'Open a new window';
    color: #fff;
    font-size: 13px; font-size: 0.8125rem;
    text-align: center;
    background-color: #F47938;
    background-size: 48px 48px;
    border-radius: 3px;
    visibility: hidden;
    opacity: 0;
    overflow: hidden;
    z-index: 99999;
    transition: all 0.3s ease-out;
    -webkit-transition: all 0.3s ease-out;
    white-space: nowrap;
  }
  .btn-alert-open-in-new-fr:before {
    content: 'Ouvrir une nouvelle fenêtre';
  }
    .btn-alert-open-in-new:hover:before,
    .btn-alert-open-in-new-fr:hover:before{
      visibility: visible;
      opacity: 1;
      width: auto;
      height: auto;
      overflow: visible;
      text-decoration: none;
    }
  
  /* Button Open In New */
  
  /* Button Apply */
  
  .btn-apply {
    cursor: pointer;
    min-width: 160px;
    max-height: 36px;
    font-size: 16px; font-size: 1rem;
    text-indent: 1rem;
    background-image: url('/_assets/img/icon-checkmark.svg');
    background-position: 1rem center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    -webkit-background-size: 24px 24px;
  }
  .btn-clear {
    cursor: pointer;
    min-width: 160px;
    max-height: 36px;
    font-size: 16px; font-size: 1rem;
    text-indent: 3rem;
    background-image: url('/_assets/img/icon-clear.svg');
    background-position: 1rem center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    -webkit-background-size: 24px 24px;
  }
  
  .btn-sort-by {
    position: relative;
    padding: 0.8rem 2rem 0 0;
    width: 100%;
    height: 50px;
  }
  
  .btn-sort-by:link,
  .btn-sort-by:visited {
    color: #333;
    text-decoration: none;
  }
  
  .btn-sort-by:after {
    position: absolute;
    top: 0.3rem;
    right: 0.8rem;
    content: '';
    width: 40px;
    height: 40px;
    background: url('/_assets/img/expand-more.svg') center center no-repeat;
    background-size: 24px 24px;
      -webkit-background-size: 24px 24px;
  }
  
  /* Button Sort */
  
  /* Buttons Group  */
  
  .buttons,
  .flex-buttons {
    width: 100%;
    align-content: center;
    -ms-align-items: stretch;
    align-items: stretch;
    justify-content: center;
  }
  
    .buttons .btn,
    .flex-buttons .btn {
      margin-left: 3%;
      width: 48%;
      max-width: 330px;
      justify-content: center;
    }
    
    .buttons .btn-open-in-new,
    .flex-buttons .btn-open-in-new {
      justify-content: flex-start;
      text-align: left;
    }
    
    .buttons .btn:nth-of-type(1),
    .flex-buttons .btn:nth-of-type(1) {
      margin-left: 0;
    }
    
    .section-types-controllers .flex-buttons .btn {
       max-width: 25%;
       margin-bottom: 10px;
       margin-top: 25px;
    }
    .section-types-controllers .flex-buttons .btn.btn-open-in-new {
       min-width: unset;
    }
  /* Buttons Group  */
/* Buttons */
/* 1024px and smaller) */
@media only screen and (max-width: 1024px) {
  
    .section-types-controllers .flex-buttons {
       flex-direction: column;
    }
    .section-types-controllers .flex-buttons .btn {
       max-width: 48%;
       min-width: 48%;
       width: 48%;
       margin-left: auto;
       margin-right: auto;
    }
    .section-types-controllers .flex-buttons .btn:nth-child(2),
    .section-types-controllers .flex-buttons .btn:nth-child(3),
    .section-types-controllers .flex-buttons .btn:nth-child(4) {
      margin-top: 0px;
    }
  .btn-mobile-menu {
    display: block;
  }
  
  .btn-mobile-search,
  .btn-mobile-language,
  .aside-slogan .btn-mobile-contact  {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
  }
  
  .page-contact-us .aside-slogan .btn-mobile-contact {
    display: none;
  }
  
}
/* 1024px and smaller) */
/* 768px and smaller */
@media only screen and (max-width: 768px) {
  
  .btn {
    font-size: 16px; font-size: 1rem;
  }
  
  .btn-mobile-language { right: 4rem; }
  .btn-mobile-search {
    right: 1.5rem;
  }
  
  .btn-mobile-menu:after, 
  .btn-mobile-menu:before {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  
  .btn-open-in-new, 
  .section-two-column .btn-secondary.btn-open-in-new {
    padding-left: 1.5rem;
    padding-right: 4rem;
  }
  
}
/* 768px and smaller */
/* 480px and smaller */
@media only screen and (max-width: 480px) {
  
  .section-two-column .aside-found .btn-open-in-new {
    min-width: 100%;
    max-width: 100%;
  }
    
}
/* 480px and smaller */
.buttons-flex-start {
  justify-content: flex-start
}