/* --- */
/* --- */
/* padding */
/* font */
/* media queries */
* {
  box-sizing: border-box; }

html {
  width: 100%;
  height: 100%; }

body {
  position: relative;
  margin: 0;
  padding: 0;
  top: 0;
  height: 100%;
  font-family: "Source Serif Pro", serif;
  color: #2b586e;
  font-size: 20px;
  line-height: 30px;
  font-weight: 400;
  min-width: 300px;
  background-color: #e5ebee;
  transition: all 0.3s ease-out; }
  body.body_blur {
    overflow: hidden; }

/* FONT */
@font-face {
  font-family: 'Circular Std';
  src: url("/skin/fonts/CircularStd-Bold.woff2") format("woff2"), url("/skin/fonts/CircularStd-Bold.woff") format("woff"), url("/skin/fonts/CircularStd-Bold.svg#CircularStd-Bold") format("svg");
  font-weight: bold;
  font-style: normal; }

/* ICONE */
@font-face {
  font-family: "icone";
  src: url("icone/icones.eot");
  src: url("icone/icones.eot?#iefix") format("embedded-opentype"), url("icone/icones.woff") format("woff"), url("icone/icones.ttf") format("truetype"), url("icone/icones.svg#icon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "icone" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* GENERIQUE */
form {
  margin: 0;
  padding: 0; }

img {
  display: block;
  border: 0; }

h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
  font-family: "Circular Std", sans-serif;
  font-weight: bold;
  font-size: 1em; }

b,
strong {
  font-family: "Source Serif Pro", serif;
  font-weight: 700; }

UL {
  margin: 0;
  padding: 0;
  list-style: none; }

p {
  margin: 0;
  padding: 0; }

a {
  color: red;
  text-decoration: none;
  transition: all 0.3s linear; }

a:hover {
  text-decoration: none; }

input,
textarea {
  -webkit-appearance: none;
  border: 0;
  border-radius: 0;
  font-size: 18px;
  line-height: 28px; }

input[type=checkbox] {
  -webkit-appearance: checkbox; }

input:focus,
textarea:focus {
  outline: 0; }

.mobile {
  display: none; }

.desktop {
  display: block; }

/* ROW + COLS */
.row {
  display: block;
  clear: both; }

.row_center {
  display: block;
  clear: both;
  position: relative;
  min-width: 300px;
  max-width: 1500px;
  height: 100%;
  margin: auto; }

.row_padding_1 {
  padding: 0 8px; }
  @media screen and (min-width: 880px) {
    .row_padding_1 {
      padding: 0 24px; } }

.row_padding_2 {
  padding: 0 16px; }
  @media screen and (min-width: 880px) {
    .row_padding_2 {
      padding: 0 32px; } }

.row_padding_3 {
  padding: 0 16px; }
  @media screen and (min-width: 880px) {
    .row_padding_3 {
      padding: 0;
      width: 80%;
      margin: auto; } }

.col_padding {
  padding: 0 8px; }

.col_1 {
  display: inline-block;
  vertical-align: top;
  width: 8.3333333333%; }

.col_2 {
  display: inline-block;
  vertical-align: top;
  width: 16.66666667%; }

.col_3 {
  display: inline-block;
  vertical-align: top;
  width: 25%; }

.col_4 {
  display: inline-block;
  vertical-align: top;
  width: 33.3333333333%; }

.col_5 {
  display: inline-block;
  vertical-align: top;
  width: 41.66666667%; }

.col_6 {
  display: inline-block;
  vertical-align: top;
  width: 50%; }

.col_7 {
  display: inline-block;
  vertical-align: top;
  width: 58.3333333333%; }

.col_8 {
  display: inline-block;
  width: 66.66666667%; }

.col_9 {
  display: inline-block;
  vertical-align: top;
  width: 75%; }

.col_10 {
  display: inline-block;
  vertical-align: top;
  width: 83.3333333333%; }

.col_11 {
  display: inline-block;
  vertical-align: top;
  width: 91.66666667%; }

.col_12 {
  display: inline-block;
  vertical-align: top;
  width: 100%; }

.template_wrapper {
  position: relative;
  width: 100%;
  margin: auto;
  max-width: 1400px;
  padding-top: 0;
  background-color: #FFF; }
  @media screen and (min-width: 880px) {
    .template_wrapper {
      padding-top: 80px; } }
  @media screen and (min-width: 1400px) {
    .template_wrapper {
      border-left: 1px solid rgba(43, 88, 110, 0.2);
      border-right: 1px solid rgba(43, 88, 110, 0.2); } }

/* content */
@media screen and (min-width: 880px) {
  #content_blur.blur {
    transition-delay: 50ms;
    filter: blur(20px); } }

/* header image hero */
.template_image_hero {
  position: relative; }
  .template_image_hero img {
    width: 100%; }

.template_image_hero_blur {
  display: none; }
  @media screen and (min-width: 880px) {
    .template_image_hero_blur {
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      height: 100%;
      padding-right: 16%;
      z-index: 0; } }

.template_image_hero_full {
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 880px) {
    .template_image_hero_full {
      padding-left: 16%; } }

.template_image_hero_full__large {
  padding-left: 0; }

/* title & intro */
.template_hero_title_h1 {
  position: relative;
  width: 100%;
  text-align: center;
  color: #FFF;
  z-index: 11; }
  @media screen and (min-width: 880px) {
    .template_hero_title_h1 {
      text-align: center; } }
  @media screen and (max-width: 880px) {
    .template_hero_title_h1.text_shadow_depth_10 {
      text-shadow: none; } }

.template_intro_hero {
  position: relative;
  z-index: 10; }
  @media screen and (min-width: 880px) {
    .template_intro_hero {
      padding-right: 32px; } }

.template_intro_hero_container {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .template_intro_hero_container {
      padding: 0 32px 32px;
      margin-top: -38px; } }

.template_intro_hero_text {
  text-align: left;
  color: #FFF;
  padding-top: 24px; }
  @media screen and (min-width: 880px) {
    .template_intro_hero_text {
      text-align: left;
      padding: O; } }

/* big hero */
.template_hero_big {
  display: block;
  position: relative;
  z-index: 10; }
  @media screen and (min-width: 880px) {
    .template_hero_big {
      width: 80%;
      margin: -40px auto auto; } }

.template_hero_big_container {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .template_hero_big_container {
      padding: 32px;
      margin-top: -70px; } }

.template_hero_big_text {
  text-align: left;
  color: #FFF;
  padding-top: 24px; }
  @media screen and (min-width: 880px) {
    .template_hero_big_text {
      padding-top: 32px; } }

.template_header {
  position: relative;
  width: 100%;
  height: 64px;
  top: 0;
  left: 0;
  z-index: 20;
  background-color: #FFF; }
  @media screen and (min-width: 880px) {
    .template_header {
      position: absolute;
      height: 120px;
      background-image: url("image/header-bg.svg");
      background-repeat: no-repeat;
      background-position: center top;
      background-color: transparent;
      background-size: 1400px 120px; } }

.template_header_logo {
  position: absolute;
  display: block;
  top: 16px;
  left: 16px;
  width: 140px;
  height: 32px;
  background-image: url("image/header-logo.png");
  background-position: center;
  background-size: auto 32px;
  background-position: left;
  background-repeat: no-repeat; }
  @media screen and (min-width: 880px) {
    .template_header_logo {
      width: 218px;
      height: 62px;
      top: 24px;
      left: 24px;
      background-size: 218px 62px; } }

.template_header_menu_button {
  position: absolute;
  width: 56px;
  height: 56px;
  bottom: -24px;
  right: 16px;
  cursor: pointer;
  background-image: url("image/icon-menu-16.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  background-color: #c3094e;
  border-radius: 100px;
  box-shadow: 0 4px 10px rgba(43, 88, 110, 0.2); }
  @media screen and (min-width: 880px) {
    .template_header_menu_button {
      width: 72px;
      height: 72px;
      bottom: 0;
      right: 24px;
      background-image: url("image/icon-menu.svg");
      background-size: 24px; } }

@media screen and (min-width: 880px) {
  #header_blur.blur {
    transition-delay: 50ms;
    filter: blur(20px); } }

/* menu */
.template_menu {
  position: fixed;
  display: block;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  overflow: hidden; }
  .template_menu .main_menu {
    padding-bottom: 80px; }
    .template_menu .main_menu li a {
      position: relative;
      display: block;
      margin: 8px 0;
      padding: 8px 16px 8px 32px;
      font-family: "Circular Std", sans-serif;
      font-size: 24px;
      line-height: 32px;
      color: #FFF;
      transform: translateX(0px); }
      @media screen and (min-width: 880px) {
        .template_menu .main_menu li a {
          padding-left: 64px;
          transform: translateX(0px);
          font-size: 32px;
          line-height: 40px; }
          .template_menu .main_menu li a:hover {
            transform: translateX(16px);
            color: rgba(255, 255, 255, 0.8); } }
    .template_menu .main_menu li.actif a span {
      position: absolute;
      width: 16px;
      height: 2px;
      left: 0;
      top: 28px;
      background-color: #FFF;
      border-radius: 4px; }
      @media screen and (min-width: 880px) {
        .template_menu .main_menu li.actif a span {
          width: 60px;
          left: -24px;
          top: 36px; } }

.menu_overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #c3094e; }
  @media screen and (min-width: 880px) {
    .menu_overlay {
      background-color: rgba(255, 255, 255, 0.2); } }

.menu_container {
  position: absolute;
  margin: 0;
  width: 100%;
  height: 100%; }
  @media screen and (min-width: 880px) {
    .menu_container {
      margin: 0 10%;
      width: 80%;
      height: 100%; } }

.menu_container_card {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 40px;
  background-color: #c3094e;
  overflow-y: scroll; }
  @media screen and (min-width: 880px) {
    .menu_container_card {
      box-shadow: 0 -4px 30px rgba(43, 88, 110, 0.4);
      padding-top: 48px;
      top: 80px;
      overflow: visible; } }

.menu_button_close {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 0;
  right: 0;
  cursor: pointer;
  background-image: url("image/icon-close-mobile.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px; }
  @media screen and (min-width: 880px) {
    .menu_button_close {
      background-image: url("image/icon-close.svg");
      right: -40px;
      top: 40px; } }

/* animate */
.animate_menu-enter {
  top: 100%;
  opacity: 0; }

.animate_menu-enter-to,
.animate_menu-leave {
  top: 0;
  opacity: 1; }

.animate_menu-leave-to {
  top: 100%;
  opacity: 1; }

.animate_menu-enter-active {
  transition: all 280ms ease-out; }

.animate_menu-leave-active {
  transition: all 300ms ease-out; }

.animate_menu-leave-active {
  transition-delay: 330ms; }

.animate_menu_container-enter,
.animate_menu_container-leave-to {
  top: 100%; }

.animate_menu_container-enter-to,
.animate_menu_container-leave {
  top: 0; }

.animate_menu_container-enter-active {
  transition: all 200ms ease-out; }
  @media screen and (min-width: 880px) {
    .animate_menu_container-enter-active {
      transition-delay: 600ms; } }

.animate_menu_container-leave-active {
  transition: all 300ms ease-out; }

@media screen and (min-width: 880px) {
  .template_hero_home {
    position: relative;
    width: 80%;
    margin-left: 10%;
    margin-top: -40px;
    z-index: 10; } }

.template_hero_home__container {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .template_hero_home__container {
      padding: 0 32px 32px;
      margin-top: -94px; } }

.template_hero_home__title {
  text-align: left; }

.template_hero_home__intro {
  color: #FFF; }
  @media screen and (min-width: 880px) {
    .template_hero_home__intro {
      padding-top: 32px; } }

.home_news {
  position: relative;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .home_news {
      width: 80%;
      margin: auto;
      padding: 32px; } }

.home_news__title {
  margin-bottom: 16px; }

.home_events {
  padding-top: 16px; }
  @media screen and (min-width: 880px) {
    .home_events {
      padding-top: 32px; } }

.home_partners_container {
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .home_partners_container {
      padding: 32px; } }

.partners_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 16px; }
  @media screen and (min-width: 880px) {
    .partners_list {
      margin-top: 32px; } }

.partners_list__element {
  flex: 0 0 auto;
  height: 40px;
  margin: 8px; }
  @media screen and (min-width: 880px) {
    .partners_list__element {
      height: 80px; } }
  .partners_list__element img {
    height: 100%; }

.space_base {
  display: block;
  width: 100%; }

.space_8_mobile {
  display: block;
  width: 100%;
  height: 8px; }

.space_16_mobile {
  display: block;
  width: 100%;
  height: 16px; }

.space_24_mobile {
  display: block;
  width: 100%;
  height: 24px; }

@media screen and (min-width: 880px) {
  .space_8_desktop {
    display: block;
    width: 100%;
    height: 8px; }

  .space_32_desktop {
    display: block;
    width: 100%;
    height: 32px; } }
.biography_row {
  padding: 16px 16px 0; }
  @media screen and (min-width: 880px) {
    .biography_row {
      width: 80%;
      margin: 48px auto auto;
      padding: 0; } }

.biography_container {
  display: inline-block;
  width: 100%;
  margin-top: -32px;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .biography_container {
      margin-top: -80px;
      padding: 32px; } }

.biography_image {
  width: 160px; }
  .biography_image img {
    width: 100%; }
  @media screen and (min-width: 880px) {
    .biography_image {
      float: left;
      width: 200px;
      margin-right: 32px;
      margin-bottom: 16px; } }

.biography_title {
  margin-top: 24px; }
  @media screen and (min-width: 880px) {
    .biography_title {
      margin-top: 20px; } }

.biography_text {
  padding-top: 16px; }
  @media screen and (min-width: 880px) {
    .biography_text {
      padding-top: 16px;
      padding-left: 32px; } }

.button {
  display: inline-block;
  white-space: nowrap;
  height: 56px;
  padding: 0 16px;
  border-radius: 4px;
  border: 1px solid rgba(43, 88, 110, 0.3);
  font-family: "Circular Std", sans-serif;
  font-size: 16px;
  line-height: 56px;
  letter-spacing: 0.2px;
  color: #2b586e; }

/* theme colors */
.button.primary_3 {
  border-color: #22a3e9; }
  .button.primary_3:hover {
    color: #22a3e9;
    box-shadow: 0 4px 10px rgba(34, 163, 233, 0.2); }

.card {
  position: relative; }

/* theme colors */
.card.bg_primary_1 {
  background-color: #e0a31a; }
.card.bg_primary_2 {
  background-color: #28bd7e; }
.card.bg_primary_3 {
  background-color: #22a3e9; }
.card.bg_primary_4 {
  background-color: #c3094e; }
.card.bg_neutral_l {
  background-color: #e5ebee; }
.card.shadow {
  box-shadow: 0 0 10px rgba(43, 88, 110, 0.1); }
.card.shadow_primary_1 {
  box-shadow: 0 -4px 30px rgba(224, 163, 26, 0.2); }
.card.shadow_primary_4 {
  box-shadow: 0 0 20px rgba(195, 9, 78, 0.2); }
.card.radius_4 {
  border-radius: 4px; }
.card.radius_8 {
  border-radius: 8px; }

.event_index_list {
  padding: 0; }
  @media screen and (min-width: 880px) {
    .event_index_list {
      padding: 16px; } }

.event_index {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 100%;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .event_index {
      width: 50%; } }
  @media screen and (min-width: 1200px) {
    .event_index {
      width: 33.33333333%; } }

.event_index_link {
  display: block;
  position: relative;
  width: 100%;
  color: #2b586e; }

.event_index_image {
  width: 100%; }

.event_index_date {
  display: block;
  font-size: 20px;
  line-height: 28px;
  font-family: "Circular Std", sans-serif;
  padding-top: 24px;
  padding-bottom: 8px; }

.event_index_title {
  display: block;
  position: relative;
  padding-right: 48px; }
  .event_index_title span {
    position: absolute;
    width: 40px;
    height: 2px;
    right: -8px;
    bottom: 16px; }

.event_button_bottom {
  padding-top: 16px;
  padding-bottom: 32px;
  text-align: center; }

/* ---
event sheet
--- */
@media screen and (min-width: 880px) {
  .event_sheet_date {
    width: 80%;
    margin: auto; } }

.event_sheet_date_content {
  display: block;
  padding: 16px;
  color: #FFF;
  text-align: left; }
  @media screen and (min-width: 880px) {
    .event_sheet_date_content {
      display: inline-block;
      padding-right: 48px; } }

.event_sheet_content {
  padding: 32px 16px 16px; }
  @media screen and (min-width: 880px) {
    .event_sheet_content {
      width: 80%;
      margin: auto;
      padding: 48px 0 32px; } }

.event_sheet_content_title {
  margin-bottom: 24px; }

.event_sheet_link {
  margin-top: 24px; }

.event_sheet_link_border {
  margin: 0 0 24px;
  border: 0;
  width: 24px;
  height: 2px;
  border-radius: 10px;
  background-color: #22a3e9; }

.event_sheet_link_a {
  color: #22a3e9; }

.historic_date_row {
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .historic_date_row {
      width: 80%;
      margin: auto;
      padding: 32px; } }

.historic_date_row__title {
  margin-bottom: 16px; }

.historic_date_list_container {
  position: relative; }

.historic_date_timeline {
  position: absolute;
  height: 100%;
  width: 2px;
  top: 0;
  left: 0;
  background-color: #e0a31a; }

.historic_date {
  position: relative;
  padding-left: 24px;
  padding-bottom: 16px;
  padding-top: 16px; }
  @media screen and (min-width: 880px) {
    .historic_date {
      padding-left: 40px; } }

.historic_title {
  padding-bottom: 8px;
  color: #e0a31a; }

.historic_date_text {
  padding: 0;
  margin: 0; }

.historic_date_timeline_dot {
  position: absolute;
  display: block;
  left: -7px;
  top: 24px;
  width: 16px;
  height: 16px;
  border-radius: 100px;
  background-color: #e0a31a;
  border: 3px solid #FFF; }

.sticker {
  position: absolute;
  padding: 0 8px;
  height: 16px;
  line-height: 16px;
  top: 8px;
  left: 8px;
  border-radius: 2px;
  box-shadow: 0 2px 10px rgba(43, 88, 110, 0.1);
  font-family: "Circular Std", sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  color: #FFF;
  letter-spacing: 0.2px; }

.tabs_menu {
  display: flex;
  overflow-x: scroll;
  overflow-y: hidden;
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .tabs_menu {
      padding: 32px; } }

.tabs_menu_item {
  margin-right: 8px; }

.tabs_menu_last {
  display: block;
  flex: 0 0 32px; }

.tabs_menu_item_link {
  display: block;
  white-space: nowrap;
  height: 56px;
  padding: 0 16px;
  border-radius: 4px;
  border: 1px solid rgba(43, 88, 110, 0.3);
  font-family: "Circular Std", sans-serif;
  font-size: 16px;
  line-height: 56px;
  letter-spacing: 0.2px;
  color: #2b586e; }

.tabs_menu_item.active .tabs_menu_item_link {
  color: #FFF;
  border: 0; }

/* theme colors */
.tabs_menu.primary_2 .tabs_menu_item_link:hover {
  color: #28bd7e;
  border-color: #28bd7e;
  box-shadow: 0 4px 10px rgba(40, 189, 126, 0.2); }
.tabs_menu.primary_2 .tabs_menu_item.active .tabs_menu_item_link {
  background-color: #28bd7e; }

.heading_x_large {
  font-family: "Circular Std", sans-serif;
  font-size: 56px;
  letter-spacing: 2px; }

.heading_large {
  font-family: "Circular Std", sans-serif;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: 2px; }
  @media screen and (min-width: 880px) {
    .heading_large {
      font-size: 48px;
      line-height: 56px;
      letter-spacing: 1px; } }

.heading_medium {
  font-size: 32px;
  line-height: 40px;
  letter-spacing: 0.5px;
  font-family: "Circular Std", sans-serif; }
  @media screen and (min-width: 880px) {
    .heading_medium {
      font-size: 40px;
      line-height: 48px;
      letter-spacing: 1px; } }

.heading_small {
  font-family: "Circular Std", sans-serif;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: 0.5px; }

.heading_x_small {
  font-family: "Circular Std", sans-serif;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.5px; }

.text_current {
  font-family: "Source Serif Pro", serif;
  font-size: 20px;
  line-height: 28px; }

.heading_current {
  font-family: "Circular Std", sans-serif;
  font-size: 20px;
  line-height: 28px; }

.text_shadow_depth_10 {
  text-shadow: 0 2px 14px rgba(43, 88, 110, 0.2); }

.text_center {
  text-align: center; }

/* theme */
.txt_primary_1 {
  color: #e0a31a; }

.txt_primary_2 {
  color: #28bd7e; }

.txt_primary_3 {
  color: #22a3e9; }

.txt_primary_4 {
  color: #c3094e; }

.training_index_container {
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: -20px;
  padding-bottom: 16px; }

.training_index_row {
  padding-top: 16px; }
  @media screen and (min-width: 880px) {
    .training_index_row {
      padding-top: 32px;
      padding-left: 16px;
      padding-right: 16px; } }

.training_index {
  position: relative;
  display: block;
  width: 100%;
  padding: 8px 16px; }
  @media screen and (min-width: 880px) {
    .training_index {
      width: 50%;
      display: inline-block;
      padding: 16px; } }

.training_index_image {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 33%; }
  .training_index_image img {
    width: 100%; }

.training_index_content {
  display: inline-block;
  vertical-align: top;
  width: 67%;
  padding-left: 16px;
  padding-top: 8px;
  font-family: "Circular Std", sans-serif;
  color: #2b586e; }
  @media screen and (min-width: 880px) {
    .training_index_content {
      padding-left: 32px; } }

.training_index_content_title {
  display: block; }

.training_index_content_date {
  display: block;
  margin-bottom: 8px; }

.planning_title {
  margin-top: 16px; }
  @media screen and (min-width: 880px) {
    .planning_title {
      margin-top: 32px;
      margin-bottom: 32px; } }

.planning_row {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 880px) {
    .planning_row {
      flex-wrap: nowrap; } }

.planning_day {
  flex: 0 0 100%;
  padding-top: 16px;
  padding-bottom: 16px; }
  .planning_day + .planning_day {
    border-top: 1px solid rgba(43, 88, 110, 0.2); }
  @media screen and (min-width: 880px) {
    .planning_day {
      flex: 1 0 10%;
      padding: 8px; }
      .planning_day + .planning_day {
        border-left: 1px dashed rgba(43, 88, 110, 0.2);
        border-top: 0; } }

.planning_day_title {
  font-size: 16px;
  font-family: "Circular Std", sans-serif;
  letter-spacing: 0.2px;
  text-align: center;
  padding-bottom: 16px; }

.planning_slot_hour {
  display: block;
  height: 20px;
  line-height: 20px;
  font-size: 14px; }

.planning_slot {
  margin: 4px 0;
  padding: 8px;
  border-radius: 4px;
  font-family: "Circular Std", sans-serif;
  font-size: 16px;
  line-height: 24px; }
  @media screen and (min-width: 880px) {
    .planning_slot {
      margin: 2px 0; } }
  .planning_slot.color_3 {
    border: 1px solid rgba(224, 163, 26, 0.2);
    background-color: #f9ecd1; }
    .planning_slot.color_3 .planning_slot_hour {
      color: #e0a31a; }
  .planning_slot.color_4 {
    border: 1px solid rgba(255, 134, 30, 0.2);
    background-color: #ffe9d6; }
    .planning_slot.color_4 .planning_slot_hour {
      color: #ff861e; }
  .planning_slot.color_5 {
    border: 1px solid rgba(40, 189, 126, 0.2);
    background-color: #dcf2e9; }
    .planning_slot.color_5 .planning_slot_hour {
      color: #28bd7e; }
  .planning_slot.color_6 {
    border: 1px solid rgba(34, 163, 233, 0.2);
    background-color: #c8e8f9; }
    .planning_slot.color_6 .planning_slot_hour {
      color: #22a3e9; }
  .planning_slot.color_7 {
    border: 1px solid rgba(195, 9, 78, 0.2);
    background-color: #f7d2e0; }
    .planning_slot.color_7 .planning_slot_hour {
      color: #c3094e; }
  .planning_slot.color_8 {
    border: 1px solid rgba(43, 88, 110, 0.2);
    background-color: #e5ebee; }
    .planning_slot.color_8 .planning_slot_hour {
      color: #2b586e; }
  .planning_slot.color_16 {
    border: 1px solid rgba(24, 178, 215, 0.2);
    background-color: #d1f0f7; }
    .planning_slot.color_16 .planning_slot_hour {
      color: #18b2d7; }
  .planning_slot.color_17 {
    border: 1px solid rgba(110, 92, 232, 0.2);
    background-color: #e6e3fc; }
    .planning_slot.color_17 .planning_slot_hour {
      color: #6e5ce8; }
  .planning_slot.color_18 {
    border: 1px solid rgba(205, 93, 184, 0.2);
    background-color: #f5dff1; }
    .planning_slot.color_18 .planning_slot_hour {
      color: #cd5db8; }

.lesson_price_row {
  padding: 64px 16px; }
  @media screen and (min-width: 880px) {
    .lesson_price_row {
      width: 80%;
      margin: 80px auto 96px;
      padding: 0; } }

.lesson_price_container {
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .lesson_price_container {
      padding: 32px; } }
  @media screen and (max-width: 880px) {
    .lesson_price_container .col_6 {
      display: block;
      width: 100%; }
      .lesson_price_container .col_6 + .col_6 {
        margin-top: 32px; } }

.lesson_price_text {
  padding-top: 16px; }

.contact_container {
  display: block;
  position: relative;
  width: 100%;
  z-index: 10;
  background-color: #e0a31a;
  color: #FFF; }
  @media screen and (min-width: 880px) {
    .contact_container {
      width: 80%;
      margin: -40px auto auto; } }

.address_content {
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .address_content {
      padding: 32px; } }

.address_content--text {
  margin-top: 32px; }

.address_content #mail {
  display: block;
  margin-top: 24px; }
  .address_content #mail a {
    color: #FFF; }

.contact_map_content {
  width: 100%;
  position: relative; }
  .contact_map_content img {
    width: 100%; }
  @media screen and (min-width: 880px) {
    .contact_map_content {
      position: absolute;
      width: 48%;
      right: 32px;
      top: 100px; } }

.contact_itinerary {
  padding: 16px; }
  @media screen and (min-width: 880px) {
    .contact_itinerary {
      width: 80%;
      margin: 32px auto;
      padding: 32px;
      box-shadow: 0 0 30px rgba(224, 163, 26, 0.3); } }

.contact_newsletter {
  padding: 16px;
  background-color: #e0a31a; }
  @media screen and (min-width: 880px) {
    .contact_newsletter {
      width: 80%;
      margin: 0 auto 32px;
      padding: 32px; } }

.newsletter_form--form_group {
  display: flex;
  width: 100%;
  padding: 8px;
  background-color: #FFF;
  border-radius: 4px; }

.newsletter_form--title {
  color: #FFF;
  margin-bottom: 16px; }

.newsletter_form--input {
  flex: 1 1 80%;
  height: 48px; }

.newsletter_form--button {
  flex: 1 1 20%;
  height: 48px;
  padding: 0 16px;
  border-radius: 4px;
  background-color: #e0a31a;
  box-shadow: 0 0 10px rgba(43, 88, 110, 0.2);
  color: #FFF; }

footer {
  background-color: #2b586e;
  color: #FFF;
  padding: 16px 0;
  font-size: 16px; }
  footer a {
    color: #FFF; }
  @media screen and (min-width: 880px) {
    footer {
      padding: 40px 0; } }

.footer_infos {
  display: block;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  @media screen and (min-width: 880px) {
    .footer_infos {
      display: inline-block;
      width: 33%;
      vertical-align: top;
      padding: 0;
      border: 0; } }

.footer_infos_copy {
  display: block; }

.footer_infos_address {
  display: block; }

.footer_menu {
  display: block;
  padding-top: 16px; }
  @media screen and (min-width: 880px) {
    .footer_menu {
      display: inline-block;
      width: 33%;
      vertical-align: top;
      padding: 0; } }
  .footer_menu li {
    height: 24px;
    margin: 16px 0; }
    @media screen and (min-width: 880px) {
      .footer_menu li {
        margin: 0 0 8px; } }

.footer_partners {
  display: block;
  padding-top: 16px; }
  @media screen and (min-width: 880px) {
    .footer_partners {
      display: inline-block;
      width: 33%;
      vertical-align: top;
      padding: 0; } }
