@charset "UTF-8";
/*
 * Ville de Gland styles principaux pour la version @V2019 (avec nouveau header créé/revert/remis) au format Scss (Sass)
 * by Alsacréations
 *
 * @author: Philippe Vayssière
 * @created: 2019-04-09
 */
/*!
* www.KNACSS.com v6.1.1 (21 avril 2017) @author: Alsacreations, Raphael Goetter
* Licence WTFPL http://www.wtfpl.net/
*/
/* ----------------------------- */
/* ==Table Of Content            */
/* ----------------------------- */
/* 1- Normalize (basic reset) */
/* 2- Base (basic styles) */
/* 3- Print (print quick reset) */
/* 4- Stylings (minor stylings) */
/* 5- Misc (skip links, hyphens) */
/* 6- Tables (data tables consistency) */
/* 7- Forms (forms consistency) */
/* 8- Media object */
/* 9- Autogrid object */
/* 10- Global Layout (alignment, modules, positionning) */
/* 11- Helpers (width and spacers helpers) */
/* (12- WordPress reset (disabled by default)) */
/* 13- Responsive (Responsive Web Design helpers) */
/* 14- Grid Layout (grillade) */
/* ---------------------------------- */
/* ==Normalize (basic reset)          */
/* ---------------------------------- */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * 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;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 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 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in 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"],
[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;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 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,
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;
}

/* ----------------------------- */
/* ==Base (basic styles)         */
/* ----------------------------- */
/* switching to border-box model for all elements */
html {
  box-sizing: border-box;
}

* {
  box-sizing: inherit;
}

html {
  /* set base font-size to equiv "10px", which is adapted to rem unit */
  font-size: 62.5%;
  /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */
  /* thanks to @guardian, @victorbritopro and @eQRoeil */
  font-size: calc(1em * 0.625);
}

body {
  font-size: 1.4rem;
  background-color: #fff;
  color: #4f4f4f;
  font-family: roboto, verdana, sans-serif;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  body {
    line-height: 1.375;
  }
}

a {
  color: #333;
}

ul,
ol {
  padding-left: 2em;
}

img {
  vertical-align: middle;
}

blockquote,
figure {
  margin-left: 0;
  margin-right: 0;
}

/* font-sizing for content */
p,
.p-like,
ul,
ol,
dl,
blockquote,
pre,
td,
th,
label,
textarea,
caption,
details,
figure {
  margin-top: 0.75em;
  margin-bottom: 0;
  line-height: 1.4;
}

h1, .h1-like {
  font-size: 2.8rem;
}

@media screen and (min-width: 768px) {
  h1, .h1-like {
    font-size: 3.6rem;
  }
}

h2, .h2-like {
  font-size: 2.4rem;
}

h3, .h3-like {
  font-size: 2rem;
}

@media screen and (min-width: 768px) {
  h3, .h3-like {
    font-size: 1.8rem;
  }
}

h4, .h4-like {
  font-size: 1.8rem;
}

@media screen and (min-width: 768px) {
  h4, .h4-like {
    font-size: 1.6rem;
  }
}

h5, .h5-like {
  font-size: 1.6rem;
}

h6, .h6-like {
  font-size: 1.4rem;
}

/* alternate font-sizing */
.smaller {
  font-size: 0.6em;
}

.small {
  font-size: 0.8em;
}

.big {
  font-size: 1.2em;
}

.bigger {
  font-size: 1.5em;
}

.biggest {
  font-size: 2em;
}

code,
pre,
samp,
kbd {
  /* IE fix */
  white-space: pre-line;
  white-space: pre-wrap;
  font-family: consolas, courier, monospace;
  line-height: normal;
}

em,
.italic,
address,
cite,
i,
var {
  font-style: italic;
}

/* avoid top margins on first content element */
/*p:first-child,
.p-like:first-child,
ul:first-child,
ol:first-child,
dl:first-child,
blockquote:first-child,
pre:first-child,
h1:first-child,
.h1-like:first-child,
h2:first-child,
.h2-like:first-child,
h3:first-child,
.h3-like:first-child,
h4:first-child,
.h4-like:first-child,
h5:first-child,
.h5-like:first-child,
h6:first-child,
.h6-like:first-child {
  margin-top: 0;
}
*/

header p,
header ul,
footer h2 {
  margin-top: 0;
}


/* avoid margins on nested elements */
li p,
li .p-like,
li ul,
li ol {
  margin-top: 0;
  margin-bottom: 0;
}

/* max values */
img,
table,
td,
blockquote,
code,
pre,
textarea,
input,
video,
svg {
  max-width: 100%;
}

img {
  height: auto;
}

/* ----------------------------- */
/* ==Print (quick print reset)   */
/* ----------------------------- */
@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body {
    width: auto;
    margin: auto;
    font-family: serif;
    font-size: 12pt;
  }
  p,
  .p-like,
  h1,
  .h1-like,
  h2,
  .h2-like,
  h3,
  .h3-like,
  h4,
  .h4-like,
  h5,
  .h5-like,
  h6,
  .h6-like,
  blockquote,
  ul,
  ol {
    color: #000;
    margin: auto;
  }
  .print {
    display: block;
  }
  .no-print {
    display: none;
  }
  /* no orphans, no widows */
  p,
  .p-like,
  blockquote {
    orphans: 3;
    widows: 3;
  }
  /* no breaks inside these elements */
  blockquote,
  ul,
  ol {
    page-break-inside: avoid;
  }
  /* page break before main headers
  h1,
  .h1-like {
    page-break-before: always;
  }
  */
  /* no breaks after these elements */
  h1,
  .h1-like,
  h2,
  .h2-like,
  h3,
  .h3-like,
  caption {
    page-break-after: avoid;
  }
  a {
    color: #000;
  }
  /* displaying URLs
  a[href]::after {
    content: " (" attr(href) ")";
  }
  */
  a[href^="javascript:"]::after,
  a[href^="#"]::after {
    content: "";
  }
}

/* ----------------------------- */
/* ==Stylings (minor stylings)   */
/* ----------------------------- */
/* styling elements */
code,
kbd,
mark {
  border-radius: 2px;
}

kbd {
  padding: 0 2px;
  border: 1px solid #999;
}

code {
  padding: 2px 4px;
  background: rgba(0, 0, 0, 0.04);
  color: #b11;
}

pre code {
  padding: 0;
  background: none;
  color: inherit;
  border-radius: 0;
}

mark {
  padding: 2px 4px;
}

sup,
sub {
  vertical-align: 0;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

blockquote {
  position: relative;
  padding-left: 3em;
  min-height: 2em;
}

blockquote::before {
  content: "\201C";
  position: absolute;
  left: 0;
  top: 0;
  font-family: georgia, serif;
  font-size: 5em;
  height: .4em;
  line-height: .9;
  color: rgba(0, 0, 0, 0.3);
}

blockquote > footer {
  margin-top: .75em;
  font-size: 0.9em;
  color: rgba(0, 0, 0, 0.7);
}

blockquote > footer::before {
  content: "\2014 \0020";
}

q {
  font-style: normal;
}

q,
.q {
  quotes: "“\00a0" "\00a0”";
}

q:lang(fr),
.q:lang(fr) {
  quotes: "«\00a0" "\00a0»";
}

hr {
  display: block;
  clear: both;
  height: 1px;
  margin: 1em 0 2em;
  padding: 0;
  border: 0;
  color: #ccc;
  background-color: #ccc;
}

/* tables */
table,
.table {
  border: 1px solid #ccc;
}

caption {
  padding: 1rem;
  color: #555;
  font-style: italic;
}

td,
th {
  padding: 0.3em 0.8em;
  border: 1px #aaa dotted;
  text-align: left;
}

/* ----------------------------- */
/* ==Misc (skip links, hyphens)  */
/* ----------------------------- */
/* styling skip links */
.skip-links {
  position: absolute;
}

.skip-links a {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0.5em;
  background: black;
  color: white;
  text-decoration: none;
}

.skip-links a:focus {
  position: static;
  overflow: visible;
  clip: auto;
}

.screen-reader-only {
    border: 0;
    clip: rect(0,0,0,0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}


@media (max-width: 767px) {
  /* you shall not pass */
  div,
  textarea,
  table,
  td,
  th,
  code,
  pre,
  samp {
    word-wrap: break-word;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
  }
}

@media (max-width: 767px) {
  .no-wrapping {
    word-wrap: normal;
    -webkit-hyphens: manual;
        -ms-hyphens: manual;
            hyphens: manual;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  img[src$=".svg"] {
    width: 100%;
  }
}

/* ----------------------------- */
/* ==Tables                      */
/* ----------------------------- */
table,
.table {
  table-layout: fixed;
  border-spacing: 0.4rem 0;
  width: calc(100% + 2 * 0.4rem);
  max-width: calc(100% + 2 * 0.4rem);
  border: none;
  margin: 0 -0.4rem;
  margin-bottom: 2rem;
  margin-top: 0.75rem;
  vertical-align: top;
}

.table {
  display: table;
}

#recaptcha_table,
.table-auto {
  table-layout: auto;
}

table th,
table td,
.table th,
.table td {
  min-width: 2rem;
  border: none;
  padding: 1rem 1rem 1.2rem 1.1rem;
  vertical-align: middle;
  cursor: default;
}

table th,
.table th {
  font-weight: 500;
  text-transform: uppercase;
  color: #333;
}

table thead th:not(:empty),
.table thead th:not(:empty) {
  position: relative;
  padding-bottom: 1.5rem;
  color: #fff;
  background-color: #36783b;
}

table thead th:not(:empty):before,
.table thead th:not(:empty):before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 0.5rem;
  background-color: #fff;
}

table tbody tr:nth-child(odd),
.table tbody tr:nth-child(odd) {
  background-color: #f1f2f2;
}

/* ----------------------------- */
/* ==Forms                       */
/* ----------------------------- */
/* thanks to HTML5boilerplate,
* github.com/nathansmith/formalize and www.sitepen.com
*/
/* buttons */
.btn {
  display: inline-block;
}

/* forms items */
form,
fieldset {
  border: none;
}

input,
button,
select,
label,
.btn {
  font-family: inherit;
  font-size: inherit;
}

button,
input,
optgroup,
select,
textarea {
  color: #4f4f4f;
}

label {
  vertical-align: middle;
  cursor: pointer;
}

legend {
  border: 0;
  white-space: normal;
}

textarea {
  min-height: 5em;
  vertical-align: top;
  font-family: inherit;
  font-size: inherit;
  resize: vertical;
}

select {
  -webkit-appearance: menulist-button;
}

/* if select styling bugs on WebKit */
/* select { -webkit-appearance: none; } */
/* 'x' appears on right of search input when text is entered. This removes it */
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

::-webkit-input-placeholder {
  color: #777;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #777;
}

.btn:focus,
input[type="button"]:focus,
button:focus {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* unstyled forms */
button.unstyled,
input[type="button"].unstyled,
input[type="submit"].unstyled,
input[type="reset"].unstyled {
  padding: 0;
  border: none;
  line-height: 1;
  text-align: left;
  background: none;
  border-radius: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button.unstyled:focus,
input[type="button"].unstyled:focus,
input[type="submit"].unstyled:focus,
input[type="reset"].unstyled:focus {
  box-shadow: none;
  outline: none;
}

/* ----------------------------- */
/* ==Global Layout               */
/* ----------------------------- */
/* module, gains superpower "BFC" Block Formating Context */
.mod,
.bfc {
  overflow: hidden;
}

/* blocks that needs to be placed under floats */
.clear {
  clear: both;
}

/* blocks that must contain floats */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
  border-collapse: collapse;
}

/* simple blocks alignment */
.left {
  margin-right: auto;
}

.right {
  margin-left: auto;
}

.center {
  margin-left: auto;
  margin-right: auto;
}

/* text and contents alignment */
.txtleft {
  text-align: left;
}

.txtright {
  text-align: right;
}

.txtcenter {
  text-align: center;
}

/* floating elements */
.fl {
  float: left;
}

img.fl {
  margin-right: 1rem;
}

.fr {
  float: right;
}

img.fr {
  margin-left: 1rem;
}

img.fl,
img.fr {
  margin-bottom: 0.5rem;
}

/* inline-block */
.inbl {
  display: inline-block;
  vertical-align: top;
}

/* flexbox layout
http://www.alsacreations.com/tuto/lire/1493-css3-flexbox-layout-module.html
*/
[class*="flex-container"],
.flex-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex-container-h {
  -ms-flex-direction: row;
      flex-direction: row;
}

.flex-container-v {
  -ms-flex-direction: column;
      flex-direction: column;
}

.flex-item-fluid {
  -ms-flex: 1;
      flex: 1;
  min-width: 0;
}

.flex-item-first,
.item-first {
  -ms-flex-order: -1;
      order: -1;
}

.flex-item-medium,
.item-medium {
  -ms-flex-order: 0;
      order: 0;
}

.flex-item-last,
.item-last {
  -ms-flex-order: 1;
      order: 1;
}

.flex-item-center,
.item-center {
  margin: auto;
}

/* ---------------------------------- */
/* ==Helpers                          */
/* ---------------------------------- */
/* State Helpers */
/* ------------- */
/* invisible for all */
.is-hidden,
[hidden] {
  display: none;
}

/* hidden but not for an assistive technology like a screen reader, Yahoo! method */
.visually-hidden {
  position: absolute !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.is-disabled,
[disabled] {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}

ul.is-unstyled, ul.unstyled {
  list-style: none;
  padding-left: 0;
}

/* Width Helpers */
/* ------------- */
/* blocks widths (percentage and pixels) */
.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w33 {
  width: 33.3333%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w66 {
  width: 66.6666%;
}

.w70 {
  width: 70%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.w50p {
  width: 50px;
}

.w100p {
  width: 100px;
}

.w150p {
  width: 150px;
}

.w200p {
  width: 200px;
}

.w300p {
  width: 300px;
}

@media (min-width: 401px) {
  .w400p {
    width: 400px;
  }
  .w500p {
    width: 500px;
  }
  .w600p {
    width: 600px;
  }
}

@media (min-width: 701px) {
  .w700p {
    width: 700px;
  }
  .w800p {
    width: 800px;
  }
}

@media (min-width: 961px) {
  .w960p {
    width: 960px;
  }
  .mw960p {
    max-width: 960px;
  }
  .w1140p {
    width: 1140px;
  }
  .mw1140p {
    max-width: 1140px;
  }
}

.wauto {
  width: auto;
}

/* Spacing Helpers */
/* --------------- */
.man,
.ma0 {
  margin: 0;
}

.pan,
.pa0 {
  padding: 0;
}

.mas {
  margin: 1rem;
}

.mam {
  margin: 2rem;
}

.mal {
  margin: 4rem;
}

.pas {
  padding: 1rem;
}

.pam {
  padding: 2rem;
}

.pal {
  padding: 4rem;
}

.mtn,
.mt0 {
  margin-top: 0;
}

.mts {
  margin-top: 1rem;
}

.mtm {
  margin-top: 2rem;
}

.mtl {
  margin-top: 4rem;
}

.mrn,
.mr0 {
  margin-right: 0;
}

.mrs {
  margin-right: 1rem;
}

.mrm {
  margin-right: 2rem;
}

.mrl {
  margin-right: 4rem;
}

.mbn,
.mb0 {
  margin-bottom: 0;
}

.mbs {
  margin-bottom: 1rem;
}

.mbm {
  margin-bottom: 2rem;
}

.mbl {
  margin-bottom: 4rem;
}

.mln,
.ml0 {
  margin-left: 0;
}

.mls {
  margin-left: 1rem;
}

.mlm {
  margin-left: 2rem;
}

.mll {
  margin-left: 4rem;
}

.mauto {
  margin: auto;
}

.mtauto {
  margin-top: auto;
}

.mrauto {
  margin-right: auto;
}

.mbauto {
  margin-bottom: auto;
}

.mlauto {
  margin-left: auto;
}

.ptn,
.pt0 {
  padding-top: 0;
}

.pts {
  padding-top: 1rem;
}

.ptm {
  padding-top: 2rem;
}

.ptl {
  padding-top: 4rem;
}

.prn,
.pr0 {
  padding-right: 0;
}

.prs {
  padding-right: 1rem;
}

.prm {
  padding-right: 2rem;
}

.prl {
  padding-right: 4rem;
}

.pbn,
.pb0 {
  padding-bottom: 0;
}

.pbs {
  padding-bottom: 1rem;
}

.pbm {
  padding-bottom: 2rem;
}

.pbl {
  padding-bottom: 4rem;
}

.pln,
.pl0 {
  padding-left: 0;
}

.pls {
  padding-left: 1rem;
}

.plm {
  padding-left: 2rem;
}

.pll {
  padding-left: 4rem;
}

/* -------------------------- */
/* ==Responsive helpers       */
/* -------------------------- */
/* large screens */
/* ------------- */
@media (min-width: 992px) {
  /* layouts for large screens */
  .large-hidden {
    display: none !important;
  }
  .large-visible {
    display: block !important;
  }
  .large-no-float {
    float: none;
  }
  .large-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  /* widths for large screens */
  .large-w25 {
    width: 25% !important;
  }
  .large-w33 {
    width: 33.333333% !important;
  }
  .large-w50 {
    width: 50% !important;
  }
  .large-w66 {
    width: 66.666666% !important;
  }
  .large-w75 {
    width: 75% !important;
  }
  .large-w100,
  .large-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for large screens */
  .large-man,
  .large-ma0 {
    margin: 0 !important;
  }
}

/* medium screens */
/* -------------- */
@media (min-width: 768px) and (max-width: 1199px) {
  /* layouts for medium screens */
  .medium-hidden {
    display: none !important;
  }
  .medium-visible {
    display: block !important;
  }
  .medium-no-float {
    float: none;
  }
  .medium-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  /* widths for medium screens */
  .medium-w25 {
    width: 25% !important;
  }
  .medium-w33 {
    width: 33.333333% !important;
  }
  .medium-w50 {
    width: 50% !important;
  }
  .medium-w66 {
    width: 66.666666% !important;
  }
  .medium-w75 {
    width: 75% !important;
  }
  .medium-w100,
  .medium-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for medium screens */
  .medium-man,
  .medium-ma0 {
    margin: 0 !important;
  }
}

/* small screens */
/* ------------- */
@media (min-width: 768px) and (max-width: 767px) {
  /* layouts for small screens */
  .small-hidden {
    display: none !important;
  }
  .small-visible {
    display: block !important;
  }
  .small-no-float {
    float: none;
  }
  .small-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  /* widths for small screens */
  .small-w25 {
    width: 25% !important;
  }
  .small-w33 {
    width: 33.333333% !important;
  }
  .small-w50 {
    width: 50% !important;
  }
  .small-w66 {
    width: 66.666666% !important;
  }
  .small-w75 {
    width: 75% !important;
  }
  .small-w100,
  .small-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for small screens */
  .small-man,
  .small-ma0 {
    margin: 0 !important;
  }
  .small-pan,
  .small-pa0 {
    padding: 0 !important;
  }
}

/* tiny screens */
/* ------------ */
@media (max-width: 767px) {
  /* quick small resolution reset */
  .mod,
  .col,
  fieldset {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  .flex-container {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  /* layouts for tiny screens */
  .tiny-hidden {
    display: none !important;
  }
  .tiny-visible {
    display: block !important;
  }
  .tiny-no-float {
    float: none;
  }
  .tiny-inbl {
    display: inline-block;
    float: none;
    vertical-align: top;
  }
  /* widths for tiny screens */
  .tiny-w25 {
    width: 25% !important;
  }
  .tiny-w33 {
    width: 33.333333% !important;
  }
  .tiny-w50 {
    width: 50% !important;
  }
  .tiny-w66 {
    width: 66.666666% !important;
  }
  .tiny-w75 {
    width: 75% !important;
  }
  .tiny-w100,
  .tiny-wauto {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: 0;
  }
  /* margins for tiny screens */
  .tiny-man,
  .tiny-ma0 {
    margin: 0 !important;
  }
  .tiny-pan,
  .tiny-pa0 {
    padding: 0 !important;
  }
}

/* ---------------------------------- */
/* ==Grillade : Simple Grid System    */
/* ---------------------------------- */
/* Doc : http://grillade.knacss.com */
@media (min-width: 768px) {
  [class*=" grid-"],
  [class^="grid-"] {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  [class*=" grid-"] > *,
  [class^="grid-"] > * {
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
  }
}

@media (min-width: 768px) {
  .grid,
  .grid--reverse {
    display: -ms-flexbox;
    display: flex;
  }
  .grid > *,
  .grid--reverse > * {
    -ms-flex: 1 1 0%;
        flex: 1 1 0%;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
  }
  .grid.has-gutter > * + *,
  .grid--reverse.has-gutter > * + * {
    margin-left: calc(1rem - 0.01px);
  }
  .grid.has-gutter-l > * + *,
  .grid--reverse.has-gutter-l > * + * {
    margin-left: calc(2rem - 0.01px);
  }
  .grid.has-gutter-xl > * + *,
  .grid--reverse.has-gutter-xl > * + * {
    margin-left: calc(4rem - 0.01px);
  }
}

@media (min-width: 768px) {
  [class*="grid-2"] > * {
    width: calc(100% / 2 - 0.01px);
  }
  [class*="grid-2"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-2"].has-gutter > * {
    width: calc(100% / 2 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-2"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-2"].has-gutter-l > * {
    width: calc(100% / 2 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-2"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-2"].has-gutter-xl > * {
    width: calc(100% / 2 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-3"] > * {
    width: calc(100% / 3 - 0.01px);
  }
  [class*="grid-3"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-3"].has-gutter > * {
    width: calc(100% / 3 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-3"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-3"].has-gutter-l > * {
    width: calc(100% / 3 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-3"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-3"].has-gutter-xl > * {
    width: calc(100% / 3 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-4"] > * {
    width: calc(100% / 4 - 0.01px);
  }
  [class*="grid-4"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-4"].has-gutter > * {
    width: calc(100% / 4 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-4"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-4"].has-gutter-l > * {
    width: calc(100% / 4 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-4"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-4"].has-gutter-xl > * {
    width: calc(100% / 4 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-5"] > * {
    width: calc(100% / 5 - 0.01px);
  }
  [class*="grid-5"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-5"].has-gutter > * {
    width: calc(100% / 5 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-5"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-5"].has-gutter-l > * {
    width: calc(100% / 5 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-5"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-5"].has-gutter-xl > * {
    width: calc(100% / 5 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-6"] > * {
    width: calc(100% / 6 - 0.01px);
  }
  [class*="grid-6"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-6"].has-gutter > * {
    width: calc(100% / 6 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-6"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-6"].has-gutter-l > * {
    width: calc(100% / 6 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-6"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-6"].has-gutter-xl > * {
    width: calc(100% / 6 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-7"] > * {
    width: calc(100% / 7 - 0.01px);
  }
  [class*="grid-7"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-7"].has-gutter > * {
    width: calc(100% / 7 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-7"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-7"].has-gutter-l > * {
    width: calc(100% / 7 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-7"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-7"].has-gutter-xl > * {
    width: calc(100% / 7 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-8"] > * {
    width: calc(100% / 8 - 0.01px);
  }
  [class*="grid-8"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-8"].has-gutter > * {
    width: calc(100% / 8 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-8"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-8"].has-gutter-l > * {
    width: calc(100% / 8 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-8"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-8"].has-gutter-xl > * {
    width: calc(100% / 8 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-9"] > * {
    width: calc(100% / 9 - 0.01px);
  }
  [class*="grid-9"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-9"].has-gutter > * {
    width: calc(100% / 9 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-9"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-9"].has-gutter-l > * {
    width: calc(100% / 9 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-9"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-9"].has-gutter-xl > * {
    width: calc(100% / 9 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-10"] > * {
    width: calc(100% / 10 - 0.01px);
  }
  [class*="grid-10"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-10"].has-gutter > * {
    width: calc(100% / 10 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-10"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-10"].has-gutter-l > * {
    width: calc(100% / 10 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-10"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-10"].has-gutter-xl > * {
    width: calc(100% / 10 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-11"] > * {
    width: calc(100% / 11 - 0.01px);
  }
  [class*="grid-11"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-11"].has-gutter > * {
    width: calc(100% / 11 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-11"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-11"].has-gutter-l > * {
    width: calc(100% / 11 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-11"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-11"].has-gutter-xl > * {
    width: calc(100% / 11 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
  [class*="grid-12"] > * {
    width: calc(100% / 12 - 0.01px);
  }
  [class*="grid-12"].has-gutter {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  [class*="grid-12"].has-gutter > * {
    width: calc(100% / 12 - 1rem - 0.01px);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  [class*="grid-12"].has-gutter-l {
    margin-right: -1rem;
    margin-left: -1rem;
  }
  [class*="grid-12"].has-gutter-l > * {
    width: calc(100% / 12 - 2rem - 0.01px);
    margin-right: 1rem;
    margin-left: 1rem;
  }
  [class*="grid-12"].has-gutter-xl {
    margin-right: -2rem;
    margin-left: -2rem;
  }
  [class*="grid-12"].has-gutter-xl > * {
    width: calc(100% / 12 - 4rem - 0.01px);
    margin-right: 2rem;
    margin-left: 2rem;
  }
}

.push {
  margin-left: auto !important;
}

.pull {
  margin-right: auto !important;
}

.item-first {
  -ms-flex-order: -1;
      order: -1;
}

.item-last {
  -ms-flex-order: 1;
      order: 1;
}

[class*="grid-"][class*="--reverse"] {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
}

@media (min-width: 768px) {
  .full {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 1 - 0.01px);
  }
  .has-gutter > .full {
    width: calc(100% / 1 - 1rem - 0.01px);
  }
  .has-gutter-l > .full {
    width: calc(100% / 1 - 2rem - 0.01px);
  }
  .has-gutter-xl > .full {
    width: calc(100% / 1 - 4rem - 0.01px);
  }
  .one-half {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 2 - 0.01px);
  }
  .has-gutter > .one-half {
    width: calc(100% / 2 - 1rem - 0.01px);
  }
  .has-gutter-l > .one-half {
    width: calc(100% / 2 - 2rem - 0.01px);
  }
  .has-gutter-xl > .one-half {
    width: calc(100% / 2 - 4rem - 0.01px);
  }
  .one-third {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 3 - 0.01px);
  }
  .has-gutter > .one-third {
    width: calc(100% / 3 - 1rem - 0.01px);
  }
  .has-gutter-l > .one-third {
    width: calc(100% / 3 - 2rem - 0.01px);
  }
  .has-gutter-xl > .one-third {
    width: calc(100% / 3 - 4rem - 0.01px);
  }
  .one-quarter {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 4 - 0.01px);
  }
  .has-gutter > .one-quarter {
    width: calc(100% / 4 - 1rem - 0.01px);
  }
  .has-gutter-l > .one-quarter {
    width: calc(100% / 4 - 2rem - 0.01px);
  }
  .has-gutter-xl > .one-quarter {
    width: calc(100% / 4 - 4rem - 0.01px);
  }
  .one-fifth {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 5 - 0.01px);
  }
  .has-gutter > .one-fifth {
    width: calc(100% / 5 - 1rem - 0.01px);
  }
  .has-gutter-l > .one-fifth {
    width: calc(100% / 5 - 2rem - 0.01px);
  }
  .has-gutter-xl > .one-fifth {
    width: calc(100% / 5 - 4rem - 0.01px);
  }
  .one-sixth {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 6 - 0.01px);
  }
  .has-gutter > .one-sixth {
    width: calc(100% / 6 - 1rem - 0.01px);
  }
  .has-gutter-l > .one-sixth {
    width: calc(100% / 6 - 2rem - 0.01px);
  }
  .has-gutter-xl > .one-sixth {
    width: calc(100% / 6 - 4rem - 0.01px);
  }
  .two-thirds {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 3 * 2 - 0.01px);
  }
  .has-gutter > .two-thirds {
    width: calc(100% / 3 * 2 - 1rem - 0.01px);
  }
  .has-gutter-l > .two-thirds {
    width: calc(100% / 3 * 2 - 2rem - 0.01px);
  }
  .has-gutter-xl > .two-thirds {
    width: calc(100% / 3 * 2 - 4rem - 0.01px);
  }
  .three-quarters {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 4 * 3 - 0.01px);
  }
  .has-gutter > .three-quarters {
    width: calc(100% / 4 * 3 - 1rem - 0.01px);
  }
  .has-gutter-l > .three-quarters {
    width: calc(100% / 4 * 3 - 2rem - 0.01px);
  }
  .has-gutter-xl > .three-quarters {
    width: calc(100% / 4 * 3 - 4rem - 0.01px);
  }
  .five-sixths {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: calc(100% / 6 * 5 - 0.01px);
  }
  .has-gutter > .five-sixths {
    width: calc(100% / 6 * 5 - 1rem - 0.01px);
  }
  .has-gutter-l > .five-sixths {
    width: calc(100% / 6 * 5 - 2rem - 0.01px);
  }
  .has-gutter-xl > .five-sixths {
    width: calc(100% / 6 * 5 - 4rem - 0.01px);
  }
}

/* Responsive Small Breakpoint */
@media (min-width: 768px) and (max-width: 991px) {
  [class*="-small-1"] > * {
    width: calc(100% / 1 - 0.01px);
  }
  [class*="-small-1"].has-gutter > * {
    width: calc(100% / 1 - 1rem - 0.01px);
  }
  [class*="-small-1"].has-gutter-l > * {
    width: calc(100% / 1 - 2rem - 0.01px);
  }
  [class*="-small-1"].has-gutter-xl > * {
    width: calc(100% / 1 - 4rem - 0.01px);
  }
  [class*="-small-2"] > * {
    width: calc(100% / 2 - 0.01px);
  }
  [class*="-small-2"].has-gutter > * {
    width: calc(100% / 2 - 1rem - 0.01px);
  }
  [class*="-small-2"].has-gutter-l > * {
    width: calc(100% / 2 - 2rem - 0.01px);
  }
  [class*="-small-2"].has-gutter-xl > * {
    width: calc(100% / 2 - 4rem - 0.01px);
  }
  [class*="-small-3"] > * {
    width: calc(100% / 3 - 0.01px);
  }
  [class*="-small-3"].has-gutter > * {
    width: calc(100% / 3 - 1rem - 0.01px);
  }
  [class*="-small-3"].has-gutter-l > * {
    width: calc(100% / 3 - 2rem - 0.01px);
  }
  [class*="-small-3"].has-gutter-xl > * {
    width: calc(100% / 3 - 4rem - 0.01px);
  }
  [class*="-small-4"] > * {
    width: calc(100% / 4 - 0.01px);
  }
  [class*="-small-4"].has-gutter > * {
    width: calc(100% / 4 - 1rem - 0.01px);
  }
  [class*="-small-4"].has-gutter-l > * {
    width: calc(100% / 4 - 2rem - 0.01px);
  }
  [class*="-small-4"].has-gutter-xl > * {
    width: calc(100% / 4 - 4rem - 0.01px);
  }
}

/*
 * Navigation principale @V2019
 * Styles pour la navigation principale présente dans l'en-tête du site (mégamenu)
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
@media screen and (max-width: 767px) {
  body.is-navigation-opened {
    overflow: hidden;
  }
}

.navigation-wrapper-2019 {
  /* navigation: item li */
  /* navigation: link a */
}

@media screen and (max-width: 767px) {
  .navigation-wrapper-2019 {
    display: none;
  }
  .navigation-wrapper-2019.is-opened {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    overflow-y: auto;
    display: block;
    border-top: 1px solid #c4c4c4;
    background-color: white;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 {
    display: block;
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .navigation {
    height: 100%;
  }
}

.navigation-wrapper-2019 .navigation-list {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .navigation-wrapper-2019 .navigation-list {
    list-style-type: none;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .navigation-list {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100%;
    list-style: none;
  }
  .navigation-wrapper-2019 .navigation-list[focus-within]:after, .navigation-wrapper-2019 .navigation-list:hover:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 60rem;
    height: 7px;
    background-color: #36783b;
  }
  .navigation-wrapper-2019 .navigation-list:focus-within:after, .navigation-wrapper-2019 .navigation-list:hover:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 60rem;
    height: 7px;
    background-color: #36783b;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 [class^="navigation-item"] {
    z-index: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: auto;
  }
  .navigation-wrapper-2019 [class^="navigation-item"]:hover .navigation-link {
    color: #fff;
    background-color: #36783b;
  }
}

.navigation-wrapper-2019 .navigation-link {
  line-height: 1.16667;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  color: #333;
}

@media screen and (max-width: 767px) {
  .navigation-wrapper-2019 .navigation-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    border: 1px solid #c4c4c4;
    border-top-width: 0;
    padding: 1.7rem 2rem;
  }
  .navigation-wrapper-2019 .navigation-link:not(:only-child):after {
    display: inline-block;
    margin-left: 0.7rem;
    line-height: 1;
    font-size: 1.4rem;
    color: #36783b;
  }
  .navigation-wrapper-2019 .navigation-link:not(:only-child).is-active-lvl1, .navigation-wrapper-2019 .navigation-link:not(:only-child):focus, .navigation-wrapper-2019 .navigation-link:not(:only-child):hover {
    border-color: #36783b;
    color: white;
    background-color: #36783b;
  }
  .navigation-wrapper-2019 .navigation-link:not(:only-child).is-active-lvl1:after, .navigation-wrapper-2019 .navigation-link:not(:only-child):focus:after, .navigation-wrapper-2019 .navigation-link:not(:only-child):hover:after {
    color: white;
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
    transition: -webkit-transform ease 0.2s;
    transition: transform ease 0.2s;
    transition: transform ease 0.2s, -webkit-transform ease 0.2s;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .navigation-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    height: 100%;
    border-right: 1px solid #e0e0e0;
    padding: 3rem;
    letter-spacing: 0.02em;
  }
  .navigation-wrapper-2019 .navigation-link:focus {
    color: #fff;
    background-color: #36783b;
  }
  .navigation-wrapper-2019 .navigation-link.open:before {
    content: "";
    position: absolute;
    bottom: -12px;
    z-index: 1;
    border: 4px solid transparent;
    border-width: 6px 4px;
    border-top-color: #36783b;
    -webkit-transform: translate(47px);
            transform: translate(47px);
  }
  .navigation-wrapper-2019 .navigation-link.navigation-link:after {
    content: normal;
  }
}

.navigation-wrapper-2019 .mega-navigation {
  display: none;
}

@media screen and (max-width: 767px) {
  .navigation-wrapper-2019 .mega-navigation.is-opened, .navigation-wrapper-2019 .mega-navigation.open {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .mega-navigation.is-opened, .navigation-wrapper-2019 .mega-navigation.open {
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .mega-navigation {
    position: absolute;
    top: 100%;
    left: 0;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 60rem;
    border-bottom: 7px solid #36783b;
    padding: 1rem 1.2rem 1rem 2.5rem;
    background-color: white;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .navigation-link.focus + .mega-navigation {
    display: block;
  }
  .navigation-wrapper-2019 .navigation-link.focus + .mega-navigation {
    display: -ms-flexbox;
    display: flex;
  }
}

.navigation-wrapper-2019 .mega-navigation-list {
  padding-left: 0;
}

.navigation-wrapper-2019 .mega-navigation-list a {
  text-decoration: none;
}

.navigation-wrapper-2019 .mega-navigation-list a:focus, .navigation-wrapper-2019 .mega-navigation-list a:hover {
  font-weight: bold;
  text-decoration: underline;
  color: #36783b;
}

.navigation-wrapper-2019 .mega-navigation-item {
  list-style-type: none;
}

.navigation-wrapper-2019 .mega-navigation-item:not(:first-child) {
  border-top: 1px solid #c4c4c4;
}

.navigation-wrapper-2019 .mega-navigation-link {
  position: relative;
  display: block;
  padding: 1.5rem 1rem 1.4rem 1.7rem;
  line-height: 1.42857;
  font-size: 1.4rem;
  font-weight: bold;
  color: #000;
}

.navigation-wrapper-2019 .mega-navigation-lvl3 {
  background: linear-gradient(white 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), white 70%) 0 100%, linear-gradient(to bottom, rgba(0, 0, 0, 0.3), transparent), linear-gradient(to top, rgba(0, 0, 0, 0.3), transparent) 0 100%;
  background-repeat: no-repeat;
  background-color: #f9f9f9;
  background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
  /* shadow (bottom) */
  background-attachment: local, local, scroll, scroll;
}

.navigation-wrapper-2019 .mega-navigation-lvl3-item {
  list-style-type: none;
}

.navigation-wrapper-2019 .mega-navigation-lvl3-link {
  display: block;
  padding: 1rem 2rem 1rem 3rem;
  line-height: 1.42857;
  font-size: 1.4rem;
}

.navigation-wrapper-2019 .mega-navigation-right-title {
  padding: 1rem 0 0.5rem 0;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: bold;
  color: #36783b;
}

.navigation-wrapper-2019 .mega-navigation-right-list {
  padding-left: 0;
}

.navigation-wrapper-2019 .mega-navigation-right-item {
  list-style-type: none;
}

.navigation-wrapper-2019 .mega-navigation-right-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  padding: 1.7rem 1rem 1.7rem 2rem;
  line-height: 1.16667;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #36783b;
}

.navigation-wrapper-2019 .mega-navigation-right-link:focus, .navigation-wrapper-2019 .mega-navigation-right-link:hover {
  background-color: #333;
}

@media screen and (max-width: 767px) {
  .navigation-wrapper-2019 .mega-navigation-right-link.mega-navigation-right-link:after {
    content: none;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .mega-navigation-right-link {
    min-height: 6.6rem;
    padding: 1rem 1rem 1rem 2rem;
  }
}

.navigation-wrapper-2019 .mega-navigation-right-link:after {
  margin-left: 1rem;
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .navigation-wrapper-2019 .mega-navigation {
    position: relative;
    border-bottom: 1px solid #c4c4c4;
    padding-bottom: 1rem;
  }
  .navigation-wrapper-2019 .mega-navigation:before {
    content: "";
    position: absolute;
    top: 0;
    left: 2rem;
    border: 4px solid transparent;
    border-width: 6px 4px;
    border-top-color: #36783b;
  }
  .navigation-wrapper-2019 .mega-navigation-list {
    padding: 0 2rem;
    font-size: 1.6rem;
    list-style-type: none;
  }
  .navigation-wrapper-2019 .mega-navigation-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
  }
  .navigation-wrapper-2019 .mega-navigation-link {
    -ms-flex-positive: 1;
        flex-grow: 1;
  }
  .js-focus-visible .navigation-wrapper-2019 .mega-navigation-link:focus {
    box-shadow: 0 0 0 2px #36783b inset;
  }
  .js-focus-visible .navigation-wrapper-2019 .mega-navigation-link:focus:not(.focus-visible) {
    box-shadow: none;
    outline: none;
  }
  .js-focus-visible .navigation-wrapper-2019 .mega-navigation-link:active {
    outline: none;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-cmd {
    border: none;
    padding: 1.5rem;
    line-height: 1;
    font-size: 1.7rem;
    color: #333;
    background-color: #f1f1f1;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-cmd > .icon-minus {
    display: none;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-cmd[aria-expanded="true"] {
    background-color: white;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-cmd[aria-expanded="true"] > .icon-plus {
    display: none;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-cmd[aria-expanded="true"] > .icon-minus {
    display: block;
  }
  .navigation-wrapper-2019 .is-opened-lvl3 {
    background-color: white;
  }
  .navigation-wrapper-2019 .is-opened-lvl3 ~ .mega-navigation-link {
    text-decoration: underline;
    color: #36783b;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3 {
    width: 100%;
    border-top: 1px solid #c4c4c4;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-list {
    padding: 1.7rem 0;
  }
  .navigation-wrapper-2019 .mega-navigation-right {
    padding: 0 2rem;
  }
  .navigation-wrapper-2019 .mega-navigation-right-list {
    padding: 0.5rem 0;
  }
  .navigation-wrapper-2019 .mega-navigation-right-item {
    margin-bottom: 0.3rem;
  }
}

@media screen and (min-width: 768px) {
  .navigation-wrapper-2019 .mega-navigation-inner {
    position: relative;
    width: 37.5rem;
    border: 0 solid transparent;
    border-width: 1.2rem 2rem 2.5rem 0;
  }
  .navigation-wrapper-2019 .mega-navigation-list {
    padding-left: 0;
  }
  .navigation-wrapper-2019 .mega-navigation-item:hover > .mega-navigation-link {
    text-decoration: underline;
    color: #36783b;
    background-color: #f9f9f9;
  }
  .navigation-wrapper-2019 .mega-navigation-item:hover > .mega-navigation-lvl3 {
    display: block;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3 {
    overflow-y: auto;
    display: none;
    position: absolute;
    right: -2rem;
    top: -2.2rem;
    bottom: -3.5rem;
    z-index: 1;
    width: 20rem;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3:hover {
    display: block;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-list {
    padding: 2rem 0 0 0;
  }
  .navigation-wrapper-2019 .mega-navigation-lvl3-cmd {
    display: none;
  }
  .navigation-wrapper-2019 .mega-navigation-right {
    width: 18.8rem;
    padding-left: 1.1rem;
  }
  .navigation-wrapper-2019 .mega-navigation-right-title {
    padding-top: 0.5rem;
  }
  .navigation-wrapper-2019 .mega-navigation-right-item {
    margin-top: 1rem;
  }
}

/*
 * Footer @V2019
 * Styles (hors layout) du pied de page
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
/*
 * 1ère partie : jusqu'à 4 colonnes d'informations
 *
 */
.footer-infos {
  background-color: #f1f2f2;
}

@media screen and (max-width: 767px) {
  .footer-infos {
    padding: 4rem 2rem 4rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-infos {
    margin-top: 4rem;
    padding: 4rem 0 4rem 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .footer-infos {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.footer-infos h2 {
  color: #000;
}

@media screen and (max-width: 767px) {
  .footer-col:not(:first-child) h2 {
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .footer-logo-img {
    width: 100%;
    max-width: 31rem;
  }
}

.footer-link {
  display: block;
  padding-top: 0.5rem;
  color: #36783b;
}

.footer-infos-list,
.footer-tel-list {
  line-height: 1.1875;
}

.footer-infos-term,
.footer-tel-term {
  clear: left;
  float: left;
  padding-top: 0.5rem;
}

.footer-infos-data,
.footer-tel-data {
  overflow: hidden;
  padding-top: 0.5rem;
  padding-left: 0.6rem;
}

/* Réseaux sociaux */
.footer-social-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 0;
  list-style-type: none;
}

@media screen and (max-width: 767px) {
  .footer-social-list {
    -ms-flex-pack: justify;
        justify-content: space-between;
    max-width: 31rem;
  }
}

.footer-social-link {
  font-size: 4.5rem;
  text-decoration: none;
  color: #4f4f4f;
}

@media screen and (min-width: 768px) {
  .footer-social-link {
    font-size: 5rem;
  }
}

.footer-social-item:not(:last-child) .footer-social-link {
  margin-right: 0.7rem;
}

.footer-social-link:focus, .footer-social-link:hover {
  color: #36783b;
}

/* Météo */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .weather {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    width: calc(100% - 2rem) !important;
    margin-top: 2rem;
  }
  .weather-list {
    -ms-flex-positive: 1;
        flex-grow: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    margin: 0 1rem;
  }
  .weather-item {
    -ms-flex-positive: 1;
        flex-grow: 1;
    margin: 0 1rem;
  }
  .weather-item:first-child {
    margin-left: 0;
  }
  .weather-item:last-child {
    margin-right: 0;
  }
}

.weather-list {
  padding-left: 0;
  line-height: 1.16667;
  font-size: 2.4rem;
  list-style-type: none;
  color: #000;
}

.weather-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 0.9rem;
  padding: 0.2rem 2rem 0.2rem 1.5rem;
  background-color: white;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .weather-item {
    padding-left: 0.7rem;
    padding-right: 1rem;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .weather-item {
    padding-left: 0.3rem;
  }
}

.weather-media {
  margin-top: 0.1rem;
  margin-bottom: -0.1rem;
  margin-right: auto;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .weather-media {
    margin-right: 0;
  }
}

.weather-day {
  text-transform: uppercase;
}

.weather-date {
  margin-left: 0.5rem;
  font-weight: bold;
}

.weather-temp {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  min-width: 4.4rem;
  min-height: 4.4rem;
  margin-left: auto;
  line-height: 1.1875;
  text-align: center;
  font-size: 1.6rem;
  color: white;
  background-color: #36783b;
  border-radius: 50%;
}

.weather-temp-min {
  width: 100%;
}

.weather-temp-max {
  width: 100%;
}

.weather-temp-min ~ .weather-temp-max:before {
  content: "";
  display: block;
  width: 2.6rem;
  border-top: 1px solid white;
  margin: auto;
}

/*
 * 2e partie : 2 listes justifiées de liens blancs sur fond vert
 * Cachée sur mobile
 *
 */
@media screen and (max-width: 767px) {
  .footer-nav {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .footer-nav {
    font-size: 1.4rem;
    background-color: #36783b;
  }
  .footer-nav-list {
    padding-left: 0;
  }
  .footer-nav-item {
    display: inline-block;
  }
  .footer-nav-link {
    display: inline-block;
    padding: 0.7rem 1.3rem;
    text-decoration: none;
    color: #fff;
  }
  .footer-nav-link:focus, .footer-nav-link:hover {
    text-decoration: underline;
  }
  .footer-nav-item:first-child .footer-nav-link {
    margin-left: -1.3rem;
  }
  .footer-nav-item:last-child .footer-nav-link {
    margin-right: -1.3rem;
  }
}

@media screen and (max-width: 991px) {
  .footer-nav {
    text-align: center;
  }
  .footer-nav-wrapper {
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .footer-nav-list {
    margin-top: 0;
  }
  .footer-nav-list:first-child {
    border-bottom: 1px solid white;
  }
  .footer-nav-list:last-child .footer-nav-link {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media screen and (min-width: 992px) {
  .footer-nav-list {
    margin-top: 0;
  }
  .footer-nav-list:first-child {
    margin-left: -1.3rem;
  }
  .footer-nav-list:last-child {
    margin-right: 2rem;
  }
  .footer-nav-item:first-child .footer-nav-link {
    margin-left: 0;
  }
}

/*
 * 3e partie : Label Cité de l'énergie et (c) justifiés
 *
 */
.footer-label {
  padding: 1rem 0;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .footer-label {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.footer-label-copy {
  margin-top: 0;
  padding: 0.5rem 0 1.5rem 0;
  font-size: 1.4rem;
}

/*
 * Retour en haut
 * Caché sur desktop et - sur mobile - tant qu'on a pas scrollé un certain nombre de pixels
 *
 */
@media screen and (max-width: 767px) {
  .footer-scroll-to-top {
    display: none;
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 1000;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 0.9rem 0.7rem 0.9rem 0.5rem;
    line-height: 1.16667;
    font-size: 1.2rem;
    text-decoration: none;
    color: #fff;
    background-color: #4f4f4f;
  }
  .footer-scroll-to-top.js-show {
    display: -ms-flexbox;
    display: flex;
  }
  .footer-scroll-to-top [class^="icon-"] {
    margin-right: 0.3rem;
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-scroll-to-top {
    display: none;
  }
}

/*

  /!\ src/assets/css/_global/_font-icons.scss is GENERATED from src/assets/icons/_font-icons.tpl.scss template by gulp task iconfont.
  /!\ Don't modify former file or it'll be overridden next time the gulp task is run...

  == Creating a WOFF/WOFF2 font icon from individual SVG files

 * @contributors: Thomas Jaggi (backflip) for gulp-iconfont-css, Philippe Vayssière (Alsacréations)
 * @date-created: 2017-02-16
 * @last-update: 2017-11-01

*/
@font-face {
  font-family: "icon_0.2.3";
  src: url("fonts/icon_0.2.3.woff2") format("woff2"), url("fonts/icon_0.2.3.woff") format("woff");
}

.icon-arrow-down:before, .icon-arrow-left:before, .icon-arrow-right:before, .icon-arrow-up:before, .icon-burger:before, .icon-chevron:before, .icon-clock:before, .content-2019 .content-address .p-note:before, .icon-contrib:before, .icon-cross:before, .icon-envelope-closed:before, .content-2019 .content-address .content-address-email:before, .icon-facebook:before, .icon-info:before, .icon-instagram:before, .icon-linkedin:before, .icon-magnifying-glass:before, .header-wrapper-2019 .site-header-links-search .header-search .input-group:before, .icon-map-marker:before, .content-2019 .content-address .org:before, .icon-minus:before, .icon-phone:before, .content-2019 .content-address .tel:before, .icon-plus:before, .icon-twitter:before, .icon-youtube:before,
.icon-after-arrow-down:after,
.icon-after-arrow-left:after,
.icon-after-arrow-right:after,
.navigation-wrapper-2019 .mega-navigation-right-link:after,
.btn-primary:after,
.btn-secondary:after,
.btn-tertiary:after,
.btn:not(.btn-primary):not(.btn-secondary):after,
.btn-primary-2019:after,
.btn-with-arrow:after,
.news-2019 .news-card-readmore:after,
.news-home-2019 .news-home-all:after,
.agenda-2019 .agenda-all:after,
.news-sidebar-2019 .news-sidebar-all:after,
.quick-access .quick-access-link:after,
.icon-after-arrow-up:after,
.icon-after-burger:after,
.icon-after-chevron:after,
.navigation-wrapper-2019 .navigation-link:after,
.icon-after-clock:after,
.icon-after-contrib:after,
.icon-after-cross:after,
.icon-after-envelope-closed:after,
.icon-after-facebook:after,
.icon-after-info:after,
.icon-after-instagram:after,
.icon-after-linkedin:after,
.icon-after-magnifying-glass:after,
.icon-after-map-marker:after,
.icon-after-minus:after,
.icon-after-phone:after,
.icon-after-plus:after,
.icon-after-twitter:after,
.icon-after-youtube:after {
  font-family: "icon_0.2.3";
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
}

.icon-arrow-down:before {
  content: "\EA01";
}

.icon-arrow-left:before {
  content: "\EA02";
}

.icon-arrow-right:before {
  content: "\EA03";
}

.icon-arrow-up:before {
  content: "\EA04";
}

.icon-burger:before {
  content: "\EA11";
}

.icon-chevron:before {
  content: "\EA12";
}

.icon-clock:before, .content-2019 .content-address .p-note:before {
  content: "\EA05";
}

.icon-contrib:before {
  content: "\EA13";
}

.icon-cross:before {
  content: "\EA06";
}

.icon-envelope-closed:before, .content-2019 .content-address .content-address-email:before {
  content: "\EA07";
}

.icon-facebook:before {
  content: "\EA08";
}

.icon-info:before {
  content: "\EA09";
}

.icon-instagram:before {
  content: "\EA0A";
}

.icon-linkedin:before {
  content: "\EA0B";
}

.icon-magnifying-glass:before, .header-wrapper-2019 .site-header-links-search .header-search .input-group:before {
  content: "\EA0C";
}

.icon-map-marker:before, .content-2019 .content-address .org:before {
  content: "\EA0D";
}

.icon-minus:before {
  content: "\EA14";
}

.icon-phone:before, .content-2019 .content-address .tel:before {
  content: "\EA0E";
}

.icon-plus:before {
  content: "\EA15";
}

.icon-twitter:before {
  content: "\EA0F";
}

.icon-youtube:before {
  content: "\EA10";
}

.icon-after-arrow-down:after {
  content: "\EA01";
}

.icon-after-arrow-left:after {
  content: "\EA02";
}

.icon-after-arrow-right:after, .navigation-wrapper-2019 .mega-navigation-right-link:after, .btn-primary:after,
.btn-secondary:after,
.btn-tertiary:after, .btn:not(.btn-primary):not(.btn-secondary):after, .btn-primary-2019:after, .btn-with-arrow:after, .news-2019 .news-card-readmore:after, .news-home-2019 .news-home-all:after, .agenda-2019 .agenda-all:after, .news-sidebar-2019 .news-sidebar-all:after, .quick-access .quick-access-link:after {
  content: "\EA03";
}

.icon-after-arrow-up:after {
  content: "\EA04";
}

.icon-after-burger:after {
  content: "\EA11";
}

.icon-after-chevron:after, .navigation-wrapper-2019 .navigation-link:after {
  content: "\EA12";
}

.icon-after-clock:after {
  content: "\EA05";
}

.icon-after-contrib:after {
  content: "\EA13";
}

.icon-after-cross:after {
  content: "\EA06";
}

.icon-after-envelope-closed:after {
  content: "\EA07";
}

.icon-after-facebook:after {
  content: "\EA08";
}

.icon-after-info:after {
  content: "\EA09";
}

.icon-after-instagram:after {
  content: "\EA0A";
}

.icon-after-linkedin:after {
  content: "\EA0B";
}

.icon-after-magnifying-glass:after {
  content: "\EA0C";
}

.icon-after-map-marker:after {
  content: "\EA0D";
}

.icon-after-minus:after {
  content: "\EA14";
}

.icon-after-phone:after {
  content: "\EA0E";
}

.icon-after-plus:after {
  content: "\EA15";
}

.icon-after-twitter:after {
  content: "\EA0F";
}

.icon-after-youtube:after {
  content: "\EA10";
}

/*
 * Font-family
 * Font-Family
 *
 * @author: Ph. Vayssière - Alsacreations
 */
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on October 31, 2017 */
@font-face {
  font-family: "roboto";
  src: url("fonts/roboto-regular-2017-10-31.woff2") format("woff2"), url("fonts/roboto-regular-2017-10-31.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "roboto";
  src: url("fonts/roboto-medium-2017-10-31.woff2") format("woff2"), url("fonts/roboto-medium-2017-10-31.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "roboto";
  src: url("fonts/roboto-light-2019-01-17.woff2") format("woff2"), url("fonts/roboto-light-2019-01-17.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "roboto";
  src: url("fonts/roboto-bold-2017-10-31.woff2") format("woff2"), url("fonts/roboto-bold-2017-10-31.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}

/*
 * Helpers
 * Some needed aren t already in KNACSS
 *
 * @author: Ph. Vayssière - Alsacreations
 */
.fx-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.w35 {
  width: 35%;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .has-gutter-l > .small-one-third {
    width: calc(100% / 3 - 2rem - .01px);
  }
  .has-gutter-l > .small-two-thirds {
    width: calc(100% / 3 * 2 - 2rem - .01px);
  }
}

/*
 * Buttons
 * Styles for buttons and CTA
 * @V2019 .btn-primary-2019 est une variante de .btn-primary avec une flèche #333 plutôt que verte
 *
 * @author: Jennifer - Alsacreations, Philippe - Alsacréations
 */
[class^="btn-"],
.btn {
  display: inline-block;
  border: none;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0;
  cursor: pointer;
}

[class^="btn-"]:disabled,
.btn:disabled {
  color: #767676;
  background: #a7a7a7;
  opacity: 1;
}

[class^="btn-"]:focus,
.btn:focus {
  outline: 0;
}

/* Reset : bouton sans CSS */
.btn-reset {
  border: 0;
  margin: 0;
  padding: 0;
  font-weight: normal;
  background: none;
  border-radius: 0;
}

/*
 * Largeur, flèche -> et centrage vertical des boutons
 */
.btn-primary,
.btn-secondary,
.btn-tertiary,
.btn:not(.btn-primary):not(.btn-secondary) {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
}

.btn-primary:after,
.btn-secondary:after,
.btn-tertiary:after,
.btn:not(.btn-primary):not(.btn-secondary):after {
  padding-left: 1rem;
  color: #36783b;
}

.btn-primary-2019 {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
}

.btn-primary-2019:after {
  padding-left: 1rem;
  color: #333;
}

.btn-primary,
.btn-secondary,
.btn-primary-2019 {
  width: 100%;
}

/*
 * Hauteur, taille de texte et couleurs des boutons
 */
.btn-primary {
  padding: 2.4rem 2.5rem 2.3rem 2.5rem;
  font-size: 2rem;
  color: #4f4f4f;
  background: #fff;
  transition: 0.2s ease box-shadow;
}

.btn.btn-danger {
  margin-bottom: 10px;
}

.btn-primary:focus,
.btn-primary:hover {
  box-shadow: 0 0 0 4px #36783b;
}

.btn-secondary {
  padding: 2.5rem 2.5rem 2.4rem 2.5rem;
  line-height: 1.16667;
  color: #4f4f4f;
  background: #fff;
}

.btn-secondary:focus, .btn-secondary:hover {
  box-shadow: 0 0 0 4px #36783b;
}

.btn-tertiary, .btn:not(.btn-primary):not(.btn-secondary) {
  border: 1px solid #36783b;
  padding: 1rem 1.6rem 1.1rem 2.5rem;
  line-height: 1.16667;
  color: #4f4f4f;
  background: #fff;
}

.btn-tertiary:focus, .btn-tertiary:hover, .btn:not(.btn-primary):not(.btn-secondary):hover {
  color: #36783b;
  box-shadow: 0 0 0 4px currentColor;
}

.btn-tertiary:active {
  color: #fff;
}

.btn-primary-2019 {
  padding: 2.4rem 3rem 2.3rem 2.5rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #4f4f4f;
  background: #fff;
  transition: 0.2s ease box-shadow;
}

@media screen and (min-width: 768px) {
  .btn-primary-2019 {
    padding: 2.5rem;
    font-size: 2rem;
  }
}

.btn-primary-2019:focus, .btn-primary-2019:hover {
  box-shadow: 0 0 0 4px #333;
}

/*
 * input de type submit
 *
 */
input[type="submit"].btn {
  border: 1px solid #a7a7a7;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  line-height: 1.1875;
  font-size: 1.6rem;
  font-weight: bold;
  color: #ba3081;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  input[type="submit"].btn {
    padding: 1.6rem 1.3rem 1.5rem 1.3rem;
  }
}

@media screen and (min-width: 768px) {
  input[type="submit"].btn {
    padding: 1.1rem 1.2rem 1.2rem 1.2rem;
  }
}

input[type="submit"].btn:focus,
input[type="submit"].btn:hover{
  color: #fff;
  background-color: #ba3081;
}

.btn-submit,
.powermail_fieldwrap_type_submit input[type="submit"].btn,
.tx-powermail input[type=submit] {
  border: 1px solid #36783b;
  padding: 1rem 4rem 1.1rem 4rem;
  color: #fff;
  background-color: #36783b;
}

.powermail_fieldwrap_type_submit input[type="submit"].btn,
.tx-powermail input[type=submit] {
  width:auto;
}

.btn-submit:focus,
.btn-submit:hover,
.powermail_fieldwrap_type_submit input[type="submit"].btn:focus,
.powermail_fieldwrap_type_submit input[type="submit"].btn:hover,
.tx-powermail input[type=submit]:hover {
  border-color: #333;
  background-color: #333;
  box-shadow:none;
}

/*
 * Ajout d'une flèche à droite (vu en page d'accueil dans le lien au-dessus de la carte interactive)
 */
.btn-with-arrow {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.btn-with-arrow:after {
  padding-left: 1.7rem;
  color: #36783b;
}

.btn-with-arrow.btn-submit:after {
  color: white;
}

/*
 * Lien ou bouton avec icône : le lien est souligné mais pas l icône
 */
.link-with-icon {
  border: none;
  padding: 0;
  text-decoration: underline;
  color: #ba3081;
  background: none;
  cursor: pointer;
}

.link-with-icon:focus, .link-with-icon:hover {
  text-decoration: none;
}

.link-with-icon [class*="icon-"] {
  display: inline-block;
  font-size: 0.8em;
}

.link-with-icon [class^="icon-"]:first-child {
  margin-right: 1.2rem;
}

.link-with-icon [class^="icon-"]:last-child {
  margin-left: 1.2rem;
}

/*
 * Typography / TYpe
 * Styles for headings and other typographic stuff
 *
 * @author: Jennifer, Ph. Vayssière - Alsacreations
 */
@media screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

/* Headings h1 - h6 */
h1, .h1-like {
  color: #333;
}

@media screen and (min-width: 768px) {
  h1, .h1-like {
    font-size: 3.6rem;
  }
}

h1:after,
.h1-like:after {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  background-color: currentColor;
}

h2, .h2-like {
  color: #333;
}

@media screen and (min-width: 768px) {
  h2, .h2-like {
    font-size: 2.4rem;
  }
}

h2:after,
.h2-like:after {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  background-color: currentColor;
}

h3, .h3-like {
  font-weight: 500;
  color: #36783b;
}

@media screen and (min-width: 768px) {
  h3, .h3-like {
    font-size: 1.8rem;
  }
}

h3:after,
.h3-like:after {
  content: normal;
}

h4, .h4-like {
  font-weight: 500;
  text-transform: uppercase;
  color: #333;
}

@media screen and (min-width: 768px) {
  h4, .h4-like {
    font-size: 1.6rem;
  }
}

h5, .h5-like {
  font-weight: 500;
  color: #36783b;
}

@media screen and (min-width: 768px) {
  h5, .h5-like {
    font-size: 1.6rem;
  }
}

h6, .h6-like {
  font-weight: normal;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  h6, .h6-like {
    font-size: 1.4rem;
  }
}

/*
 * Styles pour le texte présent dans le contenu ("WYSIWYG") uniquement (pages internes)
 * @BUGFIX #55 Attention aux régressions sur les 3 blocs de footer de contenu des pages internes quand on style .content-2019 *
 *
 */
.content-2019 a {
  color: #36783b;
}

.content-2019 a:focus, .content-2019 a:hover, .content-2019 a:active {
  color: #333;
}

.content-2019 h1, .content-2019 .h1-like {
  margin-bottom: 3rem;
}

.content-2019 h2, .content-2019 .h2-like {
  margin-bottom: 3rem;
}

.content-2019 h3, .content-2019 .h3-like {
  margin-bottom: 2rem;
}

.content-2019 h4, .content-2019 .h4-like {
  margin-bottom: 2rem;
}

.content-2019 h5, .content-2019 .h5-like {
  margin-bottom: 1rem;
}

.content-2019 h6, .content-2019 .h6-like {
  margin-bottom: 1rem;
}

.content-2019 ul {
  padding-left: 0.5rem;
  list-style-type: none;
}

.content-2019 ul li {
  padding-top: 0.3rem;
  padding-left: 2rem;
  text-indent: -2rem;
}

.content-2019 ul li:before {
  content: "—";
  min-width: 2rem;
  margin-right: 0.8rem;
}

.content-2019 ul ul {
  padding-left: 1rem;
}

@media screen and (max-width: 767px) {
  .content-2019 p {
    margin-top: 2rem;
    line-height: 1.3125;
    font-size: 1.6rem;
  }
  .content-2019 .content-header p {
    line-height: 1.33333;
    font-size: 1.8rem;
  }
  .content-2019 ul {
    line-height: 1.3125;
    font-size: 1.6rem;
  }
}

.content-2019 .msg-info {
  padding: 2rem 2rem 1.3rem 2rem;
  line-height: 1.1875;
  font-weight: bold;
  color: #36783b;
  background-color: #f1f2f2;
}

.content-2019 .msg-info [class^="icon-"] {
  display: none;
}

@media screen and (min-width: 768px) {
  .content-2019 .msg-info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 2rem;
  }
  .content-2019 .msg-info [class^="icon-"] {
    display: block;
    margin-right: 2rem;
    font-size: 3rem;
    color: #bdbdbd;
  }
}

.content-2019 blockquote:before {
  color: #36783b;
}

/* font-sizing for content in DESKTOP resolution (overrides KNACSS which already defined it) */
@media screen and (min-width: 768px) {
  p,
  .p-like,
  ul,
  ol,
  dl,
  blockquote,
  pre,
  td,
  th,
  label,
  textarea,
  caption,
  details,
  figure {
    line-height: 1.375;
  }
}

@media screen and (max-width: 767px) {
  div, textarea, table, td, th, code, pre, samp, h1, h2, h3, h4, h5, h6, p {
    word-wrap: normal;
    -webkit-hyphens: none;
        -ms-hyphens: none;
            hyphens: none;
  }
}

/*
 * Forms
 * Styles for forms items
 *
 * @author: Jennifer, Ph. Vayssière - Alsacreations
 */
input:focus,
textarea:focus,
select:focus {
  outline-offset: 0;
  outline: 1px dotted #000;
}

.form-item + .form-item,
.form-item + .form-item-group,
.form-item + .form-item-fieldset,
.form-item-fieldset + .form-item,
.form-item-group + .form-item,
.form-item-group + .form-item-group,
.form-item-fieldset + .form-item-group {
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .form-item + .form-item,
  .form-item + .form-item-group,
  .form-item + .form-item-fieldset,
  .form-item-fieldset + .form-item,
  .form-item-group + .form-item,
  .form-item-group + .form-item-group,
  .form-item-fieldset + .form-item-group {
    margin-top: 3rem;
  }
}

.form-item-link {
  font-size: 1.3rem;
}

/* Label */
label {
  display: block;
  margin: 0 0 1.4rem 0;
  color: #333;
}

legend:not(.label-like) {
  margin-bottom: 1rem;
  line-height: 1.16667;
  font-size: 1.8rem;
  font-weight: 500;
  color: #36783b;
}

legend.label-like {
  margin: 0 0 0.5rem;
  color: #4f4f4f;
}

/* Fieldset */
fieldset {
  margin: 0;
  padding: 0;
}

.tx-powermail fieldset {
  margin-bottom: 6rem;
}

.tx-powermail fieldset legend {
  margin-bottom: 0;
}

.tx-powermail .powermail_fieldset ul.powermail-errors-list {
  padding-left: 1.5rem !important;
}

/* Input Text/Password/Email… */
.form-input-txt, input[type="text"], input[type="email"], input[type="passeword"], input[type="tel"], input[type="date"], input[type="number"], input[type="url"] {
  width: 100%;
  border: 1px solid #a7a7a7;
  padding: 1.1rem 1.8rem;
  line-height: 1.42857;
  font-size: 1.4rem;
  font-family: inherit;
  background: #fff;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-shadow: 0;
}

.form-input-txt[autocomplete] {
  box-shadow: none !important;
}

.form-input-txt:focus, 
input[type="text"]:focus, input[type="email"]:focus, input[type="passeword"]:focus, input[type="tel"]:focus, input[type="date"]:focus, input[type="number"]:focus, input[type="url"]:focus {
  border: 2px solid #333;
  padding: 1rem 1.7rem;
}

.form-input-txt:disabled, input[type="text"]:disabled, input[type="email"]:disabled, input[type="passeword"]:disabled, input[type="tel"]:disabled, input[type="date"]:disabled, input[type="number"]:disabled, input[type="url"]:disabled {
  color: #767676;
  background: #f1f2f2;
  opacity: 1;
}

.has-error .form-input-txt {
  border: 2px solid #e70000;
  padding: 1.1rem;
}

.has-success .form-input-txt {
  border: 2px solid #218629;
  padding: 1.1rem;
}

.form-input-txt::-webkit-input-placeholder,
input::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #767676;
  opacity: 1;
}

.form-input-txt::-moz-placeholder,
.input::-moz-placeholder {
  /* Firefox 19+ */
  color: #767676;
  opacity: 1;
}

.form-input-txt:-ms-input-placeholder,
input:-ms-input-placeholder {
  /* IE 10+ */
  color: #767676;
  opacity: 1;
}

/* Message d'erreur/avertissement */
.form-help {
  display: block;
  margin-top: 0.3rem;
  margin-bottom: 1.2rem;
}

.has-error .form-help {
  color: #e70000;
}

.has-success .form-help {
  color: #218629;
}

.form-help-small {
  margin-top: 0.25rem;
}

/* infos "champs requis" */
/* bloc "infos" (sur fong gris) */
.form-item-infos {
  margin-top: 1.5rem;
  padding: 2rem;
  font-weight: bold;
  background: #f1f2f2;
}

@media screen and (min-width: 768px) {
  .form-item-infos {
    margin-top: 3rem;
  }
}

.form-item-infos-title {
  text-transform: uppercase;
}

/* Textarea */
.form-input-textarea, textarea {
  width: 100%;
  border: 1px solid #a7a7a7;
  margin-top: 0;
  padding: 0.6rem 2rem;
  font-size: 1.4rem;
  font-family: inherit;
  background: #fff;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* Input "file" */
@media screen and (min-width: 768px) {
  .form-item-file {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
  }
}

.form-item-file [class*="form-help"] {
  display: block;
}

@media screen and (min-width: 768px) {
  .form-item-file [class*="form-help"] {
    margin-top: 0;
  }
}

.form-input-file {
  border: 1px solid #a7a7a7;
  padding: 0.5rem;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .form-input-file {
    margin: 0 1.5rem;
  }
}

/*
 * Custom <select> element
 * based on https://github.com/filamentgroup/select-css
 */
/* Container used for styling the custom select, the buttom class below adds the
* bg gradient, corners, etc. */
.form-select, .powermail_fieldwrap_type_select > div {
  position: relative;
  width: 100%;
}

/* This is the native select, we're making everything but the text invisible so
* we can see the button styles in the wrapper */
.form-input-select, select.powermail_select{
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #a7a7a7;
  margin: 0;
  padding: 1.1rem 4.8rem 1.1rem 1.8rem;
  /* Font size must be 16px to prevent iOS page zoom on focus */
  font-size: 1.4rem;
  font-family: inherit;
  background: #fff;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form-input-select:focus, select.powermail_select:focus {
  border: 1px solid #333;
}

/* Custom arrow sits on top of the select - could be an image, SVG, icon font,
* etc. or the arrow could just baked into the bg image on the select. */
.form-select:after, .powermail_fieldwrap_type_select > div:after {
  content: "";
  position: absolute;
  top: calc(50% - 5.5px);
  right: 1.8rem;
  z-index: 1;
  border: 1px solid transparent;
  border-width: 11px 9px 11px 9px;
  border-top-color: #a7a7a7;
  /* These hacks make the select behind the arrow clickable in some browsers */
  pointer-events: none;
}

/* IE 10/11+ - This hides native dropdown button arrow so it will have the custom appearance. Targeting media query hack via http://browserhacks.com/#hack-28f493d247a12ab654f6c3637f6978d5 - looking for better ways to achieve this targeting */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .form-input-select::-ms-expand, select.powermail_select::-ms-expand {
    display: none;
  }
}

/*
 * Radio custom
 */
.form-radio-input {
  position: absolute;
  top: 0.45rem;
  left: 0.1rem;
  margin: 0;
  outline: 0;
}

.form-radio {
  position: relative;
}

.form-radio .form-label {
  padding-left: 3rem;
  font-size: 1.4rem;
  font-weight: normal;
  color: #4f4f4f;
  cursor: default;
}

.form-radio .form-label:before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0;
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  border: 3px solid white;
  box-shadow: 0 0 0 1px #a7a7a7;
  background-color: white;
  border-radius: 50%;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.form-radio-input:not(:disabled) + .form-label {
  cursor: pointer;
}

.form-radio-input:focus {
  outline: 0;
}

.form-radio-input:focus + .form-label:before {
  outline: #333 dotted 1px;
}

.form-radio-input:checked + .form-label:before {
  background: #36783b;
  box-shadow: 0 0 0 1px #36783b;
}

.form-radio-input:disabled + .form-label {
  color: #767676;
}

/*
 * Checkbox custom
 */
.form-checkbox-input {
  position: absolute;
  top: 0.4rem;
  left: 0.15rem;
  margin: 0;
}

.form-checkbox {
  position: relative;
  display: block;
}

.form-checkbox .form-label {
  display: block;
  padding-top: 0.2rem;
  padding-left: 3rem;
  font-size: 1.4rem;
  font-weight: normal;
  color: #4f4f4f;
  cursor: default;
}

.form-checkbox .form-label:before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0;
  z-index: 1;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #a7a7a7;
  margin-right: 1rem;
  background: #fff;
  border-radius: 0;
}

.form-checkbox-input:not(:disabled) + .form-label {
  cursor: pointer;
}

.form-checkbox-input:focus {
  outline: 0;
}

.form-checkbox-input:focus + .form-label:before {
  outline: #333 dotted 1px;
}

.form-checkbox-input:checked + .form-label:before {
  border-color: #36783b;
  text-align: center;
  font-size: 1rem;
  color: #fff;
  background: #36783b url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=) center center no-repeat;
  background-size: 1.3em 1.3em;
}

.form-checkbox-input:disabled + .form-label {
  color: #767676;
}

/*
 * Password / Mot de passe
 */
.form-item-password .form-item-forget-link {
  text-align: right;
}

.form-password {
  position: relative;
  margin-top: 0;
}

/* ligne avec le bouton de soumission */
.form-submit {
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .form-submit [class*="btn-"] {
    width: 100%;
  }
}

/*
 * Alignements des éléments de formulaire
 */
/* Groupe d items alignés horizontalement */
.form-item-group .form-item {
  margin-top: 0.5rem;
}

.form-item-group.full-width .form-item {
  width: 100%;
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .form-item-group.full-width .form-item {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .form-item-group {
    display: -ms-flexbox;
    display: flex;
  }
  .form-item-group .form-item {
    margin-top: 0;
  }
  .form-item-group .form-item + .form-item {
    margin-left: 4rem;
  }
}

/* Groupe input+bouton collés horizontalement */
.input-group {
  display: -ms-flexbox;
  display: flex;
}

.input-group .form-input-txt {
  -ms-flex: 1;
      flex: 1;
  border-right: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group .input-group-btn {
  display: -ms-flexbox;
  display: flex;
}

.input-group .input-group-btn [class*="btn-"],
.input-group .input-group-btn .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/*
 * Champs avec autocomplétion (code postal, pays…)
 */
.form-item-autocomplete {
  position: relative;
}

.form-item-autocomplete .js-autocomplete-results {
  position: absolute;
  left: 0;
  right: 0;
  overflow-y: auto;
  max-height: 12rem;
  border: 1px solid #a7a7a7;
  margin-top: -1px;
  padding: 1rem 2rem;
  background: #fff;
}

.form-item-autocomplete .js-autocomplete-results-list-item:focus, .form-item-autocomplete .js-autocomplete-results-list-item:hover {
  font-weight: bold;
  outline: none;
}

/*
 * Datepicker
 * Pikaday
 */
.form-item-datepicker .input-group {
  position: relative;
}

@media screen and (max-width: 767px) {
  .form-input-datepicker {
    min-height: 4rem;
  }
}

/*
 * Pagination
 * Styles pour la pagination
 *
 * @author: Jennifer N., Ph. Vayssière - Alsacréations
 *
 * @bugfix Cohabitation avec les styles du contenu dans .content-2019 (les 3 occurences de @at-root ci-dessous)
 */
 .pagination-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.content-2019 .pagination-list {
  padding-left: 0;
}

.content-2019 .pagination-list .pagination-item {
  margin: 0 0.45rem;
}

.content-2019 .pagination-item, .content-2019 .pagination-list li {
  padding-top: 0;
  padding-left: 0;
  text-indent: 0;
}

.content-2019 .pagination-list .pagination-item:before, .content-2019 .pagination-list li:before {
  content: normal;
}

.pagination-link {
  display: inline-block;
  min-width: 3rem;
  border: 1px solid #36783b;
  margin-bottom: 0.5rem;
  padding: 0.3rem 0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #4f4f4f;
  -webkit-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}

.content-2019 .pagination-link {
  color: #4f4f4f;
}

.pagination-link:focus, .pagination-link:hover:not(span) {
  color: #fff;
  background: #36783b;
}

span.pagination-link,
.pagination-link.is-active {
  border: none;
}

/* Précédent / Suivant */
.pagination-item-previous .pagination-link,
.pagination-item-next .pagination-link {
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Précédent */
.pagination-item-previous {
  margin-left: 0;
}

/* Suivant */
.pagination-item-next {
  margin-right: 0;
}

/*
 * Fil d'Ariane / breadcrumb (nouveau @V2019)
 * Styles avec bordure autour de chaque élément, séparés par chevron cerclé et séparateur vertical.
 * Occupe plusieurs lignes sur mobile avec grosse contrainte CSS sur le padding gauche de chaque élément
 * à gauche d'1 ligne (hack visuel d'un bandeau blanc et trait vertical constituant la bordure gauche du
 * composant, avec marges négatives pour gérer le tout et verticalement marge négative d'1px pour avoir
 * une bordure horizontale d'1px entre chaque ligne et pas 2)
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.breadcrumb {
  position: relative;
  margin-left: -0.4rem;
  margin-right: -1rem;
  padding: 1.8rem 0 0 1.6rem;
  font-size: 1.4rem;
  /*
   * desktop
   */
}

.breadcrumb:before {
  content: "";
  position: absolute;
  z-index: 11;
  top: 1.7rem;
  left: -2rem;
  display: block;
  width: 2rem;
  height: calc(100% - 1.8rem + 0.1rem);
  border-right: 0.1rem solid #e0e0e0;
  background-color: white;
}

@media screen and (min-width: 768px) {
  .breadcrumb {
    margin-left: 0;
    padding-left: 3.2rem;
  }
  .breadcrumb:before {
    left: 0;
  }
}

.breadcrumb .breadcrumb-list {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -1.6rem;
}

.breadcrumb .breadcrumb-item {
  display: -ms-flexbox;
  display: flex;
}

.breadcrumb .breadcrumb-item:not(:last-child) .breadcrumb-elt [class^="icon-"] {
  position: absolute;
  right: -1.05rem;
  right: -0.95rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid #e0e0e0;
  line-height: 1;
  font-size: 0.7rem;
  color: #1c1c1c;
  background-color: white;
  border-radius: 50%;
}

.breadcrumb .breadcrumb-item:not(:last-child) .breadcrumb-elt [class^="icon-"]:before {
  -webkit-transform: translateX(0.1rem) rotate(-90deg);
          transform: translateX(0.1rem) rotate(-90deg);
}

.breadcrumb .breadcrumb-item:first-child {
  z-index: 10;
}

.breadcrumb .breadcrumb-item:nth-child(2) {
  z-index: 9;
}

.breadcrumb .breadcrumb-item:nth-child(3) {
  z-index: 8;
}

.breadcrumb .breadcrumb-item:nth-child(4) {
  z-index: 7;
}

.breadcrumb .breadcrumb-item:nth-child(5) {
  z-index: 6;
}

.breadcrumb .breadcrumb-item:nth-child(6) {
  z-index: 5;
}

.breadcrumb .breadcrumb-elt {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  border: 0.1rem solid #e0e0e0;
  margin-top: -0.1rem;
  margin-right: -0.1rem;
  padding: 1.2rem 1.6rem 1.5rem 1.6rem;
  text-decoration: none;
  color: #1c1c1c;
}

.breadcrumb [class="breadcrumb-elt"] > span:not([class]) {
  text-decoration: underline;
}

.breadcrumb .breadcrumb-lvl1 {
  text-decoration: none;
  color: #6d6e6e;
}

.breadcrumb .breadcrumb-active {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .breadcrumb {
    margin-left: -2rem;
    padding-top: 3.3rem;
    padding-left: 0;
  }
  .breadcrumb:before {
    top: 3.2rem;
    height: calc(100% - 3.3rem + 0.1rem);
  }
  .breadcrumb .breadcrumb-list {
    margin-left: 1.6rem;
  }
}

/*
 * Direct access / Accès directs V2019
 * Liste horizontale de liens en blanc sur fond gris
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.direct-access-2019 {
  position: relative;
  color: #1c1c1c;
}

@media screen and (max-width: 767px) {
  .direct-access-2019 .direct-access-header {
    position: relative;
    color: #fff;
    background-color: #333;
  }
}

@media screen and (max-width: 767px) {
  .direct-access-2019 .direct-access-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    margin: 0;
    padding: 1.6rem 2rem 1.6rem 2rem;
    line-height: 1.1875;
    font-size: 1.6rem;
    font-weight: bold;
    color: inherit;
    cursor: pointer;
  }
  .direct-access-2019 .direct-access-title:after {
    content: none;
  }
  .direct-access-2019 .direct-access-title [class^="icon-"] {
    font-size: 1rem;
    -webkit-transform: rotate(0deg) translateY(0.3rem);
            transform: rotate(0deg) translateY(0.3rem);
    transition: -webkit-transform 0.25s ease-in;
    transition: transform 0.25s ease-in;
    transition: transform 0.25s ease-in, -webkit-transform 0.25s ease-in;
  }
  .direct-access-2019 .direct-access-title[aria-expanded="true"] [class^="icon-"] {
    -webkit-transform: rotate(-180deg) translateY(-0.1rem);
            transform: rotate(-180deg) translateY(-0.1rem);
  }
}

@media screen and (min-width: 768px) {
  .direct-access-2019 .direct-access-title {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .direct-access-2019 .direct-access-toggle {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    border: none;
    padding: 1.5rem 2rem 1rem 2rem;
    text-align: right;
    font-size: 1rem;
    color: #fff;
    background-color: transparent;
  }
  .direct-access-2019 .direct-access-toggle .icon-chevron {
    display: inline-block;
    transition: 0.25s ease transform;
  }
  .direct-access-2019 .direct-access-toggle.is-active .icon-chevron {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
  }
}

@media screen and (min-width: 768px) {
  .direct-access-2019 .direct-access-toggle {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .direct-access-2019 .direct-access-list {
    margin-top: 0;
  }
  .direct-access-2019 .direct-access-item:first-child {
    position: relative;
  }
  .direct-access-2019 .direct-access-item:first-child:before {
    content: "";
    position: absolute;
    top: -0.3rem;
    left: 2rem;
    border: 0.5rem solid transparent;
    border-width: 0.8rem 0.5rem;
    border-top-color: #333;
  }
  .direct-access-2019 .direct-access-item:not(:first-child) {
    border-top: 1px solid #c4c4c4;
  }
  .direct-access-2019 .direct-access-link {
    position: relative;
    display: block;
    padding: 1.5rem 2rem;
    line-height: 1.42857;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    color: inherit;
  }
  .direct-access-2019 .direct-access-link:focus {
    text-decoration: underline;
  }
  .direct-access-2019 .direct-access-link:before {
    content: "";
    position: absolute;
    top: 0.8rem;
    left: 0;
    display: block;
    width: 0.4rem;
    height: 1.8rem;
    background-color: transparent;
    transition: 0.2s ease background-color;
  }
  .direct-access-2019 .direct-access-link:focus:before, .direct-access-2019 .direct-access-link:hover:before {
    background-color: white;
  }
  .direct-access-2019 .direct-access-link > svg {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .direct-access-2019 {
    max-width: 104.9rem;
    margin: 0 auto;
  }
  .direct-access-2019 .direct-access-list {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border-bottom: 7px solid #f1f2f2;
    margin-top: 0;
    background: white;
  }
  .page-profile .direct-access-2019 .direct-access-list, .direct-access-2019 .direct-access-list:hover, .direct-access-2019 .direct-access-list:focus-within {
    border-bottom-color: #34862c;
  }
  .direct-access-2019 .direct-access-item {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-preferred-size: 14.28571%;
        flex-basis: 14.28571%;
    display: -ms-flexbox;
    display: flex;
  }
  .direct-access-2019 .direct-access-link {
    position: relative;
    -ms-flex-positive: 1;
        flex-grow: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 2.5rem 1rem;
    text-align: center;
    font-size: 1.4rem;
    text-decoration: none;
  }
  .direct-access-2019 .direct-access-link.is-profile-active, .direct-access-2019 .direct-access-link:focus, .direct-access-2019 .direct-access-link:hover {
    color: #fff;
    background: #34862c;
  }
  .direct-access-2019 .direct-access-link.is-profile-active:before, .direct-access-2019 .direct-access-link:focus:before, .direct-access-2019 .direct-access-link:hover:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: -1px;
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 7px - 1px);
    background-color: #34862c;
  }
  .direct-access-2019 .direct-access-link > svg {
    margin-bottom: 1.9rem;
  }
  .direct-access-2019 .direct-access-item:not(:first-child) .direct-access-link {
    border-left: 1px solid #4f4f4f;
  }
  .direct-access-2019 .direct-access-item:not(:first-child) .direct-access-link.is-profile-active, .direct-access-2019 .direct-access-item:not(:first-child) .direct-access-link:focus, .direct-access-2019 .direct-access-item:not(:first-child) .direct-access-link:hover {
    border-left-color: #34862c;
  }
  .direct-access-2019 .direct-access-item:not(:last-child) .direct-access-link.is-profile-active:after, .direct-access-2019 .direct-access-item:not(:last-child) .direct-access-link:focus:after, .direct-access-2019 .direct-access-item:not(:last-child) .direct-access-link:hover:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: -1px;
    display: block;
    width: 1px;
    height: 100%;
    background: #34862c;
  }
  .direct-access-2019 .direct-access-text {
    color: #1c1c1c;
  }
  .direct-access-2019 .is-profile-active .direct-access-text,
  .direct-access-2019 .direct-access-link:focus .direct-access-text,
  .direct-access-2019 .direct-access-link:hover .direct-access-text {
    font-weight: bold;
    color: inherit;
  }
  .direct-access-2019 .is-profile-active .direct-access-text:before {
    content: "";
    position: absolute;
    bottom: -21px;
    left: calc(50% - 5px);
    border: 8px solid transparent;
    border-width: 8px 5px;
    border-top-color: #34862c;
  }
}

@media screen and (min-width: 992px) {
  .direct-access-2019 {
    padding-bottom: 9.3rem;
  }
  .direct-access-2019 .direct-access-list {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 2rem;
    -webkit-transform: translateY(calc((-100% + 7px) * 2 / 5));
            transform: translateY(calc((-100% + 7px) * 2 / 5));
  }
  .direct-access-2019 .direct-access-link.is-profile-active:before, .direct-access-2019 .direct-access-link:focus:before, .direct-access-2019 .direct-access-link:hover:before {
    top: -2rem;
    height: calc(100% + 2rem + 7px - 1px);
  }
}

/*
 * News banner V2019
 * Styles de la news occupant toute la largeur de la Homepage (image de fond, titre et lien)
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.banner-news-2019 {
  position: relative;
  overflow: hidden;
}

.banner-news-2019 .banner-news-2019-holder {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  height: 100%;
}

.banner-news-2019 .banner-news-2019-holder:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: black;
  opacity: 0.3;
}

.banner-news-2019 .banner-news-2019-holder > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.banner-news-2019 .banner-news-2019-title {
  overflow: hidden;
  min-height: 20rem;
  margin: 4.5rem 2rem 2.8rem 1.7rem;
  line-height: 0.92593;
  font-size: 5.4rem;
  font-weight: 300;
  color: white;
}

.banner-news-2019 .banner-news-2019-title:after {
  content: none;
}

@media screen and (max-width: 767px) {
  .banner-news-2019 .banner-news-2019-title {
    max-width: 35rem;
  }
  .banner-news-2019 .btn-primary-2019 {
    padding: 1.2rem 2rem 1.1rem 2rem;
    font-size: 1.6rem;
  }
  .banner-news-2019 .btn-primary-2019:after {
    font-size: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .banner-news-2019 .banner-news-2019-inner {
    width: 71.8rem;
    margin: 0 auto;
    padding-bottom: 9rem;
  }
  .banner-news-2019 .banner-news-2019-title {
    width: auto;
    min-height: 13.6rem;
    margin: 8.8rem 0 3.5rem 0;
    line-height: 0.91892;
    font-size: 7.4rem;
    text-shadow: 0px 0px 7px #333;
  }
  .banner-news-2019 .btn-primary-2019 {
    width: auto;
  }
}

@media screen and (min-width: 992px) {
  .banner-news-2019 .banner-news-2019-inner {
    width: 87.4rem;
    padding-bottom: 9rem;
  }
  .banner-news-2019 .banner-news-2019-title {
    min-height: 26.1rem;
    margin: 11.5rem 0 6rem 0;
    line-height: 0.92553;
    font-size: 9.4rem;
  }
}

@media screen and (min-width: 1440px) {
  .banner-news-2019 .banner-news-2019-inner {
    width: 138.5rem;
    padding-bottom: 11.8rem;
  }
  .banner-news-2019 .banner-news-2019-title {
    width: 62%;
  }
}

/*
 * News / Actualités (list)
 * Styles commun au bloc présent dans la Home et en sidebar dans le gabarit page Interne
 * Voir _news-home-2019.scss et _news-sidebar-2019.scss pour les mises en page respectives et styles header (titre+lien)
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.news-2019 .news-card {
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .news-2019 .news-card:not(:first-child) {
    margin-top: 2rem;
  }
  .news-2019 .news-card:nth-of-type(n+5) {
    display: none;
  }
}

.news-2019 .news-card-main {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  height: 100%;
  text-decoration: none;
}

.news-2019 .news-card-cat {
  padding: 0.9rem 1.5rem 1rem 1.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: uppercase;
  color: #333;
  background-color: white;
}

.news-2019 .news-card-media {
  position: relative;
  display: block;
  height: 100%;
}

.news-2019 .news-card-media .news-card-cat {
  position: absolute;
  bottom: 0;
  left: 0;
}

.news-2019 .news-card-img {
  display: block;
  width: 100%;
  max-width: 91.3rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.news-2019 .news-card.c-yellow .news-card-cat,
.news-2019 .news-card.c-yellow .news-card-readmore {
  background-color: #f5be42;
}

.news-2019 .news-card.c-green .news-card-cat,
.news-2019 .news-card.c-green .news-card-readmore {
  background-color: #93be32;
}

.news-2019 .news-card.c-red .news-card-cat,
.news-2019 .news-card.c-red .news-card-readmore {
  color: white;
  background-color: #cd1e34;
}

.news-2019 .news-card.c-purple .news-card-cat,
.news-2019 .news-card.c-purple .news-card-readmore {
  color: white;
  background-color: #6d3875;
}

.news-2019 .news-card.c-pink .news-card-cat,
.news-2019 .news-card.c-pink .news-card-readmore {
  background-color: #ee8db4;
}

.news-2019 .news-card.c-orange .news-card-cat,
.news-2019 .news-card.c-orange .news-card-readmore {
  background-color: #ff7a50;
}

.news-2019 .news-card-title {
  margin: auto 1.2rem 0 2.4rem;
  padding-top: 1.7rem;
  line-height: 1.15;
  font-size: 2rem;
  font-weight: bold;
}

.news-2019 .news-card-title:after {
  content: none;
}

.news-2019 .news-date {
  margin: 0.6rem 1.2rem 1.2rem 2.4rem;
  font-size: 1.4rem;
}

.news-2019 .news-card .news-card-main p {
  margin: 0 1.2rem 0 2.4rem;
}

.news-2019 .news-card .news-card-main p:last-of-type {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 992px) {
  .news-2019 .news-card .news-card-main p {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .news-2019 .news-card-overlay {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .news-2019 .news-card-overlay {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    height: 0;
    padding-top: 2.5rem;
    text-decoration: none;
    color: white;
    background-color: #333;
    transition: height 0s cubic-bezier(0.08, 0.82, 0.17, 1) 0.5s, top 0.5s cubic-bezier(0.08, 0.82, 0.17, 1);
  }
  .news-2019 .news-card-overlay:focus {
    top: 0;
    height: 100%;
  }
  .news-2019 .news-card-overlay .news-card-overlay-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    margin-left: 2.8rem;
    margin-right: 3rem;
  }
  .news-2019 .news-card-overlay .news-card-overlay-content {
    overflow: hidden;
    max-height: calc(100% - 13rem);
  }
  .news-2019 .news-card-overlay .news-date {
    margin-right: 0;
  }
  .news-2019 .news-card-overlay .news-card-title {
    margin: 2rem 3rem 1.8rem 2.8rem;
    padding-top: 0;
  }
  .news-2019 .news-card-overlay .news-card-title ~ p {
    margin: 1rem 3rem 0 2.8rem;
  }
  .news-2019 .news-card-main:hover ~ .news-card-overlay,
  .news-2019 .news-card-overlay:hover {
    top: 0;
    height: 100%;
    transition-delay: 0s;
  }
}

.news-2019 .news-card-readmore {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  margin-top: auto;
}

.news-2019 .news-card-readmore:after {
  margin-left: 1rem;
}

@media screen and (max-width: 991px) {
  .news-2019 .news-card-main .news-card-readmore {
    padding: 1.6rem 1.6rem 1.5rem 2rem;
  }
}

@media screen and (min-width: 992px) {
  .news-2019 .news-card-main .news-card-readmore {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .news-2019 .news-card-overlay .news-card-readmore {
    position: absolute;
    bottom: 0;
    padding: 4.5rem 3rem 4.5rem 4.5rem;
  }
}

/*
 * News (list) as found in Homepage @V2019
 * Heading / Link to all news
 * List of news as "cards":
 *   Initially displayed are image, cat, title and date
 *   On hover/focus: cat+date, title, abstract and read more)
 * See news-banner-2019 for the "news" (bg image and link) right below navigation in Homepage '
 *
 * @author: Ph. Vayssière - Alsacréations
 */
@media screen and (min-width: 768px) {
  .news-home-2019 {
    padding: 4rem 0 4.5rem 0;
  }
}

@media screen and (min-width: 992px) {
  .news-home-2019 {
    padding-top: 10.5rem;
    padding-bottom: 6.8rem;
  }
}

@media screen and (max-width: 767px) {
  .news-home-2019 .news-home-inner {
    padding: 0 2rem 2.7rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  @supports (grid-area: auto) {
    .news-home-2019 .news-home-inner {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (1fr)[3];
          grid-template-columns: repeat(3, 1fr);
      -ms-grid-rows: auto (1fr)[3];
          grid-template-rows: auto repeat(3, 1fr);
      grid-gap: 2rem 2.2rem;
    }
    .news-home-2019 .news-home-inner .news-home-header {
      grid-column: 1 / -1;
    }
    .news-home-2019 .news-home-inner .news-card:first-of-type {
      /*grid-area: span 2 / span 2;*/
    }
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .news-home-2019 .news-home-inner .news-card:not(:first-of-type) .news-card-main p {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  @supports (grid-area: auto) {
    .news-home-2019 .news-home-inner {
      -ms-grid-rows: auto (1fr)[2] auto;
          grid-template-rows: auto repeat(2, 1fr) auto;
    }
    .news-home-2019 .news-home-inner .news-card:nth-of-type(n+4) .news-card-media {
      height: auto;
    }
    .news-home-2019 .news-home-inner .news-card:nth-of-type(n+4) .news-card-img {
      height: 18.09917rem;
    }
  }
}

@media screen and (max-width: 767px) {
  .news-home-2019 .news-home-maintitle-small {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 1.7rem 2rem 1.8rem 2rem;
    line-height: 1.1875;
    font-size: 1.6rem;
    font-weight: bold;
    color: white;
    background-color: #36783b;
    cursor: pointer;
  }
  .news-home-2019 .news-home-maintitle-small [class^="icon-"] {
    font-size: 1rem;
    -webkit-transform: rotate(0deg) translateY(0.3rem);
            transform: rotate(0deg) translateY(0.3rem);
    transition: -webkit-transform 0.25s ease-in;
    transition: transform 0.25s ease-in;
    transition: transform 0.25s ease-in, -webkit-transform 0.25s ease-in;
  }
  .news-home-2019 .news-home-maintitle-small[aria-expanded="true"] [class^="icon-"] {
    -webkit-transform: rotate(-180deg) translateY(-0.1rem);
            transform: rotate(-180deg) translateY(-0.1rem);
  }
}

@media screen and (min-width: 768px) {
  .news-home-2019 .news-home-maintitle-small {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .news-home-2019 .news-home-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    margin-bottom: 2rem;
  }
  .news-home-2019 .news-home-maintitle {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 992px) {
  .news-home-2019 .news-home-header {
    margin-bottom: 4rem;
  }
}

.news-home-2019 .news-home-all {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  margin-top: 1rem;
  line-height: 1.14286;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
  color: #36783b;
}

.news-home-2019 .news-home-all:after {
  margin-left: 0.7rem;
}

.news-home-2019 .news-home-all:focus, .news-home-2019 .news-home-all:hover {
  color: #36783b;
}

@media screen and (max-width: 767px) {
  .news-home-2019 .news-home-all {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    margin-top: 1.8rem;
  }
}

.news-home-2019 .news-home-all span {
  text-decoration: underline;
}

.news-home-2019 .news-home-all:focus span, .news-home-2019 .news-home-all:hover span {
  text-decoration: none;
}

/*
 * Cartes de lieux
 * @V2019 Nouveau
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.map-places {
  position: relative;
  width: 100%;
}

.map-places .map-places-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.map-places .site-wrapper {
  position: relative;
  height: 60rem;
}

.map-places .map-places-link {
  position: absolute;
  bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .map-places .map-places-link {
    right: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .map-places .map-places-link {
    right: 0;
  }
}

/*
 * Liste d'autres sites de la commune
 * @V2019 Nouveau
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.other-sites {
  width: 100%;
  padding-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .other-sites {
    padding-top: 2rem;
    padding-left: 2.3rem;
    padding-right: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .other-sites {
    padding-top: 5rem;
  }
}

.other-sites .other-sites-list {
  padding-left: 0;
}

@media (min-width: 540px) and (max-width: 767px) {
  .other-sites .other-sites-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: start;
        justify-content: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .other-sites .other-sites-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }
}

.other-sites .other-sites-item {
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-preferred-size: 33%;
      flex-basis: 33%;
  list-style-type: none;
}

@media (min-width: 540px) and (max-width: 768px) {
  .other-sites .other-sites-item {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-preferred-size: calc(50% - 2.15rem);
        flex-basis: calc(50% - 2.15rem);
  }
  .other-sites .other-sites-item:nth-child(even) {
    margin-left: 4.3rem;
  }
  .other-sites .other-sites-item:nth-child(n+3) {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .other-sites .other-sites-item:not(:first-child) {
    margin-left: 4.3rem;
  }
}

@media screen and (min-width: 992px) {
  .other-sites .other-sites-item:not(:first-child) {
    margin-left: 7.2rem;
  }
}

.other-sites .other-sites-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  height: 100%;
  font-size: 2rem;
  font-weight: bold;
  text-decoration: none;
}

.other-sites .other-sites-img {
  display: block;
  width: 100%;
}

.other-sites .other-sites-text {
  display: block;
  padding-top: 2.7rem;
  padding-bottom: 2.7rem;
}

/*
 * Agenda
 * @V2019 Styles pour la liste d'annonces d'évènements de la page d'accueil (onglet sur mobile, orange et blanc sur image de fond sur tablette et desktop)
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.agenda-2019 {
  background: black url("../img/fete-de-la-danse.jpg") center center/cover no-repeat;
  /* Date : blanc sur orange */
  /* Contenu (fond blanc) */
  /* Marges internes */
  /* Title (clickable) */
  /* Place / Lieu */
  /* Time / Horaire */
}

@media screen and (max-width: 767px) {
  .agenda-2019 .agenda-content {
    padding: 0 2rem 2rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .agenda-2019 {
    padding-bottom: 5rem;
  }
  .agenda-2019 .agenda-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: start;
        align-items: flex-start;
    padding-top: 6rem;
    padding-bottom: 5rem;
  }
}

@media screen and (min-width: 992px) {
  .agenda-2019 {
    padding-bottom: 8.5rem;
  }
}

@media screen and (max-width: 767px) {
  .agenda-2019 .agenda-maintitle-small {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    margin-bottom: 0;
    padding: 1.7rem 2rem 1.8rem 2rem;
    line-height: 1.1875;
    font-size: 1.6rem;
    font-weight: bold;
    color: inherit;
    color: #333;
    background-color: #f1f2f2;
    cursor: pointer;
  }
  .agenda-2019 .agenda-maintitle-small [class^="icon-"] {
    font-size: 1rem;
    -webkit-transform: rotate(0deg) translateY(0.3rem);
            transform: rotate(0deg) translateY(0.3rem);
    transition: -webkit-transform 0.25s ease-in;
    transition: transform 0.25s ease-in;
    transition: transform 0.25s ease-in, -webkit-transform 0.25s ease-in;
  }
  .agenda-2019 .agenda-maintitle-small[aria-expanded="true"] [class^="icon-"] {
    -webkit-transform: rotate(-180deg) translateY(-0.1rem);
            transform: rotate(-180deg) translateY(-0.1rem);
  }
}

@media screen and (min-width: 768px) {
  .agenda-2019 .agenda-maintitle-small {
    display: none;
  }
}

.agenda-2019 .agenda-maintitle {
  color: white;
}

@media screen and (min-width: 768px) {
  .agenda-2019 .agenda-maintitle {
    margin-bottom: 0;
  }
}

.agenda-2019 .agenda-all {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  padding-top: 1.8rem;
  padding-bottom: 1rem;
  line-height: 1.14286;
  font-size: 1.4rem;
  text-decoration: none;
  color: white;
}

.agenda-2019 .agenda-all:after {
  margin-left: 0.7rem;
}

@media screen and (max-width: 767px) {
  .agenda-2019 .agenda-all {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }
}

.agenda-2019 .agenda-all span {
  text-decoration: underline;
}

.agenda-2019 .agenda-all:focus span, .agenda-2019 .agenda-all:hover span {
  text-decoration: none;
}

.agenda-2019 .agenda-item {
  background-color: white;
}

.agenda-2019 .agenda-item a{
  text-decoration:none;
}

.agenda-2019 .agenda-item a:hover{
  text-decoration:underline;
}

@media screen and (max-width: 767px) {
  .agenda-2019 .agenda-item:not(:first-child) {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .agenda-2019 .agenda-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
  }
  .agenda-2019 .agenda-item {
    -ms-flex-preferred-size: 24rem;
        flex-basis: 24rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .agenda-2019 .agenda-item:not(:first-child) {
    margin-left: 0.4rem;
  }
  .agenda-2019 .agenda-item:nth-child(n+5) {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .agenda-2019 .agenda-item:nth-child(n+5) {
    display: -ms-flexbox;
    display: flex;
  }
}

.agenda-2019 .agenda-date {
  display: block;
  padding: 2rem 1rem 1rem 1rem;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: white;
  background-color: #f2533d;
}

.agenda-2019 .agenda-date-letter{
  display: block;
}

.agenda-2019 .agenda-date em{
  font-style:normal;
}

.agenda-2019 .agenda-date-nr{
  display: block;
  line-height: 1.03;
  font-size: 3.6rem;
}

.agenda-2019 .agenda-date-month{
  display: block;
  padding-top: 0.5rem;
  text-transform: uppercase;
}

.agenda-2019 .agenda-title,
.agenda-2019 .agenda-place,
.agenda-2019 .agenda-time {
  padding-left: 2.2rem;
  padding-right: 2.2rem;
}

@media screen and (min-width: 992px) {
  .agenda-2019 .agenda-title,
  .agenda-2019 .agenda-place,
  .agenda-2019 .agenda-time {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.agenda-2019 .agenda-title {
  line-height: 1.3125;
  font-size: 2rem;
  font-weight: normal;
  color: #4f4f4f;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .agenda-2019 .agenda-title {
    margin-bottom: 0;
  }
}

.agenda-2019 .agenda-title:after {
  content: normal;
}

.agenda-2019 .agenda-link {
  text-decoration: none;
  color: inherit;
}

.agenda-2019 .agenda-link:focus, .agenda-2019 .agenda-link:hover {
  text-decoration: underline;
}

.agenda-2019 .agenda-list [class^="icon-"] {
  float: left;
  display: inline-block;
  min-width: 1.8rem;
  color: #f2533d;
}

.agenda-2019 .agenda-place {
  margin-top: auto;
  padding: 3.5rem 2.2rem 0.5rem 2.2rem;
  line-height: 1.14286;
  font-size: 1.4rem;
}

.agenda-2019 .agenda-place-key {
  color: #f2533d;
}

.agenda-2019 .agenda-time {
  padding: 0 2.2rem 2rem 2.2rem;
  line-height: 1.14286;
  font-size: 1.4rem;
}

.agenda-2019 .agenda-time-key {
  color: #f2533d;
}

/*
 * Newsletter
 * @V2019Styles pour l'inscription à la newsletter (dans la page d'accueil, colonne de droite)
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.newsletter-2019 {
  width: 100%;
  padding: 2rem 2rem 2.5rem 2rem;
  background-color: #f1f2f2;
}

.newsletter-2019 .newsletter-title {
  margin-bottom: 4.6rem;
  line-height: 1.16667;
  text-align: center;
  font-size: 2.4rem;
  color: #000;
}

.newsletter-2019 .newsletter-title:after {
  position: relative;
  top: 1.6rem;
  left: calc(50% - 2rem);
}

.newsletter-2019 .newsletter-content {
  margin-top: 1rem;
  margin-left: auto;
  margin-right: auto;
}

.newsletter-2019 .form-label {
  margin-bottom: 0;
}

.newsletter-2019 .form-input-txt {
  border: none;
  background-color: #e0e0e0;
}

.newsletter-2019 .form-input-txt:focus {
  border: 1px solid #333;
}

.newsletter-2019 .newsletter-subscribe {
  margin-top: 0;
}

.newsletter-2019 .newsletter-btn {
  padding: 1.1rem 2rem 1rem 2.5rem;
  line-height: 1.16667;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .newsletter-2019 .newsletter-btn {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .newsletter-2019 {
    background-color: #fff;
  }
  .newsletter-2019 .newsletter-btn {
    border: 1px solid #e0e0e0;
    border-top: none;
  }
}

@media screen and (min-width: 768px) {
  .newsletter-2019 {
    padding-top: 4rem;
    padding-bottom: 4.3rem;
  }
  .newsletter-2019 .newsletter-content {
    display: -ms-flexbox;
    display: flex;
    width: 56rem;
  }
  .newsletter-2019 .newsletter-email {
    width: 28rem;
  }
  .newsletter-2019 .newsletter-subscribe {
    -ms-flex-positive: 1;
        flex-grow: 1;
  }
}

/*
 * Banner page interne (niveaux 2 à 4)
 * Styles du titre et liens vers niveau 3 + image de fond occupant 3/4 de la (pleine) largeur d'une page interne niveau 2
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.banner-nav-back {
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 1rem;
  line-height: 1.14286;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
}

.banner-nav-back > [class^="icon-"] {
  margin-right: 1rem;
}

.banner-nav-back > span:last-child {
  text-decoration: underline;
}

.banner-nav-back + .banner-nav-back {
  margin-left: 1.2rem;
}

.banner-nav-back + .banner-nav-title {
  margin-top: 1rem;
}

.banner-nav-title {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .banner-nav {
    position: relative;
  }
  .banner-nav .banner-holder {
    display: none;
  }
  .banner-nav .banner-nav-header {
    padding: 2.5rem 2rem 4rem 2rem;
    background-color: #36783b;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .banner-nav .banner-nav-title {
    font-size: 2.4rem;
    color: #fff;
  }
  .banner-nav .banner-nav-list {
    border-bottom: 4px solid #36783b;
  }
  .banner-nav [class^="btn-"] {
    padding: 1.8rem 2rem 2rem 2rem;
    line-height: 1.16667;
    font-size: 1.8rem;
  }
  .banner-nav [class^="btn-"]:hover {
    box-shadow: 0 0 0 4px #36783b inset;
  }
}

@media screen and (min-width: 768px) {
  .banner-nav .banner-inner {
    position: relative;
  }
  .banner-nav .banner-nav-header {
    margin-top: 3.5rem;
    background-image: none !important;
  }
  .banner-nav .banner-nav-list {
    padding-bottom: 5.8rem;
  }
  .banner-nav .banner-nav-item {
    display: inline-block;
    margin-top: 0;
    vertical-align: top;
  }
  .banner-nav [class^="btn-"] {
    width: 27.7rem;
    min-height: 7rem;
    margin: 1.4rem 1.5rem 0 0;
    padding-right: 1.6rem;
  }
  .banner-nav [class^="btn-"]:after {
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: right;
  }
}

/*
 * Contenu du niveau 2
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.content img:only-child {
  margin: 2rem 0;
}

.content-header {
  font-weight: bold;
}

/*
 * Actualités / News (liste) en sidebar, présent dans les pages internes @V2019
 * Similaire aux actualités affichées en Home, excepté la mise en page / layout et :
 *
 * - (modif annulée le 14/06) #62 Fond gris sous le titre+date ici, pour distinguer contenu et actus sidebar sur tablette par ex.
 * - #63 Actus sous le contenu sur tablette - voir mise en page dans _internal-2019.scss
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.news-sidebar-2019 {
  padding-top: 2.4rem;
  padding-bottom: 4rem;
}

@media screen and (min-width: 992px) {
  .news-sidebar-2019 {
    padding-top: 4.3rem;
  }
}

.news-sidebar-2019 .news-card-main {
  background-color: white;
}

.news-sidebar-2019 .news-sidebar-maintitle {
  position: relative;
  margin-bottom: 0.8rem;
  padding-bottom: 2.5rem;
  line-height: 1.16667;
}

.news-sidebar-2019 .news-sidebar-maintitle:after {
  position: absolute;
  bottom: 0;
  width: 5.7rem;
}

.news-sidebar-2019 .news-sidebar-all {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  margin-top: 1rem;
  margin-bottom: 0.8rem;
  line-height: 1.14286;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
  color: #36783b;
}

.news-sidebar-2019 .news-sidebar-all:after {
  margin-left: 0.7rem;
}

.news-sidebar-2019 .news-sidebar-all:focus, .news-sidebar-2019 .news-sidebar-all:hover {
  color: #36783b;
}

.news-sidebar-2019 .news-sidebar-all span {
  text-decoration: underline;
}

.news-sidebar-2019 .news-sidebar-all:focus span, .news-sidebar-2019 .news-sidebar-all:hover span {
  text-decoration: none;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .news-sidebar-2019 .news-card .news-card-media {
    height: auto;
  }
  .news-sidebar-2019 .news-card .news-card-img {
    height: 17.9rem;
  }
  .news-sidebar-2019 .news-card .news-card-title {
    margin-top: 0;
  }
  .news-sidebar-2019 .news-card .news-card-main.news-card-main > :nth-last-child(2) {
    margin-bottom: auto;
  }
  .news-sidebar-2019 .news-card-readmore {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 992px) {
  .news-sidebar-2019 .news-sidebar-all {
    margin-bottom: 3rem;
  }
  .news-sidebar-2019 .news-card:not(:last-child) {
    margin-bottom: 2rem;
  }
}

/*
 * Contenu des pages internes - Blocs "Pour en savoir plus", "Documents à télécharger" et "Liens externes" @V2019
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.content-2019 {
  /*
     * bloc "Pour en savoir plus"
     *
     */
  /*
   * bloc "Documents à télécharger"
   *
   */
  /*
   * bloc "Liens externes"
   *
   */
}

.content-2019 .content-footer:first-of-type {
  position: relative;
  margin-top: 3rem;
  padding-top: 1rem;
}

.content-2019 .content-footer:first-of-type:before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  display: block;
  border-top: 1px solid #d2d2d2;
}

.content-2019 .content-footer {
  --content-footer-w-min: 748px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 1rem;
  margin-bottom: 1rem;
  margin-left: calc(1rem * -1);
  margin-right: calc(1rem * -1);
}

.content-2019 .content-footer > * {
  -ms-flex-positive: 1;
      flex-grow: 1;
  -ms-flex-preferred-size: calc(calc(var(--content-footer-w-min) - 100%) * 999);
      flex-basis: calc(calc(var(--content-footer-w-min) - 100%) * 999);
  min-width: calc(100% / 3 - 2rem);
  max-width: 100%;
  margin: 1rem;
}

.content-2019 .content-footer > *:only-child {
  max-width: 50%;
}

.content-2019 .content-footer h3 {
  margin-bottom: 1.5rem;
  line-height: 1.15;
  font-weight: 500;
  color: #333;
}

.content-2019 .content-address,
.content-2019 .content-download,
.content-2019 .content-external {
  padding-top: 2.3rem;
}

@media screen and (max-width: 767px) {
  .content-2019 .content-address {
    padding-bottom: 1.5rem;
  }
}

.content-2019 .content-address p {
  margin-top: 1rem;
}

.content-2019 .content-address .vcard {
  padding-left: 2.5rem;
}

@media screen and (max-width: 767px) {
  .content-2019 .content-address .vcard + .vcard {
    border-top: 4px solid #36783b;
    margin-top: 2.5rem;
  }
}

.content-2019 .content-address .org:before,
.content-2019 .content-address .tel:before,
.content-2019 .content-address .content-address-email:before,
.content-2019 .content-address .p-note:before {
  float: left;
  margin-right: 0.8rem;
  color: #36783b;
}

.content-2019 .content-address .org {
  color: #36783b;
}

.content-2019 .content-address .org:before {
  margin-left: -2.1rem;
}

.content-2019 .content-address .adr {
  margin-top: 0;
}

.content-2019 .content-address .tel:before {
  margin-top: -0.4rem;
  margin-left: -2.2rem;
  font-size: 2.1rem;
}

.content-2019 .content-address .content-address-email:before {
  margin: 0.2rem 0.6rem 0 -2.5rem;
  font-size: 1.4rem;
}

.content-2019 .content-address .p-note {
  margin-top: 1.4rem;
}

.content-2019 .content-address .p-note:before {
  margin: -0.2rem 0.6rem 0 -2.5rem;
  font-size: 1.9rem;
}

@media screen and (max-width: 767px) {
  .content-address + .content-2019 .content-download {
    margin-top: 0;
  }
}

.content-2019 .content-download ul {
  padding-left: 0;
}

.content-2019 .content-download li {
  padding-bottom: 0;
  padding-left: 0;
  text-indent: 0;
  list-style-type: none;
}

.content-2019 .content-download li:before {
  content: none;
}

.content-2019 .content-download a {
  display: block;
  margin-bottom: 0.3rem;
  padding: 1.7rem 2rem;
  line-height: 1.16667;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
  color: white;
  background-color: #333;
  text-transform: uppercase;
}

.content-2019 .content-download a:focus, .content-2019 .content-download a:active, .content-2019 .content-download a:hover {
  color: white;
  background-color: #36783b;
}

.content-2019 .content-external-list {
  padding-left: 0;
}

.content-2019 .content-external-item {
  padding-bottom: 0;
  padding-left: 0;
  text-indent: 0;
  list-style-type: none;
}

.content-2019 .content-external-item:before {
  content: none;
}

.content-2019 .content-external-link {
  display: block;
  margin-bottom: 0.3rem;
  padding: 1.7rem 2rem;
  line-height: 1.16667;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
  color: white;
  background-color: #333;
  text-transform: uppercase;
}

.content-2019 .content-external-link:focus, .content-2019 .content-external-link:active, .content-2019 .content-external-link:hover {
  color: white;
  background-color: #36783b;
}

/*
 * Banner pages Profil et niveaux N @V2019
 * Image de fond (hauteur 200px) qui est sur mobile suivie d'un toggle (accordéon ?) Nav° par profils et sur desktop recouverte en bas par la moitié de la nav° par profils
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.banner-2019 {
  position: relative;
  overflow: hidden;
  height: 20rem;
}

.banner-2019 .banner-holder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  background-color: #36783b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/*
 * Titre et chapo (pages Profil, …) @V2019
 *
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.content-2019 {
  position: relative;
}

.content-2019 .content-title {
  margin-bottom: 4.3rem;
  padding-bottom: 2.2rem;
  line-height: 1.16667;
  font-size: 5rem;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  .content-2019 .content-title {
    margin-top: 3.1rem;
  }
  .content-2019 .content-chapo {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .content-2019 {
    padding-top: 7rem;
    padding-bottom: 2rem;
  }
  .content-2019 .content-title {
    margin-top: -0.7rem;
    margin-bottom: 3.6rem;
    padding-bottom: 1.7rem;
    font-size: 6rem;
  }
  .content-2019 .content-title:after {
    bottom: -1.7rem;
  }
  .content-2019 .content-chapo {
    max-width: 80rem;
    text-align: center;
  }
}

@media screen and (min-width: 992px) {
  .content-2019 {
    padding-bottom: 7.5rem;
  }
}

.content-2019.content-profile .content-title {
  text-align: center;
}

.content-2019.content-profile .content-title:after {
  position: relative;
  bottom: -2.2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.content-2019.content-profile .content-chapo {
  margin: 0 auto;
}

/*
 * Tabelle de liens pour pages Profil et Niveau 2 @V2019
 * Lien sur image et éventuelle liste ouverte par un bouton
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.tabelle-links {
  position: relative;
}

.tabelle-links .tabelle-links-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tabelle-links .tabelle-links-item {
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-bottom: 2.4rem;
}

.tabelle-links .tabelle-links-card {
  position: relative;
  width: 100%;
}

.tabelle-links .tabelle-links-link {
  position: relative;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: start;
      align-items: flex-start;
  width: 100%;
  min-height: 15rem;
  text-align: center;
  text-decoration: none;
  color: #36783b;
}

.tabelle-links .tabelle-links-link:focus .tabelle-links-bg, .tabelle-links .tabelle-links-link:hover .tabelle-links-bg {
  background-position: 40% 30%;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.tabelle-links .tabelle-links-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #36783b;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  transition: background-position 0.5s ease-out, -webkit-transform 0.5s ease-out;
  transition: transform 0.5s ease-out, background-position 0.5s ease-out;
  transition: transform 0.5s ease-out, background-position 0.5s ease-out, -webkit-transform 0.5s ease-out;
}

.tabelle-links .tabelle-links-text {
  position: relative;
  display: block;
  width: calc(100% - 5rem);
  margin: 3rem auto 2.4rem auto;
  padding: 1.2rem 2rem;
  line-height: 1.15;
  text-transform: uppercase;
  font-size: 2rem;
  color: inherit;
  background-color: #fff;
}

.tabelle-links .tabelle-links-cmd {
  min-width: 5rem;
  min-height: 5rem;
  border: none;
  padding: 1.3rem 1.5rem;
  line-height: 1;
  font-size: 2rem;
  color: #333;
  background-color: #f1f2f2;
  cursor: pointer;
}

.tabelle-links .tabelle-links-cmd.is-active, .tabelle-links .tabelle-links-cmd:focus, .tabelle-links .tabelle-links-cmd:active, .tabelle-links .tabelle-links-cmd:hover {
  background-color: white;
}

.tabelle-links .tabelle-links-sublist {
  visibility: visible;
  display: block !important;
  opacity: 1;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1;
  padding: 0.3rem 0 0.6rem 0;
  background-color: #f8f9f9;
  transition: visibility 0s linear, opacity 0.2s ease;
}

.tabelle-links .tabelle-links-sublist.js-hidden {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s linear, opacity 0.2s ease;
}

.tabelle-links .tabelle-links-subitem {
  display: block;
  width: 100%;
}

.tabelle-links .tabelle-links-subitem:first-child .tabelle-links-sublink {
  padding-top: 2.3rem;
}

.tabelle-links .tabelle-links-sublink {
  display: block;
  padding: 1.6rem 1.9rem 1.5rem;
  line-height: 1.42857;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
  color: #1c1c1c;
}

.tabelle-links .tabelle-links-sublink:focus, .tabelle-links .tabelle-links-sublink:active, .tabelle-links .tabelle-links-sublink:hover {
  text-decoration: underline;
  color: #36783b;
  background-color: white;
}

.tabelle-links .tabelle-links-subitem:not(:first-child) .tabelle-links-sublink {
  border-top: 1px solid #c4c4c4;
}

@media screen and (max-width: 767px) {
  .tabelle-links .tabelle-links-list {
    padding: 0 2rem;
  }
  .tabelle-links .tabelle-links-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .tabelle-links .tabelle-links-link:not(:only-child) {
    margin-bottom: -5rem;
    padding-bottom: 5rem;
  }
  .tabelle-links .tabelle-links-cmd {
    position: relative;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

@media screen and (min-width: 768px) {
  .tabelle-links .tabelle-links-list {
    margin: 0 -2.1rem;
  }
  .tabelle-links .tabelle-links-item {
    width: calc(100% / 2 - 4.2rem);
    margin-bottom: 4rem;
    margin-left: 2.1rem;
    margin-right: 2.1rem;
  }
  .tabelle-links .tabelle-links-link {
    -ms-flex-align: center;
        align-items: center;
    min-height: 23.7rem;
  }
  .tabelle-links .tabelle-links-cmd {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}

@media screen and (min-width: 992px) {
  .tabelle-links .tabelle-links-item:nth-child(3n+1):nth-last-child(2), .tabelle-links .tabelle-links-item:nth-child(3n+2):nth-last-child(2), .tabelle-links .tabelle-links-item:nth-child(3n+1):nth-last-child(3) {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}

@media screen and (min-width: 1200px) {
  .tabelle-links .tabelle-links-list {
    margin: 0 -4.6rem;
  }
  .tabelle-links .tabelle-links-item {
    width: calc(100% / 3 - 9.2rem);
    margin-bottom: 6.1rem;
    margin-left: 4.6rem;
    margin-right: 4.6rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .tabelle-links .tabelle-links-item {
    width: calc(100% / 2 - 4.2rem);
  }
  .tabelle-links .tabelle-links-item:nth-child(3n+1):nth-last-child(2) {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}

/*
 * Liens d'Accès rapide @V2019
 * Dans pages Profil et niveaux N, situés après la grille de liens (styles fond vert avec à droite flèche vers la droite)
 * Padding et marges varient entre mobile et desktop ainsi que la flèche visible seulement sur desktop
 *
 * @author: Ph. Vayssière - Alsacréations
 *
 */
.quick-access .quick-access-list {
  width: 100%;
  padding-left: 0;
}

.quick-access .quick-access-item {
  list-style-type: none;
}

.quick-access .quick-access-item:not(:first-child) {
  margin-top: 0.3rem;
}

@media screen and (min-width: 768px) {
  .quick-access .quick-access-item:not(:first-child) {
    margin-top: 1.7rem;
  }
}

.quick-access .quick-access-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  padding: 1.7rem;
  line-height: 1.16667;
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #36783b;
}

.quick-access .quick-access-link:after {
  display: none;
  font-size: 2rem;
}

.quick-access .quick-access-link:focus, .quick-access .quick-access-link:hover {
  background-color: #333;
}

@media screen and (min-width: 768px) {
  .quick-access .quick-access-link {
    /*padding: 4.3rem 3.6rem 4.3rem 2.4rem;*/
    line-height: 1.2;
  }
  .quick-access .quick-access-link:after {
    display: block;
  }
}

/*
 * Header / En-tête @V2019
 * Styles CSS pour le layout l en-tête du site et le positionnement de ses modules
 *
 * @author: Jennifer N. puis Ph. Vayssière - Alsacreations
 *
 *
 * Note :
 * Le header comporte plusieurs breakpoints afin d'adapter le contenu à l'écran.
 *  - en deça de $tiny / $small > affichage adapté au mobile (petits écrans)
 *  - $small > affichage à mi-chemin entre le mobile et les petits écrans
 *  - $medium > affichage sur écran moyen (tablette, notebook) :
 *  - $large > affichage sur grand écran
 *
 * @V2019
 * sur desktop, la navigation se trouve entre le logo et la recherche. Déplacé avec Flexbox order.
 *
 */
.header-wrapper-2019 {
  position: relative;
  z-index: 1000;
  /* Réseaux sociaux */
  /*
   * Logo (le logo est différent en mobile et desktop. 'Ville de Gland' vs 'G' via un élément HTML picture)
   */
}

.header-wrapper-2019 .header-links {
  display: none;
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .header-links {
    display: block;
  }
  .header-wrapper-2019 .header-links .header-links-list {
    position: relative;
    top: 0;
    left: 0;
  }
  .header-wrapper-2019 .header-links .header-links-item {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    list-style-type: none;
  }
  .header-wrapper-2019 .header-links a {
    position: absolute;
    top: 2px;
    left: -100vw;
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
    color: #fff;
    background-color: #36783b;
  }
  .header-wrapper-2019 .header-links a:focus {
    left: 0;
  }
}

.header-wrapper-2019 .header-wrapper {
  position: relative;
}

.header-wrapper-2019 .header-wrapper:after {
  content: "";
  display: block;
  border-bottom: 4px solid #bdbdbdc0;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .header-wrapper:after {
    width: 100%;
  }
  .js-scrollbar .header-wrapper-2019 .header-wrapper:after {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .header-wrapper:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
}

.header-wrapper-2019 .site-header {
  position: relative;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin: 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .header-wrapper-2019 .site-header {
    max-width: 71.8rem;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .header-wrapper-2019 .site-header {
    max-width: 87.4rem;
  }
}

@media screen and (min-width: 1200px) {
  .header-wrapper-2019 .site-header {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    max-width: 117.2rem;
  }
}

.header-wrapper-2019 .site-header .header-btn-burger {
  width: 6.4rem;
  min-height: 6.4rem;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header .header-btn-burger {
    border: none;
    padding: 0.7rem 1rem 0.1rem 1.1rem;
    background-color: #333;
  }
  .header-wrapper-2019 .site-header .header-btn-burger [class^="icon-"] {
    font-size: 3.7rem;
    color: white;
  }
}

.header-wrapper-2019 .site-header .header-btn-burger .header-btn-burger-state-nav-opened {
  display: block;
}

.header-wrapper-2019 .site-header .header-btn-burger.is-active > .header-btn-burger-state-nav-closed,
.header-wrapper-2019 .site-header .header-btn-burger:not(.is-active) > .header-btn-burger-state-nav-opened {
  display: none;
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .site-header .header-btn-burger {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .header-wrapper-2019 .site-header .navigation-wrapper-2019:before {
    content: "";
    position: absolute;
    left: calc((100vw - 71.8rem) / -2);
    display: block;
    width: 100vw;
    height: 1px;
    background-color: #ebebeb;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .header-wrapper-2019 .site-header .navigation-wrapper-2019:before {
    left: calc((100vw - 87.4rem) / -2);
  }
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .site-header .navigation-wrapper {
    width: auto;
    margin-top: 0;
  }
}

.header-wrapper-2019 .header-top {
  border-bottom: 1px solid #ebebeb;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .header-top {
    display: none;
  }
}

.header-wrapper-2019 .header-top .site-header {
  -ms-flex-pack: end;
      justify-content: flex-end;
  -ms-flex-align: center;
      align-items: center;
}

.header-wrapper-2019 .header-contact-list {
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

.header-wrapper-2019 .header-contact-item {
  list-style-type: none;
}

.header-wrapper-2019 .header-contact-item:not(:first-child) {
  border-left: 1px solid #e0e0e0;
}

.header-wrapper-2019 .header-contact-item > a {
  display: block;
  padding: 1.3rem;
  line-height: 1.14286;
  font-size: 1.4rem;
  text-decoration: none;
  color: #4f4f4f;
}

.header-wrapper-2019 .header-contact-item > a:focus, .header-wrapper-2019 .header-contact-item > a:hover {
  text-decoration: underline;
}

.header-wrapper-2019 .header-social-list {
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 0;
  margin-left: 1.5rem;
}

.header-wrapper-2019 .header-social-item {
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
}

.header-wrapper-2019 .header-social-link {
  text-decoration: none;
}

.header-wrapper-2019 .header-social-list {
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style-type: none;
}

.header-wrapper-2019 .header-social-link {
  margin-left: 0.4rem;
  font-size: 2.5rem;
  text-decoration: none;
  color: #6d6e6e;
}

.header-wrapper-2019 .header-social-link:focus, .header-wrapper-2019 .header-social-link:hover {
  color: #36783b;
}

.header-wrapper-2019 .header-social-link > [class^="icon-"] {
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
}

.header-wrapper-2019 .site-header-logo a {
  display: block;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header-logo {
    display: -ms-flexbox;
    display: flex;
  }
  .header-wrapper-2019 .site-header-logo img {
    width: 12.1rem;
    margin: 1.4rem 1.1rem;
  }
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .site-header-logo a {
    margin-left: -2.9rem;
    padding: 2.9rem;
  }
  .header-wrapper-2019 .site-header-logo img {
    width: 7.5rem;
  }
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .is-active + .site-header-links-search {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header-links-search {
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .header-wrapper-2019 .site-header-links-search .header-search {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    height: 100%;
  }
}

@media screen and (min-width: 1200px) {
  .header-wrapper-2019 .site-header-links-search {
    -ms-flex-order: 1;
        order: 1;
  }
}

.header-wrapper-2019 .site-header-links-search .header-search .input-group {
  position: relative;
  display: -ms-flexbox;
  display: flex;
}

.header-wrapper-2019 .site-header-links-search .header-search .input-group:before {
  position: absolute;
  top: 50%;
  left: 1.9rem;
  font-size: 2rem;
  color: #bdbdbd;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header-wrapper-2019 .site-header-links-search .header-search .form-input-txt {
  padding: 1.5rem 1.3rem 1.5rem 5.2rem;
  font-size: 1.4rem;
  background-color: #fff;
}

.header-wrapper-2019 .site-header-links-search .header-search .form-input-txt:placeholder {
  color: #4f4f4f;
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .site-header-links-search .header-search .form-input-txt {
    border: 1px solid #e0e0e0;
    border-right-width: 0;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .form-input-txt:focus {
    border: 2px solid #000;
    border-right: none;
    padding: 1.4rem 1.2rem 1.4rem 5.1rem;
    outline: none;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .form-input-txt:focus + .input-group-btn > .btn-submit {
    border: 2px solid #000;
    padding: 1.5rem 1.2rem 1.4rem 1.2rem;
  }
}

.header-wrapper-2019 .site-header-links-search .header-search .header-search-close {
  display: none;
}

.header-wrapper-2019 .site-header-links-search .header-search .btn-submit {
  border: 1px solid #f1f1f1;
  padding: 0 2rem 0 2.2rem;
  font-size: 1.4rem;
  color: #4f4f4f;
  background-color: #f1f1f1;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header-links-search .header-search .form-item {
    height: 100%;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .input-group {
    height: 100%;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .input-group .input-group-btn {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header-links-search .header-search {
    width: 100%;
  }
  .header-wrapper-2019 .site-header-links-search .input-group {
    border: 1px solid #e0e0e0;
  }
  .header-wrapper-2019 .site-header-links-search.is-search-active {
    overflow: hidden;
  }
  .header-wrapper-2019 .site-header-links-search.is-search-active .input-group {
    border-color: #36783b;
  }
  .header-wrapper-2019 .site-header-links-search .form-input-txt {
    -ms-flex-positive: 1;
        flex-grow: 1;
    border: none;
  }
  .header-wrapper-2019 .site-header-links-search .input-group-btn {
    width: 5rem;
  }
  .header-wrapper-2019 .site-header-links-search .btn-submit.btn-submit {
    width: 100%;
    padding: 0;
  }
  .header-wrapper-2019 .site-header-links-search .header-search-close {
    width: 100%;
    height: 100%;
    color: #333;
    background-color: white;
  }
  .header-wrapper-2019 .site-header-links-search .header-search-close [class^="icon-"] {
    display: inline-block;
    line-height: 1;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .site-header-links-search {
    -ms-flex-item-align: center;
        align-self: center;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .form-input-txt {
    padding: 1.8rem 1.2rem 1.5rem 5.2rem;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .form-input-txt:focus {
    border: 2px solid #000;
    border-right-width: 0;
    padding: 1.7rem 1.1rem 1.4rem 5.1rem;
  }
  .header-wrapper-2019 .site-header-links-search .header-search .form-input-txt:focus + .input-group-btn > .btn-submit {
    border: 2px solid #000;
    padding: 0 1.9rem 0 2.1rem;
  }
}

.header-wrapper-2019 .site-header-links-search .site-header-contrib {
  margin-top: 0;
}

.header-wrapper-2019 .site-header-links-search .site-header-contrib {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header-links-search .site-header-contrib {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}

.header-wrapper-2019 .site-header-links-search .site-header-contrib-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: 1rem 1.2rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #36783b;
  transition: background-color ease 0.2s;
  height: 5.4rem;
  margin-left: 0.1rem;
}

@media screen and (min-width: 768px) {
  .header-wrapper-2019 .site-header-links-search .site-header-contrib-link {
    margin-left: 0.5rem;
  }
}

.header-wrapper-2019 .site-header-links-search .site-header-contrib-link:focus, .header-wrapper-2019 .site-header-links-search .site-header-contrib-link:hover {
  background-color: #333;
}

.header-wrapper-2019 .site-header-links-search .site-header-contrib-link [class^="icon-"] {
  margin-right: 1rem;
  line-height: 1;
  font-size: 2.8rem;
}

.header-wrapper-2019 .site-header-links-search .site-header-contrib.eadmin svg {
  margin-right: 1rem;
  fill: #fff;
}

@media screen and (max-width: 767px) {
  .header-wrapper-2019 .site-header-links-search .header-search .header-search-close {
    display: block;
    margin-right: 20px;
  }
  .header-wrapper-2019 .site-header-links-search.is-search-active .header-search {
    -ms-flex-positive: 9999;
        flex-grow: 9999;
  }
  .header-wrapper-2019 .site-header-links-search.is-search-active .input-group-btn {
    display: block !important;
  }
  .header-wrapper-2019 .site-header-links-search.is-search-active .btn-submit {
    height: 100%;
  }
  .header-wrapper-2019 .site-header-links-search.is-search-active .site-header-contrib {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
    min-width: 0;
  }
}

/*
 * Footer
 *
 */
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .footer-infos-wrapper,
  .footer-nav-wrapper,
  .footer-label-wrapper {
    max-width: 87.4rem;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1200px) {
  .footer-infos-wrapper,
  .footer-nav-wrapper,
  .footer-label-wrapper {
    max-width: 117.2rem;
    margin: 0 auto;
  }
}

.footer-nav-wrapper,
.footer-label-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
}

@media screen and (max-width: 767px) {
  .footer-nav-wrapper,
  .footer-label-wrapper {
    -ms-flex-direction: column;
        flex-direction: column;
  }
}

/*
 * Layout "Page d'accueil" V2019
 * Styles pour le layout/mise en page de la page d'accueil (homepage)
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.page-home-2019 {
  /*
  * Zones 1 à 4 - commun
  * Occupe la largeur restante
  */
  /*
  * Zone 1 (bannières 1ère actu et Accès directs)
  * Chacun en pleine largeur du viewport
  */
  /*
  * Zone 2
  * News
  *
  */
  /*
  * Zone 3
  * Newsletter, Agenda, Lieux et autres sites
  */
}

.page-home-2019 [class="^zone-"] {
  width: 100%;
}

.page-home-2019 .zone-2 {
  display: block;
}

@media screen and (min-width: 768px) {
  .page-home-2019 .zone-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .page-home-2019 .zone-3 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
  }
  .page-home-2019 .zone-3 .agenda-2019 {
    -ms-flex-order: -1;
        order: -1;
    width: 100%;
  }
}

/*
 * Layout "Page profil" @V2019
 *
 *
 * @author: Ph. Vayssière - Alsacréations
 */
@media screen and (max-width: 767px) {
  .page-profile .direct-access-list {
    border-bottom: 0.3rem solid #36783b;
  }
}

/*
 * Layout "Page interne" @V2019
 * Styles pour le layout/mise en page de la page interne
 *
 * @author: Ph. Vayssière - Alsacréations
 */
.page-internal {
  /*
  * Zone 2
  * Contenu principal
  *
  */
  /*
  * Zone 3
  * Actualités (sidebar)
  */
}

@media screen and (max-width: 767px) {
  .page-internal .site-wrapper {
    margin: 0 2rem;
  }
}

@media screen and (min-width: 992px) {
  .page-internal .site-wrapper {
    display: -ms-flexbox;
    display: flex;
  }
}

.page-internal .zone-2 {
  display: block;
}

@media screen and (min-width: 768px) {
  .page-internal .zone-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media screen and (min-width: 768px) {
  .page-internal .content-2019 {
    padding-top: 3.5rem;
  }
}

@media screen and (max-width: 767px) {
  .page-internal .content-title {
    margin-top: 2.1rem;
    margin-bottom: 0;
    padding-bottom: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  .page-internal .content-title {
    margin-bottom: 4.4rem;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .page-internal .content-title {
    padding-bottom: 3.2rem;
    text-align: center;
  }
  .page-internal .content-title:after {
    position: relative;
    bottom: -2.2rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .page-internal .zone-3 .news-sidebar-2019 .news-sidebar-inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .page-internal .zone-3 .news-sidebar-2019 .news-sidebar-header {
    width: 100%;
  }
  .page-internal .zone-3 .news-sidebar-2019 .news-card {
    max-width: calc(50% - 2rem);
  }
  .page-internal .zone-3 .news-sidebar-2019 .news-card:last-child {
    margin-left: 4rem;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .page-internal .zone-3 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 35.8rem;
    margin-left: 3.8rem;
  }
}

@media screen and (min-width: 1200px) {
  .page-internal .zone-3 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 35.8rem;
    margin-left: 3.8rem;
  }
}

/*
 * Global
 * Styles for global stuff
 *
 * @author: Ph. Vayssière - Alsacréations
 */
a:focus {
  outline: 1px dotted rgba(79, 79, 79, 0.35);
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .site-wrapper {
    max-width: 71.8rem;
    margin: auto;
  }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
  .site-wrapper {
    max-width: 87.4rem;
    margin: auto;
  }
}

@media screen and (min-width: 1200px) {
  .site-wrapper {
    max-width: 117.2rem;
    margin: auto;
  }
}

@media screen and (min-width: 1440px) {
  .site-header,
  .footer-infos-wrapper,
  .site-wrapper {
    max-width: 138.5rem;
    margin: auto;
  }
}

.js-hidden {
  display: none;
}

@media screen and (max-width: 767px) {
  .js-small-hidden {
    display: none;
  }
}

#content .ce-gallery img {
  padding: 2px;
}

#content .btn.guichet-virtuel {
  -ms-flex-align: center;
  align-items: center;
  padding: 1rem 1.5rem;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #36783b;
  transition: background-color ease 0.2s;
  height: 5.4rem;
  margin-left: 0.1rem;
}

#content .btn.guichet-virtuel svg {
  margin-right: 1rem;
}

#content .btn.guichet-virtuel:after {
  content: none;
}

#content .btn.guichet-virtuel:hover {
  background-color: #333;
}
