/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

.Figure-copyright,
.Figure-caption {
    text-align: center;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 0;
}
figure img {
  max-width: 100%;
  height: auto;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, /* 1 */
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

html, body {
    height: 100%;
}

body {
    font-family: "Montserrat Regular", sans-serif;
    font-size: 1.6rem;
    line-height: 1.5;
    padding-top: 6.2rem; /* TopBar height */
    background: white;
    color: #606060;
    overflow-x: hidden;
}
button, input, optgroup, select, textarea {
    font-family: 'Simplon', sans-serif;
}

a {
    color: #1e0d68;
}
a:hover {
}

*[onclick] {
    cursor: pointer;
}

hr {
    margin: 3rem 0;
    border: 1px solid #f2f2f2;
}
/*
@media (max-width: 1680px) {
    html {
        font-size: 54.7%;
    }
}

@media (max-width: 540px) {
    html {
        font-size: 46.875%;
    }
}
*/

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

@font-face {
    font-family: 'Montserrat Light';
    src:
            url('../../../assets/montserrat-v14-latin-300.woff') format('woff'),
            url('../../../assets/montserrat-v14-latin-300.woff2') format('woff2')
;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat Regular';
    src:
            url('../../../assets/montserrat-v14-latin-regular.woff') format('woff'),
            url('../../../assets/montserrat-v14-latin-regular.woff2') format('woff2')
;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat Medium';
    src:
            url('../../../assets/montserrat-v14-latin-500.woff') format('woff'),
            url('../../../assets/montserrat-v14-latin-500.woff2') format('woff2')
    ;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat SemiBold';
    src:
            url('../../../assets/montserrat-v14-latin-600.woff') format('woff'),
            url('../../../assets/montserrat-v14-latin-600.woff2') format('woff2')
;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat Bold';
    src:
            url('../../../assets/montserrat-v14-latin-700.woff') format('woff'),
            url('../../../assets/montserrat-v14-latin-700.woff2') format('woff2')
;
    font-display: swap;
}


/** BUTLER STENCIL **/

@font-face {
    font-family: 'ButlerStencil Bold';
    src: url('../../../assets/butler_bold_stencil-webfont.woff2') format('woff2'),
    url('../../../assets/butler_bold_stencil-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'ButlerStencil Medium';
    src: url('../../../assets/butler_medium_stencil-webfont.woff2') format('woff2'),
    url('../../../assets/butler_medium_stencil-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'ButlerStencil Regular';
    src: url('../../../assets/butler_regular_stencil-webfont.woff2') format('woff2'),
    url('../../../assets/butler_regular_stencil-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

.azimut-consent--container {
    z-index: 1;
}

.azimut-consent--modal-container {
    z-index: 1000;
}

.azimut-consent--button {
    color: white;
    background-color: #f67322;
    border: 1px solid #c45008;
}

.azimut-consent--button:hover {
    background-color: #c45008;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

.slick-track {
    margin-left: unset;
    margin-right: unset;
}

.slick-slide img {
    margin: 0 auto;
}

.slick-slide {
    outline-offset: -3px;
}

/* Arrows */
.slick-prev,
.slick-next
{
    position: absolute;
    top: 50%;
    font-size: 0;
    line-height: 0;
    padding: 2rem;
    margin-top: -2rem;
    cursor: pointer;
    border: none;
    background: transparent;
    z-index: 700;
}
.slick-prev {
    left: 0;
}
.slick-next {
    right: 0;
}

.slick-prev:after,
.slick-next:after
{
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    border: 2px solid #999;
    border-bottom: none;
    border-left: none;
    transform: translateX(-.3rem) rotate(45deg);
    border-color: #1e0d68;
}
.slick-prev:after {
    transform: translateX(.3rem) rotate(-135deg);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

/* Dots */
.slick-dots
{
    position: absolute;
    bottom: 5%;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li
{
    position: relative;
    display: inline-block;
    margin: 0 5px;
    padding: 0;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;
    width: 1rem;
    height: 1rem;
    padding: 0;
    cursor: pointer;
    color: transparent;
    background: #fff;
    border: 0;
    border-radius: 50%;
}
.slick-dots li.slick-active button
{
    background: #28dbc4;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    line-height: 34px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 46px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.form-group-sm .form-control {
  height: 30px;
  line-height: 30px;
}
textarea.form-group-sm .form-control,
select[multiple].form-group-sm .form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  min-height: 32px;
}
.input-lg {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-lg {
  height: 46px;
  line-height: 46px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.form-group-lg .form-control {
  height: 46px;
  line-height: 46px;
}
textarea.form-group-lg .form-control,
select[multiple].form-group-lg .form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  min-height: 38px;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 42.5px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}
.input-sm + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 25px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.333333px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
  }
}
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  line-height: 46px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 3px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  margin-left: -1px;
}

/*!
 * FullCalendar v3.10.1
 * Docs & License: https://fullcalendar.io/
 * (c) 2019 Adam Shaw
 */
.fc {
  direction: ltr;
  text-align: left; }

.fc-rtl {
  text-align: right; }

body .fc {
  /* extra precedence to overcome jqui */
  font-size: 1em; }

/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-highlight {
  /* when user is selecting cells */
  background: #bce8f1;
  opacity: .3; }

.fc-bgevent {
  /* default look for background events */
  background: #8fdf82;
  opacity: .3; }

.fc-nonbusiness {
  /* default look for non-business-hours areas */
  /* will inherit .fc-bgevent's styles */
  background: #d7d7d7; }

/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/
.fc button {
  /* force height to include the border and padding */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* dimensions */
  margin: 0;
  height: 2.1em;
  padding: 0 .6em;
  /* text & cursor */
  font-size: 1em;
  /* normalize */
  white-space: nowrap;
  cursor: pointer; }

/* Firefox has an annoying inner border */
.fc button::-moz-focus-inner {
  margin: 0;
  padding: 0; }

.fc-state-default {
  /* non-theme */
  border: 1px solid; }

.fc-state-default.fc-corner-left {
  /* non-theme */
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px; }

.fc-state-default.fc-corner-right {
  /* non-theme */
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

/* icons in buttons */
.fc button .fc-icon {
  /* non-theme */
  position: relative;
  top: -0.05em;
  /* seems to be a good adjustment across browsers */
  margin: 0 .2em;
  vertical-align: middle; }

/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/
.fc-state-default {
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  color: #333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }

.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
  color: #333333;
  background-color: #e6e6e6; }

.fc-state-hover {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear; }

.fc-state-down,
.fc-state-active {
  background-color: #cccccc;
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }

.fc-state-disabled {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  box-shadow: none; }

/* Buttons Groups
--------------------------------------------------------------------------------------------------*/
.fc-button-group {
  display: inline-block; }

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/
.fc .fc-button-group > * {
  /* extra precedence b/c buttons have margin set to zero */
  float: left;
  margin: 0 0 0 -1px; }

.fc .fc-button-group > :first-child {
  /* same */
  margin-left: 0; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover {
  position: absolute;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }

.fc-popover .fc-header {
  /* TODO: be more consistent with fc-head/fc-body */
  padding: 2px 4px; }

.fc-popover .fc-header .fc-title {
  margin: 0 2px; }

.fc-popover .fc-header .fc-close {
  cursor: pointer; }

.fc-ltr .fc-popover .fc-header .fc-title,
.fc-rtl .fc-popover .fc-header .fc-close {
  float: left; }

.fc-rtl .fc-popover .fc-header .fc-title,
.fc-ltr .fc-popover .fc-header .fc-close {
  float: right; }

/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/
.fc-divider {
  border-style: solid;
  border-width: 1px; }

hr.fc-divider {
  height: 0;
  margin: 0;
  padding: 0 0 2px;
  /* height is unreliable across browsers, so use padding */
  border-width: 1px 0; }

.fc-clear {
  clear: both; }

.fc-bg,
.fc-bgevent-skeleton,
.fc-highlight-skeleton,
.fc-helper-skeleton {
  /* these element should always cling to top-left/right corners */
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

.fc-bg {
  bottom: 0;
  /* strech bg to bottom edge */ }

.fc-bg table {
  height: 100%;
  /* strech bg to bottom edge */ }

/* Tables
--------------------------------------------------------------------------------------------------*/
.fc table {
  width: 100%;
  box-sizing: border-box;
  /* fix scrollbar issue in firefox */
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1em;
  /* normalize cross-browser */ }

.fc th {
  text-align: center; }

.fc th,
.fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top; }

.fc td.fc-today {
  border-style: double;
  /* overcome neighboring borders */ }

/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/
a[data-goto] {
  cursor: pointer; }

a[data-goto]:hover {
  text-decoration: underline; }

/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
.fc .fc-row {
  /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
  /* no visible border by default. but make available if need be (scrollbar width compensation) */
  border-style: solid;
  border-width: 0; }

.fc-row table {
  /* don't put left/right border on anything within a fake row.
     the outer tbody will worry about this */
  border-left: 0 hidden transparent;
  border-right: 0 hidden transparent;
  /* no bottom borders on rows */
  border-bottom: 0 hidden transparent; }

.fc-row:first-child table {
  border-top: 0 hidden transparent;
  /* no top border on first row */ }

/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/
.fc-row {
  position: relative; }

.fc-row .fc-bg {
  z-index: 1; }

/* highlighting cells & background event skeleton */
.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton {
  bottom: 0;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton table {
  height: 100%;
  /* stretch skeleton to bottom of row */ }

.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton td {
  border-color: transparent; }

.fc-row .fc-bgevent-skeleton {
  z-index: 2; }

.fc-row .fc-highlight-skeleton {
  z-index: 3; }

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/
.fc-row .fc-content-skeleton {
  position: relative;
  z-index: 4;
  padding-bottom: 2px;
  /* matches the space above the events */ }

.fc-row .fc-helper-skeleton {
  z-index: 5; }

.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-helper-skeleton td {
  /* see-through to the background below */
  /* extra precedence to prevent theme-provided backgrounds */
  background: none;
  /* in case <td>s are globally styled */
  border-color: transparent; }

.fc-row .fc-content-skeleton td,
.fc-row .fc-helper-skeleton td {
  /* don't put a border between events and/or the day number */
  border-bottom: 0; }

.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-helper-skeleton tbody td {
  /* don't put a border between event cells */
  border-top: 0; }

/* Scrolling Container
--------------------------------------------------------------------------------------------------*/
.fc-scroller {
  -webkit-overflow-scrolling: touch; }

/* TODO: move to agenda/basic */
.fc-scroller > .fc-day-grid,
.fc-scroller > .fc-time-grid {
  position: relative;
  /* re-scope all positions */
  width: 100%;
  /* hack to force re-sizing this inner element when scrollbars appear/disappear */ }

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.fc-event {
  position: relative;
  /* for resize handle and other inner positioning */
  display: block;
  /* make the <a> tag block */
  font-size: .85em;
  line-height: 1.3;
  border-radius: 3px;
  border: 1px solid #3a87ad;
  /* default BORDER color */ }

.fc-event,
.fc-event-dot {
  background-color: #3a87ad;
  /* default BACKGROUND color */ }

.fc-event,
.fc-event:hover {
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */ }

.fc-event[href],
.fc-event.fc-draggable {
  cursor: pointer;
  /* give events with links and draggable events a hand mouse pointer */ }

.fc-not-allowed,
.fc-not-allowed .fc-event {
  /* to override an event's custom cursor */
  cursor: not-allowed; }

.fc-event .fc-bg {
  /* the generic .fc-bg already does position */
  z-index: 1;
  background: #fff;
  opacity: .25; }

.fc-event .fc-content {
  position: relative;
  z-index: 2; }

/* resizer (cursor AND touch devices) */
.fc-event .fc-resizer {
  position: absolute;
  z-index: 4; }

/* resizer (touch devices) */
.fc-event .fc-resizer {
  display: none; }

.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer {
  /* only show when hovering or selected (with touch) */
  display: block; }

/* hit area */
.fc-event.fc-selected .fc-resizer:before {
  /* 40x40 touch area */
  content: "";
  position: absolute;
  z-index: 9999;
  /* user of this util can scope within a lower z-index */
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  margin-top: -20px; }

/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/
.fc-event.fc-selected {
  z-index: 9999 !important;
  /* overcomes inline z-index */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); }

.fc-event.fc-selected.fc-dragging {
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3); }

/* Horizontal Events
--------------------------------------------------------------------------------------------------*/
/* bigger touch area when selected */
.fc-h-event.fc-selected:before {
  content: "";
  position: absolute;
  z-index: 3;
  /* below resizers */
  top: -10px;
  bottom: -10px;
  left: 0;
  right: 0; }

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end {
  margin-left: 0;
  border-left-width: 0;
  padding-left: 1px;
  /* replace the border with padding */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start {
  margin-right: 0;
  border-right-width: 0;
  padding-right: 1px;
  /* replace the border with padding */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

/* resizer (cursor AND touch devices) */
/* left resizer  */
.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer {
  cursor: w-resize;
  left: -1px;
  /* overcome border */ }

/* right resizer */
.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer {
  cursor: e-resize;
  right: -1px;
  /* overcome border */ }

/* resizer (mouse devices) */
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
  width: 7px;
  top: -1px;
  /* overcome top border */
  bottom: -1px;
  /* overcome bottom border */ }

/* resizer (touch devices) */
.fc-h-event.fc-selected .fc-resizer {
  /* 8x8 little dot */
  border-radius: 4px;
  border-width: 1px;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* vertically center */
  top: 50%;
  margin-top: -4px; }

/* left resizer  */
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
  margin-left: -4px;
  /* centers the 8x8 dot on the left edge */ }

/* right resizer */
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
  margin-right: -4px;
  /* centers the 8x8 dot on the right edge */ }

/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-day-grid-event {
  margin: 1px 2px 0;
  /* spacing between events and edges */
  padding: 0 1px; }

tr:first-child > td > .fc-day-grid-event {
  margin-top: 2px;
  /* a little bit more space before the first event */ }

.fc-day-grid-event.fc-selected:after {
  content: "";
  position: absolute;
  z-index: 1;
  /* same z-index as fc-bg, behind text */
  /* overcome the borders */
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  /* darkening effect */
  background: #000;
  opacity: .25; }

.fc-day-grid-event .fc-content {
  /* force events to be one-line tall */
  white-space: nowrap;
  overflow: hidden; }

.fc-day-grid-event .fc-time {
  font-weight: bold; }

/* resizer (cursor devices) */
/* left resizer  */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
  margin-left: -2px;
  /* to the day cell's edge */ }

/* right resizer */
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
  margin-right: -2px;
  /* to the day cell's edge */ }

/* Event Limiting
--------------------------------------------------------------------------------------------------*/
/* "more" link that represents hidden events */
a.fc-more {
  margin: 1px 3px;
  font-size: .85em;
  cursor: pointer;
  text-decoration: none; }

a.fc-more:hover {
  text-decoration: underline; }

.fc-limited {
  /* rows and cells that are hidden because of a "more" link */
  display: none; }

/* popover that appears when "more" link is clicked */
.fc-day-grid .fc-row {
  z-index: 1;
  /* make the "more" popover one higher than this */ }

.fc-more-popover {
  z-index: 2;
  width: 220px; }

.fc-more-popover .fc-event-container {
  padding: 10px; }

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-now-indicator {
  position: absolute;
  border: 0 solid red; }

/* Utilities
--------------------------------------------------------------------------------------------------*/
.fc-unselectable {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/*
TODO: more distinction between this file and common.css
*/
/* Colors
--------------------------------------------------------------------------------------------------*/
.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading td {
  border-color: #ddd; }

.fc-unthemed .fc-popover {
  background-color: #fff; }

.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading td {
  background: #eee; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  color: #666; }

.fc-unthemed td.fc-today {
  background: #fcf8e3; }

.fc-unthemed .fc-disabled-day {
  background: #d7d7d7;
  opacity: .3; }

/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/
.fc-icon {
  display: inline-block;
  height: 1em;
  line-height: 1em;
  font-size: 1em;
  text-align: center;
  overflow: hidden;
  font-family: "Courier New", Courier, monospace;
  /* don't allow browser text-selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*
Acceptable font-family overrides for individual icons:
  "Arial", sans-serif
  "Times New Roman", serif

NOTE: use percentage font sizes or else old IE chokes
*/
.fc-icon:after {
  position: relative; }

.fc-icon-left-single-arrow:after {
  content: "\2039";
  font-weight: bold;
  font-size: 200%;
  top: -7%; }

.fc-icon-right-single-arrow:after {
  content: "\203A";
  font-weight: bold;
  font-size: 200%;
  top: -7%; }

.fc-icon-left-double-arrow:after {
  content: "\AB";
  font-size: 160%;
  top: -7%; }

.fc-icon-right-double-arrow:after {
  content: "\BB";
  font-size: 160%;
  top: -7%; }

.fc-icon-left-triangle:after {
  content: "\25C4";
  font-size: 125%;
  top: 3%; }

.fc-icon-right-triangle:after {
  content: "\25BA";
  font-size: 125%;
  top: 3%; }

.fc-icon-down-triangle:after {
  content: "\25BC";
  font-size: 125%;
  top: 2%; }

.fc-icon-x:after {
  content: "\D7";
  font-size: 200%;
  top: 6%; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-popover {
  border-width: 1px;
  border-style: solid; }

.fc-unthemed .fc-popover .fc-header .fc-close {
  font-size: .9em;
  margin-top: 2px; }

/* List View
--------------------------------------------------------------------------------------------------*/
.fc-unthemed .fc-list-item:hover td {
  background-color: #f5f5f5; }

/* Colors
--------------------------------------------------------------------------------------------------*/
.ui-widget .fc-disabled-day {
  background-image: none; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-popover > .ui-widget-header + .ui-widget-content {
  border-top: 0;
  /* where they meet, let the header have the border */ }

/* Global Event Styles
--------------------------------------------------------------------------------------------------*/
.ui-widget .fc-event {
  /* overpower jqui's styles on <a> tags. TODO: more DRY */
  color: #fff;
  /* default TEXT color */
  text-decoration: none;
  /* if <a> has an href */
  /* undo ui-widget-header bold */
  font-weight: normal; }

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.ui-widget td.fc-axis {
  font-weight: normal;
  /* overcome bold */ }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats .ui-widget-content {
  background: none;
  /* see through to fc-bg */ }

.fc.fc-bootstrap3 a {
  text-decoration: none; }

.fc.fc-bootstrap3 a[data-goto]:hover {
  text-decoration: underline; }

.fc-bootstrap3 hr.fc-divider {
  border-color: inherit; }

.fc-bootstrap3 .fc-today.alert {
  border-radius: 0; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap3 .fc-popover .panel-body {
  padding: 0; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap3 .fc-time-grid .fc-slats table {
  /* some themes have background color. see through to slats */
  background: none; }

.fc.fc-bootstrap4 a {
  text-decoration: none; }

.fc.fc-bootstrap4 a[data-goto]:hover {
  text-decoration: underline; }

.fc-bootstrap4 hr.fc-divider {
  border-color: inherit; }

.fc-bootstrap4 .fc-today.alert {
  border-radius: 0; }

.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]) {
  color: #fff; }

.fc-bootstrap4 .fc-popover.card {
  position: absolute; }

/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap4 .fc-popover .card-body {
  padding: 0; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap4 .fc-time-grid .fc-slats table {
  /* some themes have background color. see through to slats */
  background: none; }

/* Toolbar
--------------------------------------------------------------------------------------------------*/
.fc-toolbar {
  text-align: center; }

.fc-toolbar.fc-header-toolbar {
  margin-bottom: 1em; }

.fc-toolbar.fc-footer-toolbar {
  margin-top: 1em; }

.fc-toolbar .fc-left {
  float: left; }

.fc-toolbar .fc-right {
  float: right; }

.fc-toolbar .fc-center {
  display: inline-block; }

/* the things within each left/right/center section */
.fc .fc-toolbar > * > * {
  /* extra precedence to override button border margins */
  float: left;
  margin-left: .75em; }

/* the first thing within each left/center/right section */
.fc .fc-toolbar > * > :first-child {
  /* extra precedence to override button border margins */
  margin-left: 0; }

/* title text */
.fc-toolbar h2 {
  margin: 0; }

/* button layering (for border precedence) */
.fc-toolbar button {
  position: relative; }

.fc-toolbar .fc-state-hover,
.fc-toolbar .ui-state-hover {
  z-index: 2; }

.fc-toolbar .fc-state-down {
  z-index: 3; }

.fc-toolbar .fc-state-active,
.fc-toolbar .ui-state-active {
  z-index: 4; }

.fc-toolbar button:focus {
  z-index: 5; }

/* View Structure
--------------------------------------------------------------------------------------------------*/
/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box; }

.fc-view,
.fc-view > table {
  /* so dragged elements can be above the view's main element */
  position: relative;
  z-index: 1; }

/* BasicView
--------------------------------------------------------------------------------------------------*/
/* day row structure */
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
  /* there may be week numbers in these views, so no padding-top */
  padding-bottom: 1em;
  /* ensure a space at bottom of cell for user selecting/clicking */ }

.fc-basic-view .fc-body .fc-row {
  min-height: 4em;
  /* ensure that all rows are at least this tall */ }

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
.fc-row.fc-rigid {
  overflow: hidden; }

.fc-row.fc-rigid .fc-content-skeleton {
  position: absolute;
  top: 0;
  left: 0;
  right: 0; }

/* week and day number styling */
.fc-day-top.fc-other-month {
  opacity: 0.3; }

.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
  padding: 2px; }

.fc-basic-view th.fc-week-number,
.fc-basic-view th.fc-day-number {
  padding: 0 2px;
  /* column headers can't have as much v space */ }

.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
  float: right; }

.fc-rtl .fc-basic-view .fc-day-top .fc-day-number {
  float: left; }

.fc-ltr .fc-basic-view .fc-day-top .fc-week-number {
  float: left;
  border-radius: 0 0 3px 0; }

.fc-rtl .fc-basic-view .fc-day-top .fc-week-number {
  float: right;
  border-radius: 0 0 0 3px; }

.fc-basic-view .fc-day-top .fc-week-number {
  min-width: 1.5em;
  text-align: center;
  background-color: #f2f2f2;
  color: #808080; }

/* when week/day number have own column */
.fc-basic-view td.fc-week-number {
  text-align: center; }

.fc-basic-view td.fc-week-number > * {
  /* work around the way we do column resizing and ensure a minimum width */
  display: inline-block;
  min-width: 1.25em; }

/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
.fc-agenda-view .fc-day-grid {
  position: relative;
  z-index: 2;
  /* so the "more.." popover will be over the time grid */ }

.fc-agenda-view .fc-day-grid .fc-row {
  min-height: 3em;
  /* all-day section will never get shorter than this */ }

.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
  padding-bottom: 1em;
  /* give space underneath events for clicking/selecting days */ }

/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/
.fc .fc-axis {
  /* .fc to overcome default cell styles */
  vertical-align: middle;
  padding: 0 4px;
  white-space: nowrap; }

.fc-ltr .fc-axis {
  text-align: right; }

.fc-rtl .fc-axis {
  text-align: left; }

/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/
.fc-time-grid-container,
.fc-time-grid {
  /* so slats/bg/content/etc positions get scoped within here */
  position: relative;
  z-index: 1; }

.fc-time-grid {
  min-height: 100%;
  /* so if height setting is 'auto', .fc-bg stretches to fill height */ }

.fc-time-grid table {
  /* don't put outer borders on slats/bg/content/etc */
  border: 0 hidden transparent; }

.fc-time-grid > .fc-bg {
  z-index: 1; }

.fc-time-grid .fc-slats,
.fc-time-grid > hr {
  /* the <hr> AgendaView injects when grid is shorter than scroller */
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-content-col {
  position: relative;
  /* because now-indicator lives directly inside */ }

.fc-time-grid .fc-content-skeleton {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0; }

/* divs within a cell within the fc-content-skeleton */
.fc-time-grid .fc-business-container {
  position: relative;
  z-index: 1; }

.fc-time-grid .fc-bgevent-container {
  position: relative;
  z-index: 2; }

.fc-time-grid .fc-highlight-container {
  position: relative;
  z-index: 3; }

.fc-time-grid .fc-event-container {
  position: relative;
  z-index: 4; }

.fc-time-grid .fc-now-indicator-line {
  z-index: 5; }

.fc-time-grid .fc-helper-container {
  /* also is fc-event-container */
  position: relative;
  z-index: 6; }

/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-slats td {
  height: 1.5em;
  border-bottom: 0;
  /* each cell is responsible for its top border */ }

.fc-time-grid .fc-slats .fc-minor td {
  border-top-style: dotted; }

/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-highlight-container {
  /* a div within a cell within the fc-highlight-skeleton */
  position: relative;
  /* scopes the left/right of the fc-highlight to be in the column */ }

.fc-time-grid .fc-highlight {
  position: absolute;
  left: 0;
  right: 0;
  /* top and bottom will be in by JS */ }

/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/
.fc-ltr .fc-time-grid .fc-event-container {
  /* space on the sides of events for LTR (default) */
  margin: 0 2.5% 0 2px; }

.fc-rtl .fc-time-grid .fc-event-container {
  /* space on the sides of events for RTL */
  margin: 0 2px 0 2.5%; }

.fc-time-grid .fc-event,
.fc-time-grid .fc-bgevent {
  position: absolute;
  z-index: 1;
  /* scope inner z-index's */ }

.fc-time-grid .fc-bgevent {
  /* background events always span full width */
  left: 0;
  right: 0; }

/* Generic Vertical Event
--------------------------------------------------------------------------------------------------*/
.fc-v-event.fc-not-start {
  /* events that are continuing from another day */
  /* replace space made by the top border with padding */
  border-top-width: 0;
  padding-top: 1px;
  /* remove top rounded corners */
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.fc-v-event.fc-not-end {
  /* replace space made by the top border with padding */
  border-bottom-width: 0;
  padding-bottom: 1px;
  /* remove bottom rounded corners */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/
.fc-time-grid-event {
  overflow: hidden;
  /* don't let the bg flow over rounded corners */ }

.fc-time-grid-event.fc-selected {
  /* need to allow touch resizers to extend outside event's bounding box */
  /* common fc-selected styles hide the fc-bg, so don't need this anyway */
  overflow: visible; }

.fc-time-grid-event.fc-selected .fc-bg {
  display: none;
  /* hide semi-white background, to appear darker */ }

.fc-time-grid-event .fc-content {
  overflow: hidden;
  /* for when .fc-selected */ }

.fc-time-grid-event .fc-time,
.fc-time-grid-event .fc-title {
  padding: 0 1px; }

.fc-time-grid-event .fc-time {
  font-size: .85em;
  white-space: nowrap; }

/* short mode, where time and title are on the same line */
.fc-time-grid-event.fc-short .fc-content {
  /* don't wrap to second line (now that contents will be inline) */
  white-space: nowrap; }

.fc-time-grid-event.fc-short .fc-time,
.fc-time-grid-event.fc-short .fc-title {
  /* put the time and title on the same line */
  display: inline-block;
  vertical-align: top; }

.fc-time-grid-event.fc-short .fc-time span {
  display: none;
  /* don't display the full time text... */ }

.fc-time-grid-event.fc-short .fc-time:before {
  content: attr(data-start);
  /* ...instead, display only the start time */ }

.fc-time-grid-event.fc-short .fc-time:after {
  content: "\A0-\A0";
  /* seperate with a dash, wrapped in nbsp's */ }

.fc-time-grid-event.fc-short .fc-title {
  font-size: .85em;
  /* make the title text the same size as the time */
  padding: 0;
  /* undo padding from above */ }

/* resizer (cursor device) */
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  overflow: hidden;
  line-height: 8px;
  font-size: 11px;
  font-family: monospace;
  text-align: center;
  cursor: s-resize; }

.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
  content: "="; }

/* resizer (touch device) */
.fc-time-grid-event.fc-selected .fc-resizer {
  /* 10x10 dot */
  border-radius: 5px;
  border-width: 1px;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-color: inherit;
  background: #fff;
  /* horizontally center */
  left: 50%;
  margin-left: -5px;
  /* center on the bottom edge */
  bottom: -5px; }

/* Now Indicator
--------------------------------------------------------------------------------------------------*/
.fc-time-grid .fc-now-indicator-line {
  border-top-width: 1px;
  left: 0;
  right: 0; }

/* arrow on axis */
.fc-time-grid .fc-now-indicator-arrow {
  margin-top: -5px;
  /* vertically center on top coordinate */ }

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
  left: 0;
  /* triangle pointing right... */
  border-width: 5px 0 5px 6px;
  border-top-color: transparent;
  border-bottom-color: transparent; }

.fc-rtl .fc-time-grid .fc-now-indicator-arrow {
  right: 0;
  /* triangle pointing left... */
  border-width: 5px 6px 5px 0;
  border-top-color: transparent;
  border-bottom-color: transparent; }

/* List View
--------------------------------------------------------------------------------------------------*/
/* possibly reusable */
.fc-event-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px; }

/* view wrapper */
.fc-rtl .fc-list-view {
  direction: rtl;
  /* unlike core views, leverage browser RTL */ }

.fc-list-view {
  border-width: 1px;
  border-style: solid; }

/* table resets */
.fc .fc-list-table {
  table-layout: auto;
  /* for shrinkwrapping cell content */ }

.fc-list-table td {
  border-width: 1px 0 0;
  padding: 8px 14px; }

.fc-list-table tr:first-child td {
  border-top-width: 0; }

/* day headings with the list */
.fc-list-heading {
  border-bottom-width: 1px; }

.fc-list-heading td {
  font-weight: bold; }

.fc-ltr .fc-list-heading-main {
  float: left; }

.fc-ltr .fc-list-heading-alt {
  float: right; }

.fc-rtl .fc-list-heading-main {
  float: right; }

.fc-rtl .fc-list-heading-alt {
  float: left; }

/* event list items */
.fc-list-item.fc-has-url {
  cursor: pointer;
  /* whole row will be clickable */ }

.fc-list-item-marker,
.fc-list-item-time {
  white-space: nowrap;
  width: 1px; }

/* make the dot closer to the event title */
.fc-ltr .fc-list-item-marker {
  padding-right: 0; }

.fc-rtl .fc-list-item-marker {
  padding-left: 0; }

.fc-list-item-title a {
  /* every event title cell has an <a> tag */
  text-decoration: none;
  color: inherit; }

.fc-list-item-title a[href]:hover {
  /* hover effect only on titles with hrefs */
  text-decoration: underline; }

/* message when no events */
.fc-list-empty-wrap2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.fc-list-empty-wrap1 {
  width: 100%;
  height: 100%;
  display: table; }

.fc-list-empty {
  display: table-cell;
  vertical-align: middle;
  text-align: center; }

.fc-unthemed .fc-list-empty {
  /* theme will provide own background */
  background-color: #eee; }


.calendar {
    width: 100%;
    margin: 1em 0;
    font-family: "Montserrat SemiBold", sans-serif;
    font-size: 1.3rem;
}

.calendar-header {
    display: none;
}


.calendar-previousBtn,
.calendar-nextBtn {
    display: block;
    padding: 0 2rem;
}

.calendar-previousBtn::before,
.calendar-nextBtn::before {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    border-top: 1px solid #4381ff;
    border-left: 1px solid #4381ff;
    transform: translateX(5px) rotate(-45deg);
}

.calendar-nextBtn::before {
    transform: translateX(-5px) rotate(135deg);
}

.calendar-header-title {
    flex: 1 1 auto;
    text-align: center;
}

.calendar-body {
    padding: 2rem;
    color: #606060;
    background: transparent;
}


/* Full Calendar style overwrite */

.calendar.fc h2 {
    font-size: 1.3rem;
    font-weight: normal;
    text-transform: uppercase;
}

.calendar.fc .fc-view-container {
    padding: 2rem;
    color: #606060;
    background: transparent;
}

.calendar.fc .fc-toolbar.fc-header-toolbar {
    display: none;
}

.calendar.fc .fc-header-toolbar .fc-center {
    flex: 1 1 auto;
    text-align: center;
}

.calendar.fc .fc-header-toolbar .fc-left,
.calendar.fc .fc-header-toolbar .fc-right {
    height: 100%;
    display: flex;
}

.calendar.fc .fc-header-toolbar .fc-right {
    order: 3;
}

.calendar.fc .fc-header-toolbar  > * > * {
    float: none;
}


.calendar.fc .fc-header-toolbar .fc-prev-button,
.calendar.fc .fc-header-toolbar .fc-next-button {
    display: block;
    padding: 0 2rem;
    border: none;
    background: none;
    border-radius: unset;
    height: auto;
    box-shadow: none;
    text-shadow: none;
}

.calendar.fc .fc-header-toolbar .fc-prev-button .fc-icon,
.calendar.fc .fc-header-toolbar .fc-next-button .fc-icon {
    display: none;
}

.calendar.fc .fc-header-toolbar .fc-prev-button::before,
.calendar.fc .fc-header-toolbar .fc-next-button::before {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    border-top: 1px solid #4381ff;
    border-left: 1px solid #4381ff;
    transform: translateX(5px) rotate(-45deg);
}
.calendar.fc .fc-header-toolbar .fc-next-button::before {
    transform: translateX(-5px) rotate(135deg);
}


.calendar.fc .fc-basic-view .fc-row {
    min-height: unset;
}

.calendar.fc .fc-scroller {
    /*min-height: 270px;*/
    height: auto !important;
}

.calendar.fc .fc-widget-header{
    margin-bottom: 2em;
}

.calendar.fc th,
.calendar.fc td {
    font-weight: normal;
    text-align: center;
    border: none;
}
.calendar.fc h2{
    color:#606060;
}

.calendar.fc .fc-basic-view .fc-day-top .fc-day-number {
    float: none;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: .2rem;
    color: #606060;
}

.calendar.fc .fc-basic-view .fc-day-top .fc-day-number.text-white {
    color: white;
}

.calendar.fc td.fc-today {
    background: none;
}

.calendar.fc td.fc-today .fc-day-number {
    color: white !important;
}

.calendar.fc .fc-widget-content.fc-today::after {
    content: '';
    display: inline-block;
    border: 1px solid #60c4e0;
    border-radius: 50%;
    height: 2.8rem;
    width: 2.8rem;
    background-color: #60c4e0;
}

.calendar.fc .fc-bgevent-skeleton {
    /*z-index: 5; !* background as foreground to apply opacity on day number *!*/
}

.calendar.fc .fc-bgevent {
    background: none;
    opacity: 1;
}
.calendar.fc .fc-bgevent::after {
    content: '';
    display: inline-block;
    border: 1px solid #ed700f;
    background: rgba(237, 112, 15, 1);
    border-radius: 50%;
    height: 2.8rem;
    width: 2.8rem;
}

.calendar.fc .fc-bgevent.calendar-day--event {
    cursor: pointer;
}

.calendar.fc .fc-bgevent.calendar-day--selected::after {
    border-color: rgba(237, 112, 15, 1);
    background: rgba(237, 112, 15, 1);
}

.calendar.fc .fc-bgevent.calendar-day--event::after {
    border-color: rgba(237, 112, 15, 1);
    background: transparent;
}


.calendar-hidden{
    display:none;
}
.calendar.fc.legend {padding-top: 3px; display: flex;}
.calendar.fc.legend .fc-bgevent{display: inline-block; margin: 0 10px 0 10px;}
.calendar.fc.legend .fc-bgevent::after {width: 2rem; height: 2rem;}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 15:48:49
 */

.control-label {
    color: #0c7298;
    font-family: "Montserrat Regular", sans-serif;
    margin-top: 2rem;
}

.form-control {
    font-size: inherit;
    border-radius: 0;
    color: #606060;
    border: none;
    border-bottom: 1px solid rgba(96, 96, 96, 0.5);
    box-shadow: none;
}
.form-control::placeholder {
    color: rgba(96, 96, 96, 0.62);
}
.form-control:focus {
    border-bottom: 1px solid #0c7298;
    box-shadow: none;
}

.form-inline {
    margin: 0 -10px;
}
.form-inline > * {
    margin-left: 10px;
    margin-right: 10px;
}


.checkbox-buttons .checkbox-inline {
    padding: 0;
}

.checkbox-buttons input[type="checkbox"] {
    display: none;
}

.checkbox-buttons input[type="checkbox"] + .control-label {
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    padding: 1rem 3.5rem;
    margin: 15px 0 0;
    color: #fff;
    background: #0c7298;
    border: none;
    border-radius: .8rem;
    transition: .5s background ease, .5s box-shadow ease;
    color: #000;
    background: #e0e0e0;
}
.checkbox-buttons input[type="checkbox"] + .control-label:hover {
    text-decoration: none;
    box-shadow: 0 0 6px 2px #0c7298;;
}
.checkbox-buttons input[type="checkbox"] + .control-label:focus {
    outline: thin dotted;
    outline-offset: -5px;
}
.checkbox-buttons input[type="checkbox"] + .control-label:active {
    background: #000;
    box-shadow: none;
}
.checkbox-buttons input[type="checkbox"] + .control-label:focus:active {
    outline: none;
}

.checkbox-buttons input[type="checkbox"]:checked + .control-label {
    color: #fff;
    background: #666;
}


.checkbox-buttons-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.checkbox-buttons-columns .checkbox-inline {
    flex-basis: 23%;
    display: flex;
    margin: 0 1%;
}
.checkbox-buttons-columns input[type="checkbox"] + .control-label {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    text-align: center;
}

textarea.form-control {
    resize: none;
    background-attachment: local;
    background-image:
            linear-gradient(to right, white 10px, transparent 10px),
            linear-gradient(to left, white 10px, transparent 10px),
            repeating-linear-gradient(white, white 30px, rgba(96, 96, 96, 0.5) 30px, rgba(96, 96, 96, 0.5) 31px, white 30px);
    line-height: 3rem;
    border: none;
}

textarea.form-control:focus {
    background-image:
            linear-gradient(to right, white 10px, transparent 10px),
            linear-gradient(to left, white 10px, transparent 10px),
            repeating-linear-gradient(white, white 30px, #0c7298 30px, #0c7298 31px, white 30px);
    border: none;
}

@media (max-width: 840px) {
    .checkbox-buttons-columns .checkbox-inline {
        flex-basis: 31.333%;
    }
}

@media (max-width: 620px) {
    .checkbox-buttons-columns .checkbox-inline {
        flex-basis: 48%;
    }
}

@media (max-width: 420px) {
    .checkbox-buttons-columns .checkbox-inline {
        flex-basis: 98%;
    }
}

.spinner {
    margin: 0;
    width: 100%;
    text-align: center;
    display: none;
}

.spinner > div {
    width: 12px;
    height: 12px;
    background-color: #0c7298;
    margin: 3px;

    border-radius: 100%;
    display: inline-block;
    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.spinner .bounce2 {
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
    0%, 80%, 100% { -webkit-transform: scale(0) }
    40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    } 40% {
          -webkit-transform: scale(1.0);
          transform: scale(1.0);
      }
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 15:46:17
 */

/* Grid flexbox fallback */
.Grid {
    display: flex;
    flex-wrap: wrap;
    margin: -1rem;
    overflow: hidden;
}
.Grid > * {
    width: calc(100%/var(--grid-columns) - 2rem);
    margin: 1rem;
}
.Grid--marginBottom {
    margin-bottom: 2rem;
}
.Grid--paddingBottom {
    padding-bottom: 2rem;
}

@supports (display: grid) {
    .Grid {
        --grid-columns: 1;
        display: grid;
        grid-gap: 2rem;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
        margin: 0;
    }
    .Grid > * {
        width: auto;
        margin: 0;
    }
}
.Grid--2 {
    --grid-columns: 2;
}
.Grid--2--1-2 {
    --grid-columns: 2;
}
.Grid--2--1-2 > *:first-child {
    width: 33%;
    margin-right: 2rem;
}
.Grid--2--1-2 > *:last-child {
    flex: 1;
}
@supports (display: grid) {
    .Grid--2--1-2 {
        grid-template-columns: 1fr 2fr;
    }
    .Grid--2--1-2 > *:first-child,
    .Grid--2--1-2 > *:last-child {
        width: auto;
        margin: 0;
    }
}

.Grid--2--2-1 {
    --grid-columns: 2;
}
.Grid--2--2-1 > *:first-child {
    width: 66%;
    margin-right: 2rem;
}
.Grid--2--2-1 > *:last-child {
    flex: 1;
}
@supports (display: grid) {
    .Grid--2--2-1 {
        grid-template-columns: 2fr 1fr;
    }
    .Grid--2--2-1 > *:first-child,
    .Grid--2--2-1 > *:last-child {
        width: auto;
        margin: 0;
    }
}

.Grid--3 {
    --grid-columns: 3;
}
.Grid--4 {
    --grid-columns: 4;
}
.Grid--5 {
    --grid-columns: 5;
}
.Grid--padding {
    padding: 1rem;
}
@media (max-width: 1260px) {
    /* 1 column at size L */
    .Grid--l-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--l-1.Grid--2--1-2 > *:first-child,
    .Grid--l-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size L */
    .Grid--l-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size L */
    .Grid--l-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
}
@media (max-width: 1080px) {
    /* 1 column at size M */
    .Grid--m-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--m-1.Grid--2--1-2 > *:first-child,
    .Grid--m-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size M */
    .Grid--m-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size M */
    .Grid--m-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
}
@media (max-width: 960px) {
    /* 1 column at size S */
    .Grid--s-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--s-1.Grid--2--1-2 > *:first-child,
    .Grid--s-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size S */
    .Grid--s-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size S */
    .Grid--s-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
}
@media (max-width: 900px) {
    /* 1 column at size XS */
    .Grid--xs-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xs-1.Grid--2--1-2 > *:first-child,
    .Grid--xs-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size XS */
    .Grid--xs-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XS */
    .Grid--xs-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
}
@media (max-width: 620px) {
    /* 1 column at size XXS */
    .Grid--xxs-noGrid {
        display: block;
    }
    .Grid--xxs-noGrid.Grid--2--1-2 > *,
    .Grid--xxs-noGrid.Grid--2--2-1 > * {
        width: auto;
        margin-right: 1em;
    }
    .Grid--xxs-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xxs-1.Grid--2--1-2 > *:first-child,
    .Grid--xxs-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size XS */
    .Grid--xxs-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XS */
    .Grid--xxs-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
}
@media (max-width: 320px) {
    /* 1 column at size XXXS */
    .Grid--xxxs-noGrid {
        display: block;
    }
    .Grid--xxxs-noGrid.Grid--2--1-2 > *,
    .Grid--xxxs-noGrid.Grid--2--2-1 > * {
        width: auto;
        margin-right: 1em;
    }
    .Grid--xxxs-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xxxs-1.Grid--2--1-2 > *:first-child,
    .Grid--xxxs-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size XS */
    .Grid--xxxs-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XS */
    .Grid--xxxs-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
}

.Grid--marginBottom {
    margin-bottom: 2rem;
}


/* IE 10-11 */

@media all and (-ms-high-contrast:none)
{
    .Grid > * {
        width: calc(100% - 2.01rem);
    }
    .Grid--2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    .Grid--3 > * {
        width: calc(100%/3 - 2.01rem);
    }
    .Grid--4 > * {
        width: calc(100%/4 - 2.01rem);
    }
    .Grid--5 > * {
        width: calc(100%/5 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 1260px) {
    /* 1 column at size L */
    .Grid--l-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size L */
    .Grid--l-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size L */
    .Grid--l-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 1080px) {
    /* 1 column at size M */
    .Grid--m-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size M */
    .Grid--m-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size M */
    .Grid--m-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 960px) {
    /* 1 column at size S */
    .Grid--s-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size S */
    .Grid--s-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size S */
    .Grid--s-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 900px) {
    /* 1 column at size XS */
    .Grid--xs-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size XS */
    .Grid--xs-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size XS */
    .Grid--xs-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 620px) {
    /* 1 column at size XXS */
    .Grid--xxs-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size XXS */
    .Grid--xxs-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size XXS */
    .Grid--xxs-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 320px) {
    /* 1 column at size XXXS */
    .Grid--xxxs-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size XXXS */
    .Grid--xxxs-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size XXXS */
    .Grid--xxxs-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 15:23:21
 */


.Title--margin-20 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.Title,
.richtext h1, .richtext h2, .richtext h3, .richtext h4, .richtext h5, .richtext h6 {
    display: block;
}
.Title:first-child,
.richtext h1:first-child, .richtext h2:first-child, .richtext h3:first-child, .richtext h4:first-child, .richtext h5:first-child, .richtext h6:first-child {
    margin-top: 0;
}
.Title a {
    color: inherit;
    text-decoration: none;
}
.Title a:hover {
    color: #0c7298;
}
.HomePartners .Title a:hover {
    color: #fff;
}

.Title--big {
    font-size: 6rem;
}

.Title--1,
.richtext h1 {
    font-family: "ButlerStencil Bold", serif;
    font-size: 4.5rem;
    font-weight: normal;
    margin: 0 0 3rem;
    text-align: center;
    color: #26b1d5;
}
.richtext h1 {
    margin: 3rem 0;
}

.Subtitle,
.richtext .Subtitle {
    font-family: "Montserrat Light", sans-serif;
    font-size: 2.4rem;
    font-weight: normal;
    margin: 0 0 3rem;
    text-align: center;
    color: #26b1d5;
}
.richtext .Subtitle,
.richtext h2.Subtitle,
.richtext h3.Subtitle,
.richtext h4.Subtitle {
    font-size: 2rem;
    margin: 4rem 0 3rem;
    color: #26b1d5;
}
a.Subtitle,
.Subtitle > a {
    text-decoration: none;
}
a.Subtitle:hover,
.Subtitle > a:hover {
    text-decoration: none;
    color: #0c7298;
}
.Title + .Subtitle {
    margin-top: -3rem;
}

.Bloc + .Subtitle {
    margin-top: 3rem;
}

.Title--2,
.richtext h2 {
    color: #0c7298;
    font-size: 2rem;
    margin: 3rem 0 2rem;
    font-weight: normal;
}

.Title--3,
.richtext h3 {
    font-size: 2.5rem;
    font-weight: normal;
    font-family: "Montserrat Medium", sans-serif;
    margin: 1.8rem 0;
    color: #0c7298;
}
.Title--2 + .Title--3,
.richtext h2 + h3 {
    margin-top: -2rem;
}

.Title--4,
.richtext h4 {
    font-size: 2.2rem;
    font-family: "ButlerStencil Regular", serif;
    margin: 1.6rem 0;
    color: #68c7e2;
}

.Title--3 + .Title--4,
.richtext h3 + h4 {
    margin-top: -1.8rem;
}

.Title--5,
.richtext h5 {
    font-size: 1.6rem;
    font-weight: normal;
    margin: 1.6rem 0;
}
.Title--4 + .Title--5,
.richtext h4 + h5 {
    margin-top: -1.8rem;
}

.Title--6,
.richtext h6 {
    font-size: 1em;
    font-weight: bold;
    margin: 1.5rem 0;
}
.Title--5 + .Title--6,
.richtext h5 + h6 {
    margin-top: -1.5rem;
}

.Title--left,
.Subtitle--left {
    text-align: left;
}

.Title--marginLeftNegative {
    margin-left: -1.2rem;
}

.Subtitle--noMargin {
    margin: 0;
}

.ColorPage-body.richtext h1,
.ColorPage-body.richtext h2,
.ColorPage-body.richtext h3,
.ColorPage-body.richtext h4,
.ColorPage-body.richtext h5,
.ColorPage-body.richtext h6 {
    color: white;
}

@media (max-width: 1024px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.8rem;
    }
}

@media (max-width: 960px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.6rem;
    }
    .Subtitle {
        font-size: 2.2rem;
    }
}

@media (max-width: 640px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.4rem;
    }
    .Subtitle {
        font-size: 2rem;
    }
}

@media (max-width: 420px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.2rem;
    }
    .Subtitle {
        font-size: 1.8rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 10:50:09
 */

.Table {
    width: 100%;
    border-collapse: collapse;
}

.Table tr,
.Table td {
    vertical-align: top;
}

.Table thead th {
    text-transform: uppercase;
    font-weight: normal;
}

.Table--spaceLines th,
.Table--spaceLines td {
    padding: .5em;
}
.Table--spaceLines th:first-child,
.Table--spaceLines td:first-child {
    padding-left: 0;
}
.Table--spaceLines th:last-child,
.Table--spaceLines td:last-child {
    padding-right: 0;
}

.Table--thLeft th {
   text-align: left;
   padding-right: 2em;
}

.Table--2--1-2 tr > *:first-child {
    width: 33%;
}
.Table--2--1-2 tr > *:last-child {
    padding-left: 2rem;
}

.Table--center {
    width: auto;
    margin: 0 auto;
}
.Table--min70width {
    min-width: 70%;
}

.Table--rowsSeparator tr + tr {
    border-top: 1px solid #d7d7d7;
}

.Table--thMinWidth11 th {
    min-width: 10.5em;
}

.Table tr.togglableLine {
    display: none;
}
.Table.open tr.togglableLine {
    /*display: table-row;*/
}

.Table-toggler {
    display: block;
    text-align: center;
    font-size: 3rem;
    line-height: 1;
}

.Table.Table--verticalCenterLines th,
.Table th.Table-cell--verticalCenter,
.Table.Table--verticalCenterLines td,
.Table td.Table-cell--verticalCenter {
    vertical-align: middle;
}

.Table-cell--icon {
    width: 1.5em;
}

.Table-cell--big {
    font-size: 2rem;
    font-weight: bold;
}

@media (max-width: 1080px) {
    /* 1 column at size M */
    .Table--m-1,
    .Table--m-1 tr,
    .Table--m-1 th,
    .Table--m-1 td,
    .Table--m-1.Table--2--1-2 tr > *:first-child,
    .Table--m-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--m-1 tr + tr {
        margin-top: 1rem;
    }
}
@media (max-width: 960px) {
    /* 1 column at size S */
    .Table--s-1,
    .Table--s-1 tr,
    .Table--s-1 th,
    .Table--s-1 td,
    .Table--s-1.Table--2--1-2 tr > *:first-child,
    .Table--s-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--s-1 tr + tr {
        margin-top: 1rem;
    }
}
@media (max-width: 900px) {
    /* 1 column at size XS */
    .Table--xs-1,
    .Table--xs-1 tr,
    .Table--xs-1 th,
    .Table--xs-1 td,
    .Table--xs-1.Table--2--1-2 tr > *:first-child,
    .Table--xs-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--xs-1 tr + tr {
        margin-top: 1rem;
    }
}
@media (max-width: 620px) {
    /* 1 column at size XXS */
    .Table--xxs-1,
    .Table--xxs-1 tr,
    .Table--xxs-1 th,
    .Table--xxs-1 td,
    .Table--xxs-1.Table--2--1-2 tr > *:first-child,
    .Table--xxs-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--xxs-1 tr + tr {
        margin-top: 1rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 17:33:55
 */

.Btn {
    display: inline-block;
    font-family: "Montserrat Medium", sans-serif;
    text-decoration: none;
    padding: 0.5rem 2rem;
    margin: 15px 0 0;
    color: #fff;
    background: #0c7298;
    border: 1px solid transparent;
    border-radius: 0;
    /*transition: .5s background ease, .5s box-shadow ease, .5s border ease;*/
}

.Btn:hover {
    text-decoration: none;
    /*box-shadow: 0 0 8px 2px rgba(0, 0, 0, .3);*/
}
.Btn:focus {
    /*outline: thin dotted;*/
    /*outline-offset: -5px;*/
}
.Btn:active {
    /*background: #000;*/
    /*box-shadow: none;*/
}
.Btn:focus:active {
    /*outline: none;*/
}



.BtnGroup {
    margin: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.BtnGroup .Btn {
    margin: 2px;
}

.Btn--secondary {
    background-color: transparent;
    border-color: #0c7298;
    color: #0c7298;
    font-family: "Montserrat Medium", sans-serif;
    flex: 1;
}

/**
        Secondary button
**/

.Btn--secondary--blue1 {
    border-color: #60c4e0;
    color: #60c4e0;
}

.Btn--secondary--blue2 {
    border-color: #26b1d5;
    color: #26b1d5;
}

.Btn--secondary--orange {
    border-color: #ed700f;
    color: #ed700f;
}

.Btn--secondary--red {
    border-color: #cf4217;
    color: #cf4217;
}

.Btn--secondary.active {
    color: white;
    background-color: #0c7298;
}

.Btn--secondary--blue1.active {
    color: white;
    background-color: #60c4e0;
}

.Btn--secondary--blue2.active {
    color: white;
    background-color: #26b1d5;
}

.Btn--secondary--orange.active {
    color: white;
    background-color: #ed700f;
}

.Btn--secondary--red.active {
    color: white;
    background-color: #cf4217;
}

/**
        Gradient button
**/

.Btn--orangeGradient {
    display: inline-block;
    min-width: 350px;
    min-height: 60px;
    text-align: center;
    padding: 17px;
    background-color: transparent;
    background-image: url('../../../assets/btn-orange-gradient.svg');
    background-repeat: no-repeat;
    background-position: center top;
    color: white;
    font-family: "Montserrat Bold", sans-serif;
    text-decoration: none;
    font-size: 1em;
    line-height: 1em;
    transition: transform 0.5s;
    border: 0;
}
.Btn--orangeGradient--xs {
    min-width: 200px;
    min-height: 30px;
    padding: 10px;
    font-size: 1.2em;
    line-height: 1em;
}
.Btn--orangeGradient:hover {
    transform: scale(1.03);
}

.Btn--blueGradient {
    display: inline-block;
    min-width: 350px;
    min-height: 60px;
    text-align: center;
    padding: 23px 30px;
    background-color: transparent;
    background-image: url('../../../assets/btn-blue-gradient.svg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
    color: white;
    font-family: "Montserrat SemiBold", sans-serif;
    text-decoration: none;
    font-size: 1em;
    line-height: 2.4em;
    transition: transform 0.5s;
    border: 0;
}
.Btn--blueGradient:hover {
    transform: scale(1.03);
}

.Btn-Quadrilateral--blue {
    display: inline-block;
    min-width: 350px;
    min-height: 60px;
    text-align: center;
    padding: 23px 30px;
    background-image: url('../../../assets/btn-blue.svg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
    color: white;
    font-family: "Montserrat SemiBold", sans-serif;
    text-decoration: none;
    font-size: 1em;
    line-height: 1em;
    transition: transform 0.5s;
}


/**
        Primary button
**/

.Btn-primary {
    background-color: #606060;
    color: white;
    padding: 0.5rem 2rem;
    text-decoration: none;
    font-family: "Montserrat SemiBold", sans-serif;
    transition: transform 0.2s;
    display: inline-block;
    border: none;
}

.Btn-primary:hover,
.Btn-primary:focus,
.Btn-primary:active {
    text-decoration: none;
    color: white;
    transform: scale(1.05);
}

.Btn--red {
    background-color: #cf4217;
}

.Btn--orange {
    background-color: #ed700f;
}

.Btn--blue3 {
    background-color: #0c7298;
}


@media (max-width: 1025px) {
    .BtnGroup {
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .Btn-Quadrilateral--blue, .Btn--orangeGradient, .Btn--blueGradient {
        min-width: 250px;
        min-height: 30px;
        font-size: 0.8em;
    }

    .Btn--blueGradient {
        padding: 16px 10px;
    }

    .Btn--orangeGradient--2lines {
        padding: 10px 17px;
    }
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:41:14
 */

.TopBar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    padding: 1rem;
    height: auto;
    z-index: 900;
    background: #fff;
}

.TopBar-logo,
.TopBar-logo img {
    height: 150%;
    z-index: 1100;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 09:41:26
 */

.LocaleSwitcher {
    list-style: none;
    padding: 0;
    margin: 0;
}

.LocaleSwitcher-item {
    display: inline;
}

.LocaleSwitcher-item + .LocaleSwitcher-item {
    margin-left: 1em;
}

.LocaleSwitcher-item-link {
    text-decoration: none;
    color: inherit;
    transition: color .5s ease;
}
.LocaleSwitcher-item-link:hover {
    color: #000;
    text-decoration: underline;
}

.LocaleSwitcher-item.active,
.LocaleSwitcher-item.active .LocaleSwitcher-item-link {
    color: #1e0d68;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:30:22
 */

.Slider {
    position: relative;
    padding-bottom: 40%;
}
.Slider--15-10 {
    padding-bottom: 66.7%;
}

.Slider-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.Slider-item,
.slick-initialized .Slider-item {
    position: relative;
    display: flex;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.Slider-content .slick-list {
    height: 100%;
    width: 100%;
}
.Slider-content .slick-track {
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
}

.Slider-content .slick-prev:after,
.Slider-content .slick-next:after
{
    border-color: #fff;
}
.Slider-item-copyright {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: .5rem 1.5rem;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.4);
}

.Slider-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.Slider-overlay-text {
    color: #000;
    margin-top: 1em;
    text-transform: uppercase;
    text-align: center;
}

.Slider-item-video {
    width: 100%;
}

.Slider-item-muteIcon {
    position: absolute;
    top: 2rem;
    right: 2rem;
    height: 3rem;
    visibility: visible;
    transition: visibility .5s ease, opacity .5s ease;
    pointer-events: none;
}
.Slider-item-muteIcon.inactive {
    visibility: hidden;
    opacity: 0;
}

@media (max-width: 800px) {
    .Slider-overlay-text {
        font-size: .8em;
    }
}

@media (max-width: 520px) {
    .RaceCountdown {
        font-size: .4rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 11:20:49
 */

.Carousel {
    position: relative;
    display: block;
}
.Carousel--full {
    padding-bottom: 0;
}
.Carousel[data-slides-to-show="3"] {
    padding-bottom: 56.25%;
}
.Carousel--short {
    padding-bottom: 50%;
}

.Carousel-content {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.Carousel--full .Carousel-content {
    position: relative;
}

.Carousel-content .slick-list {
    height: auto;
    width: 100%;
}
.Carousel-content .slick-track {
    display: flex;
    align-items: start;
    height: auto;
    width: 100%;
}
.Carousel-content .slick-prev {
    left: 2rem;
}
.Carousel-content .slick-next {
    right: 2rem;
}


.Carousel-item,
.slick-initialized .Carousel-item {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 0 1rem;
    background: #28dbc4;
    color: #1e0d68;
    border-radius: 1.2rem;
    overflow: hidden;
    transition: background .5s ease, color .5s ease;
}
.Carousel--full .Carousel-item{
    background: white;
}

a.Carousel-item {
    text-decoration: none;
}
a.Carousel-item:hover {
    text-decoration: none;
    background-color: #1e0d68;
    color: #fff;
}



.Carousel-item-imageWrapper {
    display: block;
    overflow: hidden;
    flex: 1;
    transition: transform 1s ease;
}
.Carousel-item-image {
    display: block;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform 1s ease;
}
a.Carousel-item:hover .Carousel-item-imageWrapper .Carousel-item-image {
    transform: scale(1.1);
}

.Carousel-item-content {
    padding: 1rem;
}

.Carousel-item-title {
    display: block;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 500; /* Medium */
}

.Carousel-item-subtitle {
    display: block;
    margin: 1rem 0 0;
    padding: 0;
    text-transform: uppercase;
}

.Carousel--margin {
    margin: 4rem;
}

.Carousel--margin .Carousel-content .slick-prev {
    left: -3.6rem;
}
.Carousel--margin .Carousel-content .slick-next {
    right: -3.6rem;
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-10 18:38:40
 */

.CarouselVideo {
}

.CarouselVideo .slick-track {
    display: flex;
}
.CarouselVideo .slick-slide {
    height: auto;
}
.slick-initialized .slick-slide.CarouselVideo-item {
    display: flex;
    flex-direction: column;
}

.CarouselVideo-item {
    margin: 0 1rem;
    display: block;
    text-align: left;
    border-radius: .6rem;
    color: #fff;
    background: #28dbc4;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
}

.CarouselVideo-item-videoWrapper {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: .6rem .6rem 0 0;
    transition: transform 1s ease;
    background: #000;
}
.CarouselVideo-item-videoHolder {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.CarouselVideo-imageContainer {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
    display: flex;
    background: #000;
}
.CarouselVideo-image {
    display: block;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform .5s ease;
}

.CarouselVideo-imageContainer .CarouselVideo-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.CarouselVideo-image-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.CarouselVideo-image-overlay-icon {
    width: 20%;
    transition: transform .5s ease;
}

.CarouselVideo-item[onclick]:hover .CarouselVideo-image {
    transform: scale(1.1);
}
.CarouselVideo-item[onclick]:hover .CarouselVideo-image-overlay-icon {
    transform: scale(.9);
}

.CarouselVideo-item-video {
    width: 100%;
    height: 100%;
}

.CarouselVideo-item-content {
    display: block;
    padding: 1em;
    flex: 1;
    transition: background .5s ease, color .5s ease;
}

.CarouselVideo-item-title {
    display: block;
    margin: 0;
    font-weight: bold;
    color: #1e0d68;
    text-decoration: none;
    transition: color .5s ease;
}
a.CarouselVideo-item-content {
    text-decoration: none;
    color: inherit;
}

.CarouselVideo-item-subtitle {
    display: block;
    font-size: .9em;
}

.CarouselVideo-item-text,
.CarouselVideo-item p.CarouselVideo-item-text {
    margin: 1rem 0 0 0;
    padding: 0;
}

.CarouselVideo-item[onclick]:hover,
.CarouselVideo-item-content:hover {
    color: #fff;
    background: #1e0d68;
}

.CarouselVideo-item[onclick]:hover .CarouselVideo-item-title,
.CarouselVideo-item-content:hover .CarouselVideo-item-title {
    color: #fff;
}

.CarouselVideo-content .slick-prev {
    left: -3.3rem;
}
.CarouselVideo-content .slick-next {
    right: -3.3rem;
}


@media (max-width: 720px) {
    .CarouselVideo {
        margin-left: 3rem;
        margin-right: 3rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:47:43
 */

.MainMenu {
    flex: 1;
    display: flex;
    font-family: "ButlerStencil Regular", serif;
    font-size: 2.4rem;
}

.MainMenu-homeLink {
    z-index: 1000;
}

.MainMenu-logo {
    width: 4rem;
    height: auto;
    max-width: 52px;
}

.MainMenu-items {
    flex: 1;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    padding-bottom: 13rem;
    text-align: center;
    z-index: 1200;
    position: fixed;
    background: white;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: 1s top ease, 1s opacity ease, 1s visibility ease;
    overflow: auto;
    top: -100vh;
    left: 0;
    right: 0;
    bottom: 0;
}

.MainMenu.open .MainMenu-items {
    top: 0;
    opacity: 1;
    visibility: visible;
}

.MainMenu-item {
    display: block;
    font-weight: bold;
    color: #ed700f;
    margin: 0;
    transition: .5s padding ease;
}

.MainMenu-item-link {
    text-decoration: none;
    margin: 0;
    color: #ed700f;
    transition: .5s border-bottom-color ease, .5s padding ease, 0.5s color ease;
    display: block;
    text-align: center;
    padding: 10px;
}

.MainMenu-item-link::after {
    content: '';
    width: 4rem;
    border-bottom: #cf4217 2px solid;
    display: block;
    margin: 0 auto;
    height: .4rem;
    opacity: 0;
    transition: .5s opacity ease;
}

.MainMenu-item-link:hover,
.MainMenu-item-link.active,
.MainMenu-item.active-ancestor .MainMenu-item-link,
.MainMenu-item:hover > .MainMenu-item-link {
    text-decoration: none;
    color: #cf4217;
}

.MainMenu-item-link:hover::after,
.MainMenu-item-link.active:after,
.MainMenu-item.active-ancestor .MainMenu-item-link:after,
.MainMenu-item:hover > .MainMenu-item-link:after {
    opacity: 1;
}

.MainMenu-addon {
    position: fixed;
    bottom: 1rem;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    text-align: center;
    z-index: 1201;
    color: #0c7298;
    transition: 1s opacity ease, 1s visibility ease;
    font-size: 1.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;

}

.MainMenu.open .MainMenu-addon {
    opacity: 1;
    visibility: visible;
}

.MainMenu-addon a{
    display: inline-block;
    width: 15rem;
    margin: 1rem;
}

/* Burger menu button */
.MainMenu-btn {
    opacity: 1;
    visibility: visible;
    position: absolute;
    top: 50%;
    right: 24px;
    cursor: pointer;
    width: 24px;
    margin: -8px 0 0;
    padding: 0;
    border: none;
    border-bottom: 3px solid #26b1d5;
    outline-offset: 5px;
    background: none;
    transition: padding .5s ease-in-out, background 1.5s ease-out, border-radius .5s ease-in-out, .5s opacity ease, .5s visibility ease, border-color .4s ease-in-out;
    z-index: 1201;
}
.MainMenu-btn:before {
    content: "";
    display: block;
    margin-bottom: 4px;
    border-bottom: 3px solid #cf4217;
    transition: transform .4s ease-in-out, border-color .4s ease-in-out;
}
.MainMenu-btn:after {
    content: "";
    display: block;
    margin-bottom: 4px;
    border-bottom: 3px solid #ed700f;
    transition: transform .4s ease-in-out, border-color .4s ease-in-out;
}
.MainMenu.open .MainMenu-btn {
    border-color: transparent;
}
.MainMenu.open .MainMenu-btn:before {
    transform: translateY(5px) rotate(-135deg);
    border-color: #cf4217;
}
.MainMenu.open .MainMenu-btn:after {
    transform: translateY(-2px) rotate(135deg);
    border-color: #cf4217;
}

@media (max-height: 750px) {
    .MainMenu {
        font-size: 2rem;
    }
    .MainMenu-item-link {
        line-height: 2rem;
        padding: 8px;
    }
    .MainMenu-item-link::after {
        height: 0;
    }
}

@media (max-height: 500px) {
    .MainMenu {
        font-size: 1.8rem;
    }
    .MainMenu-item-link {
        line-height: 1.8rem;
        padding: 5px;
    }
    .MainMenu-item-link::after {
        height: 0;
    }
}


.Search {
    flex: 1;
    margin: 0;
    padding: .5rem 0;
    text-align: center;
    z-index: 1200;
    position: fixed;
    background: white;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: 1s top ease, 1s opacity ease, 1s visibility ease;
    overflow: auto;
    top: -100vh;
    left: 0;
    right: 0;
    bottom: 0;
}

.Search > div {
    display: flex;
    justify-content: center;
}

.Search-results {
    padding-bottom: 5rem;
}

.Search form {
    display: flex;
    flex-direction: column;
    margin: 3rem;
    width: 300px;
    max-width: 80%;
}

.Search-input {
    background-color: #eeeeee;
    border : none;
    margin-bottom: 6rem;
}

.Search--open .Search {
    top: 0;
    opacity: 1;
    visibility: visible;
}

.Search-btn {
    opacity: 1;
    visibility: visible;
    position: absolute;
    top: 50%;
    right: 70px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    margin: -12px 0 0;
    padding: 0;
    border: none;
    outline-offset: 5px;
    background: none;
    transition: padding .5s ease-in-out, background 1.5s ease-out, border-radius .5s ease-in-out, .5s opacity ease, .5s visibility ease, border-color .4s ease-in-out;
    z-index: 1201;
}

.Search-btn img {
    width: 90%;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .4s ease-in-out;
}
.Search--open .Search-btn img {
    opacity: 0;
}

.Search-btn:before {
    content: "";
    display: block;
    margin-bottom: 4px;
    border-bottom: 3px solid transparent;
    transition: transform .4s ease-in-out, border-color .4s ease-in-out;
}
.Search-btn:after {
    content: "";
    display: block;
    margin-bottom: 4px;
    border-bottom: 3px solid transparent;
    transition: transform .4s ease-in-out, border-color .4s ease-in-out;
}
.Search--open .Search-btn:before {
    transform: translateY(5px) rotate(-135deg);
    border-color: #606060;
}
.Search--open .Search-btn:after {
    transform: translateY(-2px) rotate(135deg);
    border-color: #606060;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-04-19 09:24:21
 */

.SimpleMenu {
}

.SimpleMenu-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.SimpleMenu-list-item {
    display: block;
    margin: 0;
}

.SimpleMenu-list-item-link {
    text-decoration: none;
    color: #0c7298;
}

.SimpleMenu-list-item-link:hover {
    text-decoration: underline;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 15:54:31
 */

.SecondaryMenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.SecondaryMenu-item {
    display: inline-block;
    margin: 0;
    text-transform: uppercase;
}
.SecondaryMenu-item + .SecondaryMenu-item::before {
    content: '/';
    margin: 0 .5em;
}

.SecondaryMenu-item-link {
    display: inline-block;
    text-transform: uppercase;
    text-decoration: none;
    color: inherit;
    transition: color .5s ease;
}

.SecondaryMenu-item-link:hover {
    color: #000;
    text-decoration: underline;
}

.SecondaryMenu-item-subMenu {
    position: absolute;
    font-size: 1.4rem;
    right: 0;
    list-style: none;
    margin: 0;
    padding: 1rem 0 ;
    text-align: left;
    background: #1e0d68;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: .5s opacity ease, .5s visibility ease;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item {
    display: block;
    margin: 0;
    padding: 0;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item + .SecondaryMenu-item::before {
    display: none;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item-link {
    display: block;
    padding: .6rem 4rem;
    margin: 0;
    text-align: left;
    transition: .5s color ease, .5s background-color ease;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item-link:hover {
    text-decoration: none;
    color: #fff;
}

.SecondaryMenu-item:hover > .SecondaryMenu-item-subMenu {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 930px) {
    .SecondaryMenu-item-link {
        padding: .5rem;
    }
    .SecondaryMenu-item-subMenu {
        bottom: 5rem;
        left: 0;
    }
    .SecondaryMenu-item-subMenu .SecondaryMenu-item-link {
        text-align: center;
        padding: 1rem 2rem;
    }
    .SecondaryMenu-item-subMenu .SecondaryMenu-item-link:hover {
        background: #000;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-04-19 09:24:21
 */

.PageMenu {
    margin: 3rem 0;
}

.PageMenu-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.PageMenu-list-item {
    display: inline-block;
    margin: 0;
    text-transform: uppercase;
}
.PageMenu-list-item + .PageMenu-list-item::before {
    content: '|';
    display: inline-block;
    margin: 0 .6em;
}

.PageMenu-list-item-link {
    text-decoration: none;
    font-weight: bold;
    color: #28dbc4;
}

.PageMenu-list-item-link:hover {
    text-decoration: underline;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

.MainBody {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 4rem 140px 2rem 140px;
}

.MainBody--fullWidth {
    max-width: unset;
    padding-right: 0;
    padding-left: 0;
}

.MainBody p {
    margin: 3rem 0;
}

.MainBodyBgWrapper {
    padding-bottom: 4rem;
    background: #28dbc4;
}
.MainBodyBgWrapper--light {
    background: #5ec4e1;
}

.MainBody--color-white {
    background-color: white;
}
.MainBody--color-conseil {
    background-color: #62d3ed;
}
.MainBody--color-graphisme {
    background-color: #26b1d5;
}
.MainBody--color-blue3 {
    background-color: #0c7298;
}
.MainBody--color-presse, .MainBody--color-orange {
    background-color: #f67322;
}
.MainBody--color-redaction, .MainBody--color-red {
    background-color: #cd4217;
}

.MainBody--incline::before {
    content: '';
    display: block;
    height: 0;
    width: 100%;
    margin-top: -98px;
    position: absolute;
    border-right: 2500px solid transparent;
    border-bottom: 100px solid white;
    right: 0;
}

.MainBody--inclineVertical::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 200px 2000px 0;
    border-color: transparent #f67322 transparent transparent;
    position: absolute;
    right: -1px;
    bottom: 0;
}

.MainBody--crevette {
    padding-top: 120px;
}

.MainBody--crevette::before {
    content: '';
    display: block;
    width: 350px;
    height: 225px;
    background-image: url('../../../assets/crevette.png');
    background-repeat: no-repeat;
    position: absolute;
    margin-top: -150px;
    margin-left: -30px;
}

.MainBody--raie {
    padding-top: 120px;
}

.MainBody--raie::before {
    content: '';
    display: block;
    width: 350px;
    height: 225px;
    background-image: url('../../../assets/raie.svg');
    background-repeat: no-repeat;
    position: absolute;
    margin-top: -240px;
    margin-left: -30px;
}

.MainBody--ecrevisse {
    position: relative;
    margin: 0 10rem;
    text-align: center;
}

.MainBody--ecrevisse::after {
    content: '';
    display: block;
    width: 315px;
    height: 160px;
    background-image: url('../../../assets/ecrevisse_white.png');
    background-repeat: no-repeat;
    position: absolute;
    left: -18rem;
    bottom: 5vh;
}

.MainBody--bancPoisson::after {
    content: '';
    display: block;
    width: 350px;
    height: 500px;
    background-image: url('../../../assets/banc_poisson.svg');
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: -1;
    position: absolute;
    /* margin-top: -150px; */
     margin-left: -150px;
    left: 0;
    bottom: initial;
    top: 75rem;
}

.MainBody--bancPoisson--left::after {
    margin-left: initial;
    left: initial;
    right: 0;
    bottom: 15rem;
    top: initial;
}

.MainBody--coquillageBleu::after {
    content: '';
    display: block;
    width: 150px;
    height:150px;
    background-image: url('../../../assets/coquillage_bleu.png');
    background-repeat: no-repeat;
    margin-top: -100px;
    margin-bottom: 50px;
}

.MainBody--crabe {
    position: relative;
}

.MainBody--crabe::before {
    content: '';
    display: block;
    width: 200px;
    height: 260px;
    background-image: url('../../../assets/crabes.png');
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: -35px;
    bottom: 0px;
}

.MainBody--crabe--bottom::before {
    right: -50px;
    bottom: -110px;
}

.MainBody--coquillages {
    position: relative;
}
.MainBody--coquillages::before {
    content: '';
    display: block;
    width: 200px;
    height: 220px;
    background-image: url('../../../assets/coquillages.png');
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

.MainBody--bird {
    position: relative;
}
.MainBody--bird::before {
    content: '';
    display: block;
    width: 7rem;
    height: 7rem;
    background-image: url('../../../assets/bird.svg');
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 5rem;
}

.MainBody--moulins {
    position: relative;
}
.MainBody--moulins::before {
    content: '';
    display: block;
    width: 250px;
    height: 100px;
    background-image: url('../../../assets/moulins.png');
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: 0;
    top: 0;
}

.MainBody--poulpes > div {
    margin-bottom: 8rem;
}
.MainBody--poulpes::before {
    content: '';
    display: block;
    width: 50rem;
    height: 40rem;
    background-image: url('../../../assets/poulpes.png');
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    right: 5rem;
    top: 5rem;
}

@media (max-width: 1080px) {
    .MainBody {
        padding-right: 100px;
        padding-left: 100px;
    }
}

@media (max-width: 800px) {
    .MainBody {
        padding-right: 70px;
        padding-left: 70px;
    }
}

@media (max-width: 640px) {
    .MainBody {
        padding-right: 40px;
        padding-left: 40px;
    }
}

.MainBody--large {
    max-width: 1400px;
    padding-right: 100px;
    padding-left: 100px;
}

.MainBody--small {
    max-width: 800px;
    padding-right: 120px;
    padding-left: 120px;
}

.MainBody--noTopPadding {
    padding-top: 0;
}

@media (max-width: 1281px) {
    .MainBody,
    .MainBody--large {
        padding-right: 40px;
        padding-left: 40px;
    }

    .MainBody--large {
        max-width: 1000px;
    }

    .MainBody--ecrevisse {
        margin: 0 1rem;
    }
}

@media (max-width: 1025px) {

    .MainBody--large {
        max-width: 700px;
    }
}

@media (max-width: 900px) {
    .MainBody--inclineVertical {
        height: 40vh;
    }

    .MainBody--inclineVertical::after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        margin-top: -98px;
        position: absolute;
        border-right: 1000px solid transparent;
        border-bottom: 80px solid #f67322;
        right: 0;
    }

    .MainBody--ecrevisse::after {
        width: 191px;
        height: 100px;
        left: -3rem;
        top: -12vh;
        background-size: 100%;
    }

    .MainBody--ecrevisse {
        margin: 0 2rem;
    }
}

@media (max-width: 720px) {
    .MainBody {
        padding-top: 3rem;
    }
    .MainBody,
    .MainBody--large {
        padding-right: 10px;
        padding-left: 10px;
    }

    .MainBody--large {
        max-width: 650px;
    }

    .MainBody--bird::before {
        display: none;
    }

    .MainBody--bancPoisson::after {
        display: none;
    }

    .MainBody--crevette::before {
        width: 201px;
        height: 150px;
        margin-top: -8rem;
        background-size: 100%;
    }
    .MainBody--crevette {
        padding-top: 5rem;
    }

    .MainBody--crabe::before {
        display: none;
    }
}




.MainFooter {
    position: relative;
    background: #e6e6e6;
    font-family: 'Montserrat Medium', sans-serif;
    color: #0c7298;
    font-size: 0.9em;
}

.MainFooter p {
    margin-top: 0;
    margin-bottom: 0;
}

.MainFooter a {
    color: #0c7298;
    text-decoration: none;
}

.MainFooter a:hover, .MainFooter a:active, .MainFooter a:focus {
    color: #0c7298;
    text-decoration: underline;
}

.MainFooter-logo {
    margin-bottom: 2rem;
    display: inline-block;
}
.MainFooter-logo img {
    width: 12rem;
}

.MainFooter-signature {
    margin-top: 2rem;
    font-size: 0.8em;
    opacity: 0.6;
}

@media (max-width: 720px) {
    .MainFooter .Grid--4 {
        padding: 0 3rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-01 09:01:58
 */

.Pagination {
    text-align: center;
    margin: 3rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ed700f;
}

.Pagination-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.Pagination-item {
    display: inline-block;
    margin: 0;
}
.Pagination-item + .Pagination-item {
    margin-left: -1px;
}
.Pagination-item.active {
    font-weight: bold;
}

.Pagination-item-link {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding: .8rem 1.2rem;
    color: inherit;
    border: 1px solid #ed700f;
    transition: color .5s ease, background-color .5s ease, border-color .5s ease;
}
.Pagination-item-link:hover {
    text-decoration: none;
    color: #fff;
    background: #ed700f;
    border-color: #ed700f;
}


.Pagination-item.disable .Pagination-item-link,
.Pagination-item.disable .Pagination-item-link:hover {
    color: #ed700f;
    background: none;
    z-index: 1;
}

.Pagination-item.active {
    z-index: 1;
}
.Pagination-item.active .Pagination-item-link {
    color: #fff;
    background: #ed700f;
    border-color: #ed700f;
}

.Pagination-item--previous,
.Pagination-item--next {
}
.Pagination-item--previous .Pagination-item-link {
    border-radius: 0;
}
.Pagination-item--next .Pagination-item-link {
    border-radius: 0;
}
.Pagination-item--previous .Pagination-item-link::before,
.Pagination-item--next .Pagination-item-link::after {
    color: #ed700f;
    transition: color .5s ease;
}
.Pagination-item--previous .Pagination-item-link::before {
    content: '<<';
    margin-right: .5em;
}
.Pagination-item--next .Pagination-item-link::after {
    content: '>>';
    margin-left: .5em;
}
.Pagination-item--previous .Pagination-item-label,
.Pagination-item--next .Pagination-item-label {
}
.Pagination-item--previous .Pagination-item-link:hover::before,
.Pagination-item--next .Pagination-item-link:hover::after {
    color: #ed700f;
}
.Pagination-item--previous.disable .Pagination-item-link::before,
.Pagination-item--next.disable .Pagination-item-link::after,
.Pagination-item--previous.disable .Pagination-item-link:hover::before,
.Pagination-item--next.disable .Pagination-item-link:hover::after {
    color: #ed700f;
}

@media (max-width: 640px) {
    .Pagination-item--previous .Pagination-item-label,
    .Pagination-item--next .Pagination-item-label {
        display: none;
    }
}

@media (max-width: 500px) {
    .Pagination-item {
        display: none;
    }
    .Pagination-item.active,
    .Pagination-item--previous,
    .Pagination-item--next {
        display: inline-block;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 15:47:42
 */

.Bloc {
    /*position: relative;*/ /* Safari fix: remove relative position, it cause bug on borders when bloc has border radius and overflow content */
    background: #fff;
    overflow: hidden;
    margin-bottom: 2rem;
    transform: translate3d(0, 0, 0); /* Safari fix for border radius, overflow and child css transform. Also compensate removing of relative positionning, because "transform" creates a context for absolute positionning like relative position */
}
.Bloc--noVerticalMargin {
    margin-top: 0;
    margin-bottom: 0;
}

/* Lets grid handle spacing when mixed in */
.Grid > .Bloc {
    margin: 0;
}

.Bloc-content,
.Bloc-footer {
    padding: 1.5em 2.25em;
}
.Bloc-content p {
    margin: .8em 0;
}
.Bloc-content > p:first-child {
    margin-top: 0;
}
.Bloc-content > p:last-child {
    margin-bottom: 0;
}
.Bloc-content--bg {
    background: #fff;
}
.Bloc-content--doublePadding {
    padding: 3em 4.5em;
}

.Bloc-content--doublePadding + .Bloc-footer
.Bloc-footer--noPaddingTop {
    padding-top: 0;
}


.Bloc-image {
    display: block;
    width: 100%;
}

.Bloc-title {
    font-weight: bold;
    text-transform: uppercase;
    margin: 0 0 1em;
    padding: 0;
    color: #1e0d68;
}
.Bloc > .Bloc-title {
    margin-top: 1.5em;
    margin-right: 1.5em;
    margin-left: 1.5em;
}
.Bloc > .Bloc-title + .Bloc-content {
    padding-top: 0;
}

.Bloc-subtitle {
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
    margin: 1rem 0 .5rem;
    padding: 0;
    color: #1e0d68;
}
.Bloc-subtitle:first-child {
    margin-top: 0;
}

.Bloc-content + .Bloc-content {
    border-top: 2px solid #f2f2f2;
}

.Bloc--cut {
    padding-bottom: 5.2rem;
}
.Bloc--cut::after {
    position: absolute;
    bottom: -50rem;
    left: -1px;
    right: -1px;
    content: '';
    display: block;
    height: 50rem;
    background: #efefef;
    transform-origin: bottom left;
    transform: skew(0deg, -10deg);
}
.Bloc--cut.Bloc--small {
    padding-bottom: 3rem;
}

.Bloc--alignBottomWithTopCut {
    margin-bottom: 5.2rem;
}

.Bloc--nextToBlocCut {
    padding-bottom: 5.2rem;
}
.Bloc--nextToBlocCut::after {
    position: absolute;
    bottom: 0rem;
    left: 0;
    right: 0;
    content: '';
    display: block;
    height: 5.2rem;
    background: #efefef;
}
.Bloc--nextToBlocCut.Bloc--jsResize {
    padding-bottom: 0;
}
.Bloc--nextToBlocCut.Bloc--jsResize::after {
    display: none;
}

.Bloc--round {
    border-radius: 1.2rem;
}
.Bloc--roundTop {
    border-radius: 1.2rem 1.2rem 0 0;
}
.Bloc--roundTopLeft {
    border-radius: 1.2rem 0 0;
}
.Bloc--roundTopRight {
    border-radius: 0 1.2rem 0 0;
}
.Bloc--roundBottom {
    border-radius: 0 0 1.2rem 1.2rem;
}
.Bloc--roundBottomLeft {
    border-radius: 0 0 0 1.2rem;
}
.Bloc--roundBottomRight {
    border-radius: 0 0 1.2rem 0;
}

.Bloc--small.Bloc--round {
    border-radius: .6rem;
}
.Bloc--small.Bloc--roundTop {
    border-radius: .6rem .6rem 0 0;
}
.Bloc--small.Bloc--roundTopLeft {
    border-radius: .6rem 0 0;
}
.Bloc--small.Bloc--roundTopRight {
    border-radius: 0 .6rem 0 0;
}
.Bloc--small.Bloc--roundBottom {
    border-radius: 0 0 .6rem .6rem;
}
.Bloc--small.Bloc--roundBottomLeft {
    border-radius: 0 0 0 .6rem;
}
.Bloc--small.Bloc--roundBottomRight {
    border-radius: 0 0 .6rem 0;
}

.Bloc--bgWaves {
    color: #fff;
    /*background: #28dbc4 url(../../../../../web/img/waves.svg) no-repeat bottom center / 102% auto;*/
}

.Bloc-collapsing {
    max-height: 0;
    transition: max-height .5s linear;
    overflow: hidden;
}
.Bloc-toggler {
    position: relative;
    cursor: pointer;
    transition: color .5s ease;
}
.Bloc-toggler::before {
    content: '';
    position: absolute;
    top: 1rem;
    left: -1.5rem;
    /*margin-top: -2.5rem;*/
    border-left: .5rem solid currentColor;
    border-top: .5rem solid transparent;
    border-bottom: .5rem solid transparent;
    transition: color .5s ease, transform .5s ease;
}
.Bloc-toggler:hover {
    color: #000;
}

.Bloc-toggler--dots {
    display: block;
    text-align: left;
    max-height: 1.5em;
    transition: max-height 2s ease-out;
}
.Bloc-toggler--dots::before {
    display: none;
}
.Bloc-toggler--dots::after {
    content: '...';
}

.Bloc.expand .Bloc-collapsing {
    max-height: 10000px;
    transition: max-height 1s;
}
.Bloc.expand .Bloc-toggler::before {
    transform: rotateZ(90deg);
}
.Bloc.expand .Bloc-toggler--dots {
}
.Bloc.expand .Bloc-toggler--dots::after {
    margin-top: 1em;
    content: '';
    display: block;
    width: .5em;
    height: .5em;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(-45deg);
}

/* breakpoints is aligned with Grid--s-1 */
@media (max-width: 960px) {
    .Bloc--alignBottomWithTopCut {
        margin-bottom: 0;
    }
}

@media (max-width: 620px) {
    .Bloc--cut {
        padding-bottom: 0;
    }
    .Bloc--cut::after {
        display: none;
    }
    .Bloc--nextToBlocCut {
        padding-bottom: 0;
    }
    .Bloc--nextToBlocCut::after {
        display: none;
    }

    .Bloc-content,
    .Bloc-footer {
        padding: 1em 1.8em;
    }
}

@media (max-width: 480px) {
    .Bloc-content,
    .Bloc-footer {
        padding: 1em 1.4em;
    }
}

@media (min-width: 931px) {
    .Bloc.expandExceptMobile .Bloc-collapsing {
        max-height: 10000px;
    }
    .Bloc.expandExceptMobile .Bloc-toggler::before {
        display: none;
    }
    .Bloc.expandExceptMobile .Bloc-toggler--dots::after {
        display: none;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 17:51:55
 */

.Tabs {
}

.Tabs-nav {
    display: flex;
    align-items: center;
    justify-content: center;
}

.Tabs-nav.Tabs-nav--marginBottom {
    margin-bottom: 2rem;
}
.Tabs-nav-item {
    position: relative;
    text-align: center;
    text-decoration: none;
    padding: 1rem 2rem;
    text-transform: uppercase;
    font-weight: bold;
    margin-top: 2px;
    border-bottom: 2px solid transparent;
    color: #1e0d68;
    transition: color .5s ease, border-bottom-color .5s ease;
}
.Tabs-nav-item:hover {
    text-decoration: none;
    border-bottom-color: currentColor;
}
.Tabs-nav-item:hover::after {
    content: '';

}
.Tabs-nav-item.open {
    color: #28dbc4;
}

.Tabs-contents {
    position: relative;
    transition: height 1s ease;
}

.Tabs-content {
    position: absolute;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity 1s ease, visibility 1s ease;
}

.Tabs-content.open {
    visibility: visible;
    opacity: 1;
}

.Tabs-nav--big {
    font-size: 1.3em;
}
.Tabs-nav--big .Tabs-nav-item {
    border-bottom-width: 3px;
}

@media (max-width: 720px) {

    .Tabs--responsive .Tabs-nav {
        display: block;
    }
    .Tabs--responsive .Tabs-nav-item {
        display: block;
        text-align: left;
        border: none;
    }
    .Tabs--responsive .Tabs-nav-item::before {
        content: '';
        display: inline-block;
        margin-right: .5em;
        border-left: .5rem solid currentColor;
        border-top: .5rem solid transparent;
        border-bottom: .5rem solid transparent;
        transition: color .5s ease, transform .5s ease;
    }

    .Tabs--responsive .Tabs-nav-item.open::before {
        transform: rotateZ(90deg);
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 17:19:18
 */

.Card {
    display: block;
    /*position: relative;*/ /* Safari fix: remove relative position, it cause bug on borders when bloc has border radius and overflow content */
    transform: translate3d(0, 0, 0); /* Safari fix: compensate removing of relative positionning, because "transform" creates a context for absolute positionning like relative position */
    transition: background-color .5s ease;
    background-color: #f2f2f2;
    overflow: initial;
    margin-top: 3rem;
    margin-left: 3rem;
}

.Card-imageContainer {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 67%;
    overflow: hidden;
    display: flex;
}
.Card-imageContainer--portrait {
    padding-bottom: 121%;
}
.Card-imageContainer--cover {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.Card-image {
    display: block;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform .5s ease;
}
.Card-imageContainer .Card-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.Card-image-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.Card-image-overlay-icon {
    height: 5rem;
}
.Card--small .Card-image-overlay-icon {
    height: 4.5rem;
}

.Card-tag {
    display: block;
    position: absolute;
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
    top: 0;
    right: 0;
    padding: .2rem 2rem;
    color: #1e0d68;
    background-color: #28dbc4;
}

.Card:hover .Card-imageContainer .Card-image {
    transform: scale(1.05);
}


.Card-surtitle,
.Card-subtitle {
    display: block;
    font-size: 0.8em;
    line-height: 1;
    margin: 0 0 1rem;
    color: #606060;
    transition: color .5s ease;
}
.Card-surtitle-tag {
    display: inline-block;
    color: #ed700f;
    margin-right: 5px;
    transform-origin: left;
}
.Card-surtitle-date {
    display: inline-block;
}

.Card-title {
    display: block;
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 1rem;
    padding: 0;
    font-weight: 500; /* Medium */
    color: #0c7298;
    font-family: "Montserrat SemiBold", sans-serif;
}
.Card-title > a {
    color: inherit;
    text-decoration: none;
}
.Card-title > a:hover {
    text-decoration: none;
}
.Card--big .Card-title {
    font-size: 3.2rem;
}
.Card-title--small {
    font-size: 1.2em;
}
.Card-title--ucase {
    text-transform: uppercase;
}

.Card-content {
    display: block;
    padding: 2em;
}
.Bloc--jsResize.Bloc--cut.Card .Card-content {
    padding-bottom: .5rem;
}

.Card-text,
p.Card-text {
    margin: 1rem 0;
    padding: 0;
}

.Card-link {
    display: block;
    margin-top: 2rem;
}

.Card.Bloc--cut .Card-link {
    position: absolute;
    text-align: left;
}

.Card--absoluteLink {
    padding-bottom: 3rem;
}
.Card--absoluteLink .Card-link {
    position: absolute;
    bottom: -1.5rem;
    right: 1.5rem;
}

.Card[onclick]:hover {
    background-color: #e0e0e0;
}
.Card[onclick]:hover .Card-surtitle,
.Card[onclick]:hover .Card-subtitle,
.Card[onclick]:hover .Card-link {
    /*color: #fff;*/
}

.Card--small .Card-content {
    padding: 1.6rem;
}
.Card--small .Card-surtitle {
    font-size: 1.3rem;
}
.Card--small .Card-title {
    font-size: 1.6rem;
}
.Card--small .Card-surtitle-tag {
    font-size: 1.1rem;
    margin-right: 0;
}
.Card--small .Card-link {
    margin-top: 0;
}

.Card--coquillage::after {
    content: '';
    display: block;
    width: 8rem;
    height: 8rem;
    background-image: url('../../../assets/coquillage_orange.png');
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: -3rem;
    top: -3rem;
}

.Article-list--homePage .Card--coquillage::after {
    background: none;
}

@media (max-width: 720px) {
    .Card--big .Card-title {
        font-size: 2.6rem;
    }
}
@media (max-width: 620px) {
    .Card.Bloc--cut .Card-link {
        position: fixed;
    }

    .Card--absoluteLink {
        padding-bottom: 0;
    }
    .Card--absoluteLink .Card-link {
        position: fixed;
    }

    .Card-content {
        padding: 1.8em;
    }
}
@media (max-width: 620px) {
    .Card--big .Card-title {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .Card-content {
        padding: 1.4em;
    }
}

.CardThumbs {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}
.CardThumb {
    margin: 0 1%;
    flex: 1;
}
.CardThumb-image {
    max-width: 100%;
}
.CardThumb-content {
    padding: 1em 0;
}
.CardThumb-content p {
    margin: 1em 0;
}
.CardThumb-title {
    display: block;
    font-family: 'Simplon', sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 1rem;
    padding: 0;
    font-weight: 500;
    color: #1e0d68;
}

@media (max-width: 900px) {
    .CardThumbs {
        flex-wrap: wrap;
    }
    .CardThumb {
        width: 23%;
        flex: 0 0 auto;
    }
}

@media (max-width: 800px) {
    .CardThumb {
        margin: 0 2%;
        width: 29.333%;
    }
}

@media (max-width: 550px) {
    .CardThumb {
        width: 46%;
    }
}

.CardTile {
    height: 200px;
    vertical-align: center;
    background: #28dbc4;
    color: #1e0d68;
    text-align: center;
    padding: 1.5em;
    font-size: 1.4em;
    display: inline-block;
    text-decoration: none;
}
.CardTile:hover{
    background: #1e0d68;
    color: #fff;
    text-decoration: none;
}
.CardTile-icon {
    display: block;
    margin: 0 auto 20px auto;
    max-width: 90px;
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 10:31:49
 */

.ProfileCard {
    display: flex;
    flex-direction: column;
}

.ProfileCard-item {
}

.ProfileCard-item--fluid {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ProfileCard-imageContainer {
    position: relative;
}

.ProfileCard-image {
    display: block;
}

.ProfileCard-imageCopyright {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: .2rem .6rem;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.4);
}

.ProfileCard-flagContainer {
    display: flex;
    align-items: center;
}

.ProfileCard-header {
}
.ProfileCard-flag {
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, .2);
}
.ProfileCard-titleContainer {
}

.ProfileCard-title {
    font-size: 2.4rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    color: #1e0d68;
}
.ProfileCard-title a {
    color: inherit;
    text-decoration: none;
}
.ProfileCard-title a:hover {
    text-decoration: none;
    color: #28dbc4;
}

.ProfileCard-label {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
}
.ProfileCard-ranking {
    font-size: 3.2rem;
    font-weight: bold;
    color: #28dbc4;
}
.ProfileCard-points {
    font-size: 3.2rem;
    color: #28dbc4;
}
.ProfileCard-coefficient {
    font-size: 2.4rem;
    font-weight: bold;
    color: #28dbc4;
}

a.ProfileCard-ranking,
a.ProfileCard-points {
    text-decoration: none;
}
a.ProfileCard-ranking:hover,
a.ProfileCard-points:hover {
    color: #1e0d68;
}

@media (min-width: 1024px) {
    .ProfileCard-ranking,
    .ProfileCard-points {
        font-size: 4rem;
    }
}

@media (min-width: 1200px) {
    .ProfileCard-ranking,
    .ProfileCard-points {
        font-size: 6rem;
    }
}


@media (max-width: 620px) {
    .ProfileCard-header {
        text-align: center;
    }
    .ProfileCard-flagContainer {
        display: inline-block;
    }
    .ProfileCard-flag {
        margin-right: 1em;
    }
    .ProfileCard-titleContainer {
        display: inline-block;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 16:34:34
 */

.BriefCard {
    display: flex;
    text-decoration: none;
}
.BriefCard + .BriefCard {
    margin-top: .7em;
    padding-top: .7em;
    border-top: 1px solid #000;
}

.BriefCard-date {
    width: 4em;
    margin-right: .5em;
}

.BriefCard-title {
    display: block;
    font-weight: bold;
}

.BriefCard-content {
    flex: 1;
    position: relative;
    height: 4.2rem;
}

.BriefCard-content-overflowContainer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}
.BriefCard-content-overflowContainer .BriefCard-title,
.BriefCard-content-overflowContainer .BriefCard-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.BriefCard:hover {
    text-decoration: none;
    color: #28dbc4;
}
.BriefCard:hover .BriefCard-date {
}
.BriefCard:hover .BriefCard-title {
    color: #28dbc4;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 17:35:09
 */

.Breadcrumb {
    margin: 0 0 2.5rem;
    padding: 0;
    list-style: none;
    text-align: left;
    font-family: "Montserrat Medium", sans-serif;
    font-size: 1.2em;
}

.Breadcrumb-item {
    margin: 0;
    display: inline;
    color: #ed700f;
}
.Breadcrumb-item::before {
    content: '>';
    margin: 0 .5em;
    color: #ed700f;
}
.Breadcrumb-item:first-child::before {
    display: none;
}
.Breadcrumb-item:last-child {
    color: #0c7298;
    font-family: "Montserrat Bold", sans-serif;
    max-width: 300px;
    display: inline-block;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    vertical-align: bottom;
}

.Breadcrumb-item-link, .Breadcrumb span {
    color: inherit;
    text-decoration: none;
}
.Breadcrumb a:hover {
    text-decoration: underline;
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 09:48:54
 */

.SocialNetworks {
    display: flex;
    align-items: center;
}

.SocialNetworks-link {
    display: flex;
    flex: 1 1 auto;
    padding: 0 .5rem;
    max-width: 5.5rem;
    justify-content: center;
    align-items: center;
}

.SocialNetworks-icon {
    width: 100%;
    /*max-width: 5.5rem;*/
    /*max-height: 5.5rem;*/
    border-radius: 50%;
    fill: #fff;
    transition: fill .5s ease;
}
.SocialNetworks-link:hover svg.SocialNetworks-icon {
    fill: #1e0d68;
}

.SocialNetworks--small .SocialNetworks-link{
    max-width: 3.5rem;
}
.SocialNetworks--small .SocialNetworks-icon{
    /*max-width: 3.5rem;*/
    /*max-height: 3.5rem;*/
}

.SocialNetworks--centered {
    justify-content: center;
    padding: 2rem;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-26 17:36:53
 */

.RaceEditionWinnerCard {
}

.RaceEditionWinnerCard a {
    color: inherit;
    text-decoration: none;
}
.RaceEditionWinnerCard a:hover {
    color: #28dbc4;
    text-decoration: none;
}

.RaceEditionWinnerCard-title {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    transform: scale(.7, 1);
    transform-origin: left;
    font-size: 1rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 .4rem;
    color: #28dbc4;
}
.RaceEditionWinnerCard-title a {
    color: inherit;
    text-decoration: none;
}
.RaceEditionWinnerCard-title a:hover {
    color: inherit;
    text-decoration: none;
    color: #1e0d68;
}

.RaceEditionWinnerCard-skipper,
.RaceEditionWinnerCard-boat {
    font-weight: bold;
}

.RaceEditionWinnerCard-coSkipper {
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 09:27:58
 */

.RaceCountdown {
    display: inline-block;
    color: #1e0d68;
    font-size: 1.4rem;
}

.RaceCountdown-title {
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    font-size: 1.2em;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 .3em 0;
    padding: .5em 6em;
    line-height: 1.3;
    text-align: center;
    border: 1px solid #1e0d68;
    border-radius: 1em 1em 0 0;
}

.RaceCountdown-content {
    display: flex;
}
.RaceCountdown-content-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 100em;
    justify-content: center;
    padding: 1.4em 2.1em;
    border: 1px solid #1e0d68;
    visibility: visible;
    opacity: 1;
    transition: max-width 1s ease, padding 1s ease, visibility 1s ease, opacity 1s ease, margin-left 1s ease;
    transform: translateZ(0); /* Force GPU use, to avoid IOS Safari leaving junk pixels on screens (caused by border-radius calculation) */
}
/*.RaceCountdown-content-item:first-child {
    border-radius: 0 0 0 1em;
}
.RaceCountdown-content-item:last-child {
    border-radius: 0 0 1em 0;
}*/
.RaceCountdown-content-item + .RaceCountdown-content-item {
    margin-left: .3em;
}
.RaceCountdown-value {
    font-family: 'Simplon', sans-serif;
    font-weight: bold;
    font-size: 4.3em;
    line-height: 1;
    width: 1.2em;
    text-align: center;
}
.RaceCountdown-days .RaceCountdown-value {
    width: auto;
}

.RaceCountdown-content-item.hide {
    max-width: 0;
    opacity: 0;
    padding: 0;
    visibility: hidden;
    overflow: hidden;
    margin-left: 0;
    border-width: 0;
}
.RaceCountdown-content-item.hide + .RaceCountdown-content-item {
    margin-left: 0;
}
.RaceCountdown-content-item.hide .RaceCountdown-value {
    width: auto;
}

.RaceCountdown-label {
    font-weight: 300; /* Light */
    text-transform: uppercase;
    font-size: 1.8em;
    line-height: 1;
}

@media (max-width: 920px) {
    .RaceCountdown {
        font-size: 1.2rem;
    }
}

@media (max-width: 800px) {
    .RaceCountdown {
        font-size: 1rem;
    }
}

@media (max-width: 540px) {
    .RaceCountdown {
        font-size: .6rem;
    }
}

@media (max-width: 320px) {
    .RaceCountdown {
        font-size: .4rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 15:15:11
 */

.EmbedMap {
    position: relative;
    padding-bottom: 66.7%;
}

.EmbedMap-iframe {
    display: block;
    border: none;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

@media (max-width: 920px) {
    .EmbedMap {
        padding-bottom: 100%;
    }
}

@media (max-width: 740px) {
    .EmbedMap {
        padding-bottom: 120%;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 18:11:31
 */

.Banner {
    position: relative;
    display: block;
    width: 100%;
}

.Banner--marginTop {
    margin-top: 1rem;
}
.Banner--fullHeight {
    height: 100%;
}

.Banner-image {
    display: block;
    width: 100%;
    height: 90vh;
}

.Banner-image-light {
    height: 40vh;
}

.Banner-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    pointer-events: none;
}

.Banner-title {
    color: #fff;
    text-transform: uppercase;
    font-size: 3rem;
    font-weight: bold;
}

.Banner-copyright {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: .5rem 1.5rem;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.4);
}

.Banner-btn {
    color: #fff;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    margin-top: 1rem;
    padding: 1rem 8rem;
    border: 1px solid #fff;
    transition: border-color .5s ease, background-color .5s ease;
    pointer-events: auto;
}
.Banner-btn:hover {
    text-decoration: none;
    background-color: #1e0d68;
    border-color: #1e0d68;
}

@media (max-width: 1200px) {
    .Banner-title {
        font-size: 2.6rem;
    }
}

@media (max-width: 1024px) {
    .Banner-title {
        font-size: 2rem;
    }
}

@media (max-width: 720px) {
    .Banner-title {
        font-size: 1.6rem;
    }
}

.HomePage-seatosea {
    padding-top: 15vh;
    padding-left: 15vw;
    padding-right: 15vw;
    text-align: left;
    min-height: 100vh;
}

.HomePage-seatosea h2{
    font-size: 8rem;
    text-align: right;
    margin-top: -50px;
    line-height: 7rem;
    display: inline-block;
    width: 100%;
}

.HomePage-seatosea h2 span:nth-child(1){
    margin-right: 250px;
}

.HomePage-seatosea-logo {
    width: 80%;
    height: auto;
}

.HomePage-ScrollEncourage {
    position: fixed;
    bottom: -30px;
    color: white;
    left: 50%;
    transform: translateX(-50px);
    width: 100px;
    cursor: pointer;
    font-size: 2.5rem;

    animation-duration: 2s;
    animation-name: ScrollEncourage-animation;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.HomePage-ScrollEncourage::after {
    content: '';
    height: 30px;
    border-right: 1px white solid;
    width: 50px;
    display: block;
}

.HomePage-agence .richText {
    padding: 120px 50px;
}

.Execution-home-title {
    font-size: 6rem;
}

.Execution-home-subtitle {
    display: block;
    font-size: 4rem;
    margin-top: -6rem;
}

@keyframes ScrollEncourage-animation {
    0% {
        bottom: -30px;
    }

    50% {
        bottom: 0px;
    }

    100% {
        bottom: -30px;
    }
}

.Event-home header h2 {
    font-size: 7rem;
}

.Event-home header p {
    margin: 0;
}

.Event-home header p span {
    display: block;
    font-size: 3rem;
}

#actus header h2 {
    font-size: 8rem;
}
#actus header > span {
    display: block;
    font-size: 4rem;
    margin-top: -6rem;
}

.Newsletter-home .MainBody--moulins > h2 {
    font-size: 4rem;
}

.Juicer-home .Text-ButlerBold {
    font-size: 8rem;
}
.Juicer-home .Text-MontserratLight {
    font-size: 3.5rem;
    margin-left: 10rem;
}

.HomePage-marque-bretagne{
    position:absolute;
    top:7em;
    right:0;
    max-width:200px;
}

@media (max-width: 1280px) {
    .HomePage-seatosea h2{
        font-size: 6rem;
        margin-top: 10px;
    }
}

@media (max-width: 720px) {

    .HomePage-seatosea {
        min-height: auto;
        padding: 3rem;
        display: flex;
        flex-direction: column;
        line-height: 3rem;
        align-items: center;
    }

    .HomePage-seatosea h2 {
        min-height: auto;
        font-size: 3rem;
        line-height: 3rem;
        margin-top: 3rem;
    }

    .HomePage-seatosea h2 span:nth-child(1) {
        margin-right: auto;
    }

    .HomePage-agence {
        display: flex;
    }

    .HomePage-agence .ImageContainer--cover {
        max-height: 60vh;
    }

    .HomePage-agence .richText {
        padding: 1.5rem;
        max-width: 100%;
    }

    .Prestations-block--home .Grid--2 div:nth-child(2) {
        display: none;
    }

    .Execution-home .MainBody {
        padding-top: 0;
        padding-bottom: 1rem;
    }

    .Execution-home .Grid--2 {
        display: block;
    }

    .Execution-home-title {
        font-size: 4rem;
    }

    .Execution-home-subtitle {
        font-size: 3rem;
        margin-top: -4rem;
    }

    .Event-home.MainBody {
        padding-top: 0;
    }

    .Event-home .Grid--2 {
        display: block;
    }

    .Event-home header {
        margin-bottom: 1rem;
    }

    .Grid--xs-1

    .Event-home header h2 {
        font-size: 4rem;
    }

    .Event-home header p {
        margin-bottom: 2rem;
    }

    .Event-home header p span {
        font-size: 2rem;
    }

    .Event-home .Event-content {
        flex-direction: column;
    }

    .Event-home .Event:hover .Event-text,
    .Event-home .Event.expend .Event-text,
    .Event-home .Event-list--expend .Event-text {
        display: none;
    }

    .MainBody--poulpes::before {
        display: none;
    }

    .Article-list--homePage .Card {
        margin: 0;
    }

    .Article-list--homePage.Article-list-blueBackground::before {
        display: none;
    }

    #actus.MainBody--poulpes > div {
        margin-bottom: 0;
    }

    #actus header h2 {
        font-size: 4rem;
        margin-top: 0;
    }
    #actus header > span {
        font-size: 2rem;
        margin-top: -3rem;
        margin-bottom: 2rem;
    }

    .Newsletter-home .MainBody--moulins::before {
        display: none;
    }

    .Newsletter-home .MainBody--moulins > h2 {
        font-size: 3rem;
    }

    .Juicer-home .Text-ButlerBold {
        font-size: 3rem;
    }
    .Juicer-home .Text-MontserratLight {
        font-size: 1.8rem;
        margin-left: 0;
    }

    .HomePage-marque-bretagne{
        top:70px;
        right:0;
        max-width:100px;
    }
}

.gallery{
    margin:0 4rem 4rem 4rem;
}
.gallery .gallery-item {
    height: 220px;
    width: 220px;
    overflow: hidden;
    margin: 5px;
    text-align: center;
}
.gallery .gallery-item .magnific-popup img {
    display: block;
    margin: 0 auto;
    min-height: 100%;
}


.gallery .slick-dots {
    bottom: -25px;
}
.gallery .slick-dots li button{
    background:#666;
}

.mfp-figure figure {
    margin: 0;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-03 16:39:31
 */

.Scroller {
    position: relative;
    height: 100%;
    padding-right: 3.8rem;
}

.Scroller-content {
    height: 100%;
    overflow: hidden;
}

.Scroller-upBtn,
.Scroller-downBtn {
    position: absolute;
    right: 1.4rem;
    background: none;
    border: none;
    width: 1.4rem;
    height: 1.4rem;
    padding: 0;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    outline: none;
}

.Scroller-upBtn {
    top: 1em;
    transform: rotate(-45deg);
}
.Scroller-downBtn {
    bottom: 1em;
    transform: rotate(135deg);
}

.Scroller-upBtn.off,
.Scroller-downBtn.off {
    opacity: .3;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-08 17:33:37
 */

.Filters {
}

.Filters-filter {
    display: block;
}

.Filters-filter-control[type="checkbox"] {
    display: none;
}

.Filters-filter-control[type="checkbox"] + .Filters-filter-label {
    position: relative;
    display: block;
    font-weight: normal;
    text-decoration: none;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    margin: 0;
    border: none;
    transition: .5s background ease, .5s color ease;
    /*color: #000;
    background: #e0e0e0;*/
}
.Filters-filter-control[type="checkbox"] + .Filters-filter-label:hover,
.Filters-filter-control[type="checkbox"] + .Filters-filter-label:active {
    text-decoration: none;
    color: #fff;
    background: #1e0d68;
}
.Filters-filter-control[type="checkbox"] + .Filters-filter-label:focus {
    outline: thin dotted;
    outline-offset: -5px;
}

.Filters-filter-control[type="checkbox"]:checked + .Filters-filter-label {
    /*color: #1e0d68;
    background: #28dbc4;*/
    font-weight: bold;
    color: #28dbc4;
}

/*
.Filters-filter-control[type="checkbox"]:checked + .Filters-filter-label::after {
    position: absolute;
    left: 1rem;
    top: 50%;
    margin-top: -.75em;
    content:'\2713';
    color: #28dbc4;
}
*/

/*.Filters-menu {
    flex: 1;
    display: flex;
    font-size: 1.2rem;
}

.FiltersMenu-list {
    flex: 1;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    text-align: center;
}

.FiltersMenu-list-item {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #1e0d68;
    text-transform: uppercase;
    margin: 0;
    transition: .5s padding ease;
}

.FiltersMenu-list-item-link {
    display: inline-block;
    text-decoration: none;
    margin: 0 2rem;
    padding: .3rem .6rem;
    color: #1e0d68;
    border-bottom: 2px solid transparent;
    transition: .5s border-bottom-color ease, .5s padding ease;
}

.FiltersMenu-list-item-link:hover,
.FiltersMenu-list-item-link.active,
.FiltersMenu-list-item.active-ancestor .FiltersMenu-list-item-link,
.FiltersMenu-list-item:hover > .FiltersMenu-list-item-link {
    text-decoration: none;
    border-bottom-color: #1e0d68;
}

.FiltersMenu-list-item-subMenu {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
    padding: 1rem 0;
    width: 20rem;
    height: 20rem;
    text-align: left;
    background: #fff;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: .5s opacity ease, .5s visibility ease;
}
.FiltersMenu-list-item-subMenu .FiltersMenu-list-item {
    display: block;
    margin: 0;
    text-transform: none;
}

.FiltersMenu-list-item:hover > .FiltersMenu-list-item-subMenu {
    opacity: 1;
    visibility: visible;
}*/







/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-09 11:55:59
 */

.Article {
}

.Article-title {
    font-family: 'Simplon', sans-serif;
    font-weight: bold;
    text-align: left;
    font-size: 4rem;
    text-transform: uppercase;
    margin: 0;
    color: #1e0d68;
}

.Article-body {
    font-size: 1.6rem;
}

.Article-abstract {
    font-size: 1.2em;
    font-weight: bold;
}

.Article-list-blueBackground::before {
    content: '';
    width: 300vw;
    height: 30rem;
    position: absolute;
    left: -100vw;
    margin-top: 10rem;
    background-color: #62d3ed;
}

.Article-mainAttachement {
    text-align: center;
}

@media (max-width: 960px) {
    .Article-title {
        font-size: 3rem;
    }
}

@media (max-width: 620px) {
    .Article-title {
        font-size: 2.6rem;
    }
}

@media (max-width: 420px) {
    .Article-title {
        font-size: 2.2rem;
    }
}

.Event-list {
    display: flex;
    flex-direction: column;
}

.Event {
    border-radius: 3px;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: row;
    width: 100%;
    margin: 2.5rem 0;
    position: relative;
    cursor: pointer;
}

.Event-number {
    background-color: #f67322;
    width: 100px;
    color: white;
    font-family: "Montserrat Regular", sans-serif;
    border-radius: 3px;
    font-size: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem;
}

.Event > div:nth-child(2) {
    flex: 1;
    padding: 2rem 4rem;
}

.Event-content {
    display: flex;
    flex-direction: row;
    line-height: 3rem;
}

.Event-content div:nth-child(1) {
    flex: 1;
}

.Event-imageContainer {
    height: 130px;
    max-width: 40%;
    padding: 1rem;
}

.Event-imageContainer img{
    object-fit: contain;
    max-width: 100%;
}

.Event-text {
    display: none;
}

.Event.expend .Event-text,
.Event-list--expend .Event-text {
    display: block;
    word-break: break-word;
}

.Event-website {
    position: absolute;
    bottom: -1.5rem;
    right: 20rem;
    display: block;
}

.Event-switcher {
    font-size: 2.5rem;
    color: #0c7298;
    width: 100%;
    text-align: center;
    font-family: "Montserrat SemiBold", sans-serif;
    margin: 1rem 0;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.Event-switcher-month {
    color: #ed700f;
    font-family: "ButlerStencil Bold", serif;
    text-decoration: none;
    margin: 0.5rem;
    padding: 1rem;
}

.Event-switcher-years {
    display: flex;
    flex-direction: column;
    line-height: 0;
}

.Event-switcher-year {
    color: #0c7298;
    font-family: "ButlerStencil Bold", serif;
    text-decoration: none;
    padding: 1rem;
    font-size: 0.8em;
    transform: rotate(90deg);
}

.Event-switcher-year--prev {
    /*margin-top: -2rem;*/
}
.Event-switcher-year--next {
    /*margin-bottom: 2rem;*/
}

.Event-page .MainBody--crevette h1 {
    font-size: 6rem;
    margin: 0;
}

.Event-page .MainBody--crevette h2 {
    font-size: 3.5rem;
    display: block;
}

.Event-content h2 {
    font-size: 2rem;
}

.Event-page .Grid:first-child {
    max-width: 100%;
    min-width: 300px;
}

.Event-page .Grid > div:nth-child(2){
    margin-top: 200px;
}

@media (max-width: 1080px) {

    .Event-page .Grid > div:nth-child(2){
        margin-top: 0;
    }

}

@media (max-width: 720px) {
    .Event-website {
        right: 5rem;
    }

    .Event-page .MainBody--ecrevisse {
        margin-top: 1rem;
    }

    .Event-page .MainBody--crevette h1 {
        font-size: 4rem;
    }

    .Event-page .MainBody--crevette h2 {
        font-size: 1.8rem;
    }

    .Event-switcher {
        font-size: 1.8rem;
        margin: 2rem 0;
    }

    .Event-switcher-month {
        margin: 1rem;
        padding: 1rem;
    }

    .Event-number {
        font-size: 2rem;
    }

    .Event-content h2 {
        font-size: 1.5rem;
    }

    .Event-content {
        flex-direction: column;
    }

    .Event-imageContainer {
        max-width: 100%;
    }
}

.Contact-header h1 {
    width: 80%;
}
.Contact-header h2 {
    width: 60%;
    margin-bottom: 5rem;
}

.Contact-information {
    font-size: 2rem;
    margin-top: 5rem;
    position: relative;
}

.Contact-information a,
.Contact-information a:hover,
.Contact-information a:focus,
.Contact-information a:active {
    text-decoration: none;
    color: white;
    margin-left: 2rem;
    display: block;
}

.Contact-information::before {
    content: '';
    display: block;
    background-size: 100%;
    left: -6rem;
    top: -2rem;
    position: absolute;
    height: 10rem;
    width: 10rem;
    background-repeat: no-repeat;
}

.Contact-information-address::before {
    background-image: url('../../../assets/location_.svg');
}

.Contact-information-mail::before {
    background-image: url('../../../assets/mail_.svg');
}

.Contact-information-phone::before {
    background-image: url('../../../assets/phone_.svg');
}
.Partner-bloc {
    display:flex;
}
.Partner-image {
    flex: 0 0 300px;
    justify-content: center;
    padding: 0 50px;
}
.Partner-image > img {
    max-width: 100%;
}
.Partner-content {
    display: flex;
    flex-direction: column;
}
.Partner-content .richtext {
    flex: 1;
}
.Partner-content p {
    margin: 1em 0;
}
.Partner-title {
    font-size: 2em;
    color: #28dbc4;
    margin: 0;
}
@media (max-width: 600px) {
    .Partner-bloc {
        flex-direction: column;
    }
    .Partner-image {
        flex: 1;
    }
    .Partner-content {
        padding: 0 2em;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-10 15:46:39
 */

.HomeRaces {
    position: relative;
    min-height: 39rem;
}

.HomeRaces-list {
    width: 33%;
}

.HomeRaces-list-title {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 3rem;
    margin: 0 0 .8rem;
    padding: 3rem 0 0;
    color: #28dbc4;
}
.HomeRaces-list-title:first-child {
    padding-top: 0;
}

.HomeRaces-list-item {
    font-weight: bold;
    padding: .2em 0;
    display: flex;
    justify-content: space-between;
}
a.HomeRaces-list-item {
    color: inherit;
    text-decoration: none;
}

.HomeRaces-list-item + .HomeRaces-list-item {
    border-top: 1px solid #c6c6c6;
}

.HomeRaces-list-item-title {
    margin-right: 2rem;
}
.HomeRaces-list-item-date {
}
.HomeRaces-list-item-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 33%;
    background-size: cover;
    background-position: center center;
    visibility: hidden;
    opacity: 0;
    transition: visibility .5s ease, opacity .5s ease;
}

.HomeRaces-list-item.active,
a.HomeRaces-list-item:hover {
    color: #28dbc4;
}
.HomeRaces-list:hover .HomeRaces-list-item.active {
    color: inherit;
}
.HomeRaces-list:hover .HomeRaces-list-item.active:hover {
    color: #28dbc4;
}

.HomeRaces-list-item.active .HomeRaces-list-item-image,
a.HomeRaces-list-item:hover .HomeRaces-list-item-image {
    visibility: inherit;
    opacity: inherit;
}

a.HomeRaces-list-item:hover .HomeRaces-list-item-image {
    z-index: 2;
    background: #fff;
    background-color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.HomeRaces-list-footer {
    margin-top: 3rem;
    text-align: center;
}

@media (max-width: 1400px) {
    .HomeRaces-list-title {
        font-size: 2rem;
    }
}

@media (max-width: 1200px) {
    .HomeRaces-list {
        font-size: 1.2rem;
    }
}

@media (max-width: 920px) {
    .HomeRaces-list {
        width: 100%;
    }
    .HomeRaces-list-item-image {
        display: none;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-22 12:06:58
 */

.FloatBar {
    position: fixed;
    bottom: 80px;
    left: 0;
    padding: 1rem 1rem 0;
    z-index: 19;
    background: #efefef;
    border-radius: 0 1.2rem 0 0;
}
.FloatBar::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 6rem;
    height: 6rem;
    background: #efefef;
    transform-origin: bottom right;
    transform: rotate(-15deg);
    z-index: 10;
}

.FloatBar-link {
    position: relative;
    display: block;
    z-index: 11;
}
.FloatBar-link + .FloatBar-link {
    margin-top: .25rem;
}
.FloatBar-link:hover svg.FloatBar-icon {
    fill: #28dbc4;
}

.FloatBar-icon {
    width: 100%;
    max-width: 2.5rem;
    max-height: 2.5rem;
    fill: #1e0d68;
    transition: fill .5s ease;
}

@media (max-width: 620px) {
    .FloatBar {
        position: static;
        background: none;
        padding: 0;
    }
    .FloatBar::after{
        display:none;
    }
    .FloatBar-link {
        display: inline-block;
    }
    .FloatBar-icon{
        max-width: 3.5rem;
        max-height: 3.5rem;
        margin: 0 .5rem;
    }
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-23 17:25:18
 */

.ShareButton {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
    margin: 0 .5rem;
    line-height: 1;
    background: #28dbc4;
    border: none;
    text-decoration: none;
    color: #fff;
    transition: color .5s ease, background .5s ease;
}

.ShareButton-icon {
    display: inline;
    height: 2rem;
    fill: #fff;
    margin-right: .5em;
}

.ShareButton:hover {
    background: #1e0d68;
}

@media (max-width: 480px) {
    .ShareButton {
        padding: .8rem 1.5rem;
    }
}


.Prestation-title {
    color: #606060;
    position: relative;
    font-size: 3em;
    padding-right: 0px;
}

.Prestation-title--small {
    font-size: 2em;
}

.Prestation-title-top {
    font-family: "ButlerStencil Bold", serif;
    font-size: 1.4em;
    display: block;
    margin-left: 2.1em;
    line-height: 1em;
}

.Prestation-title-and {
    font-family: "ButlerStencil Bold", serif;
    font-size: 3em;
    line-height: 0.1em;
}

.Prestation-title-and:hover, .Prestation-title-and:focus, .Prestation-title-and:active {
    color: #606060;
}

.Prestation-title-and::before {
    content: '';
    height: 0.45em;
    width: 1em;
    position: absolute;
    margin-top: 0;
    margin-left: 0px;
    z-index: -1;
    transition: width 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.Prestations-block--home .Prestation-title:hover .Prestation-title-and::before {
    width: 100%;
}
.Prestations-block--home .Prestation-title:hover .Prestation-title-bottom {
    color: white;
}

.Prestation-title-and--conseil::before {
    background-color: #62d3ed;
}
.Prestation-title-and--graphisme::before {
    background-color: #26b1d5;
}
.Prestation-title-and--presse::before {
    background-color: #f67322;
}
.Prestation-title-and--redaction::before {
    background-color: #cd4217;
}

.Prestation-title-bottom {
    font-family: "Montserrat Regular", sans-serif;
    text-transform: uppercase;
    font-size: 0.7em;
    transition: color 0.5s linear;
}

.Prestation-title-top--conseil {
    color: #62d3ed;
}

.Prestation-title-top--graphisme {
    color: #26b1d5;
}

.Prestation-title-top--presse {
    color: #f67322;
}

.Prestation-title-top--redaction {
    color: #cd4217;
}


.Prestation-picto {
    width: 25rem;
    height: auto;
    max-width: 70%;
}

.Prestation-title ~ div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: end;
}

.Prestation-padding--bottom-lg {
    padding-bottom: 80px;
}

.Prestation-margin--top-lg-negative {
    margin-top: -80px;
}

.Prestation-detail--home {
    font-family: "Montserrat Bold", sans-serif;
    position: absolute;
    display: none;
    margin-left: 100px;
    margin-top: 100px;
    padding: 30px 0 80px 0;
}

.Prestation-detail--home .richtext {
    margin: 0 50px 0 150px;
}

.Prestation-detail--home::before {
    content: '';
    display: block;
    width: 150px;
    height: 150px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: -100px;
    left: -100px;
}

.Prestation-detail--home--conseil {
    display: block;
}

.Prestation-detail--home::after {
    content: '';
    width: 250%;
    height: 94%;
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
    transform: skew(13deg,4deg);
}


.Prestation-detail--home--conseil::after {
    background-color: #60c4e0;
}

.Prestation-detail--home--conseil::before {
    background-image: url('../../../assets/prestation_conseil.png');
}

.Prestation-detail--home--graphisme::after {
    background-color: #26b1d5;
}

.Prestation-detail--home--graphisme::before {
    background-image: url('../../../assets/prestation_graphisme.png');
}

.Prestation-detail--home--presse::after {
    background-color: #f67322;
}

.Prestation-detail--home--presse::before {
    background-image: url('../../../assets/prestation_presse.png');
}

.Prestation-detail--home--redaction::after {
    background-color: #cd4217;
}

.Prestation-detail--home--redaction::before {
    background-image: url('../../../assets/prestation_redaction.png');
}

.Prestations-block--home {
    overflow: hidden;
}

.Prestations-block--home .Prestation-title {
    display: inline-block;
}


.Prestations-block--home h2.Title--2 {
    padding-left: 50px;
}

.Prestations-block--home-title {
    font-size: 8rem;
}

.Prestations-block--home-subtitle {
    font-size: 3.5rem;
    margin-top: -4rem;
}

@media (max-width: 1024px) {
    .Prestation-title {
        font-size: 2.8em;
    }
    .Prestation-detail--home .richtext {
        margin: 0 50px 0 50px;
    }
}

@media (max-width: 960px) {
    .Prestation-title {
        font-size: 2.4em;
    }


    .Prestations-block--home .Grid--2 div:nth-child(2) {
        display: none;
    }
}

@media (max-width: 720px) {

    .Prestations-block--home .Grid--2 {
        display: block;
    }

    .Prestation-title--small {
        font-size: 1.5em;
        grid-column: auto;
    }

    .Prestations-block--home .MainBody {
        padding-top: 0;
        padding-bottom: 0;
    }

    .Prestations-block--home-title {
        font-size: 4.5rem;
    }

    .Prestations-block--home-subtitle {
        font-size: 2rem;
        margin-top: -3rem;
    }

    .Prestation-title {
        font-size: 2em;
    }
}

@media (max-width: 640px) {
    .Prestation-title {
        font-size: 1.8em;
    }
}

@media (max-width: 420px) {
    .Prestation-title {
        font-size: 1.5em;
    }
}

.Execution-clientName {
    font-family: "Montserrat SemiBold", sans-serif;
}

.Execution-prestationTitle {
    font-family: "Montserrat Regular", sans-serif;
    color: white;
    width: 100%;
    line-height: 0.95em;
    height: 1.2em;
    position: relative;
}

.Execution-prestationTitleHover {
    width: 0%;
    height: 100%;
    position: absolute;
    float: left;
    display: inline-block;
    left: 0;
    top: 0;
    z-index: -1;
    transition: width 0.3s;
}

.Execution-prestationTitleLink {
    display: inline-block;
    height: 100%;
    padding: 3px 5px;
    text-decoration: none;
    color: white;

}

.Execution-prestationTitle:hover .Execution-prestationTitleHover{
    width: 100%;
}

.Execution-prestationTitle--conseil .Execution-prestationTitleLink,
.Execution-prestationTitle--conseil .Execution-prestationTitleHover {
    background-color: #62d3ed;
}

.Execution-prestationTitle--graphisme .Execution-prestationTitleLink,
.Execution-prestationTitle--graphisme .Execution-prestationTitleHover {
    background-color: #26b1d5;
}

.Execution-prestationTitle--presse .Execution-prestationTitleLink,
.Execution-prestationTitle--presse .Execution-prestationTitleHover {
    background-color: #ed700f;
}

.Execution-prestationTitle--redaction .Execution-prestationTitleLink,
.Execution-prestationTitle--redaction .Execution-prestationTitleHover {
    background-color: #cf4217;
}

.Execution--summary {
    width: 270px;
    height: 270px;
    background-color: white;
    font-size: 1.5em;
    display: inline-block;
    margin: 10px;
    overflow: hidden;
    text-align: center;
}

.Execution-logo--summary {
    position: relative;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}

.Execution--summary:hover .Execution-logo--summary {
    display: none;
}

.Execution-hover--summary {
    visibility: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.Execution--summary:hover .Execution-hover--summary {
    visibility: visible;
}

.Execution-conseil--summary, .Execution-conseil--summary .Execution-hover--summary {
    background-color: #62d3ed;
}

.Execution-graphisme--summary, .Execution-graphisme--summary .Execution-hover--summary {
    background-color: #26b1d5;
}

.Execution-presse--summary, .Execution-presse--summary .Execution-hover--summary {
    background-color: #f67322;
}

.Execution-redaction--summary, .Execution-redaction--summary .Execution-hover--summary {
    background-color: #cd4217;
}

.Execution-clientName--summary {
    font-family: "ButlerStencil Regular", serif;
    text-decoration: none;
    color: white;
}
.Execution-prestation--summary {
    font-family: "Montserrat Bold", sans-serif;
}

.Execution-hover--summary hr {
    width: 20px;
}

.Execution--hide {
    display: none;
}

.Execution-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}


@media (max-width: 1601px) {
    .Execution--summary {
        width: 230px;
        height: 230px;
        font-size: 1.8rem;
    }
}

@media (max-width: 1281px) {
    .Execution--summary {
        width: 210px;
        height: 210px;
        font-size: 1.6rem;
    }
}

@media (max-width: 1025px) {
    .Execution--summary {
        width: 230px;
        height: 230px;
        font-size: 1.8rem;
    }
}

@media (max-width: 720px) {

    .Execution--summary:hover .Execution-logo--summary {
        display: block;
    }

    .Execution-logo--summary {
        width: 30%;
        height: initial;
        display: block;
    }

    .Execution-hover--summary {
        width: 70%;
        padding: 1rem;
    }

    .Execution--summary {
        display: flex !important;
        align-items: center;
        background-color: white;
        width: 100%;
        height: auto;
        font-size: 1.3rem;
    }
    .Execution-hover--summary {
        visibility: visible;
    }
    .Execution-hover--summary hr {
        margin: 0.5rem 0;
    }
}

.TestimonyZone {
    background-image: url('../../../assets/raies.png');
    background-repeat: no-repeat;
    background-position: top 50px left 0;
    min-height: 500px;
}

.Testimony {
    padding: 50px 30px 0 30px;
    display: flex;
    flex-direction: column;
}

.Testimony img {
    margin-bottom: 20px;
    color: white;
}

.Testimony--text {
    padding-top: 20px;
}

.Testimony-quote::before {
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    background-image: url('../../../assets/quote.png');
    background-repeat: no-repeat;
    position: absolute;
    margin-top: 20px;
}

.Testimony-quote::after {
    content: '';
    width: 50px;
    height: 50px;
    background-image: url('../../../assets/quote.png');
    background-repeat: no-repeat;
    background-size: 100%;
    float: right;
    margin-top: -50px;
    transform: rotate(180deg);
}

.TestimonyZone .slick-prev, .TestimonyZone .slick-next {
    top: 20%;
}
.TestimonyZone .slick-prev::after, .TestimonyZone .slick-next::after {
    border-color: #ed700f;
}

@media (max-width: 720px) {
    .TestimonyZone {
        background-image: none;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-30 09:45:44
 */

.ColorPage {
    color: white;
}

.ColorPage-bloc {
    background-color: transparent;
    color: white;
}

.ColorPage-body {
    padding: 0 15%;
}

@media (max-width: 1160px) {
    .ColorPage-body {
        padding: 0 11%;
    }
}

@media (max-width: 1160px) {
    .ColorPage-body {
        padding: 0 11%;
    }
}

@media (max-width: 850px) {
    .ColorPage-body {
        padding: 0 5%;
    }
}

@media (max-width: 730px) {
    .ColorPage-body {
        padding: 0;
    }
}

.Header--orange {
    position: relative;
    overflow: hidden;
    height: 90vh;
}

.Header--orange h1 {
    font-size: 6rem;
    display: block;
}

.Header--orange h2 {
    font-size: 4rem;
    display: block;
}

.Header--orange h1 span:nth-child(3) {
    font-size: 4rem;
}

.Header--orange div:nth-child(1) {
    position: relative;
    display: flex;
    overflow: hidden;
}

.Header--orange div:nth-child(2) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}


@media (max-width: 1280px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.8rem;
    }
}

@media (max-width: 1024px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.8rem;
    }
}

@media (max-width: 960px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.6rem;
    }
    .Subtitle {
        font-size: 2.2rem;
    }
}

@media (max-width: 900px) {
    .Header--orange {
        padding-bottom: 3rem;
        height: auto;
    }
}

@media (max-width: 720px) {

    .Header--orange h1 {
        font-size: 3.5rem;
    }

    .Header--orange h2 {
        font-size: 2rem;
    }

    .Header--orange h1 span:nth-child(3) {
        font-size: 2rem;
    }


}


.Juicer-box {
    margin-top: 5rem;
    margin-bottom: 1rem;
}
.juicer-feed h1.referral {
    margin: 0;
}

.juicer-feed h1.referral a{
    color: gray;
    opacity: 0.4;
    transform: scale(0.8);
}

.juicer-feed.image-grid .j-text, .juicer-feed.slider .j-text, .juicer-feed.hip .j-text {
    color: white;
    background: #ed700f;
    font-family: "Montserrat Regular", sans-serif;
}

.juicer-feed .feed-item:nth-child(2) .j-text {
    background: #cf4217;
}

.juicer-feed .feed-item:nth-child(3) .j-text {
    background: #26b1d5;
}

.juicer-feed .feed-item:nth-child(4) .j-text {
    background: #0c7298;
}

.juicer-feed.image-grid .j-text .j-message p, .juicer-feed.image-grid .j-text .j-edit p, .juicer-feed.slider .j-text .j-message p, .juicer-feed.slider .j-text .j-edit p, .juicer-feed.hip .j-text .j-message p, .juicer-feed.hip .j-text .j-edit p {
    color: white;
}

.juicer-feed.image-grid .j-text .j-message a, .juicer-feed.image-grid .j-text .j-edit a, .juicer-feed.slider .j-text .j-message a, .juicer-feed.slider .j-text .j-edit a, .juicer-feed.hip .j-text .j-message a, .juicer-feed.hip .j-text .j-edit a {
    color: white;
    font-family: "Montserrat SemiBold", sans-serif;
}

.juicer-feed .j-meta a:hover {
    color: white;
}

.juicer-feed .j-meta a {
    color: white;
}

.Newsletter-list {
    columns: 30rem auto;
    list-style: none;
}

.Newsletter-list li {
    line-height: 1.8em;
}

.Newsletter-list li:before {
    content: ">";
    color: #ed700f;
}

.Newsletter-list li a {
    text-decoration: none;
    color: #0c7298;
}

.Newsletter-list li a:hover, .Newsletter-list li a:focus {
    text-decoration: none;
    color: #ed700f;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:29:04
 */

.clearfix {
    clear: both;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.pull-left {
    float: left;
    margin-right:25px;
    margin-bottom:25px;
}

.pull-right {
    float: right;
}

.media-pullLeft {
    float: left;
    max-width: 50%;
    margin: 0 2rem 2rem 0;
}

.media-pullRight {
    float: right;
    max-width: 50%;
    margin: 0 0 2rem 2rem;
}

.shadow {
    -webkit-box-shadow: 0px 0px 17px 8px rgba(119,119,119,0.1);
    -moz-box-shadow: 0px 0px 17px 8px rgba(119,119,119,0.1);
    box-shadow: 0px 0px 17px 8px rgba(119,119,119,0.1);
}

.shadow--light {
    -webkit-box-shadow: 0px 0px 17px 8px rgba(186,186,186,0.1);
    -moz-box-shadow: 0px 0px 17px 8px rgba(186,186,186,0.1);
    box-shadow: 0px 0px 17px 8px rgba(186,186,186,0.1);
}

.richtext {
    overflow: auto;
}
.richtext img {
    max-width: 100%;
    height: auto;
}

.richtext a {
    color: #cf4217;
}

.Text-blue1 {
    color: #60c4e0;
}

.Text-blue2 {
    color: #26b1d5;
}

.Text-blue3 {
    color: #0c7298;
}


.Text-orange {
    color: #ed700f;
}

.Text-white,
.Text-white a {
    color: white;
}

.Text-MontserratBold {
    font-family: "Montserrat Bold", sans-serif;
}

.Text-MontserratSemibold {
    font-family: "Montserrat SemiBold", sans-serif;
}

.Text-MontserratRegular {
    font-family: "Montserrat Regular", sans-serif;
}

.Text-MontserratLight {
    font-family: "Montserrat Light", sans-serif;
}

.Text-ButlerMedium {
    font-family: 'ButlerStencil Medium', serif;
}

.Text-ButlerBold {
    font-family: 'ButlerStencil Bold', serif;
}

.Link--red {
    color: #cf4217;
    text-decoration: none;
    font-family: "Montserrat Medium", sans-serif;
}

.Link--red:hover, .Link--red:focus, .Link--red:active {
    color: #cf4217;
    text-decoration: underline;
}


.table-container {
    overflow: auto;
}
.table-container-no-wrap {
    white-space: nowrap;
}

.ImageContainer--cover {
    display: flex;
}
.ImageContainer--cover img {
    object-fit: cover;
}

.icon,
.small-icon,
.flag-icon {
    height: 1em;
    width: 1.5em;
    vertical-align: middle;
    position: relative;
    top: -.1em;
    margin-right: .5em;
}
.small-icon {
    width: 1em;
    height: 1em;
}
.flag-icon {
    box-shadow: 0 0 1px 0px rgba(0, 0, 0, .2);
}
.flag-icon-noMargin {
    margin: 0;
}
.flag-label-container {
    display: flex;
}
.flag-label-container .flag-icon {
    top: .15em;
}

.color-link {
    text-transform: uppercase;
    font-weight: bold;
    color: #0c7298;
    text-decoration: none;
}
.color-link:hover {
    text-decoration: underline;
}
.color-hover-link {
    text-decoration: none;
}
.color-hover-link:hover {
    color: #0c7298;
    text-decoration: none;
}
.strong-link {
    font-weight: bold;
    text-decoration: none;
}
.strong-link:hover,
.strong-link a :hover {
    color: #0c7298;
    text-decoration: none;
}

.download-link {
    text-transform: uppercase;
}
.download-link::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .5em;
    background: url('data:image/svg+xml;utf8,<svg enable-background="new 0 0 5.949 8.244" height="8.244" viewBox="0 0 5.949 8.244" width="5.949" xmlns="http://www.w3.org/2000/svg"><path d="m.926 2.772 2.029 3.165 2.068-3.165z"/><path d="m2.439 0h1.07v3.114h-1.07z"/><path d="m0 7.173h5.949v1.07h-5.949z"/><path d="m0 6.137h1.07v1.57h-1.07z"/><path d="m4.878 6.137h1.071v1.57h-1.071z"/></svg>') no-repeat center / auto 100%;
}

.unstyled-list {
    list-style: none;
    padding: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0;
}


.copyright {
    display: block;
    font-size: 1.2rem;
}
.copyright,
.copyright a {
    color: #999;
    text-decoration: none;
}
.copyright a:hover {
    text-decoration: underline;
}

.image-fullWidth {
    display: block;
    width: 100%;
}
.audio-fullWidth {
    width: 100%;
}

.videoHolder {
    position: relative;
    padding-bottom: 56.25%;
}
.videoHolder > * {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.hideMobile {
}
.showMobile {
    display: none;
}
.collapseMobile {
}

.anchor {
    position: relative;
    top: -7.2rem; /* TopBar height*/
}

.flex-column {
    display: flex;
    flex-direction: column;
}
.flex-grow {
    flex-grow: 1;
}
.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.g-recaptcha {
    margin: 5rem 0;
}

.richtext iframe,
.twitter-tweet {
display: block;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.twitter-tweet {
    width: 100% !important;
    max-width: 500px !important;
}

@media (max-width: 720px) {
    .hideMobile {
        display: none;
    }
    .showMobile {
        display: block;
    }
    span.showMobile {
        display: inline;
    }
    td.collapseMobile {
        width: 0;
        min-width: 0;
        padding: 0;
        overflow: hidden;
        display: block;
    }

    .richtext ul {
        padding-left: 3rem;
    }
}

@media (max-width: 420px) {
    .richtext ul {
        padding-left: 2rem;
    }
}

/* Magnific Popup CSS */
.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
    filter: alpha(opacity=80); }

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden; }

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }

.mfp-align-top .mfp-container:before {
    display: none; }

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto; }

.mfp-ajax-cur {
    cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out; }

.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
    cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none; }

.mfp-loading.mfp-figure {
    display: none; }

.mfp-hide {
    display: none !important; }

.mfp-preloader {
    color: #cccccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044; }
.mfp-preloader a {
    color: #cccccc; }
.mfp-preloader a:hover {
    color: white; }

.mfp-s-ready .mfp-preloader {
    display: none; }

.mfp-s-error .mfp-content {
    display: none; }

button.mfp-close, button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    -webkit-box-shadow: none;
    box-shadow: none; }
button::-moz-focus-inner {
    padding: 0;
    border: 0; }

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: white;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace; }
.mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
.mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
    color: #333333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
    color: white;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%; }

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #cccccc;
    font-size: 12px;
    line-height: 18px; }

.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
.mfp-arrow:active {
    margin-top: -54px; }
.mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
.mfp-arrow:after, .mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
.mfp-arrow:before, .mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px; }

.mfp-arrow-left {
    left: 0; }
.mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
    border-right: 17px solid white;
    margin-left: 31px; }
.mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f; }

.mfp-arrow-right {
    right: 0; }
.mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
    border-left: 17px solid white;
    margin-left: 39px; }
.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
    border-left: 27px solid #3f3f3f; }

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
.mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%; }
.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: black; }

/* Main image in popup */
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
    line-height: 0; }
.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444444; }
.mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px; }

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto; }

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #f3f3f3;
    word-wrap: break-word;
    padding-right: 36px; }

.mfp-image-holder .mfp-content {
    max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
    /**
         * Remove all paddings around the image on small screen
         */
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0; }
    .mfp-img-mobile img.mfp-img {
        padding: 0; }
    .mfp-img-mobile .mfp-figure {
        /* The shadow behind the image */ }
    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0; }
    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px; }
    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0; }
    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px; }
    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0; } }

@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.75);
        transform: scale(0.75); }
    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0; }
    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%; }
    .mfp-container {
        padding-left: 6px;
        padding-right: 6px; } }

.mfp-ie7 .mfp-img {
    padding: 0; }
.mfp-ie7 .mfp-bottom-bar {
    width: 600px;
    left: 50%;
    margin-left: -300px;
    margin-top: 5px;
    padding-bottom: 5px; }
.mfp-ie7 .mfp-container {
    padding: 0; }
.mfp-ie7 .mfp-content {
    padding-top: 44px; }
.mfp-ie7 .mfp-close {
    top: 0;
    right: 0;
    padding-top: 0; }
