@import url("https://use.typekit.net/uej0eyr.css");
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block;
}
/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}
/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}
/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}
/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}
/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}
/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  /* 2 */
  box-sizing: border-box;
}
/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}
/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* Custom additions */
ul,
ol {
  margin: 0;
  padding: 0;
}
/* Hide arrows on number fields */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}
input::-ms-clear {
  display: none;
}
.clearfix {
  zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.image-replacement {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*********************
TYPOGRAPHY
*********************/
/*	@font-face {
    	font-family: 'Font Name';
    	src: url('../fonts/font-name.eot');
    	src: url('../fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('../fonts/font-name.woff') format('woff'),
             url('../fonts/font-name.ttf') format('truetype'),
             url('../fonts/font-name.svg#font-name') format('svg');
    	font-weight: normal;
    	font-style: normal;
	}
*/
/* .animation (animationName, @duration: 6s, @delay: 2s, @ease: ease, @fill-mode: forwards); */
/*  .transform(translate(50px)); */
/* .transition(all 2s); */
/* .css-gradient(#dfdfdf,#f8f8f8); */
.button,
.button:visited {
  font-family: "fira-sans", sans-serif;
  padding: 8px 22px 7px;
  margin: 25px 0 0;
  border: 1px solid #0a9396;
  background: none;
  border-radius: 20px;
  color: #0a9396;
  display: inline-block;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  letter-spacing: 1px;
  transition: all 0.45s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.button:hover,
.button:visited:hover {
  background: #0a9396;
  color: white;
  box-shadow: 0 0 0 5px #cee9ea;
}
.button:focus,
.button:visited:focus {
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 0 0 1px #cee9ea;
}
.button.white,
.button:visited.white {
  color: white;
  border: 1px solid white;
}
.button.white:hover,
.button:visited.white:hover {
  background: white;
  color: #f94144;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.6);
}
.centerVertically {
  /* This has to be on the container! */
  /* Internet Explorer 10 */
  display: -ms-flexbox;
  -ms-flex-align: center;
  /* Safari, Opera, and Chrome */
  display: -webkit-flex;
  -webkit-align-items: center;
  /* W3C */
  display: flex;
  align-items: center;
}
@font-face {
  font-family: 'esch';
  src: url('../../esch/icons/esch/fonts/esch.eot?v1');
  src: url('../../esch/icons/esch/fonts/esch.eot?v1#iefix') format('embedded-opentype'), url('../../esch/icons/esch/fonts/esch.woff2?v1') format('woff2'), url('../../esch/icons/esch/fonts/esch.ttf?v1') format('truetype'), url('../../esch/icons/esch/fonts/esch.woff?v1') format('woff'), url('../../esch/icons/esch/fonts/esch.svg?v1#esch') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'esch' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-download:before {
  content: "\e949";
}
.icon-loupe_plus:before {
  content: "\e948";
}
.icon-couch:before {
  content: "\e943";
}
.icon-delete:before {
  content: "\e944";
}
.icon-tree:before {
  content: "\e945";
}
.icon-valorlux:before {
  content: "\e946";
}
.icon-competition:before {
  content: "\e926";
}
.icon-culture:before {
  content: "\e927";
}
.icon-kids:before {
  content: "\e928";
}
.icon-museum:before {
  content: "\e929";
}
.icon-musique:before {
  content: "\e92a";
}
.icon-nature:before {
  content: "\e92b";
}
.icon-shopping:before {
  content: "\e92c";
}
.icon-sport:before {
  content: "\e92d";
}
.icon-snow:before {
  content: "\e93e";
}
.icon-shower-rain:before {
  content: "\e938";
}
.icon-broken-clouds:before {
  content: "\e936";
}
.icon-scattered-clouds:before {
  content: "\e937";
}
.icon-mist:before {
  content: "\e92f";
}
.icon-rain:before {
  content: "\e922";
}
.icon-thunderstorm:before {
  content: "\e923";
}
.icon-few-clouds:before {
  content: "\e921";
}
.icon-clear-sky:before {
  content: "\e920";
}
.icon-linkedin:before {
  content: "\e930";
}
.icon-googleplus:before {
  content: "\e931";
}
.icon-facebook:before {
  content: "\e932";
}
.icon-instagram:before {
  content: "\e933";
}
.icon-twitter:before {
  content: "\e934";
}
.icon-youtube:before {
  content: "\e935";
}
.icon-image:before {
  content: "\e942";
}
.icon-alert_triangle:before {
  content: "\e941";
}
.icon-tickets:before {
  content: "\e90f";
}
.icon-down:before {
  content: "\e90c";
}
.icon-messages:before {
  content: "\e93d";
}
.icon-file-download:before {
  content: "\e93c";
}
.icon-swipe:before {
  content: "\e93b";
}
.icon-arrow-footer:before {
  content: "\e93a";
}
.icon-home:before {
  content: "\e939";
}
.icon-mail:before {
  content: "\e92e";
}
.icon-event-cal:before {
  content: "\e924";
}
.icon-event-share:before {
  content: "\e925";
}
.icon-map-citylife:before {
  content: "\e91f";
}
.icon-chantier:before {
  content: "\e91e";
}
.icon-toolbar-close:before {
  content: "\e91d";
}
.icon-close:before {
  content: "\e91c";
}
.icon-arrow-long-left:before {
  content: "\e918";
}
.icon-arrow-long-right:before {
  content: "\e917";
}
.icon-arrow-long-left-:before {
  content: "\e998";
}
.icon-arrow-very-long-right:before {
  content: "\e91b";
}
.icon-stats:before {
  content: "\e91a";
}
.icon-caret-down:before {
  content: "\e940";
}
.icon-caret-right:before {
  content: "\e90d";
}
.icon-arrow-long-down:before {
  content: "\e909";
}
.icon-arrow-long-right-:before {
  content: "\e999";
}
.icon-plus-round-filled:before {
  content: "\e911";
}
.icon-pencil:before {
  content: "\e919";
}
.icon-clock:before {
  content: "\e916";
}
.icon-map-outline:before {
  content: "\e915";
}
.icon-envelope:before {
  content: "\e910";
}
.icon-ext-arrow:before {
  content: "\e914";
}
.icon-share:before {
  content: "\e93f";
}
.icon-plus-round:before {
  content: "\e913";
}
.icon-search-admin:before {
  content: "\e906";
}
.icon-city:before {
  content: "\e904";
}
.icon-archive:before {
  content: "\e912";
}
.icon-document:before {
  content: "\e90a";
}
.icon-ext-link:before {
  content: "\e90b";
}
.icon-pin:before {
  content: "\e908";
}
.icon-news:before {
  content: "\e907";
}
.icon-back-home-left:before {
  content: "\e905";
}
.icon-back-home-right:before {
  content: "\e90e";
}
.icon-search:before {
  content: "\e903";
}
.icon-car:before {
  content: "\e902";
}
.icon-map:before {
  content: "\e901";
}
.icon-alert:before {
  content: "\e900";
}
.icon-television:before {
  content: "\e94a";
}
.icon-skip-back:before {
  content: "\e952";
}
.icon-skip:before {
  content: "\e951";
}
.icon-fullscreen:before {
  content: "\e94f";
}
.icon-mute:before {
  content: "\e950";
}
.icon-volume:before {
  content: "\e94e";
}
.icon-pause:before {
  content: "\e94d";
}
.icon-play:before {
  content: "\e94c";
}
.icon-eye:before {
  content: "\e94b";
}
.icon-1:before {
  content: "\e947";
}
.icon-2:before {
  content: "\e953";
}
.icon-3:before {
  content: "\e954";
}
.icon-4:before {
  content: "\e955";
}
.icon-5:before {
  content: "\e956";
}
.icon-cloths:before {
  content: "\e958";
}
.icon-boxes:before {
  content: "\e959";
}
.icon-radiation:before {
  content: "\e95a";
}
.icon-toxic:before {
  content: "\e95b";
}
.icon-container:before {
  content: "\e957";
}
/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}
.leaflet-container {
  overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer {
  max-width: none !important;
  max-height: none !important;
}
.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}
.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}
.leaflet-tile-loaded {
  visibility: inherit;
}
.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}
.leaflet-pane {
  z-index: 400;
}
.leaflet-tile-pane {
  z-index: 200;
}
.leaflet-overlay-pane {
  z-index: 400;
}
.leaflet-shadow-pane {
  z-index: 500;
}
.leaflet-marker-pane {
  z-index: 600;
}
.leaflet-tooltip-pane {
  z-index: 650;
}
.leaflet-popup-pane {
  z-index: 700;
}
.leaflet-map-pane canvas {
  z-index: 100;
}
.leaflet-map-pane svg {
  z-index: 200;
}
.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}
.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}
/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}
.leaflet-top {
  top: 0;
}
.leaflet-right {
  right: 0;
}
.leaflet-bottom {
  bottom: 0;
}
.leaflet-left {
  left: 0;
}
.leaflet-control {
  float: left;
  clear: both;
}
.leaflet-right .leaflet-control {
  float: right;
}
.leaflet-top .leaflet-control {
  margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
  margin-left: 10px;
}
.leaflet-right .leaflet-control {
  margin-right: 10px;
}
/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile {
  will-change: opacity;
}
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}
.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
  will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}
/* cursors */
.leaflet-interactive {
  cursor: pointer;
}
.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
}
/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive {
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}
/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline: 0;
}
.leaflet-container a {
  color: #0078a8;
}
.leaflet-container a.leaflet-active {
  outline: 2px solid orange;
}
.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}
/* general typography */
.leaflet-container {
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}
.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}
.leaflet-bar a:hover {
  background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}
.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}
/* layers control */
/*.leaflet-control-layers {*/
/*box-shadow: 0 1px 5px rgba(0,0,0,0.4);*/
/*background: #fff;*/
/*border-radius: 5px;*/
/*}*/
/*.leaflet-control-layers-toggle {*/
/*background-image: url(images/layers.png);*/
/*width: 36px;*/
/*height: 36px;*/
/*}*/
/*.leaflet-retina .leaflet-control-layers-toggle {*/
/*background-image: url(images/layers-2x.png);*/
/*background-size: 26px 26px;*/
/*}*/
/*.leaflet-touch .leaflet-control-layers-toggle {*/
/*width: 44px;*/
/*height: 44px;*/
/*}*/
/*.leaflet-control-layers .leaflet-control-layers-list,*/
/*.leaflet-control-layers-expanded .leaflet-control-layers-toggle {*/
/*display: none;*/
/*}*/
/*.leaflet-control-layers-expanded .leaflet-control-layers-list {*/
/*display: block;*/
/*position: relative;*/
/*}*/
/*.leaflet-control-layers-expanded {*/
/*padding: 6px 10px 6px 6px;*/
/*color: #333;*/
/*background: #fff;*/
/*}*/
/*.leaflet-control-layers-scrollbar {*/
/*overflow-y: scroll;*/
/*overflow-x: hidden;*/
/*padding-right: 5px;*/
/*}*/
/*.leaflet-control-layers-selector {*/
/*margin-top: 2px;*/
/*position: relative;*/
/*top: 1px;*/
/*}*/
/*.leaflet-control-layers label {*/
/*display: block;*/
/*}*/
/*.leaflet-control-layers-separator {*/
/*height: 0;*/
/*border-top: 1px solid #ddd;*/
/*margin: 5px -10px 5px -6px;*/
/*}*/
/* Default icon URLs */
/*.leaflet-default-icon-path {*/
/*background-image: url(images/marker-icon.png);*/
/*}*/
/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.65);
  margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 5px 10px;
  color: #333;
  border-top-left-radius: 6px;
}
.leaflet-control-attribution a {
  text-decoration: none;
}
.leaflet-control-attribution a:first-child {
  position: absolute;
  right: 5px;
}
.leaflet-control-attribution a:hover {
  text-decoration: underline;
}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px;
}
.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}
.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5);
}
.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}
/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}
.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4;
}
.leaflet-popup-content p {
  margin: 18px 0;
}
.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}
.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}
.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  border: none;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999;
}
.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px;
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}
/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}
/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.leaflet-tooltip.leaflet-clickable {
  cursor: pointer;
  pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}
/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px;
}
.leaflet-tooltip-top {
  margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}
.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}
.leaflet-tooltip-left {
  margin-left: -6px;
}
.leaflet-tooltip-right {
  margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}
.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}
.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}
html.with-featherlight {
  overflow: hidden;
}
.featherlight {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483647;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  background: #333;
  background: rgba(0, 0, 0, 0);
}
.featherlight:last-of-type {
  background: rgba(0, 0, 0, 0.8);
}
.featherlight:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.featherlight .featherlight-content {
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  overflow: auto;
  padding: 25px 25px 0;
  border-bottom: 25px solid transparent;
  margin-left: 5%;
  margin-right: 5%;
  max-height: 95%;
  cursor: auto;
  white-space: normal;
}
.featherlight .featherlight-inner {
  display: block;
}
.featherlight script.featherlight-inner,
.featherlight link.featherlight-inner,
.featherlight style.featherlight-inner {
  display: none;
}
.featherlight .featherlight-close-icon {
  line-height: 25px;
  cursor: pointer;
  text-align: center;
  border: none;
  padding: 0;
  z-index: 9999;
  color: transparent;
  text-indent: -9999px;
  font-weight: 600;
  font-size: 25px;
  width: 36px;
  height: 36px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.2);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  outline: none;
  position: absolute;
  top: 30px;
  right: 30px;
}
.featherlight .featherlight-close-icon:before {
  content: "\e906";
  font-size: 22px;
  color: white;
  font-family: "esch";
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-indent: 0;
}
.featherlight .featherlight-close-icon:hover {
  background: rgba(255, 255, 255, 0.4);
}
.featherlight .featherlight-close-icon::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.featherlight .featherlight-image {
  width: 100%;
}
.featherlight-iframe .featherlight-content {
  border-bottom: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}
.featherlight iframe {
  border: none;
}
.featherlight * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 999px) {
  .featherlight .featherlight-close-icon {
    top: 18px;
    right: 18px;
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.75);
  }
}
@media only screen and (max-width: 1024px) {
  .featherlight .featherlight-content {
    margin-left: 0;
    margin-right: 0;
    max-height: 98%;
    padding: 10px 10px 0;
    border-bottom: 10px solid transparent;
  }
}
@media print {
  html.with-featherlight > * > :not(.featherlight) {
    display: none;
  }
}
.featherlight.featherlight-first-slide .featherlight-previous {
  opacity: 0.15;
}
.featherlight.featherlight-last-slide .featherlight-next {
  opacity: 0.15;
}
.featherlight-next,
.featherlight-previous {
  display: block;
  position: absolute;
  top: 25px;
  right: 25px;
  bottom: 0;
  left: 80%;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: rgba(255, 255, 255, 0);
}
.featherlight-previous {
  left: 25px;
  right: 80%;
}
.featherlight-next span,
.featherlight-previous span {
  position: absolute;
  top: 50%;
  left: 5%;
  width: 82%;
  text-align: center;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
  color: #fff;
  font-style: normal;
  font-weight: normal;
}
.featherlight-next span:before,
.featherlight-previous span:before {
  content: "\e904";
  font-family: "esch";
  font-size: 32px;
  position: absolute;
  top: 50%;
  left: 35%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.featherlight-next span img,
.featherlight-previous span img {
  display: none !important;
}
.featherlight-next span {
  right: 5%;
  left: auto;
}
.featherlight-next span:before {
  content: "\e90a";
  left: 65%;
}
.featherlight-next:hover span,
.featherlight-previous:hover span {
  display: inline-block;
}
.featherlight-swipe-aware .featherlight-next,
.featherlight-swipe-aware .featherlight-previous {
  display: none;
}
.featherlight-loading .featherlight-previous,
.featherlight-loading .featherlight-next {
  display: none;
}
.featherlight-first-slide.featherlight-last-slide .featherlight-previous,
.featherlight-first-slide.featherlight-last-slide .featherlight-next {
  display: none;
}
@media only screen and (max-width: 999px) {
  .featherlight-next span:before,
  .featherlight-previous span:before {
    font-size: 28px;
    left: 50%;
  }
}
@media only screen and (max-device-width: 1024px) {
  .featherlight-next:hover,
  .featherlight-previous:hover {
    background: none;
  }
  .featherlight-next span,
  .featherlight-previous span {
    display: block;
  }
}
@media only screen and (max-width: 1024px) {
  .featherlight-next,
  .featherlight-previous {
    top: 10px;
    right: 10px;
    left: 85%;
  }
  .featherlight-previous {
    left: 10px;
    right: 85%;
  }
  .featherlight-next span,
  .featherlight-previous span {
    font-size: 40px;
  }
}
/*********************
01. GENERAL STYLES
*********************/
html,
body {
  height: 100%;
}
body {
  font-family: "fira-sans-2", sans-serif;
  font-size: 100%;
  color: #2f3c4a;
  -webkit-font-smoothing: antialiased;
}
::selection {
  background: #f94144;
  color: white;
}
::-moz-selection {
  background: #f94144;
  color: white;
}
.visible-phone {
  display: block;
}
.visible-tablet {
  display: none;
}
.visible-desktop {
  display: none;
}
.hidden-phone {
  display: none;
}
.hidden-tablet {
  display: block;
}
.hidden-desktop {
  display: block;
}
/********************
02. WORDPRESS BODY CLASSES
    style a page via class
********************/
body.home .cover {
  margin: 0 -20px;
  padding: 10px 0;
}
body.home .cover .col {
  width: calc(100% - 20px);
}
body.home .cover .col .button {
  margin: 10px 3px 0 0;
}
body.home .cover .col .button:last-child {
  margin-bottom: 0;
}
body.home .cover .col.col-1 {
  /*margin-bottom: 10px;*/
  margin: 0 0 0 20px;
}
body.home .cover .col.col-1 .conservatory-intro {
  background: lightgray;
  background-size: cover;
  background-position: center center;
}
body.home .cover .col.col-1 p:last-of-type {
  margin: 0 0 10px;
}
body.home .cover .col.col-2 {
  margin: 0 20px 0 0;
}
body.home .cover .col.col-2 .concerts {
  background: lightgray;
  background-size: cover;
  background-position: center center;
}
body.home .cover .col.col-2 .concerts h2 {
  margin: 0 0 12px;
}
body.home .cover .col.col-2 .concerts p {
  margin-bottom: 30px;
}
body.home .cover .col.col-2 .news {
  position: relative;
  display: none;
  padding: 20px 20px 60px 20px;
}
body.home .cover .col.col-2 .news.no-controls {
  padding-bottom: 20px;
}
body.home .cover .col.col-2 .news h2,
body.home .cover .col.col-2 .news p {
  color: white;
}
body.home .cover .col.col-2 .news p:last-of-type {
  margin-bottom: 0;
}
body.home .cover .col.col-2 .news .controls {
  position: absolute;
  left: 30px;
  bottom: 25px;
}
body.home .cover .col.col-2 .news .controls li {
  list-style-type: none;
  margin-right: 4px;
  display: inline-block;
  cursor: pointer;
}
body.home .cover .col.col-2 .news .controls li a {
  width: 32px;
  height: 12px;
  display: block;
  background: white;
  border: 5px solid #f94144;
}
body.home .cover .col.col-2 .news .controls li.active a {
  height: 13px;
}
body.home .cover .col.col-2 .news .current-index {
  font-size: 18px;
  position: absolute;
  right: 35px;
  bottom: 25px;
  color: white;
}
body.home .cover .col.col-2 .news .current-index span {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
}
body.home .cover .col.col-2.has-news .news {
  background: #f94144;
  display: block;
  margin-bottom: 10px;
}
body.home .cover .col.col-2.has-news .news .news-content {
  padding: 0 0 10px 10px;
}
body.home .cover .col.col-2.has-news .news .news-content a {
  color: white;
}
body.home .cover .col .container {
  position: relative;
  background: rgba(255, 255, 255, 0.85);
}
body.home .cover .col .container .content {
  padding: 20px;
}
body.home .cover .scrolldown {
  position: absolute;
  bottom: 38px;
  left: 50%;
  color: #0a9396;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 0 30px;
  text-decoration: none;
  outline: none;
  display: none;
}
body.home .cover .scrolldown:before {
  content: '';
  width: 16px;
  height: 2px;
  background: #0a9396;
  display: block;
  position: absolute;
  left: 0;
  top: 11px;
}
body.home .cover .scrolldown:after {
  content: '';
  width: 16px;
  height: 2px;
  background: #0a9396;
  display: block;
  position: absolute;
  right: 0;
  top: 11px;
}
body.home .cover .scrolldown i {
  font-size: 12px;
}
body.home .cover .background {
  display: none;
}
body.home .next-event .title {
  font-family: "fira-sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 6px;
}
body.home .next-event .details {
  font-size: 15px;
}
body.home .next-event .details .date,
body.home .next-event .details .time {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  display: inline;
}
body.home .next-event h3 {
  line-height: 1;
  margin: 2px 0 10px;
}
body.home .next-event .author {
  font-family: "fira-sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
}
body.home .next-event .author span {
  font-family: "fira-sans-2", sans-serif;
  font-weight: 400;
  margin-left: 3px;
}
body.home main {
  position: relative;
  background: #f9f6f9;
}
body.home main:focus {
  outline: none;
}
body.single-orchestra .description {
  margin: 35px 0;
  zoom: 1;
}
body.single-orchestra .description:before,
body.single-orchestra .description:after {
  content: "";
  display: table;
}
body.single-orchestra .description:after {
  clear: both;
}
body.single-orchestra .description .content {
  width: 100%;
}
body.single-orchestra .description .key-elements {
  width: 100%;
  margin-top: 25px;
}
body.single-orchestra .description .key-elements > div {
  font-size: 15px;
  font-weight: 400;
}
body.single-orchestra .description .key-elements > div .type {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
}
body.single-orchestra .description .key-elements .title {
  font-family: "fira-sans", sans-serif;
  font-size: 22px;
  font-weight: 600;
}
body.single-department .description {
  width: 100%;
  margin: 40px 0;
  padding-right: 46px;
}
body.single-department .description h2 {
  font-family: "fira-sans", sans-serif;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1;
  margin: 0 0 12px;
  color: #2f3c4a;
}
body.single-department .description .button {
  margin-top: 20px;
}
body.single-department .image {
  position: relative;
  width: 100%;
  height: 320px;
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
}
body.single-department .professors {
  width: 100%;
  margin: 40px 0;
}
body.single-department .professors .title {
  font-family: "freight-text-pro", serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
body.single-department .professors .name-list {
  margin-bottom: 18px;
  list-style: none;
}
body.single-department .professors .name-list li {
  font-family: "fira-sans-2", sans-serif;
  font-weight: 400;
}
body.page-template-page-teachers .search-wrapper {
  margin: 0 0 24px;
}
body.page-template-page-events #content {
  position: relative;
}
body.page-template-page-events .upcoming-events {
  margin: 50px 0;
  width: 100%;
}
body.page-template-page-events #open-calendar {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 150;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding-left: 40px;
  white-space: nowrap;
  outline: none;
  background: #fbfbfb;
}
body.page-template-page-events #open-calendar:before {
  content: '\e911';
  font-family: "esch";
  font-size: 15px;
  font-weight: normal;
  display: block;
  position: absolute;
  top: 50%;
  left: 18px;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -2px;
}
body.page-template-page-events #open-calendar:hover {
  background: #f94144;
}
body.page-template-page-events .col-calendar {
  background: #eaeadf;
  position: fixed;
  right: 0;
  top: 100%;
  height: 100%;
  width: 100%;
  padding: 20px 10px;
  z-index: 100;
  -webkit-transition: top 0.45s ease;
  transition: top 0.45s ease;
}
body.page-template-page-events .col-calendar.open {
  top: 0;
}
body.page-template-page-events .col-calendar .filter {
  max-width: 380px;
  margin: 0 auto;
}
body.page-template-page-events .col-calendar .filter .title {
  font-family: "freight-text-pro", serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
body.page-template-page-events .col-calendar .filter ul {
  margin-top: 10px;
}
body.page-template-page-events .col-calendar .filter li {
  position: relative;
  padding-left: 22px;
  margin: 7px 0;
  list-style-type: none;
  cursor: pointer;
  line-height: 1.1;
}
body.page-template-page-events .col-calendar .filter li span {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 8px;
  border: 1px solid #0a9396;
  position: absolute;
  top: 46%;
  left: 0px;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: transparent;
  box-shadow: inset 0px 0px 0px 6px transparent;
  -webkit-transition: box-shadow 0.25s ease 0.05s;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.page-template-page-events .col-calendar .filter li a {
  color: #2f3c4a;
}
body.page-template-page-events .col-calendar .filter li.active a {
  text-decoration: none;
}
body.page-template-page-events .col-calendar .filter li.active span {
  background: #0a9396;
  box-shadow: inset 0px 0px 0px 2px #f4f4f4;
}
body.page-template-page-events .col-calendar .filter a {
  text-decoration: none;
}
body.page-template-page-events .col-calendar .button {
  position: relative;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-top: 50px;
  text-align: center;
  line-height: 1.25;
  border-radius: 50px;
}
body.page-template-page-events .calendar {
  font-weight: 400;
  text-transform: uppercase;
  max-width: 380px;
  margin: 30px auto;
}
body.page-template-page-events .calendar .month_previous,
body.page-template-page-events .calendar .monthname,
body.page-template-page-events .calendar .month_next {
  font-family: "fira-sans", sans-serif;
  font-size: 19px;
  letter-spacing: 2px;
  margin: 0 20px 20px 0;
  display: inline-block;
  position: relative;
  text-align: center;
  left: 0;
}
body.page-template-page-events .calendar .monthname {
  font-weight: 600;
}
body.page-template-page-events .calendar .month_previous,
body.page-template-page-events .calendar .month_next {
  font-weight: 300;
  text-decoration: none;
  color: #000000;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.page-template-page-events .calendar .month_previous:hover,
body.page-template-page-events .calendar .month_next:hover {
  color: #f94144;
}
body.page-template-page-events .calendar .daynames {
  position: relative;
  zoom: 1;
}
body.page-template-page-events .calendar .daynames:before,
body.page-template-page-events .calendar .daynames:after {
  content: "";
  display: table;
}
body.page-template-page-events .calendar .daynames:after {
  clear: both;
}
body.page-template-page-events .calendar .daynames:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background: #123;
  width: 100%;
  height: 1px;
}
body.page-template-page-events .calendar .daynames .dayname {
  font-size: 14px;
  width: 14.28571429%;
  letter-spacing: 0.5px;
  float: left;
  color: #1a2d40;
  text-align: center;
}
body.page-template-page-events .calendar .daynames .dayname .dayname-inner {
  padding: 0 0 4px 0;
}
body.page-template-page-events .calendar .daynames .dayname.today .dayname-inner {
  font-family: "fira-sans", sans-serif;
  font-weight: 700;
  position: relative;
}
body.page-template-page-events .calendar .daynames .dayname.today .dayname-inner:after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -ms-transform: translate(-50%);
  -webkit-transform: translate(-50%);
  transform: translate(-50%);
  background: #1a2d40;
}
body.page-template-page-events .calendar .days {
  padding-top: 26px;
  zoom: 1;
}
body.page-template-page-events .calendar .days:before,
body.page-template-page-events .calendar .days:after {
  content: "";
  display: table;
}
body.page-template-page-events .calendar .days:after {
  clear: both;
}
body.page-template-page-events .calendar .days .dayplaceholder,
body.page-template-page-events .calendar .days .day {
  padding: 10px 5px;
  font-size: 16px;
  width: 14.28571429%;
  float: left;
}
body.page-template-page-events .calendar .days .dayplaceholder {
  color: #9ca3ab;
}
body.page-template-page-events .calendar .days .dayplaceholder .date {
  text-align: center;
  font-size: 18px;
}
body.page-template-page-events .calendar .days .day {
  position: relative;
  text-align: left;
  color: rgba(178, 178, 178, 0.8);
  font-weight: 300;
  text-decoration: none;
}
body.page-template-page-events .calendar .days .day:nth-child(7n + 6),
body.page-template-page-events .calendar .days .day:nth-child(7n) {
  color: rgba(178, 178, 178, 0.4);
}
body.page-template-page-events .calendar .days .day.today .day-inner .date {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  position: relative;
  color: #000000;
}
body.page-template-page-events .calendar .days .day.active .day-inner .date {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  position: relative;
}
body.page-template-page-events .calendar .days .day.active .day-inner .date:after {
  content: '';
  display: block;
  width: 70%;
  height: 3px;
  position: absolute;
  bottom: -5px;
  left: 50%;
  -ms-transform: translate(-50%);
  -webkit-transform: translate(-50%);
  transform: translate(-50%);
  background: #0a9396;
}
body.page-template-page-events .calendar .days .day .day-inner .date {
  text-align: center;
  font-size: 18px;
  color: #1a2d40;
  font-weight: 400;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.page-template-page-events .calendar .days .day .day-inner .events {
  position: absolute;
  top: -2px;
  left: 10px;
}
body.page-template-page-events .calendar .days .day .day-inner .events .event {
  display: inline-block;
  font-size: 0;
  width: 12px;
  height: 12px;
  margin-right: 3px;
  border-radius: 100%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.page-template-page-events .calendar .days .day .day-inner .events .event:hover {
  opacity: 0.5;
}
body.page-template-page-events .calendar .days .day:hover .date {
  color: #f94144;
}
body.single-event .event-container {
  margin: 50px 0;
  zoom: 1;
}
body.single-event .event-container:before,
body.single-event .event-container:after {
  content: "";
  display: table;
}
body.single-event .event-container:after {
  clear: both;
}
body.single-event .image-container {
  width: 100%;
}
body.single-event .image-container .image {
  position: relative;
  width: 100%;
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
}
body.single-event .image-container .links {
  margin-top: 15px;
}
body.single-event .image-container .links li {
  position: relative;
  list-style-type: none;
  display: inline-block;
  margin-right: 30px;
}
body.single-event .image-container .links li.share .icon-share {
  display: inline-block;
  -ms-transform: rotate(0deg);
  -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
  transform: translate3d(0, 0, 0) rotate(0deg);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.single-event .image-container .links li.share:hover .icon-share {
  -ms-transform: rotate(-90deg);
  -webkit-transform: translate3d(0, 0, 0) rotate(-90deg);
  transform: translate3d(0, 0, 0) rotate(-90deg);
}
body.single-event .image-container .links li.share:hover .share-event {
  opacity: 1;
  visibility: visible;
}
body.single-event .image-container .links a {
  font-family: "fira-sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
body.single-event .image-container .links a i {
  margin-right: 6px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.single-event .image-container .links .share-event {
  width: 165px;
  padding-top: 15px;
  position: absolute;
  top: 18px;
  right: -32px;
  opacity: 0;
  visibility: hidden;
  z-index: 15;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
body.single-event .image-container .links .share-event:before {
  content: '';
  width: 12px;
  height: 12px;
  background: #f94144;
  position: absolute;
  display: block;
  top: 10px;
  left: 50%;
  margin-left: -5px;
  -ms-transform: rotate(-45deg);
  -webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
  transform: translate3d(0, 0, 0) rotate(-45deg);
}
body.single-event .image-container .links .share-event ul {
  background: #f94144;
  border-radius: 25px;
  padding-top: 0;
}
body.single-event .image-container .links .share-event li {
  margin-right: 12px;
  padding: 6px 0;
}
body.single-event .image-container .links .share-event li:first-child {
  margin-left: 20px;
}
body.single-event .image-container .links .share-event li:last-child {
  margin-right: 20px;
  padding-left: 12px;
  margin-top: 0;
}
body.single-event .image-container .links .share-event li:last-child:before {
  content: '';
  display: block;
  position: absolute;
  background: white;
  width: 1px;
  height: 23px;
  right: 13px;
  margin-right: 15px;
}
body.single-event .image-container .links .share-event li a {
  width: 16px;
  display: inline-block;
}
body.single-event .image-container .links .share-event li a i {
  color: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
body.single-event .image-container .links .share-event li a i.icon-mail {
  font-size: 14px;
}
body.single-event .image-container .links .share-event li a i:hover {
  opacity: 0.8;
}
body.single-event .content {
  width: 100%;
  margin-top: 50px;
}
body.single-event .content .when {
  font-size: 16px;
}
body.single-event .content .place {
  font-size: 16px;
}
body.single-event .content .date,
body.single-event .content .time {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  display: inline;
}
body.single-event .content .date {
  margin-right: 5px;
}
body.single-event .content .time {
  margin-left: 5px;
}
body.single-event .content h2 {
  font-size: 36px;
  line-height: 34px;
  margin: 3px 0 4px;
}
body.single-event .content h2 + p {
  margin-top: 18px;
}
body.single-event .content .place {
  margin-top: -3px;
}
body.single-event .content .author {
  font-size: 12px;
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  margin-bottom: 40px;
}
body.single-event .content .author span {
  font-family: "fira-sans-2", sans-serif;
  font-weight: 400;
}
body.single-event .content .button {
  margin: 45px 0 0;
}
body.page-template-page-administration #content .contact {
  margin-top: 50px;
  display: inline-block;
}
body.page-template-page-administration #content .contact .button {
  margin: 0 5px 10px 0;
}
body.page-template-page-administration #content .contact .phone {
  display: inline-block;
}
body.page-template-page-administration #content .contact .phone span {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  margin-left: 3px;
}
body.page-template-page-gallery #content {
  position: relative;
}
body.page-template-page-gallery .filters {
  margin: 0 0 24px;
}
body.page-template-page-gallery .filters ul {
  margin: 0 -4px;
}
body.page-template-page-gallery .filters ul li {
  list-style-type: none;
  display: inline-block;
  margin: 4px;
}
body.page-template-page-gallery .filters ul li .button {
  margin-top: 0;
}
body.page-template-page-gallery .filters ul li .button.activ {
  background: #f94144;
  color: white;
}
body.page-template-page-gallery .gallery-overview {
  margin: 50px 0;
}
body.page-template-page-gallery .gallery-overview > ul {
  margin: 0 -4px;
}
body.page-template-page-gallery .gallery-overview > ul li {
  width: calc(100% - 8px);
  height: 240px;
  margin: 4px;
  float: none;
}
body.page-template-page-gallery .gallery-overview > ul li .content {
  padding: 24px;
}
body.page-template-page-contact #content {
  margin: 60px auto;
  max-width: 1560px;
  zoom: 1;
}
body.page-template-page-contact #content:before,
body.page-template-page-contact #content:after {
  content: "";
  display: table;
}
body.page-template-page-contact #content:after {
  clear: both;
}
body.page-template-page-contact .wrapper {
  position: relative;
}
body.page-template-page-contact #map {
  width: 100%;
  height: 400px;
  background-color: lightgray;
}
body.page-template-page-contact .content {
  margin-bottom: 60px;
}
body.page-template-page-contact .content .title {
  font-family: "freight-text-pro", serif;
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 12px;
  letter-spacing: 1px;
  -webkit-font-smoothing: subpixel-antialiased;
  color: #f94144;
}
body.page-template-page-contact .content .address {
  font-size: 15px;
  line-height: 1.8667;
}
body.page-template-page-contact .content .opening-hours {
  margin: 30px 0;
  line-height: 1.8;
}
body.page-template-page-contact .content .opening-hours strong {
  display: block;
}
body.page-template-page-contact .content .button {
  margin-top: 0;
}
body.page-template-page-contact .content .public-transport {
  margin-top: 50px;
}
body.page-template-page-contact .content .public-transport p {
  margin-bottom: 0;
}
body.page-template-page-contact .content .contact .title {
  font-size: 24px;
}
body.page-template-page-contact .content .contact .button {
  margin-bottom: 32px;
}
body.page-template-page-contact .page-contact__link {
  display: block;
  margin: 0 0 30px 0;
  text-decoration: none;
  font-family: "fira-sans", sans-serif;
}
body.page-template-default #content,
body.page-template-page-enrollment #content {
  margin: 0 0 100px;
}
body.page-template-default h1,
body.page-template-page-enrollment h1 {
  padding-bottom: 30px;
}
body.page-template-default .highlightbox,
body.page-template-page-enrollment .highlightbox {
  background: #0a9396;
  padding: 20px;
  margin-bottom: 40px;
}
body.page-template-default .highlightbox h2,
body.page-template-page-enrollment .highlightbox h2,
body.page-template-default .highlightbox h3,
body.page-template-page-enrollment .highlightbox h3,
body.page-template-default .highlightbox p,
body.page-template-page-enrollment .highlightbox p {
  color: white;
}
body.page-template-default .highlightbox .button,
body.page-template-page-enrollment .highlightbox .button {
  margin-top: 10px;
}
body.page-template-default .entry-content,
body.page-template-page-enrollment .entry-content {
  max-width: 900px;
}
body.page-template-default .entry-content > h2,
body.page-template-page-enrollment .entry-content > h2 {
  font-size: 22px;
  font-weight: 600;
  line-height: 30px;
  color: #2f3c4a;
}
body.page-template-default .entry-content > h3,
body.page-template-page-enrollment .entry-content > h3,
body.page-template-default .entry-content h4,
body.page-template-page-enrollment .entry-content h4 {
  font-family: "fira-sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #2f3c4a;
  margin-bottom: 16px;
}
body.page-template-default .entry-content li,
body.page-template-page-enrollment .entry-content li {
  margin: 2px 0;
}
body.page-template-default .entry-content ul,
body.page-template-page-enrollment .entry-content ul,
body.page-template-default .entry-content p,
body.page-template-page-enrollment .entry-content p {
  margin: 0 0 28px;
}
body.page-template-default .entry-content p:last-of-type,
body.page-template-page-enrollment .entry-content p:last-of-type {
  margin-bottom: 0;
}
body.page-template-page-enrollment .highlightbox .col p {
  margin: 20px 0;
}
body.page-template-page-enrollment .highlightbox.open .col {
  display: none;
}
body.page-template-page-enrollment .highlightbox.open .col.active {
  display: block;
  width: 100%;
  padding-left: 0;
}
body.page-template-page-enrollment .highlightbox.open .col.active:after {
  display: none;
}
body.page-template-page-enrollment .highlightbox .back {
  display: inline-block;
  margin-top: 25px;
  color: white;
  text-decoration: none;
  border-bottom: 1px solid white;
}
body.page-template-page-enrollment h2 {
  font-size: 26px;
  line-height: 1;
}
body.page-template-page-enrollment h3 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
}
body.page-template-page-enrollment p {
  font-size: 16px;
  line-height: 1.5;
}
body.page-template-page-enrollment ul {
  list-style: none;
}
body.page-template-page-enrollment .button {
  color: white;
  border-color: white;
  outline: none;
}
body.page-template-page-enrollment .col a {
  font-size: 18px;
  margin: 4px 0;
}
body.page-template-page-enrollment .col.has-more-button {
  margin-bottom: 30px;
}
body.page-template-page-enrollment .col.has-more-button .container {
  display: none;
}
body.page-template-page-enrollment .col.has-more-button .links li {
  display: inline-block;
  margin-right: 5px;
  width: 100%;
}
body.page-template-page-enrollment .col.has-more-button .links li a {
  font-size: 12px;
  width: 100%;
  text-align: center;
}
body.admin-bar .mobile-menu-button {
  top: 58px;
}
/*********************
03. LAYOUT & GRID STYLES
*********************/
.wrap {
  width: 94%;
  margin: 0 auto;
}
.wrap-sm {
  width: 94%;
}
.wrap-md {
  width: 94%;
}
/*********************
04. LINK STYLES
*********************/
a,
a:visited {
  color: #0a9396;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  /* mobile tap color */
}
a:hover,
a:visited:hover,
a:focus,
a:visited:focus {
  color: #0a9396;
}
a:link,
a:visited:link {
  -webkit-tap-highlight-color: #0a9396;
}
/******************************************************************
05. H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1,
h2,
h3,
h4,
h5 {
  font-family: "freight-text-pro", serif;
  text-rendering: optimizelegibility;
  font-weight: 400;
  margin: 0;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
  text-decoration: none;
}
h1 {
  position: relative;
  font-size: 42px;
  line-height: 36px;
  letter-spacing: 2px;
  color: #f94144;
  margin-top: 30px;
  padding-bottom: 60px;
}
h1 .wrap {
  padding-left: 10px;
}
h1 .note-lines {
  height: 42px;
  top: auto;
  bottom: 0;
}
h2 {
  font-size: 29px;
  line-height: 1;
  letter-spacing: 2px;
  color: #f94144;
  margin: 0 0 18px;
}
h3 {
  font-size: 29px;
  line-height: 1.25;
  letter-spacing: 2px;
  color: #f94144;
}
p {
  font-size: 15px;
  line-height: 1.8666;
  margin: 0 0 15px;
}
p:last-child {
  margin: 0;
}
strong {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
}
.button-more {
  background: none;
  border: 2px solid white;
  width: 32px;
  height: 32px;
  border-radius: 32px;
  position: absolute;
  z-index: 1;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  outline: none;
}
.button-more:before {
  content: '\e90b';
  font-family: "esch";
  font-size: 14px;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.button-close {
  position: absolute;
  background: none;
  width: 32px;
  height: 32px;
  border: 2px solid white;
  border-radius: 32px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  outline: none;
}
.button-close:before {
  content: '\e906';
  font-family: "esch";
  font-size: 20px;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.button-back i {
  font-size: 12px;
  margin-right: 5px;
}
.button.not-available {
  opacity: 0.5;
  -webkit-appearance: none;
  outline: none;
}
.button.not-available:hover {
  background: white;
  color: #f94144;
  box-shadow: none;
  cursor: not-allowed;
  outline: none;
}
/*********************
06. HEADER SYTLES
*********************/
.header {
  padding: 10px 0 15px;
}
.page-template-page-home .header {
  background-color: #eaeadf;
}
.header #inner-header .qtranxs_language_chooser {
  float: right;
  list-style: none;
  margin-top: 10px;
}
.header #inner-header .qtranxs_language_chooser li {
  float: left;
  border-right: 2px solid black;
}
.header #inner-header .qtranxs_language_chooser li:last-child {
  border-right: none;
}
.header #inner-header .qtranxs_language_chooser li:last-child a {
  margin-right: 0;
}
.header #inner-header .qtranxs_language_chooser li.active a {
  text-decoration: underline;
}
.header #inner-header .qtranxs_language_chooser li a {
  display: block;
  font-weight: bold;
  margin: 0 5px;
  color: #2f3c4a;
  text-decoration: none;
}
.header #logo {
  position: relative;
  width: 90px;
  height: 71px;
  background-color: #ffffff;
  background-image: url(../images/logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  text-indent: -9999px;
  float: left;
  z-index: 1;
}
.page-template-page-home .header #logo {
  background-color: #eaeadf;
}
.header #logo:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 35px;
  right: -30px;
  top: 0;
  background-color: #ffffff;
}
.page-template-page-home .header #logo:after {
  background-color: #eaeadf;
}
.header .mobile-menu-button {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 35px;
  height: 40px;
  color: #fff;
  z-index: 100;
  background: none;
  border: none;
  outline: none;
}
.header .mobile-menu-button span,
.header .mobile-menu-button span:before,
.header .mobile-menu-button span:after {
  position: absolute;
  width: 35px;
  height: 4px;
  transition-timing-function: ease;
  transition-duration: .15s;
  transition-property: transform;
  border-radius: 4px;
  background-color: #f94144;
  left: 0;
}
.header .mobile-menu-button span {
  top: 18px;
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.header .mobile-menu-button span:before {
  content: '';
  -webkit-transition: top 0.1s ease-in 0.25s, opacity 0.1s ease-in;
  transition: top 0.1s ease-in 0.25s, opacity 0.1s ease-in;
  top: -11px;
}
.header .mobile-menu-button span:after {
  content: '';
  -webkit-transition: top 0.1s ease-in 0.25s, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s ease-in 0.25s, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  top: 11px;
}
.header .mobile-menu-button.open span {
  transition-delay: .12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -ms-transform: rotate(225deg);
  -webkit-transform: translate3d(0, 0, 0) rotate(225deg);
  transform: translate3d(0, 0, 0) rotate(225deg);
}
.header .mobile-menu-button.open span:before {
  top: 0;
  -webkit-transition: top 0.1s ease-out, opacity 0.1s ease-out 0.12s;
  transition: top 0.1s ease-out, opacity 0.1s ease-out 0.12s;
  opacity: 0;
}
.header .mobile-menu-button.open span:after {
  top: 0;
  -webkit-transition: top 0.1s ease-out, transform 0.22s cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  transition: top 0.1s ease-out, transform 0.22s cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  -ms-transform: rotate(-90deg);
  -webkit-transform: translate3d(0, 0, 0) rotate(-90deg);
  transform: translate3d(0, 0, 0) rotate(-90deg);
}
/*********************
07. NAVIGATION STYLES
*********************/
nav {
  position: absolute;
  background: #ffffff;
  width: 100%;
  z-index: 100;
  top: -1000%;
  left: 0;
  padding: 16px 10px;
  -webkit-transition: top 0.4s ease;
  transition: top 0.4s ease;
}
.page-template-page-home nav {
  background: #eaeadf;
}
nav.open {
  top: 0;
}
nav ul.nav,
nav div.nav ul {
  list-style: none;
}
nav ul.nav li,
nav div.nav ul li {
  margin-right: 15px;
}
nav ul.nav li a,
nav div.nav ul li a {
  font-weight: 500;
  letter-spacing: 2px;
  display: block;
  text-decoration: none;
  padding: 10px 10px;
  text-transform: uppercase;
}
nav ul.nav li ul.sub-menu,
nav div.nav ul li ul.sub-menu,
nav ul.nav li ul.children,
nav div.nav ul li ul.children {
  padding-left: 20px;
}
nav ul.nav li ul.sub-menu li,
nav div.nav ul li ul.sub-menu li,
nav ul.nav li ul.children li,
nav div.nav ul li ul.children li {
  list-style-type: none;
}
nav ul.nav li:last-child,
nav div.nav ul li:last-child {
  margin-right: 0;
}
nav ul.nav li:last-child a,
nav div.nav ul li:last-child a {
  padding-right: 0;
}
nav ul.nav li.current-menu-item > a,
nav div.nav ul li.current-menu-item > a,
nav ul.nav li.current-menu-parent > a,
nav div.nav ul li.current-menu-parent > a,
nav ul.nav li.current-menu-ancestor > a,
nav div.nav ul li.current-menu-ancestor > a,
nav ul.nav li.current_page_item > a,
nav div.nav ul li.current_page_item > a,
nav ul.nav li.current_page_ancestor > a,
nav div.nav ul li.current_page_ancestor > a {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
}
/*********************
08. POSTS & CONTENT STYLES
*********************/
.page-template-page-home #content {
  background: #eaeadf;
}
.entry-content img {
  margin: 0;
  max-width: 100%;
  height: auto;
}
.entry-content video,
.entry-content object {
  max-width: 100%;
  height: auto;
}
.entry-content pre {
  background: #eee;
  border: 1px solid #cecece;
  padding: 10px;
}
.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px;
}
.wp-caption img {
  max-width: 100%;
  margin-bottom: 0;
  width: 100%;
}
.wp-caption p.wp-caption-text {
  font-size: 0.85em;
  margin: 4px 0 7px;
  text-align: center;
}
/******************************************************************
09. PAGE NAVI STYLES
******************************************************************/
.energysaver_page_navi {
  /* common styles for page-navi links */
}
.energysaver_page_navi li {
  float: left;
  list-style: none;
}
.energysaver_page_navi li a {
  padding: 3px 6px;
  display: block;
  text-decoration: none;
  position: relative;
}
.energysaver_page_navi li a:hover,
.energysaver_page_navi li a:focus {
  color: #f94144;
  text-decoration: underline;
}
.energysaver_page_navi li.pagenavi-current {
  padding: 3px 6px;
  border-bottom: 2px solid #f94144;
  position: relative;
}
.energysaver_page_navi li.pagenavi-prev-link,
.energysaver_page_navi li.pagenavi-next-link {
  font-weight: bold;
}
.energysaver_page_navi li.pagenavi-prev-link a,
.energysaver_page_navi li.pagenavi-next-link a {
  padding: 0;
}
/******************************************************************
10. GENERAL STUFF
******************************************************************/
.cover-image {
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
  height: 300px;
}
.note-lines {
  position: absolute;
  top: 2px;
  left: 0;
  height: 100%;
  width: 100%;
  border-top: 1px solid #0a9396;
}
.note-lines span {
  width: 100%;
  height: 25%;
  display: block;
  box-sizing: border-box;
  border-bottom: 1px solid #0a9396;
}
.note-lines.note-lines-foot {
  top: auto;
  height: auto;
  width: 100%;
  bottom: 120px;
  display: none;
  border: none;
}
.note-lines.note-lines-foot span {
  position: relative;
  height: 19px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border: none;
}
.note-lines.note-lines-foot span:before {
  content: '';
  width: 100%;
  height: 1px;
  background: #e3e2e2;
  position: absolute;
  top: 50%;
  left: 0;
}
.note-lines.note-lines-foot span.highlighted:before {
  background: #ada6a5;
}
.quote {
  position: relative;
}
.quote blockquote {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: "freight-text-pro", serif;
  font-size: 32px;
  font-style: italic;
  line-height: 1.27;
  text-align: center;
}
.quote blockquote:before {
  content: '“';
  display: inline;
  margin-right: 2px;
}
.quote blockquote:after {
  content: '”';
  display: inline;
  margin-left: 2px;
}
.quote .author {
  font-size: 16px;
  font-weight: 500;
  position: absolute;
  bottom: -34px;
  right: 10%;
}
.quote .author:before {
  content: '-';
  display: inline;
  margin-right: 4px;
}
.conservatory,
.ensembles {
  position: relative;
  padding: 25px 0;
}
.conservatory .image-wrapper,
.ensembles .image-wrapper {
  width: 100%;
  height: 300px;
  position: relative;
  z-index: 5;
  overflow: hidden;
}
.conservatory .image-wrapper .image,
.ensembles .image-wrapper .image {
  width: 100%;
  height: 100%;
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
}
.conservatory .content,
.ensembles .content {
  width: 100%;
  margin: 40px 0;
}
.conservatory .button,
.ensembles .button {
  margin: 15px 0 0;
}
.conservatory .controls,
.ensembles .controls {
  position: absolute;
  right: calc(100% - 28px);
  bottom: 50px;
  display: none;
}
.conservatory .controls li,
.ensembles .controls li {
  list-style-type: none;
  padding: 2px 0;
  margin-bottom: 12px;
  margin-left: 6px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.conservatory .controls li a,
.ensembles .controls li a {
  width: 22px;
  height: 3px;
  background: #f94144;
  display: block;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.conservatory .controls li:last-child,
.ensembles .controls li:last-child {
  margin-bottom: 0;
}
.conservatory .controls li.active,
.ensembles .controls li.active {
  margin-left: 2px;
  padding: 1px 0;
}
.conservatory .controls li.active a,
.ensembles .controls li.active a {
  height: 5px;
  width: 26px;
}
.ensembles .image-wrapper .image {
  width: 100%;
  height: 100%;
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 100%;
  -webkit-transition: left 0.6s ease, opacity 0.2s ease-in-out 0.2s;
  transition: left 0.6s ease, opacity 0.2s ease-in-out 0.2s;
}
.ensembles .image-wrapper .image.active {
  opacity: 1;
  position: relative;
  left: 0;
}
.ensemble-container {
  background: lightgray;
  background-size: cover;
  background-position: center center;
  width: 100%;
  margin: 35px 0;
  -webkit-transition: background 0.5s ease;
  transition: background 0.5s ease;
}
.ensemble-container ul {
  height: 100%;
  zoom: 1;
}
.ensemble-container ul:before,
.ensemble-container ul:after {
  content: "";
  display: table;
}
.ensemble-container ul:after {
  clear: both;
}
.ensemble-container li {
  list-style-type: none;
  width: 100%;
  height: 180px;
  position: relative;
  overflow: hidden;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
}
.ensemble-container li a {
  display: block;
  height: 100%;
}
.ensemble-container li .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ensemble-container li .content {
  padding: 20px;
  color: white;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 80%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ensemble-container li .content .title {
  font-family: "freight-text-pro", serif;
  font-size: 24px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 3px;
}
.ensemble-container li .content .creation {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 6px;
}
.ensemble-container li .content .creation span {
  font-weight: 400;
  margin-left: 3px;
}
.ensemble-container li .content p {
  font-size: 12px;
  line-height: 18px;
}
.ensemble-container .button-more {
  right: 20px;
  top: 15px;
}
.cours-container {
  margin: 35px 0;
}
.cours-container ul {
  margin: 0 -4px;
  zoom: 1;
}
.cours-container ul:before,
.cours-container ul:after {
  content: "";
  display: table;
}
.cours-container ul:after {
  clear: both;
}
.cours-container li {
  width: calc(100% - 8px);
  margin: 4px;
  height: 300px;
  float: left;
  background-color: lightgray;
  list-style-type: none;
  position: relative;
  background-size: cover;
  background-position: center center;
}
.cours-container li a {
  display: block;
  width: 100%;
  height: 100%;
}
.cours-container li .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  background: black;
  opacity: 0.2;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.cours-container li .title {
  font-family: "freight-text-pro", serif;
  letter-spacing: 2px;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1;
}
.cours-container li:hover .overlay {
  opacity: 0.1;
}
.gallery-overview {
  margin: 50px 0;
}
.gallery-overview > ul {
  margin: 0 -3px;
  zoom: 1;
}
.gallery-overview > ul:before,
.gallery-overview > ul:after {
  content: "";
  display: table;
}
.gallery-overview > ul:after {
  clear: both;
}
.gallery-overview > ul li {
  position: relative;
  width: calc(100% - 6px);
  list-style-type: none;
  margin: 3px;
  float: left;
  height: 190px;
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
}
.gallery-overview > ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
.gallery-overview > ul li .overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0.2;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.gallery-overview > ul li .content {
  position: absolute;
  padding: 16px 20px;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
.gallery-overview > ul li .content .date {
  font-family: "fira-sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: white;
}
.gallery-overview > ul li .content h2 {
  color: white;
  margin-bottom: 0;
}
.gallery-overview > ul li .content .location {
  font-family: "fira-sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: white;
}
.gallery-overview > ul li:hover .overlay {
  opacity: 0;
}
.upcoming-events {
  margin: 100px 0;
  position: relative;
}
.upcoming-events .button-all {
  margin: 0 0 20px;
}
.upcoming-events .event {
  position: relative;
  background: rgba(245, 245, 245, 0.4);
  margin-bottom: 30px;
  zoom: 1;
}
.upcoming-events .event:before,
.upcoming-events .event:after {
  content: "";
  display: table;
}
.upcoming-events .event:after {
  clear: both;
}
.upcoming-events .event .button[target=_blank] {
  padding-right: 46px;
  position: relative;
}
.upcoming-events .event .button[target=_blank]:after {
  content: "\e913";
  font-size: 22px;
  font-weight: 400;
  font-family: "esch";
  position: absolute;
  right: 18px;
  top: 6px;
}
.upcoming-events .event.extern {
  background: #f94144;
}
.upcoming-events .event.extern .content .details,
.upcoming-events .event.extern .content h2,
.upcoming-events .event.extern .content .author {
  color: white;
}
.upcoming-events .event.extern .content .button {
  color: white;
  border: 1px solid white;
}
.upcoming-events .event.extern .content .button:hover {
  background: white;
  color: #a73d35;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.6);
}
.upcoming-events .event.extern .button-more {
  border-color: white;
}
.upcoming-events .event.extern .button-more:before {
  color: white;
}
.upcoming-events .event.extern .button-more:hover {
  background: white;
}
.upcoming-events .event.extern .button-more:hover:before {
  color: #0a9396;
}
.upcoming-events .event:last-child {
  margin-bottom: 0;
}
.upcoming-events .event .image {
  width: 100%;
  height: 250px;
  background-color: lightgray;
  background-size: cover;
  background-position: center center;
}
.upcoming-events .event .content {
  width: 100%;
  padding: 30px;
}
.upcoming-events .event .content .details {
  font-size: 17px;
}
.upcoming-events .event .content .details .date,
.upcoming-events .event .content .details .time {
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
  display: inline;
}
.upcoming-events .event .content .details .place {
  margin-top: -3px;
}
.upcoming-events .event .content h2 {
  margin: 3px 0 6px;
}
.upcoming-events .event .content .author {
  font-family: "fira-sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
}
.upcoming-events .event .content .author span {
  font-family: "fira-sans-2", sans-serif;
  font-weight: 400;
  margin-left: 3px;
}
.upcoming-events .event .content .button {
  margin-top: 20px;
}
.upcoming-events .event .button-more {
  right: 20px;
  top: 20px;
  left: auto;
  border-color: #0a9396;
}
.upcoming-events .event .button-more:before {
  color: #0a9396;
}
.upcoming-events .event .button-more:hover {
  background: #0a9396;
}
.upcoming-events .event .button-more:hover:before {
  color: white;
}
.teachers-container {
  margin: 42px 0;
}
.teachers-container ul {
  margin: 0 -3px;
  zoom: 1;
}
.teachers-container ul:before,
.teachers-container ul:after {
  content: "";
  display: table;
}
.teachers-container ul:after {
  clear: both;
}
.teachers-container li {
  list-style-type: none;
  margin: 3px;
  width: calc(100% - 6px);
  height: 140px;
  float: left;
  background: #f5f5f5;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.teachers-container li .teacher-single-inner {
  text-decoration: none;
  display: block;
  height: 100%;
  padding: 14px 20px;
  position: relative;
}
.teachers-container li .teacher-email {
  color: #2f3c4a;
  text-decoration: none;
}
.teachers-container li .title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  color: #0a9396;
}
.teachers-container li .mail {
  color: #2f3c4a;
  font-size: 12px;
  font-family: "fira-sans", sans-serif;
}
.teachers-container li .department {
  font-size: 12px;
  font-weight: 600;
  position: absolute;
  bottom: 14px;
  left: 20px;
  color: #2f3c4a;
  padding-right: 45px;
}
.teachers-container li .button-more {
  width: 22px;
  height: 22px;
  left: auto;
  top: auto;
  bottom: 14px;
  right: 20px;
  border: 1px solid #0a9396;
}
.teachers-container li .button-more:before {
  font-size: 9px;
  color: #0a9396;
}
.teachers-container li.even {
  background: rgba(245, 245, 245, 0.2);
}
.teachers-container li.even:hover {
  background: rgba(245, 245, 245, 0);
}
.teachers-container li:hover {
  background: rgba(245, 245, 245, 0.8);
}
.teachers-container li:hover .button-more {
  background: #0a9396;
}
.teachers-container li:hover .button-more:before {
  color: white;
}
.teachers-container .teacher-search {
  position: relative;
}
.teachers-container .teacher-search input {
  width: 208px;
  height: 38px;
  border: 2px solid #0a9396;
  border-radius: 26px;
  outline: none;
  padding-left: 42px;
}
.teachers-container .teacher-search label {
  width: 38px;
  height: 38px;
  border-radius: 100%;
  display: block;
  background: #0a9396;
  position: absolute;
  top: 0;
  left: 0;
  text-indent: -9999px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.teachers-container .teacher-search label:hover {
  background: #f81518;
}
.teachers-container .teacher-search label:before {
  content: '\e90d';
  font-family: "esch";
  font-size: 16px;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-indent: 0;
}
#teacher-popup {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  right: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 100;
  display: none;
  flex-flow: row nowrap;
  width: 100%;
  align-content: center;
  justify-content: center;
  overflow-y: scroll;
  align-items: flex-start;
}
.teacher {
  position: relative;
  z-index: 2;
  margin: 40px 0;
  width: 96%;
  background: #f94144;
  padding: 20px;
}
.teacher .image {
  width: 100%;
  height: 300px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.teacher h2 {
  color: #ffffff;
  margin-bottom: 5px;
}
.teacher .teacher-content {
  color: #ffffff;
  position: relative;
  padding: 20px;
}
.teacher .teacher-content .title {
  font-family: "freight-text-pro", serif;
  font-size: 30px;
  font-weight: 600;
  color: white;
}
.teacher .teacher-content .role {
  font-family: "fira-sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: white;
  margin-bottom: 48px;
}
.teacher .teacher-content .role span {
  font-weight: 400;
}
.teacher .teacher-content p {
  margin: 32px 0 0;
  color: white;
}
.teacher .icon-close {
  border: 1px solid #ffffff;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  position: absolute;
  top: 22px;
  right: 22px;
  color: #ffffff;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.teacher .icon-close:hover {
  background: white;
}
.teacher .icon-close:hover:before {
  color: #f94144;
}
.administration-container ul {
  margin-top: 40px;
}
.administration-container li {
  list-style-type: none;
  width: 100%;
  margin: 0 auto 60px;
  text-align: center;
}
.administration-container li .photo {
  width: 100%;
  height: 360px;
  max-width: 320px;
  margin: 0 auto 10px;
  background-color: lightgray;
  background-size: cover;
  background-position: top center;
}
.administration-container li .name {
  font-family: "freight-text-pro", serif;
  font-size: 30px;
  font-weight: 600;
  color: #f94144;
}
.administration-container li .role {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 8px;
  min-height: 25px;
}
.administration-container li .description {
  font-size: 15px;
  font-weight: 500;
}
.contest-list {
  margin: 20px 0;
  zoom: 1;
}
.contest-list:before,
.contest-list:after {
  content: "";
  display: table;
}
.contest-list:after {
  clear: both;
}
.contest-list li {
  font-family: "freight-text-pro", serif;
  list-style-type: none;
  zoom: 1;
}
.contest-list li:before,
.contest-list li:after {
  content: "";
  display: table;
}
.contest-list li:after {
  clear: both;
}
.contest-list li > div {
  float: left;
  padding: 5px 10px;
  width: 100%;
}
.contest-list li .type {
  font-weight: 600;
  -webkit-font-smoothing: subpixel-antialiased;
}
.contest-list li:nth-child(2n) {
  background: rgba(72, 72, 72, 0.03);
}
.publication-wrapper,
.press-wrapper {
  margin: 20px 0 0;
  width: 100%;
  float: left;
}
.publication-wrapper h2,
.press-wrapper h2 {
  margin-bottom: 10px;
}
.publication-wrapper ul,
.press-wrapper ul {
  margin-bottom: 60px;
  zoom: 1;
}
.publication-wrapper ul:before,
.press-wrapper ul:before,
.publication-wrapper ul:after,
.press-wrapper ul:after {
  content: "";
  display: table;
}
.publication-wrapper ul:after,
.press-wrapper ul:after {
  clear: both;
}
.publication-wrapper li,
.press-wrapper li {
  list-style-type: none;
  zoom: 1;
}
.publication-wrapper li:before,
.press-wrapper li:before,
.publication-wrapper li:after,
.press-wrapper li:after {
  content: "";
  display: table;
}
.publication-wrapper li:after,
.press-wrapper li:after {
  clear: both;
}
.publication-wrapper li a,
.press-wrapper li a {
  padding: 7px 10px;
  display: block;
  color: #2f3c4a;
  text-decoration: none;
}
.publication-wrapper li:nth-child(2n-1),
.press-wrapper li:nth-child(2n-1) {
  background: rgba(72, 72, 72, 0.03);
}
.publication-wrapper li .document,
.press-wrapper li .document,
.publication-wrapper li .images,
.press-wrapper li .images {
  padding-left: 56px;
  position: relative;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.publication-wrapper li .document i,
.press-wrapper li .document i,
.publication-wrapper li .images i,
.press-wrapper li .images i {
  font-size: 16px;
  position: absolute;
  left: 22px;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.publication-wrapper li .document:hover,
.press-wrapper li .document:hover,
.publication-wrapper li .images:hover,
.press-wrapper li .images:hover {
  padding-left: 62px;
}
.publication-wrapper li .images i,
.press-wrapper li .images i {
  left: 18px;
}
#current_stickypost {
  font-family: 'fira-sans-2', sans-serif;
}
/***
Footer
 */
.footer {
  background: #0a9396;
  padding: 25px 0;
}
.footer *,
.footer a {
  color: #ffffff;
  text-decoration: none;
}
.footer a {
  width: fit-content;
  width: -moz-fit-content;
}
.footer a:hover,
.footer a:focus,
.footer a:active,
.footer a:focus-within {
  opacity: 0.8;
  color: #ffffff;
}
.footer h5 {
  font-family: "fira-sans", sans-serif;
  font-size: 20px;
  margin: 5px 0;
}
.inner-footer {
  width: 90%;
  max-width: 1800px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
.inner-footer .logo-esch-tv,
.inner-footer .ticket-regional {
  display: block;
  width: 52px;
  height: 32px;
  background-size: contain;
  background-repeat: no-repeat;
}
.footer-logo-grid {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 30px;
}
.footer-logo-grid .footer-logo-white {
  display: block;
  width: 149px;
  height: 73px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.footer-line {
  background: #ffffff;
  height: 1px;
  margin-top: 20px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
.footer-content-menu {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
.footer-content-social {
  display: grid;
  gap: 10px;
  align-items: center;
}
.footer-social-grid {
  display: flex;
  flex-flow: row wrap;
  gap: 35px;
  align-items: center;
}
.footer-social-grid a {
  font-size: 30px;
}
.footer-element {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  font-family: "fira-sans-2", sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.footer-element .no-break {
  white-space: nowrap;
}
#ticket-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  z-index: 100;
}
.ticket-popup-inner {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 94%;
  max-width: 1045px;
  background: white;
  z-index: 100;
  padding: 20px;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  box-shadow: -3px 6px 20px -2px rgba(0, 0, 0, 0.16);
}
.ticket-popup-inner .button-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  outline: none;
  width: 24px;
  height: 24px;
}
.ticket-popup-inner .button-close:before {
  content: "\e906";
  font-family: "esch";
  font-size: 28px;
  color: #f94144;
}
.ticket-popup-inner .pre-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: -2px;
}
.ticket-popup-inner .title {
  font-family: "freight-text-pro", serif;
  font-size: 29px;
  line-height: 1;
  color: #f94144;
  margin: 0 0 2px;
}
.tickets {
  margin: 20px 0 0;
}
.tickets .ticket {
  margin-bottom: 10px;
}
.tickets .ticket span {
  margin: 4px 0;
  display: block;
}
.tickets .ticket .info {
  font-size: 12px;
  margin-top: 4px;
}
.tickets .ticket .button {
  margin: 0;
}
.tickets .ticket .button[target=_blank] {
  padding-right: 46px;
  position: relative;
}
.tickets .ticket .button[target=_blank]:after {
  content: "\e913";
  font-size: 22px;
  font-weight: 400;
  font-family: "esch";
  position: absolute;
  right: 18px;
  top: 6px;
}
/*******************
Page concours style
*******************/
.concours-wrapper {
  margin: 30px auto 125px auto;
  position: relative;
}
.concours-container {
  width: 100%;
  font-family: "freight-text-pro", serif;
  font-size: 18px;
  list-style: none;
}
.concours-container li {
  width: 100%;
  min-height: 60px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}
.concours-container li:nth-child(even) {
  background: #f8f8f8;
}
.concours-container li p {
  width: 100%;
  min-height: 30px;
  margin: 0;
  padding: 0 20px;
  display: flex;
  align-items: center;
}
.concours-container li p:first-letter {
  text-transform: uppercase;
}
.concours-container li p.concour-subject {
  font-weight: 600;
}
.sticker {
  background-color: #f94144;
  border-radius: 50%;
  border: 7px solid transparent;
  color: white !important;
  display: grid;
  align-items: center;
  font-family: "freight-text-pro", serif;
  font-size: 15px;
  font-weight: 500;
  height: 100px;
  text-align: center;
  text-decoration: none;
  transform: rotate(10deg);
  transition: transform 0.2s ease, border 0.4s ease;
  padding-bottom: 10px;
  position: absolute;
  top: -50px;
  right: 10px;
  width: 100px;
}
.sticker:hover {
  transform: rotate(0deg);
  border: 7px solid rgba(255, 255, 255, 0.3);
}
.single-timetable {
  margin: 10px 0;
}
.single-timetable h3 {
  margin-bottom: 5px;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 5px;
}
.single-timetable h3 span {
  font-size: 17px;
}
.single-timetable tr td {
  padding: 0 10px 0 0;
}
.single-timetable tr td:first-child {
  text-transform: capitalize;
  font-family: "fira-sans", sans-serif;
  font-weight: 600;
}
.single-event-subtitle {
  display: block;
  font-size: 24px;
  font-family: "freight-text-pro", serif;
}
.single-event .single-event-subtitle {
  padding: 10px 0 20px 0;
}
#lightbulb-lu-a11y-plugin .lightbulb__a11y--toggle,
#lightbulb-lu-a11y-plugin .lightbulb__a11y-header-close,
#lightbulb-lu-a11y-plugin .lightbulb__a11y-double-control button,
#lightbulb-lu-a11y-plugin .lightbulb__a11y-reset-container .lightbulb__a11y-reset,
#lightbulb-lu-a11y-plugin .lightbulb__a11y__main button.lightbulb__a11y-white.active {
  background: #f94144;
}
#lightbulb-lu-a11y-plugin .lightbulb__a11y__main {
  border-left: 4px solid #f94144;
}
#lightbulb-lu-a11y-plugin .lightbulb__a11y-fake-hover {
  border: 2px solid #f94144;
}
@font-face {
  font-family: 'esch';
  src: url('../icons/fonts/esch.eot?v2');
  src: url('../icons/fonts/esch.eot?v2#iefix') format('embedded-opentype'), url('../icons/fonts/esch.woff2?v2') format('woff2'), url('../icons/fonts/esch.ttf?v2') format('truetype'), url('../icons/fonts/esch.woff?v2') format('woff'), url('../icons/fonts/esch.svg?v2#esch') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'esch' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-facebook-conservatoire:before {
  content: "\e916";
}
.icon-linkedin:before {
  content: "\e90f";
}
.icon-facebook:before {
  content: "\e900";
}
.icon-instagram:before {
  content: "\e901";
}
.icon-twitter:before {
  content: "\e902";
}
.icon-youtube:before {
  content: "\e903";
}
.icon-ext-link:before {
  content: "\e915";
}
.icon-swipe:before {
  content: "\e914";
}
.icon-tickets:before {
  content: "\e913";
}
.icon-download:before {
  content: "\e912";
}
.icon-error:before {
  content: "\e905";
}
.icon-calendar:before {
  content: "\e911";
}
.icon-mail:before {
  content: "\e910";
}
.icon-back:before {
  content: "\e904";
}
.icon-close:before {
  content: "\e906";
}
.icon-document:before {
  content: "\e907";
}
.icon-down:before {
  content: "\e908";
}
.icon-images:before {
  content: "\e909";
}
.icon-next:before {
  content: "\e90a";
}
.icon-plus:before {
  content: "\e90b";
}
.icon-pointer:before {
  content: "\e90c";
}
.icon-search:before {
  content: "\e90d";
}
.icon-event-share:before {
  content: "\e90e";
}
.mapicon {
  display: flex;
}
.mapicon .icon-map-citylife {
  color: #a73d35;
  font-size: 2rem;
  margin-right: .3rem;
}
@media only screen and (min-width: 481px) {
  .entry-content .alignleft,
  .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
  .entry-content .alignright,
  .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
  .entry-content .aligncenter,
  .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 768px) {
  .onecol {
    width: 5.801104972%;
  }
  /* 4.85%;  } /* grid_1  */
  .twocol {
    width: 14.364640883%;
  }
  /* 13.45%; } /* grid_2  */
  .threecol {
    width: 22.928176794%;
  }
  /* 22.05%; } /* grid_3  */
  .fourcol {
    width: 31.491712705%;
  }
  /* 30.75%; } /* grid_4  */
  .fivecol {
    width: 40.055248616%;
  }
  /* 39.45%; } /* grid_5  */
  .sixcol {
    width: 48.618784527%;
  }
  /* 48%;    } /* grid_6  */
  .sevencol {
    width: 57.182320438000005%;
  }
  /* 56.75%; } /* grid_7  */
  .eightcol {
    width: 65.74585634900001%;
  }
  /* 65.4%;  } /* grid_8  */
  .ninecol {
    width: 74.30939226%;
  }
  /* 74.05%; } /* grid_9  */
  .tencol {
    width: 82.87292817100001%;
  }
  /* 82.7%;  } /* grid_10 */
  .elevencol {
    width: 91.436464082%;
  }
  /* 91.35%; } /* grid_11 */
  .twelvecol {
    width: 99.999999993%;
  }
  /* 100%;   } /* grid_12 */
  .onecol,
  .twocol,
  .threecol,
  .fourcol,
  .fivecol,
  .sixcol,
  .sevencol,
  .eightcol,
  .ninecol,
  .tencol,
  .elevencol,
  .twelvecol {
    position: relative;
    float: left;
    margin-left: 2.762430939%;
  }
  .first {
    margin-left: 0;
  }
  .last {
    float: right;
  }
  #main {
    width: 65.74585634900001%;
    position: relative;
    float: left;
    margin-left: 2.762430939%;
    margin-left: 0;
  }
  aside.sidebar {
    width: 31.491712705%;
    position: relative;
    float: left;
    margin-left: 2.762430939%;
    float: right;
  }
  .wrap {
    width: 96%;
    max-width: 1800px;
  }
  .wrap-md {
    width: 94%;
    max-width: 1600px;
  }
  .wrap-sm {
    width: 90%;
    max-width: 1400px;
  }
  .wrap-xs {
    width: 96%;
    max-width: 1140px;
  }
  .visible-tablet {
    display: block;
  }
  .hidden-tablet {
    display: none;
  }
  #content {
    min-height: calc(100vh - 260px);
  }
  /********************
02. WORDPRESS BODY CLASSES
********************/
  body.home .image-wrapper {
    padding-left: 28px;
  }
  body.home .controls {
    display: block;
  }
  body.home .conservatory .image-wrapper {
    padding-left: 0;
    height: 420px;
  }
  body.page-template-page-teachers #content {
    position: relative;
  }
  body.page-template-page-teachers .search-wrapper {
    position: absolute;
    top: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  body.page-template-page-teachers .search-wrapper div {
    position: absolute;
    right: 0;
    top: 0;
  }
  body.page-template-page-administration #content .contact {
    position: relative;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  body.page-template-page-administration #content .contact .button {
    margin-right: 15px;
    margin-bottom: 0;
  }
  body.page-template-page-publications #content,
  body.page-template-page-e-raider #content {
    position: relative;
  }
  body.page-template-page-publications .second-title,
  body.page-template-page-e-raider .second-title {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    margin-top: 0;
  }
  body.page-template-page-publications .second-title .note-lines,
  body.page-template-page-e-raider .second-title .note-lines {
    display: none;
  }
  body.page-template-page-gallery .filters {
    position: absolute;
    top: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  body.page-template-page-gallery .filters ul {
    position: absolute;
    right: 0;
    top: 0;
  }
  body.page-template-page-gallery .gallery-overview > ul li {
    height: 310px;
  }
  body.page-template-page-gallery .gallery-overview > ul li .content {
    padding: 37px;
  }
  body.page-template-page-enrollment .col.has-more-button .links {
    margin: 0 -1%;
    zoom: 1;
  }
  body.page-template-page-enrollment .col.has-more-button .links:before,
  body.page-template-page-enrollment .col.has-more-button .links:after {
    content: "";
    display: table;
  }
  body.page-template-page-enrollment .col.has-more-button .links:after {
    clear: both;
  }
  body.page-template-page-enrollment .col.has-more-button .links li {
    width: 48%;
    float: left;
    margin: 0 1%;
  }
  body.page-template-page-enrollment .col.has-more-button .links li a {
    font-size: 12px;
    width: 100%;
    text-align: center;
  }
  /*********************
06. HEADER SYTLES
*********************/
  .page-template-page-teachers .page-title .wrap-sm {
    position: relative;
    /*
    z-index: 999;
    */
  }
  .header {
    position: relative;
    z-index: 999;
  }
  /******************************************************************
10. GENERAL STUFF
******************************************************************/
  .administration-container ul {
    margin: 60px -28px 0;
    zoom: 1;
  }
  .administration-container ul:before,
  .administration-container ul:after {
    content: "";
    display: table;
  }
  .administration-container ul:after {
    clear: both;
  }
  .administration-container li {
    width: calc(50% - 56px);
    margin: 0 28px 90px;
    float: left;
  }
  .conservatory.wrap,
  .ensembles.wrap {
    max-width: 1450px;
  }
  .conservatory .controls,
  .ensembles .controls {
    display: block;
  }
  .cours-container li {
    width: calc(50% - 8px);
  }
  .teachers-container li {
    width: calc(33.33% - 6px);
  }
  #teacher-popup {
    align-items: center;
  }
  .teacher {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    min-height: 638px;
    max-width: 1390px;
  }
  .teacher .image {
    width: 30%;
    height: 100%;
    box-sizing: border-box;
    border-right: 3px solid white;
    min-height: 638px;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
  }
  .teacher .teacher-content {
    width: 100%;
    height: 100%;
    padding: 58px 78px;
    min-height: 638px;
  }
  .teacher .button-close {
    top: 58px;
    right: 78px;
  }
  .teacher.has-image .teacher-content {
    padding-left: calc(30% + 78px);
  }
  .ensemble-container {
    height: 700px;
  }
  .ensemble-container li {
    width: 33.333%;
    height: 50%;
    float: left;
  }
  .ensemble-container li .content {
    width: auto;
  }
  .ensemble-container li:nth-child(3n) {
    border-right: none;
  }
  .ensemble-container .button-more {
    right: auto;
    left: 20px;
  }
  .contest-list {
    margin: 40px 0;
  }
  .contest-list li {
    font-size: 20px;
  }
  .contest-list li > div {
    padding: 15px;
  }
  .contest-list li .date {
    width: 36%;
  }
  .contest-list li .type {
    width: 36%;
  }
  .contest-list li .location {
    width: 28%;
  }
  .publication-wrapper,
  .press-wrapper {
    margin: 40px 56px 0 0;
    width: calc(50% - 28px);
  }
  .publication-wrapper li a,
  .press-wrapper li a {
    padding: 7px 12px;
  }
  .press-wrapper {
    margin-right: 0;
  }
  .upcoming-events .button-all {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }
  .upcoming-events .event {
    display: flex;
  }
  .upcoming-events .event .image {
    width: 50%;
    height: auto;
  }
  .upcoming-events .event .content {
    width: 50%;
    padding: 50px 60px 40px;
  }
  .gallery-overview > ul li {
    position: relative;
    width: calc(50% - 6px);
  }
  .quote {
    margin: 40px 0;
  }
  .quote blockquote {
    font-size: 45px;
  }
  .quote .author {
    bottom: -30px;
  }
  .ticket-popup-inner .pre-title {
    font-size: 18px;
  }
  .ticket-popup-inner .title {
    font-size: 38px;
  }
  .tickets {
    margin: 20px -10px 0;
    zoom: 1;
  }
  .tickets:before,
  .tickets:after {
    content: "";
    display: table;
  }
  .tickets:after {
    clear: both;
  }
  .tickets .ticket {
    float: left;
    width: 50%;
    padding: 0 10px;
    zoom: 1;
  }
  .tickets .ticket:before,
  .tickets .ticket:after {
    content: "";
    display: table;
  }
  .tickets .ticket:after {
    clear: both;
  }
  .tickets .ticket span {
    margin-top: 6px;
    display: inline-block;
    margin-right: 15px;
  }
  /****
Footer
 */
  .footer-content-menu {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 1000px) {
  .visible-desktop {
    display: block;
  }
  .hidden-desktop {
    display: none;
  }
  /******************************************************************
05. H1, H2, H3, H4, H5 STYLES
******************************************************************/
  h1 {
    font-size: 58px;
    line-height: 51px;
    margin-top: 60px;
    padding-bottom: 90px;
  }
  h1 .wrap {
    padding-left: 25px;
  }
  h1 .note-lines {
    height: 68px;
  }
  h2 {
    font-size: 41px;
    line-height: 40px;
  }
  .header #inner-header {
    position: relative;
  }
  .header #inner-header:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: #0a9396;
    top: 50%;
    left: 0;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .header .mobile-menu-button {
    display: none;
  }
  nav {
    position: relative;
    padding-left: 25px;
    width: auto;
    float: right;
  }
  nav ul.nav li,
  nav div.nav ul li {
    float: left;
    position: relative;
  }
  nav ul.nav li a,
  nav div.nav ul li a {
    text-decoration: none;
  }
  nav ul.nav li:hover ul.sub-menu,
  nav div.nav ul li:hover ul.sub-menu {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
  }
  nav ul.nav li ul.sub-menu,
  nav div.nav ul li ul.sub-menu,
  nav ul.nav li ul.children,
  nav div.nav ul li ul.children {
    margin-top: -10px;
    border-top: 0;
    position: absolute;
    opacity: 0;
    visibility: hidden;
    z-index: 99999;
    box-shadow: -1px 1px 47px -4px rgba(0, 0, 0, 0.05);
    background: #0a9396;
    padding: 5px 10px;
    -webkit-transition: all 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    /* highlight sub-menu current page */
  }
  nav ul.nav li ul.sub-menu li,
  nav div.nav ul li ul.sub-menu li,
  nav ul.nav li ul.children li,
  nav div.nav ul li ul.children li {
    margin-right: 0;
    display: block;
    width: 100%;
  }
  nav ul.nav li ul.sub-menu li a,
  nav div.nav ul li ul.sub-menu li a,
  nav ul.nav li ul.children li a,
  nav div.nav ul li ul.children li a {
    padding: 8px 10px;
    border-right: 0;
    display: block;
    width: 100%;
    color: white;
    line-height: 1.3;
    text-align: center;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  nav ul.nav li ul.sub-menu li a:hover,
  nav div.nav ul li ul.sub-menu li a:hover,
  nav ul.nav li ul.children li a:hover,
  nav div.nav ul li ul.children li a:hover {
    opacity: 0.75;
  }
  nav ul.nav li ul.sub-menu:before,
  nav div.nav ul li ul.sub-menu:before,
  nav ul.nav li ul.children:before,
  nav div.nav ul li ul.children:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #0a9396;
    position: absolute;
    top: 1px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
  nav ul.nav li:hover ul,
  nav div.nav ul li:hover ul {
    top: auto;
    display: block;
  }
  body.home header {
    position: absolute;
    width: 100%;
  }
  body.home .cover {
    position: relative;
    padding: 100px 0;
    height: 100vh;
    min-height: 1060px;
  }
  body.home .cover.has-news {
    min-height: 1170px;
  }
  body.home .cover .col {
    width: calc(50% - 20px);
    height: 100%;
    float: left;
  }
  body.home .cover .col.col-1 {
    margin-bottom: 0;
  }
  body.home .cover .col.col-1 .conservatory-intro {
    height: 100%;
  }
  body.home .cover .col.col-1 .container {
    float: right;
    margin-right: 40px;
  }
  body.home .cover .col.col-1 .container .content {
    text-align: right;
  }
  body.home .cover .col.col-2 .concerts {
    height: 100%;
  }
  body.home .cover .col.col-2 .news {
    padding: 25px;
  }
  body.home .cover .col.col-2 .news.no-controls {
    padding-bottom: 35px;
  }
  body.home .cover .col.col-2 .news h2 {
    margin: 0 0 5px;
  }
  body.home .cover .col.col-2 .news p {
    margin: 0;
  }
  body.home .cover .col.col-2.has-news .news {
    height: 240px;
    margin-bottom: 40px;
  }
  body.home .cover .col.col-2.has-news .concerts {
    height: calc(100% - 40px - 240px );
  }
  body.home .cover .col .container {
    width: 65%;
    height: 100%;
  }
  body.home .cover .col .container .content {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 35px;
  }
  body.home .cover .scrolldown {
    display: inline-block;
  }
  body.home .cover .background {
    position: relative;
    height: 100%;
    margin: 0 20px;
    z-index: -1;
    display: block;
  }
  body.home .cover .background .note-lines {
    position: absolute;
    height: 68px;
  }
  body.home .cover .background .note-lines:nth-child(1) {
    top: 0;
  }
  body.home .cover .background .note-lines:nth-child(2) {
    top: 20%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  body.home .cover .background .note-lines:nth-child(3) {
    top: 40%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  body.home .cover .background .note-lines:nth-child(4) {
    top: 60%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  body.home .cover .background .note-lines:nth-child(5) {
    top: 80%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  body.home .cover .background .note-lines:last-child {
    top: auto;
    bottom: 0;
  }
  body.single-orchestra .description .content {
    width: 65%;
    float: left;
  }
  body.single-orchestra .description .key-elements {
    width: 35%;
    float: left;
    padding-left: 10%;
    margin-top: 0;
  }
  body.single-event .image-container {
    width: 42.5%;
    float: left;
  }
  body.single-event .image-container .links {
    margin-top: 25px;
  }
  body.single-event .content {
    width: 57.5%;
    padding-left: 72px;
    float: left;
    margin: 0;
  }
  body.single-event .content .when {
    font-size: 18px;
  }
  body.single-event .content .place {
    font-size: 18px;
  }
  body.single-department .description {
    width: 28%;
    float: left;
    margin: 60px 0 0;
  }
  body.single-department .description .button {
    margin-top: 75px;
  }
  body.single-department .image {
    width: 52%;
    height: 730px;
    float: left;
    margin-top: -68px;
  }
  body.single-department .professors {
    width: 20%;
    padding-left: 50px;
    float: left;
    margin-top: 60px;
  }
  body.page-template-page-contact #content {
    margin: 100px auto;
  }
  body.page-template-page-contact #map {
    width: 58%;
    height: 700px;
  }
  body.page-template-page-contact .content {
    width: 42%;
    float: left;
    padding-left: 80px;
    position: absolute;
    top: 50%;
    right: 0;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  body.page-template-default .highlightbox,
  body.page-template-page-enrollment .highlightbox {
    padding: 40px;
  }
  body.page-template-default .highlightbox h2,
  body.page-template-page-enrollment .highlightbox h2 {
    font-size: 41px;
  }
  body.page-template-page-enrollment .highlightbox {
    zoom: 1;
  }
  body.page-template-page-enrollment .highlightbox:before,
  body.page-template-page-enrollment .highlightbox:after {
    content: "";
    display: table;
  }
  body.page-template-page-enrollment .highlightbox:after {
    clear: both;
  }
  body.page-template-page-enrollment h3 {
    font-size: 32px;
  }
  body.page-template-page-enrollment .col {
    position: relative;
    width: 50%;
    float: left;
    padding: 10px 0 10px 30px;
  }
  body.page-template-page-enrollment .col:first-of-type {
    padding: 10px 30px 10px 0;
    margin-bottom: 0;
  }
  body.page-template-page-enrollment .col:first-of-type:after {
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background: white;
    position: absolute;
    top: 0;
    right: 0;
  }
  body.page-template-page-enrollment .col.has-more-button .links li {
    width: 31.333%;
  }
  body.page-template-page-administration #content .contact .button {
    margin-right: 65px;
  }
  body.page-template-page-teachers .search-wrapper div {
    top: 8px;
  }
  /******************************************************************
10. GENERAL STUFF
******************************************************************/
  .cover-image {
    height: 460px;
  }
  .note-lines.note-lines-foot {
    display: block;
  }
  .conservatory,
  .ensembles {
    padding: 125px 0;
    zoom: 1;
  }
  .conservatory:before,
  .ensembles:before,
  .conservatory:after,
  .ensembles:after {
    content: "";
    display: table;
  }
  .conservatory:after,
  .ensembles:after {
    clear: both;
  }
  .conservatory .image-wrapper,
  .ensembles .image-wrapper {
    width: 50%;
    height: 560px;
    float: left;
  }
  .conservatory .content,
  .ensembles .content {
    width: 50%;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0;
  }
  .conservatory .button,
  .ensembles .button {
    margin: 24px 0 0;
  }
  .conservatory .content {
    right: 0;
    padding-left: 85px;
  }
  .ensembles .image-wrapper {
    float: right;
  }
  .ensembles .content {
    left: 0;
    padding-right: 85px;
  }
  .administration-container li .photo {
    height: 390px;
  }
  .cours-container li {
    width: calc(33.33% - 8px);
  }
  .ensemble-container li {
    width: 16.6667%;
    height: 100%;
    border-right: 1px solid white;
  }
  .ensemble-container li:nth-child(3n) {
    border-right: 1px solid white;
  }
  .ensemble-container li:last-child {
    border: none;
  }
  .ensemble-container li .content {
    bottom: 80px;
  }
  .ensemble-container li .content p {
    position: absolute;
    opacity: 0;
    -ms-transform: translateY(100%);
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .ensemble-container li:hover .button-more {
    background: #f94144;
    border: 2px solid #f94144;
  }
  .ensemble-container li:hover .overlay {
    opacity: 0.6;
  }
  .ensemble-container li:hover .content {
    bottom: 120px;
  }
  .ensemble-container li:hover p {
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  .upcoming-events .event h2 {
    font-size: 29px;
    line-height: 1;
  }
  .gallery-overview {
    margin: 100px 0;
  }
  .ticket-popup-inner {
    padding: 40px;
  }
  .ticket-popup-inner .button-close {
    top: 40px;
    right: 40px;
  }
  .tickets {
    margin: 40px -20px 0;
  }
  .tickets .ticket {
    padding: 0 20px;
  }
  /**
Concours page
*/
  .concours-container {
    width: 100%;
    font-family: "freight-text-pro", serif;
    font-size: 18px;
    list-style: none;
  }
  .concours-container li {
    margin: 0;
  }
  .concours-container li p {
    width: calc(100% / 3);
  }
  .sticker {
    font-size: 32px;
    height: 225px;
    padding-bottom: 0;
    transform: rotate(-10deg);
    top: 100px;
    right: -112px;
    width: 225px;
  }
  /***
Footer
 */
  .inner-footer {
    grid-template-columns: 40% 1fr;
  }
  .footer-grid {
    gap: 45px;
  }
  .footer-content-menu {
    grid-template-columns: repeat(3, 1fr);
  }
  .footer-content-social {
    display: flex;
    flex-flow: row wrap;
  }
  .footer-social-grid .logo-esch-tv {
    width: 53px;
    height: 32px;
    background-size: contain;
  }
  .footer-social-grid .icon-youtube {
    font-size: 36px;
  }
  .footer-social-grid .ticket-regional {
    width: 88px;
    height: 51px;
    background-size: contain;
  }
}
@media only screen and (min-width: 1200px) {
  .note-lines.note-lines-foot {
    bottom: 170px;
  }
  body.home .cover .col .container {
    width: 55%;
  }
  body.page-template-page-events h1 {
    padding-right: 10px;
  }
  body.page-template-page-events h1 .wrap {
    padding-right: 30%;
  }
  body.page-template-page-events #content {
    padding-bottom: 30px;
  }
  body.page-template-page-events .upcoming-events {
    margin: 50px 0 0;
    width: 70%;
  }
  body.page-template-page-events .upcoming-events .image {
    width: 40%;
  }
  body.page-template-page-events .upcoming-events .content {
    width: 60%;
  }
  body.page-template-page-events #open-calendar {
    display: none;
  }
  body.page-template-page-events .col-calendar {
    position: absolute;
    top: 0;
    width: 30%;
    -webkit-transition: none;
    transition: none;
    padding: 20px 40px 80px;
    z-index: 50;
  }
  .administration-container li {
    width: calc(33.33% - 56px);
  }
  .teachers-container li {
    width: calc(20% - 6px);
  }
}
@media only screen and (min-width: 1400px) {
  .cours-container li {
    width: calc(25% - 8px);
    height: 340px;
  }
  body.home .cover {
    min-height: 1060px;
  }
  body.page-template-page-contact #map {
    width: 61.5%;
  }
  body.page-template-page-contact .content {
    width: 38.5%;
    padding-left: 160px;
  }
  .cover-image {
    height: 660px;
  }
  .upcoming-events .event .image {
    width: 58%;
  }
  .upcoming-events .event .content {
    width: 42%;
  }
  .footer-content-social,
  .footer-social-grid {
    flex-wrap: nowrap;
  }
}
@media only screen and (min-width: 1500px) {
  .footer-content-social {
    gap: 60px;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /*

EXAMPLE 
.icon {
	background: url(img/test@2x.png) no-repeat;
	background-size: 24px 24px;
}

*/
}
@media print {
  /******************************************************************
Site Name:
Author:

Stylesheet: Print Stylesheet

This is the print stylesheet. There's probably not a lot
of reasons to edit this stylesheet. If you want to
though, go for it.

******************************************************************/
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }
  a,
  a:visited {
    color: #444 !important;
    text-decoration: underline;
  }
  a:after,
  a:visited:after {
    content: " (" attr(href) ")";
  }
  a abbr[title]:after,
  a:visited abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none;
  }
}
@media only screen and (max-height: 1060px) {
  body.home .cover .scrolldown {
    display: none;
  }
}
h1.page-program__title {
  padding: 0;
  margin-bottom: 10px;
}
.page-program__subtitle {
  color: #2f3c4a;
  font-size: 24px;
  margin-bottom: 60px;
}
.page-program__content {
  margin-bottom: 100px;
  color: #f94144;
  font-family: "freight-text-pro", serif;
}
.page-program__items {
  display: grid;
  gap: 40px;
}
.page-program__item {
  display: flex;
  gap: 20px;
  padding: 20px;
  background-color: #F4F4F4;
}
.page-program__item-image__wrapper {
  flex: 0 0 140px;
}
.page-program__item-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-program__item-content__text {
  line-height: 22px;
}
@media only screen and (min-width: 481px) {
  .page-program__item-content {
    padding: 30px 0;
  }
  .page-program__item-content__text {
    font-size: 18px;
    line-height: 26px;
  }
}
@media only screen and (min-width: 768px) {
  .page-program__subtitle {
    font-size: 29px;
  }
  .page-program__content {
    margin-bottom: 150px;
  }
  .page-program__items {
    gap: 70px;
  }
  .page-program__item {
    gap: 45px;
    padding: 30px;
  }
  .page-program__item-image__wrapper {
    flex: 0 0 230px;
  }
  .page-program__item-content {
    padding: 40px 0;
  }
  .page-program__item-content__text {
    font-size: 22px;
    line-height: 31px;
  }
}
@media only screen and (min-width: 1200px) {
  .page-program__content {
    margin-bottom: 200px;
  }
  .page-program__items {
    grid-template-columns: 1fr 1fr;
    gap: 80px;
  }
  .page-program__item {
    padding: 30px 40px 30px 30px;
  }
}
