@charset "UTF-8";
/*
 * CSS3 library is now included in wp-module-themeframework.
 * This file still exists for backward compatibility.
 */
/*******************************
 * Contrast color functions
 ******************************/
/**
 * Automatically decides wheter black or white color is needed
 * @obsolete
 */
/**
 * Automatically gets the contrast color
 *
 */
/*******************************
 * Prefixing mixins
 ******************************/
/*******************************
 * Clearfix
 ******************************/
/*
 * If there is no other clearfix
 * class from bootstrap or something
 * available, you can include this.
 */
/*******************************
 * BS Viewports
 ******************************/
/*******************************
 * Additional Viewports
 ******************************/
/*******************************
 * Misc
 ******************************/
/*
 * Triangle factory
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap");
body {
  -webkit-font-smoothing: antialiased;
  background-color: #fff;
  color: #222;
}

/*******************************
 * WP WYSWIG image options
 ******************************/
/*
 * As images added through wordpress
 * have width and height HTML attributes
 * we need to say that there should be height auto
 * over CSS if we choose a different width such as 100%.
 */
img {
  height: auto;
  max-width: 100%;
}

img.alignleft {
  float: left;
  margin: 15px 15px 15px 0;
}

img.alignright {
  float: right;
  margin: 15px 0 15px 15px;
}

img.alignnone {
  display: block;
  margin: 15px 0;
}

img.aligncenter {
  display: block;
  margin: 15px auto;
}

/*******************************
* iFrames
******************************/
iframe {
  vertical-align: top;
}

/*******************************
 * A (General link style)
 ******************************/
a {
  color: #493288;
}
a:hover, a:active, a:focus {
  color: rgb(36.476913346%, 24.9841872233%, 67.9569892473%);
  text-decoration: none;
}

/*******************************
 * Bootstrap Overwrites
 ******************************/
@media print {
  a[href]:after {
    content: "";
  }
}
/*******************************
 * Text Selection Color
 ******************************/
::selection {
  background-color: rgba(73, 50, 136, 0.75);
  color: #ffffff;
}

/*******************************
 * iframes
 ******************************/
iframe {
  max-width: 100%;
  width: 100%;
}

/*******************************
 * Container
 ******************************/
.container {
  padding-left: 25px;
  padding-right: 25px;
}
.container .row {
  margin-left: -25px;
  margin-right: -25px;
}
.container [class*=col-] {
  padding-left: 25px;
  padding-right: 25px;
}
@media (min-width: 1600px) {
  .container {
    width: 1280px;
    max-width: calc(100% - 30px);
  }
}

/*
 * CSS3 library is now included in wp-module-themeframework.
 * This file still exists for backward compatibility.
 */
/*******************************
 * Contrast color functions
 ******************************/
/**
 * Automatically decides wheter black or white color is needed
 * @obsolete
 */
/**
 * Automatically gets the contrast color
 *
 */
/*******************************
 * Prefixing mixins
 ******************************/
/*******************************
 * Clearfix
 ******************************/
/*
 * If there is no other clearfix
 * class from bootstrap or something
 * available, you can include this.
 */
/*******************************
 * BS Viewports
 ******************************/
/*******************************
 * Additional Viewports
 ******************************/
/*******************************
 * Misc
 ******************************/
/*
 * Triangle factory
 */
/*
 * Mixin used to create
 * footer styles.
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
footer {
  background-color: #493288;
  color: #fff;
}
footer .r1 {
  padding-top: 15px;
  padding-bottom: 15px;
}
footer .r1 ul {
  list-style: none;
  padding-left: 0;
}
footer .r1 a:hover {
  text-decoration: underline;
  color: #fff;
}
footer .r2 {
  padding-top: 15px;
  padding-bottom: 15px;
}
footer .r2 .container {
  display: flex;
  justify-content: space-between;
  flex-flow: column;
}
footer .r2 .container p,
footer .r2 .container div {
  margin: 0.15rem 0;
}
@media (min-width: 768px) {
  footer .r2 .container {
    flex-flow: row;
  }
}
footer .r2 .container::before {
  content: none;
}
footer .r2 .container::after {
  content: none;
}
footer .r2 p {
  margin: 10px 0;
}
@media print {
  footer {
    display: none;
  }
}
footer h1,
footer h2,
footer h3 {
  color: #222222;
}
footer a {
  color: #fff;
}
footer hr {
  border-color: rgb(20.7779886148%, 14.2314990512%, 38.7096774194%);
}

/*******************************
 * Forgery functions
 ******************************/
/*******************************
 * Misc
 ******************************/
.button-spacer {
  overflow: hidden;
  margin: 20px 0;
  position: relative;
}
.button-spacer:after {
  border-top: 1px solid #dadada;
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  margin-left: 10px;
}

/*******************************
 * Version 2
 ******************************/
/*
 * Creates a button with the necessary
 * selector. Pass the custom styles
 * directly as content block.
 *
 * @include button('my-button') { ... }
 *
 * You can use predefined button styles:
 * @include button('other-button') {
 *  @include buttonStyleSolid(...);
 * }
 *
 */
/*
 * Helper function to throw an error
 * when trying to include a buttonStyle
 * mixin on root level.
 */
/*******************************
 * Predefined Hover Styles
 ******************************/
/*******************************
 * Predefined Style Mixins
 ******************************/
/*
 * Creates a simple solid flat button with
 * customizable $backgroundColor and $color.
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*******************************
 * Creating Button Styles
 * (using V2 factory)
 ******************************/
.button,
input[type=submit] {
  background-color: #493288;
  color: #fff;
  padding: 15px 20px;
  display: inline;
  line-height: 3.2rem;
  white-space: nowrap;
  border-radius: 3px;
  text-decoration: none !important;
}
.button:hover,
input[type=submit]:hover {
  color: #fff;
  background-color: rgb(31.7672359266%, 21.7583807717%, 59.1827956989%);
}
.button:focus,
input[type=submit]:focus {
  color: #fff;
}
.button:active,
input[type=submit]:active {
  background-color: rgb(16.853257432%, 11.5433270082%, 31.3978494624%);
}
.button.disabled, .button:disabled,
input[type=submit].disabled,
input[type=submit]:disabled {
  background: transparent;
  color: #757575;
  border: 2px solid #e5e5e7;
  opacity: 1;
}

a[href].disabled {
  pointer-events: none;
}

p + .button {
  margin-top: 0;
}

/*
 * Theme scope styles that you
 * want to add to all your buttons
 */
button, .button.style-primary {
  border: 2px solid #fff;
}

/*******************************
 * Button Group
 ******************************/
.button-group {
  display: flex;
  flex-wrap: wrap;
}
.button-group .button {
  line-height: inherit;
}
.button-group .button + .button {
  margin-left: 0.3rem;
  margin-top: 0;
}

/*******************************
 * Version 1 Generator Mixins
 ******************************/
/*******************************
 * Version 2 Generator Mixins
 ******************************/
/*
 * Main difference to V1 is, that
 * you only use the one statement to
 * define the style and at the same
 * time your custom styles.
 */
/**
 * description
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*******************************
 * PageSections
 ******************************/
.page-section.align-vcenter .row {
  display: flex;
  flex-flow: row;
  align-items: center;
  flex-wrap: wrap;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  -ms-flex-align: center;
}
.page-section.align-vcenter .row:before, .page-section.align-vcenter .row:after {
  content: normal;
}
.page-section {
  /*******************************************
  * Custom Link Style within PageSections
  ******************************************/
}
.page-section p a:not(.content-box):not(.button):not([href^=mailto]):not([href^=tel]), .page-section p.arrow-marker,
.page-section span a:not(.content-box):not(.button):not([href^=mailto]):not([href^=tel]),
.page-section span.arrow-marker {
  color: #493288;
}
.page-section p a:not(.content-box):not(.button):not([href^=mailto]):not([href^=tel]):hover, .page-section p.arrow-marker:hover,
.page-section span a:not(.content-box):not(.button):not([href^=mailto]):not([href^=tel]):hover,
.page-section span.arrow-marker:hover {
  text-decoration: underline;
}

a[href^=mailto]:not(.button) {
  color: #493288;
}
a[href^=mailto]:not(.button):hover {
  color: rgb(16.853257432%, 11.5433270082%, 31.3978494624%);
}

.page-section.style-default {
  color: #222;
}
.page-section.style-default + .style-default {
  padding-top: 0;
}

.page-section.style-light {
  background-color: #f9f9f9;
  color: #222;
}
.page-section.style-light + .style-light {
  padding-top: 0;
}

.page-section.style-primary {
  background-color: #493288;
  color: #ffffff;
}

/*******************************
 * Layouts
 ******************************/
.page-section.layout-default {
  margin: 0;
  padding: 2.5rem 0;
}
.page-section.layout-default [class^=col-] {
  padding-left: 25px;
  padding-right: 25px;
}
@media (min-width: 1400px) {
  .page-section.layout-default {
    padding: 3rem 0;
  }
}
@media (min-width: 1600px) {
  .page-section.layout-default {
    padding: 5rem 0;
  }
}

.page-section.layout-small-padding {
  padding: 1rem 0;
}

/*******************************
 * Equal Rows
 ******************************/
@media (min-width: 992px) {
  .row.equal-cols {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
}
/*******************************
 * Columns
 ******************************/
@media (min-width: 992px) {
  .page-section [class*=col-].layout-padding-l {
    padding-left: 100px;
  }
  .page-section [class*=col-].layout-padding-r {
    padding-right: 100px;
  }
  .page-section [class*=col-].layout-padding-lr {
    padding: 0 5%;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .page-section [class*=col-].layout-padding-lr {
    padding: 0 15%;
  }
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-padding-lr p {
    font-size: 120%;
  }
}
.page-section [class*=col-].layout-padding-lmax {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .page-section [class*=col-].layout-padding-lmax {
    justify-content: flex-end;
  }
}
.page-section [class*=col-].layout-margin-top {
  margin-top: 30px;
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-margin-top {
    margin-top: 0;
  }
}
.page-section [class*=col-].layout-margin-bottom {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-margin-bottom {
    margin-bottom: 0;
  }
}
.page-section [class*=col-].layout-margin-top-bottom {
  margin-bottom: 15px;
  margin-top: 15px;
}
@media (min-width: 992px) {
  .page-section [class*=col-].layout-margin-top-bottom {
    margin-bottom: 0;
    margin-top: 0;
  }
}

.layout-nopm {
  padding: 0;
}

.layout-mbottom {
  margin-bottom: 30px;
}

/*******************************
 * Column Order
 ******************************/
.page-section.align-vcenter[class*=order-] .row {
  flex-wrap: wrap-reverse;
}

.page-section.order-xs-reversed .row {
  display: flex;
  flex-wrap: wrap-reverse;
}
.page-section.order-xs-reversed .sticky {
  order: 1000;
}

@media (min-width: 768px) {
  .page-section.order-sm-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-sm-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 992px) {
  .page-section.order-md-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-md-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 1200px) {
  .page-section.order-lg-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-lg-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 1400px) {
  .page-section.order-xl-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-xl-reversed .sticky {
    order: 1000;
  }
}
@media (min-width: 1600px) {
  .page-section.order-2xl-reversed .row {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .page-section.order-2xl-reversed .sticky {
    order: 1000;
  }
}
/******************************
 * Search Results
 ******************************/
.page-section .search-results li a {
  color: #222;
  padding: 0.4rem;
}
.page-section .search-results li a:hover {
  background-color: rgb(36.476913346%, 24.9841872233%, 67.9569892473%);
}
.page-section .search-results li + li {
  margin-top: 0.6rem;
}

/******************************
 * Post Pagination
 ******************************/
.page-section .post-pagination .page-nav-item {
  font-weight: bold;
  font-size: 1.3rem;
}
.page-section .post-pagination .page-nav-item:hover {
  background-color: rgb(36.476913346%, 24.9841872233%, 67.9569892473%);
}

/******************************
 * Print view
 ******************************/
@media print {
  .print-vanish {
    display: none;
  }
}
/*******************************
 * OBCopyrightWidget
 ******************************/
.OBCopyrightWidget-row {
  margin: 10px 0;
}

/*******************************
 * Widgets
 ******************************/
.search-widget input {
  background-color: #444;
  border: 1px solid #dfdfdf;
  padding: 10px;
  max-width: 100%;
}

/*******************************
 * Toggle Container
 ******************************/
.widget .toggle-indicator {
  margin-right: 10px;
  display: inline-block;
}
@media (min-width: 992px) {
  .widget .toggle-indicator {
    display: none;
  }
}
.widget .toggle-container {
  display: none;
}
@media (min-width: 992px) {
  .widget .toggle-container {
    display: block;
  }
}
.widget.active-widget .toggle-container {
  display: block;
}
@keyframes widget-toggle {
  0% {
    display: block;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.widget.active-widget .toggle-container {
  animation: widget-toggle 300ms;
}
.widget.active-widget .toggle-indicator {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -khtml-transform: rotate(180deg);
  transform: rotate(180deg);
}

form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=date],
form input[type=url],
form input[type=password],
form textarea {
  outline: none;
  padding: 0.75rem 1rem;
  max-width: 100%;
  width: 100%;
  border: none;
  transition: box-shadow 300ms;
}
form input[type=text]:focus,
form input[type=email]:focus,
form input[type=tel]:focus,
form input[type=date]:focus,
form input[type=url]:focus,
form input[type=password]:focus,
form textarea:focus {
  box-shadow: 0 0 0 2px #493288;
}
form input[type=text]:disabled,
form input[type=email]:disabled,
form input[type=tel]:disabled,
form input[type=date]:disabled,
form input[type=url]:disabled,
form input[type=password]:disabled,
form textarea:disabled {
  background-color: #efefef;
  cursor: no-drop;
}
form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=date],
form input[type=url],
form input[type=password],
form textarea {
  background-color: #f9f9f9;
}
form input + input {
  margin-top: 15px;
}
form textarea {
  resize: vertical;
}
form input[type=submit] {
  line-height: 1rem;
  border: none;
}

.page-section.style-light input[type=text],
.page-section.style-light input[type=email],
.page-section.style-light input[type=tel],
.page-section.style-light input[type=date],
.page-section.style-light input[type=url],
.page-section.style-light input[type=password],
.page-section.style-light textarea {
  outline: none;
  padding: 0.75rem 1rem;
  max-width: 100%;
  width: 100%;
  border: none;
  transition: box-shadow 300ms;
}
.page-section.style-light input[type=text]:focus,
.page-section.style-light input[type=email]:focus,
.page-section.style-light input[type=tel]:focus,
.page-section.style-light input[type=date]:focus,
.page-section.style-light input[type=url]:focus,
.page-section.style-light input[type=password]:focus,
.page-section.style-light textarea:focus {
  box-shadow: 0 0 0 2px #493288;
}
.page-section.style-light input[type=text]:disabled,
.page-section.style-light input[type=email]:disabled,
.page-section.style-light input[type=tel]:disabled,
.page-section.style-light input[type=date]:disabled,
.page-section.style-light input[type=url]:disabled,
.page-section.style-light input[type=password]:disabled,
.page-section.style-light textarea:disabled {
  background-color: #efefef;
  cursor: no-drop;
}
.page-section.style-light input[type=text],
.page-section.style-light input[type=email],
.page-section.style-light input[type=tel],
.page-section.style-light input[type=date],
.page-section.style-light input[type=url],
.page-section.style-light input[type=password],
.page-section.style-light textarea {
  background-color: #fff;
}

.searchform {
  max-width: 300px;
}

.wpcf7 {
  display: inline-block;
  width: 100%;
}
@keyframes wpcf7-invalid-bubble {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.wpcf7 span.wpcf7-not-valid-tip {
  margin: 4px 0px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}
.wpcf7 span.wpcf7-not-valid-tip:before {
  content: "";
  border-style: solid;
  position: absolute;
  height: 0;
  width: 0;
  clear: both;
  border-width: 0 10px 12px 10px;
  border-color: transparent transparent #d2001b transparent;
  top: 0;
  left: 15px;
  transform: translateY(-100%);
}
.wpcf7 span.wpcf7-not-valid-tip {
  background-color: #d2001b;
  color: #fff;
  border-radius: 2px;
  display: inline-block;
  position: relative;
  padding: 5px 10px;
  animation: wpcf7-invalid-bubble 300ms;
}
.wpcf7 .wpcf7-response-output {
  color: #fff;
  box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.2);
  padding: 15px !important;
  border: none !important;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
  animation: wpcf7-invalid-bubble 300ms;
  z-index: 200;
}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors, .wpcf7 .wpcf7-response-output.wpcf7-spam-blocked {
  background-color: #d2001b;
}
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok {
  background-color: #66be40;
}
.wpcf7 .ajax-loader {
  background-color: #fff;
  border-radius: 50%;
  padding: 10px;
}

/*******************************
 * Google Recaptcha
 ******************************/
.grecaptcha-badge {
  display: none;
}

/*
 * CSS3 library is now included in wp-module-themeframework.
 * This file still exists for backward compatibility.
 */
/*******************************
 * Contrast color functions
 ******************************/
/**
 * Automatically decides wheter black or white color is needed
 * @obsolete
 */
/**
 * Automatically gets the contrast color
 *
 */
/*******************************
 * Prefixing mixins
 ******************************/
/*******************************
 * Clearfix
 ******************************/
/*
 * If there is no other clearfix
 * class from bootstrap or something
 * available, you can include this.
 */
/*******************************
 * BS Viewports
 ******************************/
/*******************************
 * Additional Viewports
 ******************************/
/*******************************
 * Misc
 ******************************/
/*
 * Triangle factory
 */
/*******************************
 * Text
 ******************************/
/*******************************
 * Corporate Identity
 ******************************/
/*******************************
 * Semantic Colors
 ******************************/
/* TODO: Implement */
/*******************************
 * Border style
 ******************************/
/*
 * Pagination navigation panel
 * used e.g. for post archive
 * pagination
 */
.page-nav {
  margin: 30px 0;
}
.page-nav .page-nav-item {
  color: #222;
  background-color: transparent;
  text-decoration: none;
  float: left;
  padding: 8px 14px;
}
.page-nav .page-nav-item:hover {
  background-color: #f9f9f9;
}
.page-nav .page-nav-item:active {
  background-color: #efefef;
}
.page-nav .page-nav-item .fa {
  font-size: 130%;
}
.page-nav .page-nav-item.current-page-nav-item {
  background-color: rgb(16.853257432%, 11.5433270082%, 31.3978494624%);
  color: #fff;
}

.employee {
  background-color: #fff;
  text-align: left;
  box-shadow: 0 1rem 1.4rem -1rem rgba(0, 0, 0, 0.16);
}
.employee ul {
  padding: 0 0 0 10px;
}
.employee .employee-image img {
  width: 100%;
}
.employee .employee-text {
  padding: 15px;
}
@media (min-width: 992px) {
  .employee .employee-text {
    padding: 30px;
  }
}

section table {
  border-collapse: collapse;
}
section table td {
  padding: 5px;
  border: 1px solid #efefef;
}

iframe {
  width: 100%;
}

.blog-sidebar {
  border-left: 1px solid #efefef;
}

.post-entry {
  color: #222;
  border-bottom: 1px solid #efefef;
}
.post-entry a {
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;
  flex-direction: row;
  color: #222;
}
.post-entry a:hover {
  text-decoration: none;
}
.post-entry:after {
  display: block;
  content: "";
  clear: both;
}
.post-entry .wp-post-image {
  float: left;
  margin-right: 20px;
  margin-bottom: 4px;
  align-self: center;
}

.categories .current-cat {
  list-style: none;
}
.categories .current-cat:before {
  content: "\f111";
  font-family: "FontAwesome";
  margin-left: -20px;
  margin-right: 5px;
}

.ug {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /**
   * Keep in mind that adding viewports or gutter sizes
   * will cause a bigger CSS file as these ar multiplied!
   * Number of necessary classes = #viewports * #gutter-sizes * $max-cols.
   * Default: 4 viewports, 3 gutter sizes and max. 4 columns
   *	--> 4 * 3 * 4 = 48 classes containing some CSS lines. = ~680 lines of CSS.
   */
}
.ug.ug-xs-1-0 {
  margin: 0px;
}
.ug.ug-xs-1-0 > * {
  margin: 0px;
  width: 100%;
  flex: 0 1 calc(100% - 0px);
  max-width: calc(100% - 0px);
}
.ug.ug-xs-2-0 {
  margin: 0px;
}
.ug.ug-xs-2-0 > * {
  margin: 0px;
  width: 50%;
  flex: 0 1 calc(50% - 0px);
  max-width: calc(50% - 0px);
}
.ug.ug-xs-3-0 {
  margin: 0px;
}
.ug.ug-xs-3-0 > * {
  margin: 0px;
  width: 33.3333333333%;
  flex: 0 1 calc(33.3333333333% - 0px);
  max-width: calc(33.3333333333% - 0px);
}
.ug.ug-xs-4-0 {
  margin: 0px;
}
.ug.ug-xs-4-0 > * {
  margin: 0px;
  width: 25%;
  flex: 0 1 calc(25% - 0px);
  max-width: calc(25% - 0px);
}
.ug.ug-xs-1-15 {
  margin: -15px;
}
.ug.ug-xs-1-15 > * {
  margin: 15px;
  width: 100%;
  flex: 0 1 calc(100% - 30px);
  max-width: calc(100% - 30px);
}
.ug.ug-xs-2-15 {
  margin: -15px;
}
.ug.ug-xs-2-15 > * {
  margin: 15px;
  width: 50%;
  flex: 0 1 calc(50% - 30px);
  max-width: calc(50% - 30px);
}
.ug.ug-xs-3-15 {
  margin: -15px;
}
.ug.ug-xs-3-15 > * {
  margin: 15px;
  width: 33.3333333333%;
  flex: 0 1 calc(33.3333333333% - 30px);
  max-width: calc(33.3333333333% - 30px);
}
.ug.ug-xs-4-15 {
  margin: -15px;
}
.ug.ug-xs-4-15 > * {
  margin: 15px;
  width: 25%;
  flex: 0 1 calc(25% - 30px);
  max-width: calc(25% - 30px);
}
@media (min-width: 768px) {
  .ug.ug-sm-1-0 {
    margin: 0px;
  }
  .ug.ug-sm-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-2-0 {
    margin: 0px;
  }
  .ug.ug-sm-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-3-0 {
    margin: 0px;
  }
  .ug.ug-sm-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-4-0 {
    margin: 0px;
  }
  .ug.ug-sm-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-1-15 {
    margin: -15px;
  }
  .ug.ug-sm-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-2-15 {
    margin: -15px;
  }
  .ug.ug-sm-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-3-15 {
    margin: -15px;
  }
  .ug.ug-sm-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 768px) {
  .ug.ug-sm-4-15 {
    margin: -15px;
  }
  .ug.ug-sm-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-1-0 {
    margin: 0px;
  }
  .ug.ug-md-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-2-0 {
    margin: 0px;
  }
  .ug.ug-md-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-3-0 {
    margin: 0px;
  }
  .ug.ug-md-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-4-0 {
    margin: 0px;
  }
  .ug.ug-md-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-1-15 {
    margin: -15px;
  }
  .ug.ug-md-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-2-15 {
    margin: -15px;
  }
  .ug.ug-md-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-3-15 {
    margin: -15px;
  }
  .ug.ug-md-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 992px) {
  .ug.ug-md-4-15 {
    margin: -15px;
  }
  .ug.ug-md-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-1-0 {
    margin: 0px;
  }
  .ug.ug-lg-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-2-0 {
    margin: 0px;
  }
  .ug.ug-lg-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-3-0 {
    margin: 0px;
  }
  .ug.ug-lg-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-4-0 {
    margin: 0px;
  }
  .ug.ug-lg-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-1-15 {
    margin: -15px;
  }
  .ug.ug-lg-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-2-15 {
    margin: -15px;
  }
  .ug.ug-lg-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-3-15 {
    margin: -15px;
  }
  .ug.ug-lg-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1200px) {
  .ug.ug-lg-4-15 {
    margin: -15px;
  }
  .ug.ug-lg-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-1-0 {
    margin: 0px;
  }
  .ug.ug-xl-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-2-0 {
    margin: 0px;
  }
  .ug.ug-xl-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-3-0 {
    margin: 0px;
  }
  .ug.ug-xl-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-4-0 {
    margin: 0px;
  }
  .ug.ug-xl-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-1-15 {
    margin: -15px;
  }
  .ug.ug-xl-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-2-15 {
    margin: -15px;
  }
  .ug.ug-xl-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-3-15 {
    margin: -15px;
  }
  .ug.ug-xl-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1400px) {
  .ug.ug-xl-4-15 {
    margin: -15px;
  }
  .ug.ug-xl-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-1-0 {
    margin: 0px;
  }
  .ug.ug-2xl-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-2-0 {
    margin: 0px;
  }
  .ug.ug-2xl-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-3-0 {
    margin: 0px;
  }
  .ug.ug-2xl-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-4-0 {
    margin: 0px;
  }
  .ug.ug-2xl-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-1-15 {
    margin: -15px;
  }
  .ug.ug-2xl-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-2-15 {
    margin: -15px;
  }
  .ug.ug-2xl-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-3-15 {
    margin: -15px;
  }
  .ug.ug-2xl-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1600px) {
  .ug.ug-2xl-4-15 {
    margin: -15px;
  }
  .ug.ug-2xl-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-1-0 {
    margin: 0px;
  }
  .ug.ug-3xl-1-0 > * {
    margin: 0px;
    width: 100%;
    flex: 0 1 calc(100% - 0px);
    max-width: calc(100% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-2-0 {
    margin: 0px;
  }
  .ug.ug-3xl-2-0 > * {
    margin: 0px;
    width: 50%;
    flex: 0 1 calc(50% - 0px);
    max-width: calc(50% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-3-0 {
    margin: 0px;
  }
  .ug.ug-3xl-3-0 > * {
    margin: 0px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 0px);
    max-width: calc(33.3333333333% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-4-0 {
    margin: 0px;
  }
  .ug.ug-3xl-4-0 > * {
    margin: 0px;
    width: 25%;
    flex: 0 1 calc(25% - 0px);
    max-width: calc(25% - 0px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-1-15 {
    margin: -15px;
  }
  .ug.ug-3xl-1-15 > * {
    margin: 15px;
    width: 100%;
    flex: 0 1 calc(100% - 30px);
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-2-15 {
    margin: -15px;
  }
  .ug.ug-3xl-2-15 > * {
    margin: 15px;
    width: 50%;
    flex: 0 1 calc(50% - 30px);
    max-width: calc(50% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-3-15 {
    margin: -15px;
  }
  .ug.ug-3xl-3-15 > * {
    margin: 15px;
    width: 33.3333333333%;
    flex: 0 1 calc(33.3333333333% - 30px);
    max-width: calc(33.3333333333% - 30px);
  }
}
@media (min-width: 1900px) {
  .ug.ug-3xl-4-15 {
    margin: -15px;
  }
  .ug.ug-3xl-4-15 > * {
    margin: 15px;
    width: 25%;
    flex: 0 1 calc(25% - 30px);
    max-width: calc(25% - 30px);
  }
}
.ug > * {
  float: left;
}

/*
 * Fixes the problem that the ug item "collides" with a previous
 * container which causes the ug container to be squeezed at the right corner.
 * TODO: is this a proper solution?
 */
.ug {
  margin-top: 0 !important;
}

@keyframes gallery-group-reveal {
  0% {
    opacity: 0;
    max-height: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes gallery-image-reveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.gallery-image {
  cursor: pointer;
  animation: gallery-image-reveal linear 150ms;
  width: 20%;
  box-sizing: border-box;
  float: left;
  align-self: center;
}
@media (min-width: 992px) {
  .gallery-image {
    width: 12.5%;
  }
}

.gallery-group {
  margin-bottom: 1px;
  background-color: #fff;
}
.gallery-group .group-title {
  background-color: #fff;
  margin: 0;
  padding: 15px 20px;
  -webkit-transition: background-color ease-in-out 150ms;
  -moz-transition: background-color ease-in-out 150ms;
  -o-transition: background-color ease-in-out 150ms;
  -ms-transition: background-color ease-in-out 150ms;
  -khtml-transition: background-color ease-in-out 150ms;
  transition: background-color ease-in-out 150ms;
  cursor: pointer;
}
.gallery-group .group-title:before {
  content: "\f107";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
}
.gallery-group .group-title:hover {
  background-color: white;
  color: #493288;
}
.gallery-group .group-title:active {
  background-color: rgb(98%, 98%, 98%);
}
.gallery-group .gallery-group-description p {
  margin-top: 0;
}
.gallery-group .content {
  display: none;
  padding: 0 15px 15px 15px;
}
.gallery-group .content:after {
  display: block;
  content: "";
  clear: both;
}
.gallery-group.active {
  margin-left: 0px;
  margin-right: 0px;
}
.gallery-group.active .group-title {
  color: #493288;
}
.gallery-group.active .group-title:before {
  content: "\f106";
}
.gallery-group.active .content {
  display: block;
  animation: gallery-group-reveal linear 400ms;
}

.gallery-control {
  background-color: #efefef;
  position: absolute;
  padding: 20px;
  z-index: 10;
  cursor: pointer;
  -webkit-transition: background-color ease 100ms;
  -moz-transition: background-color ease 100ms;
  -o-transition: background-color ease 100ms;
  -ms-transition: background-color ease 100ms;
  -khtml-transition: background-color ease 100ms;
  transition: background-color ease 100ms;
  color: #493288;
}
.gallery-control:hover {
  background-color: rgb(98.7254901961%, 98.7254901961%, 98.7254901961%);
}
.gallery-control:active {
  background-color: rgb(88.7254901961%, 88.7254901961%, 88.7254901961%);
}
.gallery-control.control-next {
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -khtml-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gallery-control.control-prev {
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -khtml-transform: translateY(-50%);
  transform: translateY(-50%);
}
.gallery-control.control-close {
  right: 10px;
  top: 10px;
}
.gallery-control.control-caption {
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -khtml-transform: translateX(-50%);
  transform: translateX(-50%);
  display: none;
}
.gallery-control.control-caption.active {
  animation: gallery-group-reveal ease-out 250ms;
  display: block;
}

.gallery-overlay {
  background-color: rgba(220, 220, 220, 0.95);
  position: fixed;
  z-index: 20;
  left: 0;
  top: 0;
  display: none;
  height: 100%;
  width: 100%;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.gallery-overlay.active {
  display: block;
}
.gallery-overlay .content {
  text-align: center;
  height: 100%;
  width: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  display: -ms-flexbox;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}
.gallery-overlay .content img,
.gallery-overlay .content .gallery-image {
  animation: gallery-image-reveal linear 0.3s;
  border: 5px solid #fff;
  max-height: calc(100% - 40px);
  max-width: calc(100% - 40px);
  flex-shrink: 0;
  flex-grow: 0;
}

/*
 * Creates a new menu. Use this
 * mixin as your base for the menu
 * and define the single menu levels.
 */
/*
 * false:	Alle child ul
 * 0:		Root level
 * >0:		Specific level
 */
/*******************************
 * Helpers
 ******************************/
/*******************************
 * Style
 ******************************/
nav.main {
  line-height: 1;
  text-align: center;
  overflow: hidden;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.1rem;
}
nav.main ul.menu > li > a {
  text-transform: uppercase;
  color: #fff;
  border: 2px solid transparent;
}
nav.main ul.menu > li.current-menu-item > a {
  border-color: #fff;
}
@media (min-width: 992px) {
  nav.main ul.menu li + li {
    margin-left: 0.5rem;
  }
}
nav.main ul.menu li + li {
  margin-left: 0;
}
nav.main .sub-menu {
  z-index: 10;
}
nav.main li {
  position: relative;
}
@media (min-width: 992px) {
  nav.main {
    /*
    * Necessary to make the
    * dropdown on desktop visible
    */
    overflow: visible;
  }
}
nav.main ul {
  background-color: #493288;
  transition: max-height ease-out 300ms;
  padding: 0;
}
@media (min-width: 992px) {
  nav.main ul {
    float: right;
  }
}
nav.main ul.active {
  display: block;
  animation: menu-fade ease-out 300ms;
  background-color: rgba(0, 0, 0, 0.05);
}
nav.main ul li {
  list-style: none;
}
nav.main ul a {
  text-decoration: none;
  position: relative;
  color: #222222;
}
nav.main ul li.menu-item-has-children {
  position: relative;
}
@media (max-width: 991px) {
  nav.main ul li.menu-item-has-children.submenu-active .submenu-toggle {
    transform: rotate(180deg);
  }
}
@media (min-width: 992px) {
  nav.main ul li.menu-item-has-children:hover .submenu-toggle {
    transform: rotate(180deg);
  }
}
nav.main ul li.menu-item-has-children > a {
  padding-right: calc(1.75rem + 15px);
}
nav.main ul li.menu-item-has-children > a .submenu-toggle {
  transition: transform 300ms ease;
  width: 3rem;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
nav.main ul li.menu-item-has-children > a .submenu-toggle:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("../../res/icons/toggle-submenu.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
nav.main > ul {
  background-color: transparent;
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: column;
}
@media (min-width: 992px) {
  nav.main > ul {
    flex-flow: row;
  }
}
nav.main > ul > li a {
  white-space: nowrap;
  padding: 1rem;
}
@media (min-width: 992px) {
  nav.main > ul > li a {
    padding: 0.3rem;
  }
}
nav.main > ul > li a {
  display: block;
}
nav.main > ul > li:hover > a {
  background-color: #fff;
  border: 2px solid #fff;
  color: #493288;
}
@media (min-width: 992px) {
  nav.main > ul > li:hover > ul {
    animation: menu-anim 250ms;
  }
}
@media (min-width: 992px) {
  nav.main > ul > li > ul {
    text-align: left;
    box-shadow: 0 1.3rem 20px -1rem rgba(50, 50, 50, 0.2);
    background-color: #fff;
    min-width: 250px;
    padding: 1rem 2rem;
    left: 0;
    position: absolute;
    font-size: 0.85rem;
  }
  nav.main > ul > li > ul a {
    color: #fff;
  }
  nav.main > ul > li > ul .current-menu-item > a {
    font-weight: bold;
  }
  nav.main > ul > li > ul > li + li {
    border-top: 1px solid #fff;
  }
  nav.main > ul > li > ul > li:hover > a {
    font-weight: bold;
  }
  nav.main > ul > li > ul > li > a {
    padding: 1rem 0;
  }
}
/*******************************
 * Submenu Functionality
 ******************************/
@keyframes submenu {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
nav.main ul ul {
  display: none;
}
@media (max-width: 991px) {
  nav.main ul .submenu-active ul {
    display: block;
    animation: submenu 300ms forwards;
  }
}
@media (min-width: 992px) {
  nav.main ul li:hover > ul {
    display: block;
    animation: submenu 300ms forwards;
  }
}

/*******************************
 *
 ******************************/
.nav-wrapper.style-center {
  display: inline-block;
}

@media (min-width: 992px) {
  header.main.style-center .nav-toggle-container {
    display: inline-block;
    vertical-align: top;
    float: none;
  }
}
@media (min-width: 992px) {
  header.main .responsive-menu {
    float: right;
  }
}

/*******************************
 * Header Grid System
 *
 * A few classes to make it
 * easier to create a header
 * layout.
 *
 * Currently only supporting
 * XS and SM vierports
 *
 ******************************/
/*******************************
 * hgCreateAligns
 ******************************/
/*
 * Create alignment classes
 * for the enclosing viewport
 */
/*******************************
 * hgCreateCols
 ******************************/
/*
 * Create a simple grid with 12 cols
 * for the given viewport
 */
/*******************************
 * header-row
 ******************************/
.header-row {
  position: relative;
  /*
   * Include clearfix so you
   * dont have to add the clearfix
   * class additionally.
   */
}
.header-row:after {
  content: "";
  display: table;
  clear: both;
  *zoom: 1;
}
.header-row {
  /*
  * You dont add the .partial class
  * to every partial.
  */
}
.header-row .partial, .header-row [class^=partial] {
  width: 100%;
  position: relative;
  display: table;
}
.header-row {
  /*
   * Vertical center wrapper
   */
}
.header-row .v-center {
  vertical-align: middle;
  height: inherit;
  display: table-cell;
}
.header-row {
  /*
   * Create alignment classes
   * for this viewport
   */
}
.header-row .partial-xs-left {
  text-align: left;
}
.header-row .partial-xs-center {
  text-align: center;
}
.header-row .partial-xs-right {
  text-align: right;
}
.header-row {
  /*
   * Create a simple grid with 12 cols
   * like in bootstrap. It should be
   * really simple and known to use.
   */
}
.header-row .partial-xs-1 {
  width: 8.3333333333%;
  float: left;
}
.header-row .partial-xs-2 {
  width: 16.6666666667%;
  float: left;
}
.header-row .partial-xs-3 {
  width: 25%;
  float: left;
}
.header-row .partial-xs-4 {
  width: 33.3333333333%;
  float: left;
}
.header-row .partial-xs-5 {
  width: 41.6666666667%;
  float: left;
}
.header-row .partial-xs-6 {
  width: 50%;
  float: left;
}
.header-row .partial-xs-7 {
  width: 58.3333333333%;
  float: left;
}
.header-row .partial-xs-8 {
  width: 66.6666666667%;
  float: left;
}
.header-row .partial-xs-9 {
  width: 75%;
  float: left;
}
.header-row .partial-xs-10 {
  width: 83.3333333333%;
  float: left;
}
.header-row .partial-xs-11 {
  width: 91.6666666667%;
  float: left;
}
.header-row .partial-xs-12 {
  width: 100%;
  float: left;
}
.header-row {
  /*
   * SM Viewport
   */
}
@media (min-width: 768px) {
  .header-row .partial-sm-1 {
    width: 8.3333333333%;
    float: left;
  }
  .header-row .partial-sm-2 {
    width: 16.6666666667%;
    float: left;
  }
  .header-row .partial-sm-3 {
    width: 25%;
    float: left;
  }
  .header-row .partial-sm-4 {
    width: 33.3333333333%;
    float: left;
  }
  .header-row .partial-sm-5 {
    width: 41.6666666667%;
    float: left;
  }
  .header-row .partial-sm-6 {
    width: 50%;
    float: left;
  }
  .header-row .partial-sm-7 {
    width: 58.3333333333%;
    float: left;
  }
  .header-row .partial-sm-8 {
    width: 66.6666666667%;
    float: left;
  }
  .header-row .partial-sm-9 {
    width: 75%;
    float: left;
  }
  .header-row .partial-sm-10 {
    width: 83.3333333333%;
    float: left;
  }
  .header-row .partial-sm-11 {
    width: 91.6666666667%;
    float: left;
  }
  .header-row .partial-sm-12 {
    width: 100%;
    float: left;
  }
  .header-row .partial-sm-left {
    text-align: left;
  }
  .header-row .partial-sm-center {
    text-align: center;
  }
  .header-row .partial-sm-right {
    text-align: right;
  }
}
.header-row {
  /*
   * MD Viewport
   */
}
@media (min-width: 992px) {
  .header-row {
    /*
     * Create a simple grid with 12 cols
     * like in bootstrap. It should be
     * really simple and known to use.
     */
  }
  .header-row .partial-md-1 {
    width: 8.3333333333%;
    float: left;
  }
  .header-row .partial-md-2 {
    width: 16.6666666667%;
    float: left;
  }
  .header-row .partial-md-3 {
    width: 25%;
    float: left;
  }
  .header-row .partial-md-4 {
    width: 33.3333333333%;
    float: left;
  }
  .header-row .partial-md-5 {
    width: 41.6666666667%;
    float: left;
  }
  .header-row .partial-md-6 {
    width: 50%;
    float: left;
  }
  .header-row .partial-md-7 {
    width: 58.3333333333%;
    float: left;
  }
  .header-row .partial-md-8 {
    width: 66.6666666667%;
    float: left;
  }
  .header-row .partial-md-9 {
    width: 75%;
    float: left;
  }
  .header-row .partial-md-10 {
    width: 83.3333333333%;
    float: left;
  }
  .header-row .partial-md-11 {
    width: 91.6666666667%;
    float: left;
  }
  .header-row .partial-md-12 {
    width: 100%;
    float: left;
  }
  .header-row {
    /*
     * Create alignment classes
     * for this viewport
     */
  }
  .header-row .partial-md-left {
    text-align: left;
  }
  .header-row .partial-md-center {
    text-align: center;
  }
  .header-row .partial-md-right {
    text-align: right;
  }
}
.header-row {
  /*
   * LG Viewport
   */
}
@media (min-width: 1170px) {
  .header-row .partial-lg-1 {
    width: 8.3333333333%;
    float: left;
  }
  .header-row .partial-lg-2 {
    width: 16.6666666667%;
    float: left;
  }
  .header-row .partial-lg-3 {
    width: 25%;
    float: left;
  }
  .header-row .partial-lg-4 {
    width: 33.3333333333%;
    float: left;
  }
  .header-row .partial-lg-5 {
    width: 41.6666666667%;
    float: left;
  }
  .header-row .partial-lg-6 {
    width: 50%;
    float: left;
  }
  .header-row .partial-lg-7 {
    width: 58.3333333333%;
    float: left;
  }
  .header-row .partial-lg-8 {
    width: 66.6666666667%;
    float: left;
  }
  .header-row .partial-lg-9 {
    width: 75%;
    float: left;
  }
  .header-row .partial-lg-10 {
    width: 83.3333333333%;
    float: left;
  }
  .header-row .partial-lg-11 {
    width: 91.6666666667%;
    float: left;
  }
  .header-row .partial-lg-12 {
    width: 100%;
    float: left;
  }
  .header-row .partial-lg-left {
    text-align: left;
  }
  .header-row .partial-lg-center {
    text-align: center;
  }
  .header-row .partial-lg-right {
    text-align: right;
  }
}

/*******************************
 * Basic dropdown
 ******************************/
/**
 * This function is intented
 * to be placed inside the selector
 * which represents the top level ul.
 *
 * It will add the default css
 * dropdown functionlalities to this class.
 */
/*******************************
 * Default responsive mobile styles
 ******************************/
/*******************************
 * Default vertical dropdown
 ******************************/
/**
 * Creates a default vertical
 * dropdown out of the corresponding ul.
 */
/*******************************
 * jQueryResponsiveNavigation styles
 ******************************/
/*******************************
 * DEV
 ******************************/
/*
 * Creates a new menu. Use this
 * mixin as your base for the menu
 * and define the single menu levels.
 */
/*
 * false:	Alle child ul
 * 0:		Root level
 * >0:		Specific level
 */
.logo-wrap {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}
.logo-wrap .logo {
  align-self: flex-end;
}
.logo-wrap .logo .logo-desktop {
  display: none;
}
@media (min-width: 992px) {
  .logo-wrap .logo .logo-desktop {
    display: inline-block;
    max-height: 150px;
  }
}
.logo-wrap .logo .logo-mobile {
  display: inline-block;
  max-height: 50px;
}
@media (min-width: 992px) {
  .logo-wrap .logo .logo-mobile {
    display: none;
  }
}

header.main {
  display: flex;
  border-bottom: 2px solid #efefef;
  justify-content: space-between;
  background-color: #493288;
  min-height: 60px;
}
@media (max-width: 430px) {
  header.main .page-header-message {
    font-size: 0.9rem;
  }
}
header.main .page-header-message {
  color: #fff;
  font-family: "Times New Roman", sans-serif;
  letter-spacing: 0.8px;
  text-align: right;
  margin-left: auto;
  padding-left: 1rem;
}
@media (min-width: 992px) {
  header.main .page-header-message {
    text-align: left;
  }
}
@media (max-width: 768px) {
  header.main .container {
    width: 100%;
  }
}
header.main .container {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  header.main .container {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  header.main {
    justify-content: flex-start;
    min-height: 100px;
  }
}
header.main > *:not(script) {
  display: flex;
  flex-flow: row;
  align-items: center;
  justify-content: flex-start;
}
header.main .search-button {
  cursor: pointer;
  transition: all 300ms ease;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2rem;
  padding: 1rem;
}
header.main .search-button:active {
  background-color: #efefef;
}
header.main .search-button:hover {
  background-color: #493288;
}
header.main nav.main {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-wrap {
  position: relative;
  z-index: 15;
  display: flex;
  flex-flow: column;
}
@media print {
  .header-wrap {
    display: none;
  }
}
.header-wrap.search-mode {
  display: flex;
}
.header-wrap.search-mode .search-form {
  height: 100%;
  z-index: 30;
  align-items: center;
  width: 100%;
  position: fixed;
  top: 0;
  display: flex;
}
@keyframes search-form {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.header-wrap .search-form {
  background-color: rgba(25, 25, 25, 0.84);
  height: 100%;
  margin: 0;
  padding: 0;
  display: none;
  animation: search-form 300ms;
}
.header-wrap .search-form .icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
}
.header-wrap .search-form .loader {
  display: none;
}
.header-wrap .search-form .anti-loader {
  display: block;
}
.header-wrap .search-form.searching .loader {
  display: block;
}
.header-wrap .search-form.searching .anti-loader {
  display: none;
}
.header-wrap .search-form .content {
  display: flex;
  align-items: center;
  flex-flow: column;
  max-width: 620px;
}
@media (min-width: 768px) {
  .header-wrap .search-form .content {
    flex-flow: row;
    align-items: stretch;
  }
}
.header-wrap .search-form .content .input-wrap {
  display: flex;
  width: 100%;
  background-color: #fff;
  border-top: 1px solid #f4f4f4;
  border-left: 1px solid #f4f4f4;
  border-right: 1px solid #f4f4f4;
}
@media (min-width: 768px) {
  .header-wrap .search-form .content input[type=submit] {
    margin-left: 2rem;
    height: auto;
    margin-top: 0;
    width: auto;
    min-width: 7rem;
  }
}
.header-wrap .search-form .content input[type=submit] {
  margin-top: 1rem;
  margin-left: 0;
  width: 100%;
  height: 100%;
  font-size: 1rem;
}
.header-wrap .search-form .content .main-search {
  font-size: 1rem;
  box-sizing: border-box;
  padding: 20px;
  border: none;
  height: 100%;
  width: 100%;
}
.header-wrap .search-form .content .main-search:focus {
  outline: none;
}

/*******************************
 * Toggle Container
 ******************************/
header.main .menu-button {
  width: 47px;
  height: 47px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid #fff;
  font-size: 25px;
}
header.main .menu-button:active, header.main .menu-button:hover {
  background-color: rgb(16.853257432%, 11.5433270082%, 31.3978494624%);
}
header.main .toggle-button {
  float: right;
  justify-self: flex-end;
  transition: scale ease 300ms;
}
@media (min-width: 992px) {
  header.main .toggle-button {
    display: none;
    margin-top: 0;
  }
}
header.main .toggle-container {
  display: none;
}
@media (min-width: 992px) {
  header.main .toggle-container {
    display: flex;
  }
}
header.main .toggle-container .controls {
  display: none;
  width: 100%;
  justify-content: space-between;
  flex-shrink: 0;
}
header.main .toggle-container .close-button {
  margin: 15px 15px 15px auto;
  top: 0;
  right: 0;
  color: #000;
}
@media (min-width: 992px) {
  header.main .toggle-container .close-button {
    display: none;
  }
}
header.main .toggle-container .mob-search-button {
  margin: 15px auto 15px 15px;
}
@keyframes toggle-container-toggle {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
header.main .toggle-container.toggled {
  letter-spacing: 1.5px;
  animation: toggle-container-toggle 300ms forwards;
  background-color: #493288;
  font-size: 1.5rem;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  z-index: 35;
  height: 100%;
  display: flex;
  flex-flow: column;
}
@media (min-width: 992px) {
  header.main .toggle-container.toggled {
    background-color: transparent;
  }
}
header.main .toggle-container.toggled .controls {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
header.main .toggle-container.toggled nav.main {
  overflow-y: hidden;
}
header.main .toggle-container.toggled.animated li {
  opacity: 0;
}
@keyframes menu-li {
  from {
    opacity: 0;
    transform: translateX(-15px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
header.main .toggle-container.toggled.animated li {
  animation: menu-li 600ms forwards;
}
@media (min-width: 992px) {
  header.main .toggle-container.toggled {
    position: static;
  }
}

body.home header.main {
  border-bottom: none;
}

.header-bg {
  background-color: #493288;
}

:root,
body {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 14px;
}
@media (min-width: 768px) {
  :root,
  body {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  :root,
  body {
    font-size: 15px;
  }
}
@media (min-width: 1200px) {
  :root,
  body {
    font-size: 15px;
  }
}
@media (min-width: 1400px) {
  :root,
  body {
    font-size: 15px;
  }
}
@media (min-width: 1600px) {
  :root,
  body {
    font-size: 15px;
  }
}
@media (min-width: 1900px) {
  :root,
  body {
    font-size: 15px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  color: #493288;
}

h1 {
  font-size: 1.75rem;
  line-height: 1.9rem;
}
@media (min-width: 992px) {
  h1 {
    line-height: 1.42857143;
  }
}

h2 {
  font-size: 1.5rem;
  line-height: 1.8rem;
}
@media (min-width: 992px) {
  h2 {
    line-height: 1.42857143;
  }
}

h3 {
  font-size: 1rem;
}

@keyframes gdpr-notice-reveal {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.gdpr.sticky-notice {
  z-index: 15;
  display: none;
  background-color: #fff;
  box-shadow: 0 0 80px rgba(0, 0, 0, 0.12);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  align-items: center;
  justify-content: space-between;
  flex-flow: column;
  padding: 15px;
}
@media (max-width: 571px) {
  .gdpr.sticky-notice .button {
    margin-top: 15px;
    width: 100%;
    text-align: center;
    margin-left: 0;
  }
}
@media (min-width: 572px) {
  .gdpr.sticky-notice {
    padding: 20px 25px;
    flex-flow: row;
  }
  .gdpr.sticky-notice .button {
    margin-left: 20px;
  }
}
.gdpr.sticky-notice .button {
  padding: 9px 20px;
  cursor: pointer;
  line-height: 1.4rem;
}
.gdpr.sticky-notice p {
  margin: 0;
}
.gdpr.sticky-notice.not-seen {
  display: flex;
  animation: gdpr-notice-reveal ease 800ms forwards;
}
@media print {
  .gdpr.sticky-notice {
    display: none !important;
  }
}

/*******************************
 * Box
 ******************************/
.ug img {
  align-self: center;
}

/*******************************
 * Imae-Grid
 ******************************/
.ug.image-grid img {
  align-self: center;
}

.recent-posts .post {
  background-color: transparent;
}
.recent-posts .post .content-wrap {
  padding: 1rem 0;
}
.recent-posts .post .content-wrap .content {
  color: #222;
}
.recent-posts .post .content-wrap .content .post-date {
  font-weight: bold;
  color: #493288;
}
.recent-posts .post .content-wrap .content .post-title {
  margin-top: 0.5rem;
  margin-bottom: 0.2rem;
  font-weight: bold;
  color: #222;
}
.recent-posts .post .content-wrap .content .post-title + p {
  margin-top: 0;
}
.recent-posts .post .content-wrap .content .more-link {
  color: #493288;
}
.recent-posts .post .content-wrap .content > *:last-child {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  article.single-post {
    max-width: 75%;
  }
}
@media (min-width: 1200px) {
  article.single-post {
    max-width: 60%;
  }
}
@media (min-width: 1600px) {
  article.single-post {
    max-width: 50%;
  }
}
article.single-post h1:first-child,
article.single-post h2:first-child,
article.single-post h3:first-child {
  margin-top: 0;
}
article.single-post *:last-child {
  margin-bottom: 0;
}

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}

.lds-ellipsis div {
  position: absolute;
  top: 27px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #493288;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
  left: 6px;
  animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
  left: 6px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
  left: 26px;
  animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
  left: 45px;
  animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(19px, 0);
  }
}
.accordion + .accordion {
  margin-top: 15px;
}
.accordion .accordion-heading {
  font-weight: bold;
  padding: 1rem;
  display: flex;
  align-items: center;
  cursor: pointer;
  justify-content: space-between;
  color: #222222;
  font-size: 1rem;
}
.accordion .accordion-heading:after {
  content: "+";
  font-size: 3rem;
  line-height: 0;
  margin-top: -0.7rem;
  color: #493288;
  display: inline-block;
  float: right;
  min-width: 25px;
  text-align: right;
  font-weight: 400;
}
@media (min-width: 992px) {
  .accordion .accordion-heading {
    padding: 1.5em;
  }
}
.accordion .accordion-inner {
  padding: 1rem;
}
@media (min-width: 992px) {
  .accordion .accordion-inner {
    padding: 1.5em;
  }
}
.accordion .accordion-inner {
  display: none;
}
.accordion .accordion-inner:last-of-type {
  position: relative;
  top: -1px;
}
.accordion .accordion-inner > :first-child {
  margin-top: 0;
}
.accordion .accordion-inner > :last-child {
  margin-bottom: 0;
}
.accordion.accordion-open .accordion-heading:after {
  content: "-";
}
.accordion:last-child {
  margin-bottom: 1em;
}

.page-section.style-default .accordion {
  background-color: #f6f7f8;
}
.page-section.style-default .accordion .accordion-heading {
  border-bottom: 3px solid #fff;
}
.page-section.style-primary .accordion {
  background-color: #ffffff;
  color: #222;
}
.page-section.style-primary .accordion .accordion-heading {
  border-bottom: 3px solid #493288;
}
.page-section.style-light .accordion {
  background-color: #fff;
}
.page-section.style-light .accordion .accordion-heading {
  border-bottom: 3px solid #f6f7f8;
}

.content-box {
  background-color: #fff;
  display: flex;
  position: relative;
  transition: all ease 300ms;
  justify-content: stretch;
}
.content-box img {
  align-self: flex-start;
}
.content-box .img-wrap {
  display: block;
  flex-shrink: 0;
}
.content-box .img-wrap img {
  width: 100%;
}
.content-box .content-wrap {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  color: #222;
  padding: 2rem;
  width: 100%;
  flex-grow: 1;
  height: auto;
}
.content-box .content-wrap *:first-child {
  margin-top: 0;
  margin-bottom: 0;
}
.content-box .content-wrap *:last-child {
  margin-bottom: 0;
}
.content-box .content-wrap .content {
  display: flex;
  flex-flow: column;
  height: 100%;
  width: 100%;
}
.content-box .arrow-marker {
  margin-top: auto;
}
.content-box .next-icon {
  margin-left: 20px;
}
.content-box.type-imgtop {
  flex-flow: column;
}
.content-box.type-imgtop .content-wrap .button-group {
  margin-top: auto;
}
.content-box.type-imgleft {
  flex-flow: row;
  align-items: center;
}
.content-box.type-imgleft .img-wrap {
  padding: 1rem;
}
.content-box.type-imgleft .content-wrap {
  border-left: 2px solid #f9f9f9;
}

a.content-box:hover {
  transform: translateY(-10px);
}

.content-box.style-default {
  background-color: #fff;
  color: #222;
}
.content-box.style-light {
  background-color: #f1f1f2;
  color: #222;
}
.content-box.style-custom {
  background-color: #493288;
}
.content-box.style-custom .content-wrap {
  color: #fff;
}
.content-box.style-custom .content-wrap h1,
.content-box.style-custom .content-wrap h2,
.content-box.style-custom .content-wrap h3,
.content-box.style-custom .content-wrap h4,
.content-box.style-custom .content-wrap h5,
.content-box.style-custom .content-wrap h6 {
  color: #fff;
}
.content-box.style-custom .content-wrap a {
  color: #fff !important;
}
.content-box.style-custom .content-wrap a:hover {
  text-decoration: underline;
}

.vanilla-swiper {
  position: relative;
}
.vanilla-swiper .button-wrapper {
  z-index: 10;
  position: absolute;
  pointer-events: none;
  display: flex;
  top: calc(50% - 1.5rem);
  transform: translateY(-50%);
  left: 0;
  right: 0;
}
.vanilla-swiper .button-wrapper > *:last-child {
  margin-left: auto;
}
.vanilla-swiper .custom-button {
  pointer-events: all;
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  transition: all ease 120ms;
  z-index: 5;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  display: flex;
  opacity: 0;
  user-select: none;
}
.vanilla-swiper .custom-button:hover {
  transform: scale(1.05);
}
.vanilla-swiper .custom-button:active {
  transform: scale(0.95);
  background-color: #f1f1f1;
}
.vanilla-swiper .swiper-container .swiper-wrapper .align-middle {
  display: flex;
  justify-content: center;
  align-items: center;
}
.vanilla-swiper .swiper-container .swiper-wrapper .align-left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.vanilla-swiper .swiper-container .swiper-pagination {
  position: static;
  height: 3rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.vanilla-swiper .swiper-container .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #493288;
}
.vanilla-swiper .swiper-container .swiper-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 0.7rem;
}
.vanilla-swiper:hover .custom-button {
  opacity: 1;
}

.tabs-container:not(.slider-integrated) > .container {
  margin-bottom: -4px;
}
.tabs-container:not(.slider-integrated) .tabs-nav {
  align-items: stretch;
  flex-grow: 1;
  position: relative;
}
.tabs-container:not(.slider-integrated) .tabs-nav:not(.is-mobile) ul {
  flex-flow: row;
}
.tabs-container:not(.slider-integrated) .tabs-nav:not(.is-mobile) ul li {
  display: flex;
  justify-content: center;
}
.tabs-container:not(.slider-integrated) .tabs-nav.active ul {
  position: absolute;
  background-color: #fff;
  z-index: 10;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.tabs-container:not(.slider-integrated) .tabs-nav.active li {
  display: flex;
}
.tabs-container:not(.slider-integrated) .tabs-nav.is-mobile:not(.active) li.active:before {
  margin-right: 1rem;
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("../../res/icons/toggle-submenu.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul {
  display: flex;
  margin: 0;
  padding: 0;
  width: 100%;
  justify-content: stretch;
  flex-flow: column;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul li {
  flex-grow: 1;
  flex-shrink: 0;
  border-bottom: 4px solid rgba(0, 0, 0, 0);
  box-sizing: border-box;
  display: none;
  align-items: center;
  white-space: nowrap;
  color: rgba(34, 34, 34, 0.6);
  list-style: none;
  padding: 0.75rem 1.3rem;
  text-align: center;
  font-weight: 600;
  z-index: 10;
  cursor: pointer;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul li.active, .tabs-container:not(.slider-integrated) .tabs-nav ul li:hover {
  border-bottom: 4px solid #493288;
  color: #222;
  background-color: #f9f9f9;
}
.tabs-container:not(.slider-integrated) .tabs-nav ul li.active {
  display: flex;
}
.tabs-container:not(.slider-integrated) .swiper-container {
  border-top: 4px solid #d8d8d8;
}
.tabs-container:not(.slider-integrated) .swiper-pagination-bullets {
  display: none;
}

.timeline {
  margin-top: 20px !important;
  position: relative;
}
.timeline:before {
  background: #d8d8d8;
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 4px;
  margin-left: -2px;
  left: 20px;
}
@media (min-width: 992px) {
  .timeline:before {
    left: 50%;
  }
}
.timeline .ug-item {
  flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  position: relative;
  max-width: 100%;
  padding-left: 25px;
}
@media (min-width: 992px) {
  .timeline .ug-item {
    padding: 0;
  }
}
.timeline .ug-item .content {
  position: relative;
  background-color: #f9f9f9;
  color: #222;
  padding: 40px;
}
.timeline .ug-item:before {
  border-radius: 50%;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: #493288;
  position: absolute;
  left: -3px;
  top: 15px;
}
@media (min-width: 992px) {
  .timeline .ug-item:before {
    right: 26px;
    transform: translateX(-50%);
    transition: transform ease-in-out 150ms;
    transform-origin: 0 50%;
    top: 15px;
    left: 50%;
  }
}
@media (min-width: 992px) {
  .timeline .ug-item .content {
    margin-right: 53%;
  }
}
.timeline .ug-item .content:after {
  content: "";
  border-style: solid;
  position: absolute;
  height: 0;
  width: 0;
  clear: both;
  border-width: 10px 12px 10px 0;
  border-color: rgba(0, 0, 0, 0) #f9f9f9 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  top: 12px;
  left: -12px;
}
@media (min-width: 992px) {
  .timeline .ug-item .content:after {
    border-width: 10px 0 10px 12px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #f9f9f9;
    left: auto;
    right: -12px;
  }
}
.timeline .ug-item .content > *:first-child {
  margin-top: 0;
}
.timeline .ug-item .content > *:last-child {
  margin-bottom: 0;
}
.timeline .ug-item {
  /*
  * Right Elements
  */
}
.timeline .ug-item:nth-child(even):before {
  border-radius: 50%;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: #493288;
  position: absolute;
  left: -3px;
  top: 15px;
}
@media (min-width: 992px) {
  .timeline .ug-item:nth-child(even):before {
    transform: translateX(-50%);
    transform-origin: 0 50%;
    top: 15px;
    left: 50%;
  }
}
@media (min-width: 992px) {
  .timeline .ug-item:nth-child(even) .content {
    margin-right: 0;
    margin-left: 53%;
  }
}
.timeline .ug-item:nth-child(even) .content:after {
  content: "";
  border-style: solid;
  position: absolute;
  height: 0;
  width: 0;
  clear: both;
  border-width: 10px 12px 10px 0;
  border-color: rgba(0, 0, 0, 0) #f9f9f9 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  top: 12px;
  left: -12px;
}

.page-section.style-light .timeline .ug-item .content {
  background-color: #fff;
}
.page-section.style-light .timeline .ug-item:nth-child(even) .content:after {
  border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}
@media (min-width: 992px) {
  .page-section.style-light .timeline .ug-item:nth-child(odd) .content:after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
  }
}
.page-section.style-light .timeline .ug-item:nth-child(odd) .content:after {
  border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
}

.slider-integrated .container {
  max-width: 100%;
}
.slider-integrated .swiper-container {
  border-top: none;
  max-height: 700px;
}
.slider-integrated .swiper-container .swiper-slide {
  display: flex;
  align-items: center;
}
.slider-integrated .slide {
  background-size: cover;
  justify-content: center;
}
.slider-integrated .slide img {
  flex-shrink: 0;
}
.slider-integrated .swiper-pagination-bullets {
  text-align: center;
}
.slider-integrated .swiper-pagination-bullets .swiper-pagination-bullet {
  border: 2px solid #fff;
  height: 1rem;
  width: 1rem;
  background-color: #fff;
}
.slider-integrated .swiper-pagination-bullets .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 0.3rem;
}
.slider-integrated .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: #493288;
}

.today-slider .container {
  max-width: 100%;
}
.today-slider .swiper-container {
  border-top: none;
  max-height: 700px;
}
.today-slider .swiper-container .swiper-slide {
  display: flex;
  align-items: center;
}
.today-slider .slide {
  background-size: cover;
  justify-content: center;
}
.today-slider .slide img {
  flex-shrink: 0;
}
.today-slider .swiper-pagination-bullets {
  text-align: center;
}
.today-slider .swiper-pagination-bullets .swiper-pagination-bullet {
  border: 2px solid #fff;
  height: 1rem;
  width: 1rem;
  background-color: #fff;
}
.today-slider .swiper-pagination-bullets .swiper-pagination-bullet + .swiper-pagination-bullet {
  margin-left: 0.3rem;
}
.today-slider .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: #493288;
}

@keyframes popup-wrap-reveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.popup-wrap {
  display: none;
  background-color: rgba(55, 55, 55, 0.74);
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 30;
  align-items: center;
  justify-content: center;
}
.popup-wrap.active {
  display: flex;
  animation: popup-wrap-reveal ease 200ms forwards;
}

.popup-window {
  background-color: #ffffff;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.29);
  max-width: 800px;
  max-height: calc(100vh - 2rem);
  margin: 1rem 2rem;
  display: flex;
  flex-flow: column;
  justify-content: stretch;
}
.popup-window .heading {
  display: flex;
  border-bottom: 2px solid #efefef;
}
.popup-window .heading .title {
  margin: 0.5rem 1rem;
}
.popup-window .content {
  overflow-y: scroll;
  flex-grow: 1;
  padding: 1rem;
}
.popup-window .popup-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  border-left: 2px solid #efefef;
  cursor: pointer;
}
.popup-window .popup-button:hover {
  background-color: #f9f9f9;
}
.popup-window .popup-button:active {
  background-color: #f3f3f3;
}
.popup-window .popup-button.close-button {
  margin-left: auto;
}
.popup-window .popup-button.close-button img {
  width: 1.5rem;
}

body.admin-bar .popup-window {
  max-height: calc(100vh - 2rem - 32px);
  margin-top: calc(1rem + 32px);
}

/*******************************
 * WPCF7 SUpport
 ******************************/
.wpcf7-response-output {
  position: static !important;
  margin-top: 1rem !important;
}

.file-download-wrap {
  border-top: 2px solid #493288;
  border-bottom: 2px solid #493288;
}
.file-download-wrap .file-download + .file-download {
  border-top: 2px solid #493288;
}
.file-download-wrap .file-download:hover {
  background-color: #493288;
}
.file-download-wrap .file-download:hover .download-link {
  color: #fff;
}
.file-download-wrap .file-download:hover .download-link:before {
  background-image: url("../../res/icons/download-inverted.svg");
}
.file-download-wrap .file-download .download-link {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  font-weight: bold;
}
.file-download-wrap .file-download .download-link:before {
  content: "";
  display: inline-block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../../res/icons/download.svg");
  height: 32px;
  width: 32px;
  margin-right: 1rem;
  margin-left: 0.5rem;
}

.social-media-icons {
  display: flex;
  align-items: center;
}
@media print {
  .social-media-icons {
    display: none;
  }
}
.social-media-icons .icon {
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all ease 0.25s;
  overflow: hidden;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .social-media-icons .icon {
    height: 30px;
    width: 30px;
  }
}
.social-media-icons .icon:hover {
  box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.1);
}
.social-media-icons .icon + .icon {
  margin-left: 0.75rem;
}

.mn-address {
  color: #757673;
  font-size: 18px;
}

.mn-museum {
  margin-top: 30px;
}
.mn-museum h2 {
  margin: 0;
}

.mn-event {
  padding-left: 15px;
  margin-top: 15px;
}
.mn-event h3 {
  margin: 0;
  font-size: 16px;
  text-transform: uppercase;
}
.mn-event .mn-event-cat .fa {
  margin: auto 5px;
  transform: scale(0.8);
}

.mn-scroll-wrap {
  height: 750px;
  max-height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  position: relative;
}

.mn-city-title:hover {
  text-decoration: none;
}
.mn-city-title .title-info {
  color: #757673;
  margin: auto 10px;
}

/*******************************
 * Agenda
 ******************************/
@keyframes form-dropdown-reveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.form-dropdown {
  position: relative;
  box-sizing: border-box;
  display: flex;
  user-select: none;
  flex-shrink: 0;
}
.form-dropdown .handle {
  background-color: #f1f1f2;
  display: flex;
  padding: 0.75rem 1.25rem;
  align-items: center;
  flex-grow: 1;
  cursor: default;
  white-space: nowrap;
  border-top: 3px solid transparent;
  font-weight: bold;
}
@media (min-width: 768px) {
  .form-dropdown .handle {
    font-weight: normal;
  }
}
@media (min-width: 992px) {
  .form-dropdown .handle {
    padding: 0.25rem 1rem;
  }
}
@media (min-width: 1200px) {
  .form-dropdown .handle {
    padding: 0.5rem 1.25rem;
  }
}
.form-dropdown .handle:after {
  margin-left: auto;
  display: inline-block;
  color: #493288;
  content: "\f0d7";
  padding-left: 10px;
  font-family: "FontAwesome";
}
.form-dropdown.toggled .handle {
  background-color: #493288;
  color: #fff;
}
@media (min-width: 992px) {
  .form-dropdown.toggled .handle {
    color: #222;
    background-color: #ffffff;
    border-top-color: #493288;
  }
}
.form-dropdown.toggled .handle::after {
  content: "\f0d8";
}
.form-dropdown.toggled .dropdown {
  animation: form-dropdown-reveal linear 200ms;
  display: block;
  z-index: 50;
  max-height: 400px;
  overflow-x: hidden;
}
.form-dropdown .dropdown {
  background-color: white;
  box-shadow: 0px 9px 20rem -1rem rgb(0, 0, 0);
  white-space: nowrap;
  overflow-x: scroll;
  min-width: 100%;
  max-height: 90vh;
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
}
@media (min-width: 768px) {
  .form-dropdown .dropdown {
    box-shadow: 0px 20px 3rem -1rem rgba(0, 0, 0, 0.1);
    width: auto;
  }
}
.form-dropdown .dropdown .filter-option {
  padding: 7px 14px;
  display: flex;
  align-items: center;
}
.form-dropdown .dropdown .filter-option:hover {
  background-color: #f9f9f9;
}
.form-dropdown .dropdown .filter-option .checkbox-face {
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eaeaea;
  margin-right: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-dropdown .dropdown .filter-option input {
  display: none;
}
.form-dropdown .dropdown .filter-option input:checked ~ .checkbox-face:after {
  content: "✔";
  color: #493288;
}

@media (min-width: 768px) {
  .search-dropdown {
    float: right;
  }
}

.mn-filter-result {
  min-height: 200px;
}
.mn-filter-result .wrap {
  -webkit-transition: opacity ease 300ms;
  -moz-transition: opacity ease 300ms;
  -o-transition: opacity ease 300ms;
  -ms-transition: opacity ease 300ms;
  -khtml-transition: opacity ease 300ms;
  transition: opacity ease 300ms;
}
.mn-filter-result.loading {
  background-image: url("../../res/loaders/loader.gif");
  background-repeat: no-repeat;
  background-position: center;
}
.mn-filter-result.loading .wrap {
  opacity: 0;
}

/*******************************
 * New
 ******************************/
.agenda-list {
  display: flex;
  flex-flow: column;
}
.agenda-list .event {
  background-color: #f1f1f2;
  padding: 2rem;
  margin: 0.25rem 0;
  text-transform: none;
  transition: background-color ease 300ms;
  color: #222;
}
.agenda-list .event:hover {
  background-color: #f7f7f7;
}
.agenda-list .event h2 {
  color: #222;
  line-height: 1.7rem;
}
.agenda-list .event .author {
  font-weight: 700;
  font-family: "Times New Roman", sans-serif;
  text-transform: none;
}
.agenda-list .event .event-title {
  font-family: "Times New Roman", sans-serif;
  font-style: italic;
  font-weight: normal;
  text-transform: none;
}
.agenda-list .event .meta {
  display: flex;
  flex-wrap: wrap;
  margin: -0.25rem;
  line-height: 1rem;
  margin-bottom: 0.5rem;
}
.agenda-list .event .meta > * {
  display: flex;
  align-items: center;
  margin: 0.25rem;
}
.agenda-list .event .meta > * + *:before {
  content: "|";
  margin-right: 0.5rem;
  display: inline-block;
}
.agenda-list .event > *:first-child {
  margin-top: 0;
}
.agenda-list .event > *:last-child {
  margin-bottom: 0;
}
.agenda-list .event h2,
.agenda-list .event h3 {
  margin: 0.4rem 0;
}

.agenda-alert {
  background-color: #f9f9f9;
  padding: 0.75rem;
  display: flex;
  align-items: center;
}
.agenda-alert svg {
  margin-right: 0.5rem;
}

.mn-filter-form {
  margin-bottom: 0.5rem;
}
@media print {
  .mn-filter-form {
    display: none;
  }
}
.mn-filter-form .wrap {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  justify-content: stretch;
  margin: -0.25rem;
}
@media (min-width: 768px) {
  .mn-filter-form .wrap {
    flex-flow: row;
  }
}
.mn-filter-form .wrap > * {
  margin: 0.25rem;
}
.mn-filter-form .spinner-placeholder {
  width: 60px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .mn-filter-form .spinner-placeholder {
    width: 40px;
  }
}
@media (min-width: 1200px) {
  .mn-filter-form .spinner-placeholder {
    width: 60px;
  }
}
.mn-filter-form input.search {
  border: 2px solid #493288;
  padding: 0.5rem 1rem;
  flex-shrink: 1;
}
@media (min-width: 768px) {
  .mn-filter-form input.search {
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  .mn-filter-form input.search {
    width: 100%;
  }
}

.mn-address {
  color: #757673;
  font-size: 18px;
}

.mn-museum {
  margin-top: 30px;
}
.mn-museum h2 {
  margin: 0;
}

.mn-event {
  padding-left: 15px;
  margin-top: 15px;
}
.mn-event h3 {
  margin: 0;
  font-size: 16px;
  text-transform: uppercase;
}
.mn-event .mn-event-cat .fa {
  margin: auto 5px;
  transform: scale(0.8);
}

.mn-scroll-wrap {
  height: 750px;
  max-height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  position: relative;
}

.mn-city-title:hover {
  text-decoration: none;
}
.mn-city-title .title-info {
  color: #757673;
  margin: auto 10px;
}

/*******************************
 * Agenda
 ******************************/
@keyframes form-dropdown-reveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.form-dropdown {
  position: relative;
  box-sizing: border-box;
  display: flex;
  user-select: none;
}
.form-dropdown:focus {
  outline: none;
}
.form-dropdown .handle {
  background-color: #f1f1f2;
  display: flex;
  padding: 0.75rem 1.25rem;
  align-items: center;
  flex-grow: 1;
  cursor: default;
  white-space: nowrap;
  border-top: 3px solid transparent;
  font-weight: bold;
}
@media (min-width: 768px) {
  .form-dropdown .handle {
    font-weight: normal;
  }
}
@media (min-width: 992px) {
  .form-dropdown .handle {
    padding: 0.25rem 1rem;
  }
}
@media (min-width: 1200px) {
  .form-dropdown .handle {
    padding: 0.5rem 1.25rem;
  }
}
.form-dropdown .handle:after {
  margin-left: auto;
  display: inline-block;
  color: #493288;
  content: "\f0d7";
  padding-left: 10px;
  font-family: "FontAwesome";
}
.form-dropdown.toggled .handle {
  background-color: #493288;
  color: #fff;
}
@media (min-width: 992px) {
  .form-dropdown.toggled .handle {
    color: #222;
    background-color: #ffffff;
    border-top-color: #493288;
  }
}
.form-dropdown.toggled .handle::after {
  content: "\f0d8";
}
.form-dropdown.toggled .dropdown {
  animation: form-dropdown-reveal linear 200ms;
  display: block;
  z-index: 50;
  overflow-x: hidden;
}
.form-dropdown .dropdown {
  background-color: white;
  box-shadow: 0px 9px 20rem -1rem rgb(0, 0, 0);
  white-space: nowrap;
  overflow-x: scroll;
  min-width: 100%;
  max-height: 90vh;
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
}
@media (min-width: 768px) {
  .form-dropdown .dropdown {
    box-shadow: 0px 20px 3rem -1rem rgba(0, 0, 0, 0.1);
    width: auto;
  }
}
.form-dropdown .dropdown .filter-option {
  padding: 7px 14px;
  display: flex;
  align-items: center;
}
.form-dropdown .dropdown .filter-option:hover {
  background-color: #f9f9f9;
}
.form-dropdown .dropdown .filter-option .checkbox-face {
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eaeaea;
  margin-right: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-dropdown .dropdown .filter-option input {
  display: none;
}
.form-dropdown .dropdown .filter-option input:checked ~ .checkbox-face:after {
  content: "✔";
  color: #493288;
}

@media (min-width: 768px) {
  .search-dropdown {
    float: right;
  }
}

.mn-filter-result {
  min-height: 200px;
}
.mn-filter-result .wrap {
  -webkit-transition: opacity ease 300ms;
  -moz-transition: opacity ease 300ms;
  -o-transition: opacity ease 300ms;
  -ms-transition: opacity ease 300ms;
  -khtml-transition: opacity ease 300ms;
  transition: opacity ease 300ms;
}
.mn-filter-result.loading {
  background-image: url("../../res/loaders/loader.gif");
  background-repeat: no-repeat;
  background-position: center;
}
.mn-filter-result.loading .wrap {
  opacity: 0;
}

/*******************************
 * New
 ******************************/
.agenda-list {
  display: flex;
  flex-flow: column;
}
.agenda-list .event-container > .register-button {
  position: absolute;
  margin-top: 0;
  margin-bottom: 0;
  display: inline-block;
  line-height: 1;
  right: 2rem;
  bottom: 2rem;
}
@media (min-width: 768px) {
  .agenda-list .event-container > .register-button {
    top: 2rem;
    bottom: auto;
  }
}
.agenda-list .event-container > .register-button.disabled {
  pointer-events: none;
}
@media print {
  .agenda-list .event-container > .register-button {
    display: none;
  }
}
.agenda-list .event-container {
  position: relative;
  display: flex;
  flex-flow: column;
}
.agenda-list .event {
  background-color: #f1f1f2;
  padding: 2rem;
  margin: 0.25rem 0;
  text-transform: none;
  color: #222;
}
.agenda-list .event .register-button {
  visibility: hidden;
  margin-top: 0;
}
.agenda-list .event .register-button.start {
  float: right;
  display: none;
}
@media (min-width: 768px) {
  .agenda-list .event .register-button.start {
    display: inline-block;
  }
}
.agenda-list .event .register-button.end {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .agenda-list .event .register-button.end {
    display: none;
  }
}
@media print {
  .agenda-list .event {
    padding: 1rem 0;
  }
}
.agenda-list .event .author {
  font-family: "Times New Roman", sans-serif;
  text-transform: none;
}
.agenda-list .event .event-title {
  font-family: "Times New Roman", sans-serif;
  font-style: italic;
  font-weight: normal;
  text-transform: none;
}
.agenda-list .event .meta {
  display: flex;
}
.agenda-list .event .meta > * {
  display: flex;
  align-items: center;
}
.agenda-list .event .meta > * + *:before {
  content: "|";
  display: inline-block;
}
.agenda-list .event > *:first-child {
  margin-top: 0;
}
.agenda-list .event > *:last-child {
  margin-bottom: 0;
}
.agenda-list .event h2,
.agenda-list .event h3 {
  margin: 0.4rem 0;
}

.agenda-alert {
  background-color: #f9f9f9;
  padding: 0.75rem;
  display: flex;
  align-items: center;
}
.agenda-alert svg {
  margin-right: 0.5rem;
}

.mn-filter-form {
  margin-bottom: 0.5rem;
}
.mn-filter-form .wrap {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  justify-content: stretch;
  margin: -0.25rem;
}
@media (min-width: 768px) {
  .mn-filter-form .wrap {
    flex-flow: row;
  }
}
.mn-filter-form .wrap > * {
  margin: 0.25rem;
}
.mn-filter-form .spinner-placeholder {
  width: 60px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .mn-filter-form .spinner-placeholder {
    width: 40px;
  }
}
.mn-filter-form input.search {
  border: 2px solid #493288;
  padding: 0.5rem 1rem;
}
@media (min-width: 768px) {
  .mn-filter-form input.search {
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  .mn-filter-form input.search {
    width: 100%;
  }
}

/*******************************
 * Author Single Page
 ******************************/
@media (max-width: 1199px) {
  .author-details {
    margin-bottom: 2rem;
  }
}
.author-details h1,
.author-details h2,
.author-details h3 {
  text-transform: none;
  font-family: "Times New Roman", sans-serif;
}
.author-details h1 {
  font-weight: 400;
  margin-bottom: 0.5rem;
}
.author-details h2 {
  color: #222;
  text-transform: none;
  font-weight: 700;
  margin: 0;
}
.author-details h3 {
  color: #222;
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  margin-top: 0;
}

.author-event-listing .register-button,
.button.register-button {
  margin-top: 13px;
  margin-bottom: 13px;
  display: inline-block;
  line-height: 1;
}

.author-event-listing #event-table {
  margin-top: 0.75rem;
  font-family: "Roboto", sans-serif;
}
@media (max-width: 768px) {
  .author-event-listing #event-table tr + tr .date {
    padding-top: 1.25rem;
    padding-bottom: 0;
  }
}
.author-event-listing #event-table td.date {
  color: #222;
}
@media (min-width: 768px) {
  .author-event-listing #event-table td.date {
    padding-right: 5px;
  }
}
.author-event-listing #event-table td.date .date-day,
.author-event-listing #event-table td.date .date-time {
  white-space: nowrap;
}
@media (min-width: 768px) {
  .author-event-listing #event-table td.details {
    padding-left: 0.5rem;
  }
}
@media (min-width: 768px) {
  .author-event-listing #event-table td.booking {
    padding-left: 0.5rem;
  }
}
.author-event-listing #event-table td {
  display: block;
  width: auto;
  vertical-align: top;
  padding: 3px 0;
  border: none;
}
@media (min-width: 768px) {
  .author-event-listing #event-table td {
    display: table-cell;
  }
}
.author-event-listing #event-table tr:not(:first-child) td:first-child {
  padding-top: 36px;
}
@media (min-width: 768px) {
  .author-event-listing #event-table tr:not(:first-child) td {
    padding-top: 36px;
  }
}
.author-event-listing #event-table tr:not(:first-child) td:first-child::before {
  content: "";
  position: absolute;
  left: 1.5em;
  width: calc(100% - 3em);
  margin-top: -24px;
  height: 2px;
  background: #e5e5e7;
}
.author-event-listing .row-link {
  cursor: default;
}
.author-event-listing .row-link[data-href^=http] {
  color: #493288;
  cursor: pointer;
}
.author-event-listing .row-link[data-href^=http]:hover {
  text-decoration: underline;
}
.author-event-listing .row-link:last-child .register-button {
  margin-bottom: 0;
}

.svg-map {
  position: relative;
  max-width: 100%;
}
.svg-map .scroll-container {
  overflow-x: scroll;
  max-width: 100%;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -ms-overflow-style: none;
}
.svg-map .scroll-indicator {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  transition: opacity ease 200ms;
  opacity: 0;
  pointer-events: none;
  width: 45px;
}
@media (min-width: 768px) {
  .svg-map .scroll-indicator {
    width: 60px;
  }
}
.svg-map .scroll-indicator .indicator {
  cursor: pointer;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 3px solid #efefef;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 20px rgba(100, 100, 100, 0.1);
}
.svg-map .scroll-indicator .indicator:active {
  background: #efefef;
}
.svg-map .scroll-indicator .indicator img {
  height: 20px;
  max-width: 100%;
}
.svg-map .scroll-indicator.active {
  pointer-events: all;
  opacity: 1;
}
.svg-map .scroll-indicator.left {
  left: -2px;
  background: linear-gradient(90deg, rgb(255, 255, 255) 15%, rgba(255, 255, 255, 0) 100%);
}
.svg-map .scroll-indicator.right {
  justify-content: flex-end;
  right: -2px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 85%);
}
.svg-map svg *[id^=link-] {
  cursor: pointer;
  transition: all ease 200ms;
}
.svg-map svg *[id^=link-]:hover {
  stroke: #4c4294;
  stroke-width: 5px;
  fill: #fff;
}

.newsletter .mc4wp-form-fields {
  display: flex;
}
.newsletter .mc4wp-form-fields input[type=submit] {
  margin-top: 0;
}
.newsletter .mc4wp-form-fields input[type=email] {
  border: 2px solid transparent;
}
.newsletter .mc4wp-form-fields input[type=email]:focus {
  border-color: #493288;
  box-shadow: none;
}

.page-section.style-light .newsletter input[type=email] {
  background-color: #fff;
}

.sponsor-box img {
  width: 100%;
}

/*# sourceMappingURL=main.css.map */
