/* 
Theme Name: BS13
Version: 1.0
Author: PIXONAUTS Studio
Author URI: https://pixonauts.com/
*/

@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins/Poppins-Light.ttf) format('truetype');
    font-weight: 300;
    font-style: normal
}
@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins/Poppins-Regular.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins/Poppins-Italic.ttf) format('truetype');
    font-weight: 400;
    font-style: italic
}
@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins/Poppins-Medium.ttf) format('truetype');
    font-weight: 500;
    font-style: normal
}
@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins/Poppins-SemiBold.ttf) format('truetype');
    font-weight: 600;
    font-style: normal
}
@font-face {
    font-family: "Poppins";
    src: url(fonts/Poppins/Poppins-Bold.ttf) format('truetype');
    font-weight: 700;
    font-style: normal
}
@font-face {
    font-family: "Exo";
    src: url(fonts/Exo/Exo-Regular.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: "Exo";
    src: url(fonts/Exo/Exo-Italic.ttf) format('truetype');
    font-weight: 400;
    font-style: italic
}
@font-face {
    font-family: "Exo";
    src: url(fonts/Exo/Exo-Medium.ttf) format('truetype');
    font-weight: 500;
    font-style: normal
}
@font-face {
    font-family: "Exo";
    src: url(fonts/Exo/Exo-SemiBold.ttf) format('truetype');
    font-weight: 600;
    font-style: normal
}
@font-face {
    font-family: "Exo";
    src: url(fonts/Exo/Exo-Bold.ttf) format('truetype');
    font-weight: 700;
    font-style: normal
}

* {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    font-kerning: none;
    -webkit-text-rendering: optimizeSpeed;
    text-rendering: optimizeSpeed;
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
    -webkit-focus-ring-color: rgba(0, 0, 0, 0);
}

body,
html {
    width: 100%;
    min-height: 100%;
}
@media only screen and (min-width:712px) and (orientation:portrait) {
    html {
        font-size: 1.125rem
    }
}
@media only screen and (min-width:992px) {
    html {
        font-size: 1.125rem
    }
}

body {
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
    color: #2e3940;
    background-color: #fff;
    position: relative;
    overflow: hidden;
    overflow-y: scroll;
}

::selection {
    opacity: 1;
    color: #fff;
    background: #B7053B;
}
::-moz-selection {
    opacity: 1;
    color: #fff;
    background: #B7053B;
}

.grain {
    z-index: 99999;
    opacity: .2;
    background-image: url(img/noise-background.png);
    background-position: 0 0;
    background-size: auto;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
}

@media only screen and (orientation:landscape) {
    .d-landscape {
        display: block
    }
    .d-portrait {
        display: none
    }
}
@media only screen and (orientation:portrait) {
    .d-landscape {
        display: none
    }
    .d-portrait {
        display: block
    }
}

.relative {
    position: relative;
}

.sticky {
    position: sticky;
    top: 80px;
}
@media only screen and (min-width:992px) {
    .sticky {
        top: 100px;
    }
}

.oh {
    overflow: hidden;
}

.aspect-21-9 {
    position: relative;
    display: block;
    padding-top: 42.86%;
}

.aspect-16-9 {
    position: relative;
    display: block;
    padding-top: 56.25%;
}

.aspect-3-2 {
    position: relative;
    display: block;
    padding-top: 66.666%;
}

.aspect-4-3 {
    position: relative;
    display: block;
    padding-top: 75%;
}

.aspect-6-5 {
    position: relative;
    display: block;
    padding-top: 83.333%;
}

.aspect-1-1 {
    position: relative;
    display: block;
    padding-top: 100%;
}

.row-s {
    margin-right: -5px;
    margin-left: -5px;
}
.row-s>[class*=col-] {
    padding-left: 5px;
    padding-right: 5px
}
.row-s .mb {
    margin-bottom: 20px!important
}
.row-s .mt {
    margin-top: 20px!important
}

.pt {
    padding-top: 30px;
}
.pb {
    padding-bottom: 30px;
}
.mt {
    margin-top: 30px;
}
.mb {
    margin-bottom: 30px;
}

@media only screen and (min-width:992px) {
    .container-fluid {
        padding-left: 30px!important;
        padding-right: 30px!important
    }
    .section.bg-color .container-fluid {
        padding-right: 60px!important
    }
    .row-l {
        margin-right: -30px;
        margin-left: -30px;
    }
    .row-l>[class*=col-] {
        padding-left: 30px;
        padding-right: 30px
    }
    .row-s {
        margin-right: -10px;
        margin-left: -10px;
    }
    .row-s>[class*=col-] {
        padding-left: 10px;
        padding-right: 10px
    }
    .row-s.mb {
        margin-bottom: 20px
    }
    .row-s.mt {
        margin-top: 20px
    }
    .aspect-lg-21-7 {
        padding-top: 33.33%!important;
    }
}
@media only screen and (min-width:1440px) {
    .container-fluid {
        padding-left: 60px!important;
        padding-right: 60px!important
    }
    .section.bg-color .container-fluid {
        padding-right: 120px!important
    }
    .pt {
        padding-top: 60px;
    }
    .pb {
        padding-bottom: 60px;
    }
    .mt {
        margin-top: 60px;
    }
    .mb {
        margin-bottom: 60px;
    }
    .pl {
        padding-left: 60px;
    }
    .pr {
        padding-right: 60px;
    }
    .row-xl {
        margin-right: -30px;
        margin-left: -30px;
    }
    .row-xl>[class*=col-] {
        padding-left: 30px;
        padding-right: 30px
    }
    .ml-md-mi {
        margin-left: -60px;
    }
    .mr-md-mi {
        margin-right: -60px;
    }
    .maxw-xl-80 {
        max-width: 80%!important;
    }
    .col-xxl-1 {
        -ms-flex:0 0 8.333333%;
        flex:0 0 8.333333%;
        max-width:8.333333%
    }
    .col-xxl-2 {
        -ms-flex:0 0 16.666667%;
        flex:0 0 16.666667%;
        max-width:16.666667%
    }
    .col-xxl-3 {
        -ms-flex:0 0 25%;
        flex:0 0 25%;
        max-width:25%
    }
    .col-xxl-4 {
        -ms-flex: 0 0 33.333334%;
        flex: 0 0 33.333334%;
        max-width: 33.333334%;
    }
    .col-xxl-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-xxl-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-xxl-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-xxl-8 {
        -ms-flex:0 0 66.666667%;
        flex:0 0 66.666667%;
        max-width:66.666667%
    }
    .col-xxl-9 {
        -ms-flex:0 0 75%;
        flex:0 0 75%;
        max-width:75%
    }
    .col-xxl-10 {
        -ms-flex:0 0 83.333333%;
        flex:0 0 83.333333%;
        max-width:83.333333%
    }
    .col-xxl-11 {
        -ms-flex:0 0 91.666667%;
        flex:0 0 91.666667%;
        max-width:91.666667%
    }
    .col-xxl-12 {
        -ms-flex:0 0 100%;
        flex:0 0 100%;
        max-width:100%
    }
    .d-xxl-block {
        display: block!important;
    }
    .d-xxl-none {
        display: none!important;
    }
}
@media only screen and (min-width:1600px) {
    .container-fluid {
        padding-left: 8vw!important;
        padding-right: 8vw!important
    }
    .section.bg-color .container-fluid {
        padding-right: calc(8vw + 60px)!important
    }
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    font-family: "Exo";
    line-height: 1.3;
    font-weight: 600;
    color: inherit;
    margin-bottom: 1rem;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}
h1,.h1 {
    font-size: 2rem;
    line-height: 1.2;
}
.hero h1 {
    font-size: 1.875rem;
}
h2,.h2 {
    font-size: 1.875rem;
    line-height: 1.2;
}
h3,.h3,.ctx h2 {
    font-size: 1.75rem;
}
h4,.h4 {
    font-size: 1.5rem;
    letter-spacing: 0.03em;
}
h5,.h5 {
    font-size: 1.375rem;
    letter-spacing: 0.03em;
}

@media only screen and (min-width:712px) and (orientation:portrait) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    .hero h1 {
        font-size: 5.5vw;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3,.ctx h2 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
}
@media only screen and (min-width:992px) {
    h1,.h1,
    .hero h1 {
        font-size: 2.75rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3,.ctx h2 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
}
@media only screen and (min-width:1440px) {
    h1,.h1 {
        font-size: 3rem;
    }
    .hero h1 {
        font-size: 3.5rem;
    }
    h2,.h2 {
        font-size: 2.75rem;
    }
    h3,.h3 {
        font-size: 2.25rem;
    }
}

.sr-only {
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}

.wpcf7cf_steps-dots {
    display: none!important;
}
.wpcf7cf_multistep .step-title {
    font-size: .875rem
}
@media only screen and (min-width:992px) {
    .wpcf7cf_steps-dots {
        display: flex!important;
    }
}

.form-control-lg {
    font-size: 1rem;
}

.wpcf7-form *,
.wpcf7-form ::after,
.wpcf7-form ::before {
    box-sizing: border-box
}
.wpcf7-form-control.wpcf7-radio {
    display: inline-block;
    margin-left: .5rem;
}
.wpcf7-radio .wpcf7-list-item {
    display: inline-block;
    margin: 0 .5rem 0 0;
}
textarea.form-control {
    height: 150px!important;
}
.form-check {
    position: relative;
    display: block;
    padding-left: 25px
}

.form-check-input:disabled~.form-check-label,
.form-check-input[disabled]~.form-check-label {
    color: #000;
}

.wpcf7-form-control-wrap {
    position: relative;
}
.form-check .wpcf7-list-item {
    position: relative;
    vertical-align: top;
    margin: 0;
}
.form-check .wpcf7-form-control-wrap {
    position: absolute;
    top: 0;
    left: 0;
}
.form-check-input {
    position: absolute;
    top: 0;
    left: 0;
    margin: 3px;
}
.page-template-tpl-anregungen-kritik .form-check-input {
    top: 2px;
}
.form-check-label {
    position: relative;
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0!important;
}
@media only screen and (min-width:712px) and (orientation:portrait) {
    .form-check-input {
        top: 1px;
    }
    .page-template-tpl-anregungen-kritik .form-check-input {
        top: 3px;
    }
}
@media only screen and (min-width:992px) {
    .form-check-input {
        top: 3px;
    }
    .page-template-tpl-anregungen-kritik .form-check-input {
        top: 5px;
    }
}

.lh-1-4 {
    line-height: 1.4!important;
}

p.lead {
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 400;
}

p:last-of-type {
    margin-bottom: 0;
}

.ctx ol, 
.ctx ul {
    margin: 0 0 1rem;
    padding: 0 0 0 1rem;
}

.ctx .small-text ol, 
.ctx .small-text ul {
    margin: 0 0 .5rem;
}

.ctx table {
    margin-bottom: 1rem;
}
.ctx table td {
    padding-right: 1rem;
    vertical-align: top;
}

p + ul,
p + ol,
p + h1,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6 {
    margin-top: 1rem!important;
}

.biglist ul li,
.biglist ol li {
    margin-bottom: 1rem!important
}

b, strong {
    font-weight: 600;
}

@media only screen and (min-width:992px) {
    p.lead {
        font-size: 1.5rem;
    }
}
@media only screen and (min-width:1200px) {
    .small-text p,
    .small-text ul li {
        font-size: .9375rem
    }
}
@media only screen and (min-width:1600px) {
    p,
    ul li,
    ol li {
        font-size: 1.125rem
    }
}

.wpcf7cf_prev,
.wpcf7cf_next {
    color: #fff;
    background-color: #B7053B;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    border: 1px solid #B7053B;
}
@media only screen and (max-width:479px) {
    .wpcf7cf_prev,
    .wpcf7cf_next {
        padding: .5rem;
        font-size: .875rem;
    }
}
.wpcf7cf_prev:hover,
.wpcf7cf_next:hover {
    color:#fff;
    background-color:#960430;
    border-color:#960430
}
.wpcf7cf_prev.focus,.wpcf7cf_prev:focus,
.wpcf7cf_next.focus,.wpcf7cf_next:focus {
    color:#fff;
    background-color:#960430;
    border-color:#960430;
    box-shadow:0 0 0 .2rem rgba(38,143,255,.5)
}
.wpcf7cf_step_controls .disabled {
    opacity: 0!important;
}

@media only screen and (min-width:992px) {
    .column-2 {
        column-count: 2;
        column-gap: 60px;
    }
    .column-2 p,
    .column-2 ul {
        page-break-inside: avoid;
        -webkit-column-break-inside: avoid;
        break-inside: avoid;
    }
}

.smart-hyphens {
    hyphens: auto;
}

figure {
    margin: 0;
}

.highlight {
    color: red;
}
.hideMe {
    display: none;
}

@media only screen and (min-width:576px) {
    .w-sm-auto {
        width: auto!important;
    }
}
@media only screen and (min-width:711px) {
    .w-md-auto {
        width: auto!important;
    }
}
@media only screen and (min-width:992px) {
    .w-lg-auto {
        width: auto!important;
    }
}
@media only screen and (min-width:1200px) {
    .w-xl-auto {
        width: auto!important;
    }
}

.nowrap {
    white-space: nowrap;
}

img {
    max-width: 100%;
}

img.rounded-border,
#drdsgvo_map {
    border-radius: 12px;
    overflow: hidden;
}

figure img {
    width: 100%;
    height: auto
}

.img-wrap {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.img-wrap img {
    position: relative;
    width: 100%;
    height: auto;
    transition: transform .9s;
    -webkit-transform: scale(1);
    transform: scale(1);
    z-index: 1
}
.no-touchevents a:hover .img-wrap img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}
.entry-content .wp-video {
    display: block;
    margin: 0 auto 1rem;
}
.mp4-video {
    position: relative;
    display: block;
    width: auto!important;
    max-width: 100%;
    height: auto;
    max-height: calc(100vh - 100px);
    max-height: calc(calc(var(--vh, 1vh) * 100) - 100px);
    margin: 0 auto 1rem;
}
.yt-video {
    aspect-ratio: 16 / 9;
    width: 100%;
}
.media-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}
.media-wrapper.full {
    border-radius: 12px;
}
.media-wrapper.abs {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1;
}
.media-wrapper video {
    width: 100%;
    height: auto;
}
.media-wrapper .img,
.media-wrapper .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}
@media only screen and (min-width: 992px) {
    .media-wrapper.custom {
        border-radius: 12px 12px 0 12px;
    }
}
.play-video {
    position: absolute;
    top: 1px;
    left: 1px;
    width: 100%;
    height: 100%;
    z-index: 2;
    cursor: pointer;
    -webkit-transition: transform .3s;
    transition: transform .3s;
}
.no-touchevents .play-video:hover {
    -webkit-transform: scale(1.25);
    transform: scale(1.25)
}
.play-video-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 85px;
    height: 85px;
}
.play-video-border {
    width: 100%;
    height: 100%;
    border-radius: 100%;
    border: 3px solid #fff!important;
}
.play-video-badge .playicon {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.play-video-badge .playicon svg {
    width: 20px;
    height: 20px;
}

.video-overlay {
    width: 100%;
    height: 100%;
    background-color: #114038;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000;
    -webkit-transform: translateY(-110%);
    transform: translateY(-110%);
    -webkit-transition: -webkit-transform 0.5s ease-in-out .3s;
    transition: transform 0.5s ease-in-out .3s;
}
.video-overlay.video-active {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: -webkit-transform 0.5s ease-in-out 0s;
    transition: transform 0.5s ease-in-out 0s;
}

.video-overlay .video-holder {
    position: absolute;
    overflow: hidden;
    background-color: #114038;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in 0s;
    transition: opacity 0.3s ease-in 0s;
}
.video-overlay.video-active .video-holder {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-in .7s;
    transition: opacity 0.3s ease-in .7s;
}

.video-overlay .video-holder .fullscreen-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.video-close {
    position: fixed;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    z-index: 50;
    cursor: pointer;
    background: rgba(0,17,46,.15);
}

.video-close::after,
.video-close::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 20px;
    width: 2px;
    height: 30px;
    background-color: #fff;
    z-index: 10;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all .3s cubic-bezier(0.16, 0.01, 0.77, 1);
    transition: all .3s cubic-bezier(0.16, 0.01, 0.77, 1);
}

.video-close::before {
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.video-close:hover::after {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.video-close:hover::before {
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media only screen and (min-width: 992px) {
    .play-video-badge {
        width: 120px;
        height: 120px;
    }
    .play-video-badge .playicon svg {
        width: 25px;
        height: 25px;
    }
    .video-close {
        top: 30px;
        right: 30px;
        width: 60px;
        height: 60px;
    }
    .video-close::after,
    .video-close::before {
        top: 5px;
        left: 30px;
        height: 50px;
    }
}

.bg-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-position: center center;
    background-size: cover;
    z-index: 0;
}
.bg-image.bg-top {
    background-position: top center;
}
img.bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.full-img {
    width: 100%;
}
.full-height {
    position: relative;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
}
.cover-lg-img {
    width: 100%;
    height: auto;
}
@media only screen and (min-width:992px) {
    .cover-lg-img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        font-family: 'object-fit: cover;';
    }
}

.text-white {
    color: #fff!important;
}
.text-red {
    color: #B7053B!important;
}
.text-grey-light {
    color: #e9e9e9!important;
}
.text-outline {
    font-feature-settings: none;
    font-variant-ligatures: none;
    -webkit-text-stroke-color: currentColor;
    -webkit-text-stroke-width: 1.5px;
    font-style: italic;
    -webkit-text-fill-color: transparent;
}
.bg-white {
    background-color: #fff!important;
}
.bg-red {
    background-color: #B7053B!important;
    color: #fff;
}
.bg-blue {
    background-color: #112a40!important;
    color: #fff;
}
.bg-grey {
    background-color: #eeeff0!important;
}
.bg-color-1 {
    background-color: #114038!important;
    color: #fff;
}
.bg-color-2 {
    background-color: #482620!important;
    color: #fff;
}
.bg-color-3 {
    background-color: #78223B!important;
    color: #fff;
}
.bg-color-4 {
    background-color: #0e4869!important;
    color: #fff;
}
.bg-color-5 {
    background-color: #2e7469!important;
    color: #fff;
}
.bg-color-6 {
    background-color: #a13052!important;
    color: #fff;
}
.bg-left {
    position: relative;
    padding: 30px 15px;
    border-radius: 0 0 12px 12px;
}
@media only screen and (min-width:992px) {
    .bg-left {
        padding: 40px 0;
    }
    .bg-left::after {
        content: '';
        position: absolute;
        top: -75px;
        right: 0;
        bottom: 0;
        left: -2000px;
        border-radius: 0 0 12px 0;
        z-index: -1;
    }
    .bg-left.bg-red::after {
        background-color: #B7053B!important;
    }
    .bg-left.bg-blue::after {
        background-color: #112a40!important;
    }
    .bg-left.bg-grey::after {
        background-color: #eeeff0!important;
    }
    .bg-left.bg-color-1::after {
        background-color: #114038!important;
    }
    .bg-left.bg-color-2::after {
        background-color: #482620!important;
    }
    .bg-left.bg-color-3::after {
        background-color: #78223B!important;
    }
    .bg-left.bg-color-4::after {
        background-color: #0e4869!important;
    }
    .bg-left.bg-color-5::after {
        background-color: #2e7469!important;
    }
    .bg-left.bg-color-6::after {
        background-color: #a13052!important;
    }
}
@media only screen and (min-width:1200px) {
    .bg-left::after {
        top: -155px;
    }
}


a {
    color: #2e3940;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
a:hover {
    color: #B7053B;
    text-decoration: none;
}
a:focus, a.focus, button:focus, button.focus {
  outline: 0;
}
.ctx a:not(.gallery-item a):not(.post-image-link) {
    color: #B7053B;
    border-bottom: 1px solid transparent;
}
.ctx a:not(.gallery-item a):hover,
.ctx a:not(.post-image-link):hover {
    color: #B7053B;
    border-bottom-color: #B7053B;
}
.small-text.map-link {
    display: block;
    font-size: .875rem;
}
.btn-primary,
.btn-primary.disabled, 
.btn-primary:disabled,
.btn-primary.disabled:hover, 
.btn-primary:disabled:hover{
    color:#fff;
    background-color:#B7053B;
    border-color:#B7053B
}
.btn-primary:hover{
    color:#fff;
    background-color:#9a0532;
    border-color:#9a0532
}
.btn-primary.focus,
.btn-primary:focus{
    color:#fff;
    background-color:#9a0532;
    border-color:#9a0532;
    box-shadow:none
}
.button-group {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
    display: inline-flex;
}
.button {
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: .5px;
    font-weight: 400;
    padding: 8px 16px;
    border-radius: 12px;
    text-align: center;
    min-width: 250px;
    color: #fff!important;
    background-color: #112a40;
    border: 2px solid #112a40;
}
.button.primary {
    background-color: #B7053B;
    border: 2px solid #B7053B;
}
.button.outline {
    color: #112a40!important;
    background-color: transparent;
    border: 2px solid #112a40;
}
.button.primary.outline {
    color: #B7053B!important;
    background-color: transparent;
    border: 2px solid #B7053B;
}
.button.white.outline {
    color: #fff!important;
    background-color: transparent;
    border: 2px solid #fff;
}
.button-text {
    line-height: 30px;
    overflow: hidden;
    width: auto;
    transition: transform .2s ease-out
}
.button-text span {
    position: relative;
    display: inline-block;
    -webkit-transition: -webkit-transform .2s;
    transition: transform .2s;
    width: auto;
    text-align: center;
    transform-origin: 100% 0%
}
.button-text span::before {
    position: absolute;
    width: auto;
    top: 100%;
    left: 0;
    content: attr(data-hover)
}
.button:hover .button-text span {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transform-origin: 0% 0%
}

.link_wrap {
    position: relative;
    display: inline-block;
    vertical-align: top;
    color: #2e3940;
}
.link_wrap .link_text {
    display: inline-block;
    vertical-align: top;
    padding: 0 0 0 35px;
    position: relative;
    color: #2e3940;
    text-decoration: none;
}
.link_wrap .link_text > .text {
    display: block;
    line-height: 1.4;
    animation: ctaArrowTextStart .45s cubic-bezier(.23,.46,.4,1) forwards;
}
.link_wrap:hover .link_text > .text {
    animation: ctaArrowTextEnd .45s cubic-bezier(.23, .46, .4, 1) forwards
}
.link_wrap .link_text svg {
    position: absolute;
    left: 20px;
    top: .6rem;
    width: 6px;
    stroke: #2e3940;
    animation: ctaArrowSVGStart .45s cubic-bezier(.23,.46,.4,1) forwards;
}
.link_wrap:hover .link_text svg {
    animation: ctaArrowSVGEnd .45s cubic-bezier(.23, .46, .4, 1) forwards
}
.link_wrap .link_text svg polyline {
    stroke: #2e3940;
    stroke-dashoffset: 140px;
    stroke-dasharray: 140px;
    animation:ctaArrowEnd .45s cubic-bezier(.23,.46,.4,1) forwards
}
.link_wrap:hover .link_text svg polyline {
    animation: ctaArrowStart .45s ease .25s forwards
}
.link_wrap.fuar .link_text svg polyline {
    animation: none;
    stroke-dashoffset: 0;
    stroke-dasharray: 0;
}
.link_wrap.fuar:hover .link_text svg polyline {
    animation: ctaArrowStart2 .8s ease forwards
}
.link_wrap .link_text .line {
    height: 1px;
    width: 20px;
    position: absolute;
    content: '';
    left: 0;
    display: block;
    top: .6rem;
    transform-origin: left;
    background-color: #2e3940;
    transform: translateY(calc(-50% + .5px)) translateZ(0);
    animation: ctaArrowLineStart .45s cubic-bezier(.23,.46,.4,1) forwards;
}
.link_wrap:hover .link_text .line {
    animation: ctaArrowLineEnd .45s cubic-bezier(.23, .46, .4, 1) forwards
}
.link_wrap.white,
.link_wrap.white .link_text {
    color: #fff;
}
.link_wrap.wb.white .link_text {
    border-color: #fff!important;
}
.link_wrap.white .link_text svg,
.link_wrap.white .link_text svg polyline {
    stroke: #fff;
}
.link_wrap.white .link_text .line {
    background-color: #fff;
}


@keyframes ctaArrowTextStart {
    0% {
        transform:translateX(3px) translateZ(0)
    }
    100% {
        transform:translateX(0) translateZ(0)
    }
}
@keyframes ctaArrowTextEnd {
    0% {
        transform:translateX(0) translateZ(0)
    }
    100% {
        transform:translateX(3px) translateZ(0)
    }
}
@keyframes ctaArrowSVGStart {
    0% {
        transform:translateY(calc(-50% + .5px)) translateX(0) translateZ(0)
    }
    100% {
        transform:translateY(calc(-50% + .5px)) translateX(-3px) translateZ(0)
    }
}
@keyframes ctaArrowSVGEnd {
    0% {
        transform:translateY(calc(-50% + .5px)) translateX(-3px) translateZ(0)
    }
    100% {
        transform:translateY(calc(-50% + .5px)) translateX(0) translateZ(0)
    }
}
@keyframes ctaArrowLineStart {
    0% {
        transform-origin:left;
        transform:scaleX(1.2) translateY(calc(-50% + .5px)) translateZ(0)
    }
    100% {
        transform:scaleX(1) translateY(calc(-50% + .5px)) translateZ(0)
    }
}
@keyframes ctaArrowLineEnd {
    0% {
        transform-origin:right;
        transform:scaleX(1) translateY(calc(-50% + .5px)) translateZ(0)
    }
    50% {
        transform-origin:right;
        transform:scaleX(0) translateY(calc(-50% + .5px)) translateZ(0)
    }
    51% {
        transform-origin:left
    }
    100% {
        transform:scaleX(1.2) translateY(calc(-50% + .5px)) translateZ(0);
        transform-origin:left
    }
}
@keyframes ctaArrowStart {
    0% {
        stroke-dashoffset:140px;
        stroke-dasharray:140px
    }
    100% {
        stroke-dasharray:140px;
        stroke-dashoffset:10px
    }
}
@keyframes ctaArrowEnd {
    0% {
        stroke-dashoffset:10px;
        stroke-dasharray:150px 150px
    }
    40% {
        opacity:1
    }
    100% {
        opacity:0;
        stroke-dashoffset:-53px;
        stroke-dasharray:1px 150px
    }
}
@keyframes ctaArrowStart2 {
    0% {
        stroke-dashoffset:0;
        stroke-dasharray:0
    }
    50% {
        stroke-dashoffset:140px;
        stroke-dasharray:140px
    }
    100% {
        stroke-dasharray:140px;
        stroke-dashoffset:10px
    }
}

.pswp__bg {
    background: rgba(0,0,0,0.7);
}

.wp-caption.alignnone {
    max-width: 100%;
}
.wp-caption.alignnone img {
    width: 100%;
    height: auto;
}

.alignleft {
    float: left
}
.wp-caption.alignleft {
    max-width: 50%;
    margin: 8px 20px 10px 0;
}

.alignright {
    float: right
}
.wp-caption.alignright {
    max-width: 50%;
    margin: 8px 0 10px 20px;
}

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

img.alignleft {
    margin: 8px 25px 15px 0;
    max-width: 50%;
    height: auto
}

img.alignright {
    margin: 8px 0 15px 25px;
    max-width: 50%;
    height: auto
}

img.aligncenter {
    margin: 10px auto;
    clear: both;
    display: block
}

img.alignnone {
    height: auto;
    margin: 10px 0;
}

.wp-caption-text {
    font-size: 12px;
    margin: 10px 0!important
}

@media only screen and (max-width:480px) {
    img.alignleft,
    img.alignright {
        margin: 0 0 1rem;
        width: 100%;
        max-width: 100%;
    }
}

.gallery {
    margin: 1rem 0!important
}
.gallery-item {
    margin: 0!important;
    position: relative;
    overflow: hidden;
}
.gallery-item a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.gallery-item a::after {
    content: '';
    display: block;
    padding-bottom: 100%;
}
.gallery-item a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    max-width: none!important;
    height: 100%!important;
    border-color: #fff!important;
    object-position: center;
    object-fit: cover;
}

.label,
.label-inverse {
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 75%;
    letter-spacing: .5px;
    padding: 6px 10px;
    border-radius: 6px;    
}
.label {
    color: #0c1e21;
    background-color: #fff;
    border: 1px solid #e8eded;
}
.label-inverse {
    color: #fff;
    background-color: rgba(255,255,255,.1);
    border: 1px solid rgba(255, 255, 255, .1);
}

.has-animation {
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
} 
.has-animation.image_clip_right {
    clip-path: inset(0 100% 0 0);
    -webkit-clip-path: inset(0 100% 0 0);
}
.has-animation.image_clip_left {
    clip-path: inset(0 0 0 100%);
    -webkit-clip-path: inset(0 0 0 100%);
}
.has-animation.image_clip_right.animated {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
}
.has-animation.image_clip_left.animated {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
} 
.has-animation.fade-up {
    opacity: 0;
    transform: translateY(60px)
}
.has-animation.fade-up.animated {
    opacity: 1;
    transform: translateY(0)
}
.has-animation.fade-in-left {
    opacity: 0;
    transform: translateX(-60px);
}
.has-animation.fade-in-left-big {
    opacity: 0;
    transform: translateX(-800px);
}
.has-animation.fade-in-left.animated,
.has-animation.fade-in-left-big.animated {
    opacity: 1;
    transform: translateX(0)
}
.has-animation.fade-in-right {
    opacity: 0;
    transform: translateX(800px)
}
.has-animation.fade-in-right.animated {
    opacity: 1;
    transform: translateX(0)
}
.has-animation.has-scale {
    opacity: 0;
    transform: translateY(0) scale(1.05);
    transform-origin: 50% 0;
    will-change: transform
}
.has-animation.has-scale-vertical {
    opacity: 0;
    transform: translateY(0) scaleY(1.1);
    transform-origin: 50% 0;
    will-change: transform
}
.has-animation.has-scale-vertical.animated {
    opacity: 1;
    transform: translateY(0) scaleY(1);
}
.has-animation.has-cover {
    opacity: 1;
    transform: translateY(0);
    overflow: hidden
}
.has-animation.has-cover::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: inherit;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    -webkit-transition: .6s cubic-bezier(.54, .49, .2, 1.01);
    -o-transition: .6s cubic-bezier(.54, .49, .2, 1.01);
    transition: .6s cubic-bezier(.54, .49, .2, 1.01)
}
.has-animation.has-cover.animated::after {
    width: 0
}
.has-animation.has-cover img {
    display: block;
    margin: 0 auto;
    opacity: 1;
    transform: scale(1.05);
    -webkit-transition: .6s cubic-bezier(.54, .49, .2, 1.01);
    -o-transition: .6s cubic-bezier(.54, .49, .2, 1.01);
    transition: .6s cubic-bezier(.54, .49, .2, 1.01)
}
.has-animation.has-cover.animated img {
    opacity: 1;
    transform: scale(1)
}

#pageloader {
    background: #112a40;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4900
}
.loader-item {
    position: absolute;
    width: 44px;
    height: 44px;
    font-size: 44px;
    line-height: 44px;
    margin: -22px 0 0 -22px;
    top: 50%;
    left: 50%;
    text-align: center;
    color: #B7053B
}

.u-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 10px;
    background: #fff;
    z-index: 1000;
    overflow: visible;
}
.u-header-wrapper {
    height: 60px;
    margin-bottom: 10px;
    padding: 10px 15px;
    border-radius: 12px;
    background-color: #eeeff0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.u-header .logo {
    position: relative;
    display: block;
    height: 100%;
    padding: 5px 0;
    z-index: 10;
}
.u-header .logo img {
    display: inline-block;
    height: 100%;
    width: auto;
    max-width: none;
}
#main-nav .navbar-nav .nav-link {
    letter-spacing: 0.03em;
    opacity: 1;
    font-size: .9375rem;
    font-weight: 500;
    border-bottom: 2px solid transparent;
    padding: 22px 10px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
#main-nav .navbar-nav .nav-icon .nav-link {
    font-size: 18px;
    padding: 0;
}
#main-nav .navbar-nav .nav-icon.moodle .nav-link {
    font-size: 24px;
}
#main-nav .navbar-nav .nav-link.dropdown-toggle::after {
    font-family: 'fontello';
    vertical-align: middle;
    content: "\e81d";
    margin-left: .375rem;
    border: 0;
}
#main-nav .navbar-nav .nav-item .dropdown-menu {
    min-width: 400px;
    padding: 1rem 10px;
    margin: 15px 0 0;
    font-size: .9375rem;
    color: #2e3940;
    border: 0;
    background: #eeeff0;
    border-radius: 12px;
}
#main-nav .navbar-nav .nav-item.megamenu .dropdown-menu {
    min-width: 100%;
}
#main-nav .navbar-nav > .nav-item > .dropdown-menu > li.menu-item-has-children > a {
    letter-spacing: 0.03em;
    color: #B7053B;
    font-size: .875rem;
    font-weight: 500;
    text-transform: uppercase;
    display: block;
    padding: 0 0 .25rem 0;
    border-bottom: 1px solid #9a9fa0;
    margin: 1rem 0;
}
#main-nav .navbar-nav .nav-item .dropdown-menu .menu-item {
    margin-bottom: .5rem;
    padding: 0;
}
#main-nav .navbar-nav .nav-item .dropdown-menu .menu-item a {
    font-weight: 500;
    font-size: .9375rem;
    opacity: 1;
    display: block;
    background-color: transparent!important;
    white-space: normal!important;
    color: #2e3940;
    padding: 0;
}
#main-nav .navbar-nav .nav-item .dropdown-menu .menu-item a:hover {
    color: #B7053B;
}
#main-nav .navbar-nav .nav-item .dropdown-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.burger-menu {
    position: relative;
    width: 40px;
    height: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
}
.burger-menu > div {
    position: relative;
    width: 30px;
    height: 32px;
}
.burger-menu b {
    -webkit-transition: opacity .3s ease-in-out, -webkit-transform .3s ease-in-out, border-color .1s ease;
    transition: opacity .3s ease-in-out, transform .3s ease-in-out, border-color .1s ease;
    position: absolute;
    display: block;
    width: 30px;
    height: 0;
    border-top: 2px solid #141b25
}
.burger-menu b:nth-child(1) {
    top: 5px;
    left: 0;
}
.burger-menu b:nth-child(2) {
    top: 15px;
    left: 0;
}
.burger-menu b:nth-child(3) {
    top: 25px;
    right: 0;
}
body.menu-open .burger-menu b:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
}
body.menu-open .burger-menu b:nth-child(2) {
    opacity: 0;
    width: 0;
}
body.menu-open .burger-menu b:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
}

.overlay {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 17, 46, .75);
    z-index: 500;
    -webkit-transition: all .5s;
    transition: all .5s
}
body.menu-open .overlay {
    visibility: visible;
    opacity: 1;
}

.aside {
    position: fixed;
    right: 15px;
    top: 80px;
    width: 0;
    height: 0;
    background-color: #112a40;
    border-radius: 12px;
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    overflow: hidden;
    border-left: 1px solid rgba(136,136,136,.35);
    -webkit-transition: width .5s ease, height .5s ease, opacity 0s .5s;
    transition: width .5s ease, height .5s ease, opacity 0s .5s
}
body.menu-open .aside {
    pointer-events: all;
    opacity: 1;
    width: calc(100% - 30px);
    height: calc(100vh - 90px);
    height: calc((calc(var(--vh, 1vh) * 100)) - 90px);
    -webkit-transition: width .5s ease, height .5s ease, opacity 0s 0s;
    transition: width .5s ease, height .5s ease, opacity 0s 0s
}

.a-header {
    position: fixed;
    top: 80px;
    right: 15px;
    height: calc(100vh - 90px);
    height: calc((calc(var(--vh, 1vh) * 100)) - 90px);
    width: 70px;
    border-left: 1px solid rgba(136,136,136,.35);
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
    z-index: 995;
    opacity: 0;
    background: #112a40;
    -webkit-transition: opacity .1s 0s;
    transition: opacity .1s 0s
}
body.menu-open .aside .a-header {
    opacity: 1;
    -webkit-transition: opacity .3s .3s;
    transition: opacity .3s .3s
}

.a-header .a-header-icon {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 71px;
    line-height: 70px;
}
.a-header .a-header-icon > a {
    display: block;
    width: 100%;
    text-align: center;
    position: relative;
    font-size: 1.125rem;
    color: #bcbdbf;
    border-bottom: 1px solid rgba(136,136,136,.35);
    -webkit-transition: all .1s ease;
    transition: all .1s ease;
}
.a-header .a-header-icon > a.moodle {
    font-size: 1.375rem;
}

.aside .aside-inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    opacity: 0;
    -webkit-transition: opacity .1s 0s;
    transition: opacity .1s 0s
}
body.menu-open .aside .aside-inner {
    opacity: 1;
    -webkit-transition: opacity .3s .3s;
    transition: opacity .3s .3s
}

.aside #menu-mobiles-menue {
    position: relative;
    flex: 0 0 100%;
    margin: 0;
    padding: 0;
    width: calc(100% - 70px);
}
.aside .menu-item {
    width: 100%;
}
.aside .menu-item {
    border-bottom: solid 1px rgba(136,136,136,.35);
}
.aside .menu-item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 0 1rem;
    color: #fff;
    font-family: "Exo";
    font-weight: 500;
    font-size: 1rem;
    min-height: 70px;
}
.aside .sub-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    transform: translateX(100%);
    background-color: #112a40;
    transition: 0.3s;
    visibility: hidden;
}
.aside .sub-menu .nav-back-link {
    display: flex;
    align-items: center;
    background-color: #B7053B!important;
    color: #fff;
}
.aside .sub-menu .nav-back-link::before {
    content: "\e808";
    margin-right: 0.5rem;
    font-family: "fontello";
}
.aside .menu-item-has-children > a {
    display: flex;
    justify-content: space-between;
}
.aside .menu-item-has-children > a::after {
    content: "\e809";
    font-family: "fontello";
    flex: 0 1 auto;
}
.aside .menu-item-has-children.active > .sub-menu {
    transform: translateX(0);
    visibility: visible;
}

@media only screen and (min-width:712px) {
    .aside .menu-item a {
        padding: 0 2rem;
    }
    .aside .sub-menu .nav-back-link::before {
        margin-right: 1em;
    }
}
@media only screen and (min-width:992px) {
    .u-header {
        padding-top: 15px;
    }
    .u-header-wrapper {
        height: 70px;
        margin-bottom: 15px;
        padding: 10px 1.5rem;
    }
    .u-header .logo {
        padding: 7px 0;
    }
    .aside {
        right: 30px;
        top: 95px;
    }
    body.menu-open .aside {
        width: calc(100% - 60px);
        height: calc(100vh - 105px);
        height: calc((calc(var(--vh, 1vh) * 100)) - 105px);
    }
    .a-header {
        top: 95px;
        right: 30px;
        height: calc(100vh - 105px);
        height: calc((calc(var(--vh, 1vh) * 100)) - 105px);
    }
}
@media only screen and (min-width:1200px) {
    .u-header-wrapper {
        padding: 10px .5rem 10px 1.5rem;
    }
    #main-nav,
    #main-nav .navbar-nav,
    #main-nav .navbar-nav > .nav-item.megamenu {
        position: static;
    }
    body.menu-open .overlay {
        visibility: visible;
        opacity: 1;
    }
    .burger-menu {
        display: none;
    }
    #main-nav,
    #navbarCollapse,
    #main-nav .navbar-nav,
    #main-nav .navbar-nav > .nav-item {
        height: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }
    #main-nav .navbar-nav > .nav-item {
        margin-right: .5rem;
    }
    #main-nav .navbar-nav > .nav-item:last-child {
        margin-right: 0;
    }
    #main-nav .navbar-nav .nav-link {
        height: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        text-align: center;
        position: relative;
    }
    #main-nav .navbar-nav > .nav-item.megamenu > .dropdown-menu.show {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
     #main-nav .navbar-nav > .nav-item.megamenu > .dropdown-menu > .menu-item {
         margin: 0;
         position: relative;
         width: 100%;
         padding-left: 1rem;
         padding-right: 1rem;
         -ms-flex: 0 0 33.333333%;
         flex: 0 0 33.333333%;
         max-width: 33.333333%;
    }
    #main-nav .navbar-nav > .nav-item > .dropdown-menu .dropdown-menu {
        display: block;
        position: relative;
        top: 0;
        border: 0;
    }
    #main-nav .navbar-nav > .nav-item > .dropdown-menu .dropdown-menu .dropdown-menu {
        margin-top: .5rem;
        padding-left: .5rem;
    }
}
@media only screen and (min-width:1440px) {
    #main-nav .navbar-nav .nav-link {
        font-size: 1rem;
        padding: 22px 15px;
    }
    #main-nav .navbar-nav .nav-icon .nav-link {
        font-size: 22px;
    }
    #main-nav .navbar-nav .nav-icon.moodle .nav-link {
        font-size: 28px;
    }
    #main-nav .navbar-nav .nav-item .dropdown-menu {
        padding: 1rem 15px;
    }
}
@media only screen and (min-width:1600px) {
    #main-nav .navbar-nav .nav-item .dropdown-menu .menu-item a {
        font-size: 1rem;
    }
    #main-nav .navbar-nav > .nav-item > .dropdown-menu > li.menu-item-has-children > a {
        font-size: .9375rem;
    }
}


#main {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
}

.page-content {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100vh;
    padding-top: 10px;
    padding-bottom: 60px;
}

.sidebar-block {
    background-color: #eeeff0;
    padding: 20px 15px 30px;
    margin-bottom: 30px;
    position: relative;
    border-radius: 12px;
}
.sidebar-block p,
.sidebar-block ul li,
.sidebar-block ol li {
    font-size: 1rem;
}
.sidebar-block .block-title {
    font-weight: 500;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    display: block;
    padding: 0 0 .25rem 0;
    border-bottom: 1px solid #B7053B;
    margin-bottom: 1rem;
}

@media only screen and (min-width:992px) {
    .sidebar-block {
        padding: 25px 25px 35px;
        margin-bottom: 40px;
    }
}

#intro {
    position: relative;
    padding: 40px 0;
    margin-bottom: 30px;
}

@media only screen and (min-width:712px) {
    #intro {
        padding: 60px 0;
        margin-bottom: 60px;
    }
}
@media only screen and (min-width:992px) {
    #intro {
        padding: 90px 0;
        margin-bottom: 60px;
    }
}

.hero,
.page-hero {
    position: relative;
    width: 100%;
    height: auto;
}
.hero-heading span {
    color: #B7053B;
}
.hero .badge-button-wrap {
    position: relative;
    float: right;
    width: 110px;
    height: 110px;
    opacity: 0;
    transform: scale(0);
    z-index: 10;
    -webkit-transition: opacity .1s .8s, transform .1s .8s;
    transition: opacity .1s .8s, transform .1s .8s;
}
body.loaded .hero .badge-button-wrap {
    opacity: 1;
    transform: scale(1);
    -webkit-transition: opacity .1s .8s, transform .8s .8s;
    transition: opacity .1s .8s, transform .8s .8s;
}
.hero .badge-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #B7053B;
    color: #fff;
    border-radius: 50%;
    transform: rotate(15deg) scale(1);
    -webkit-transition: transform .8s;
    transition: transform .8s;
}
.no-touchevents .hero a.badge-button:hover {
    transform: rotate(15deg) scale(1.05);
}
.hero .badge-button span {
    position: absolute;
    top: 51%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    hyphens: auto;
    line-height: 1.4
}
@media only screen and (min-width:768px) and (orientation:portrait) {
    .hero .badge-button-wrap {
        position: absolute;
        float: none;
        right: 15px;
        top: 0;
        width: 120px;
        height: 120px;
    }
    .hero .badge-button span {
        font-size: 14px
    }
}
@media only screen and (min-width:992px) {
    .hero .badge-button-wrap {
        position: absolute;
        float: none;
        top: 0;
        right: 30px;
        width: 140px;
        height: 140px;
    }
}
@media only screen and (min-width: 1200px) {
    .hero .badge-button span {
        font-size: 15px
    }
}
@media only screen and (min-width: 1440px) {
    .hero .badge-button-wrap {
        top: 10px;
        right: 60px;
        width: 150px;
        height: 150px;
    }
    .hero .badge-button span {
        font-size: 15px
    }
}
@media only screen and (min-width: 1600px) {
    .hero .badge-button-wrap {
        right: 8vw;
    }
}

.section {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 40px;
    padding-bottom: 40px;
    z-index: 1;
}
.section.bg-color {
    margin-top: 60px;
    margin-bottom: 60px;
}
.section.red,
.section.blue,
.section.color-1,
.section.color-2,
.section.color-3,
.section.color-4,
.section.color-5,
.section.color-6 {
    color: #fff;
}
.section::before {
    content: '';
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 12px 12px 0;
}
.section.grey::before {
    background-color: #eeeff0;
}
.section.red::before {
    background-color: #B7053B;
}
.section.blue::before {
    background-color: #112a40;
}
.section.color-1::before {
    background-color: #114038!important;
}
.section.color-2::before {
    background-color: #482620!important;
}
.section.color-3::before {
    background-color: #d75032!important;
}
.section.color-4::before {
    background-color: #666e73!important;
}
.section.color-5::before {
    background-color: #7d7d69!important;
}
.section.color-6::before {
    background-color: #7c6868!important;
}
@media only screen and (min-width:992px) {
    .section {
        padding-top: 90px;
        padding-bottom: 90px;
    }
    .section.bg-color {
        margin-top: 90px;
        margin-bottom: 90px;
    }
    .section::before {
        right: 30px;
    }
    .section.wa {
        padding-bottom: 400px;
    }
    .after-section {
        margin-top: -300px;
    }
}
@media only screen and (min-width:1440px) {
    .section::before {
        right: 60px;
    }
    .section.sc::before {
        right: 30%;
    }
}
@media only screen and (min-width:1600px) {
    .section.wa {
        padding-bottom: 460px;
    }
    .after-section {
        margin-top: -360px;
    }
    .section::before {
        right: 8vw;
    }
}

.cta-tile {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    min-height: 100%;
    background-size: cover;
    background-position: center center;
    border-radius: 12px;
    padding: 20px 15px;
    background-color: #112a40;
    color: #fff;
}
.cta-tile.wi::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 33%;
    background: -moz-linear-gradient(top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 100%);
    border-radius: 12px 12px 0 0;
    z-index: 1;
}
.cta-tile .cta-title {
    position: relative;
    letter-spacing: 0.03em;
    display: block;
    padding-right: 40px;
    color: #fff;
    z-index: 2;
}
.cta-tile .cta-title::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 2px solid #fff;
    background-image: url(img/arrow-link_white.png);
    background-size: 14px 14px;
    background-repeat: no-repeat;
    background-position: center center;
}
.cta-tile .cta-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px 15px;
    background-color: #112a40;
    border-radius: 12px;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
    transition: all .3s;
}
.cta-tile:hover .cta-layer {
    opacity: 1;
    pointer-events: all;
}
.cta-tile .cta-links {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 200px;
    overflow: hidden;
}
.cta-tile .cta-links.dummy {
    opacity: 0;
    pointer-events: none;
}
.touchevents .cta-tile .link_wrap {
    pointer-events: none;
}
.touchevents .cta-tile.active .link_wrap {
    pointer-events: all;
}

.row .box {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.row .box .box-img {
    width: 100%;
    height: 200px;
    background-position: center;
    background-size: cover;
    border-radius: 12px 12px 0 0;
}
.row .box .box-links {
    width: 100%;
    padding: 30px 15px;
    border-radius: 0 0 12px 12px;
    flex-grow:1;
}
.row .box.full .box-links {
    border-radius: 12px;
}
.row .box .box-links a,
.row .box .box-links a:hover,
.row .box .box-links a:focus {
    color: inherit;
}
.row .box .box-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.row .box .box-links ul li a {
    display: block;
    margin-bottom: 2rem;
}
.row .box .box-links ul.sub-menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.row .box .box-links ul.sub-menu li {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    aspect-ratio: 4 / 3;
    margin-top: 1rem;
}
.row .box .box-links ul.sub-menu li a {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding: 15px;
    background-color: #36434b;
    margin-bottom: 0;
}
.row .box .box-links .box-title {
    letter-spacing: 0.03em;
    display: block;
}
.box-links .link_wrap {
    display: block;
}
@media only screen and (min-width:712px) {
    .cta-tile,
    .cta-tile .cta-layer {
        padding: 30px 20px;
    }
    .row .box .box-links ul.sub-menu li {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media only screen and (min-width:992px) {
    .row .box .box-links ul.sub-menu li {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .cta-tile .cta-title::after {
        width: 40px;
        height: 40px;
        background-size: 17px 17px;
    }
}
@media only screen and (min-width:1200px) {
    .cta-tile .cta-links.dummy {
        min-height: 260px;
    }
    .row .box .box-links {
        padding: 30px;
    }
}
@media only screen and (min-width:1600px) {
    .row .box .box-img {
        height: 260px;
    }
}
@media only screen and (min-width:1920px) {
    .cta-tile .cta-links.dummy {
        min-height: 300px;
    }
}

.news-slider .swiper-slide {
    width: 80vw;
}
.news-button-prev,
.news-button-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    margin: 0 5px;
    cursor: pointer;
}
.news-button-prev i {
    margin-right: 2px
}
.post-box {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 60px;
}
.post-box .post-img {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    border: 2px solid #eeeff0;
}
.section .post-box .post-img {
    border: 0;
}
.post-box .post-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    transition: transform .9s;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.no-touchevents .post-img a:hover img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}
.post-box .post-content {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 30px 15px;
    border-radius: 0 0 12px 12px;
    background-color: #fff;
    color: #2e3940;
}
.post-box .post-content p {
    font-size: 1rem;
}
@media only screen and (min-width:712px) {
    .news-slider .swiper-slide {
        width: 60vw;
    }
}
@media only screen and (min-width:992px) {
    .news-slider .swiper-slide {
        width: 40vw;
    }
    .post-box .post-content {
        padding: 30px;
    }
}
@media only screen and (min-width:1200px) {
    .news-slider .swiper-slide {
        width: 33vw;
    }
}
@media only screen and (min-width:1600px) {
    .news-slider .swiper-slide {
        width: 25vw;
        max-width: 600px;
    }
}

.box-item {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 30px 15px;
    border-radius: 12px;
    background-color: #eeeff0;
}
.box-item .entry-content {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
@media only screen and (min-width:712px) {
    .box-item {
        padding: 30px;
    }
}

#justified-grid {
    margin-top: -10px;
    margin-left: -10px;
    margin-right: -10px;
    position: relative;
    overflow: hidden;
}
#justified-grid .collage-thumb {
    position: absolute;
    display: inline-block;
    overflow: hidden;
    margin: 0;
    padding: 0;
    cursor: pointer;
}
#justified-grid .image-link {
    display: inline-block;
    width: auto;
}
#justified-grid img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    padding: 0;
    max-width: 100%;
    display: inline-block;
    vertical-align: middle;
}

.grid-section {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 40px;
    z-index: 1;
}
.grid-section::before {
    content: '';
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #eeeff0;
}
.grid-img {
    position: relative;
    height: 50vw;
    overflow: hidden;
}
.grid-img.fh {
    height: 100vw;
}
.grid-img-content {
    z-index: 2;
    flex-direction: row;
    align-items: flex-end;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.grid-img-content > div {
    padding: 15px 15px 30px;
    position: relative;
}
.grid-img-content > div::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.75)));
    background-image: -o-linear-gradient(top, transparent, rgba(0, 0, 0, 0.75));
    background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.75));
    z-index: -1
}
.grid-img .content-overlay {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 17, 46, .4);
    z-index: 1;
}
.grid-img .img {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 12px 12px 0 0;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}
.grid-img .swiper-container,
.grid-img .swiper-container .swiper-slide{
    width: 100%;
    height: 100%;
}
.grid-card {
    position: relative;
    width: 100%;
    height: auto;
    background: #fff;
    border: 1px solid #e1e0df;
    border-radius: 0 0 12px 12px;
    color: #2e3940;
    padding: 20px 15px 25px;
    margin-bottom: 30px;
}
.grid-card:last-of-type {
    margin-bottom: 0;
}
.grid-title {
    font-weight: 500;
    letter-spacing: 0.03em;
    display: block;
    padding: 0 0 .25rem 0;
    border-bottom: 1px solid #B7053B;
    margin-bottom: 1rem;
}
.grid-item {
    display: flex;
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 12px;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    min-height: 300px;
    padding: 20px 15px 25px;
}
.grid-item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}
.grid-bottom {
    padding-top: 60px;
}
@media only screen and (min-width:712px) {
    .grid-img-content > div {
        padding: 30px 30px 60px;
    }
    .grid-card {
        padding: 30px;
    }
}
@media only screen and (min-width:992px) {
    .grid-section {
        padding-bottom: 90px;
    }
    .grid-img {
        height: 100%;
        border-radius: 12px;
    }
    .grid-img.fh {
        height: calc(100vh - 135px);
        position: sticky;
        top: 110px;
    }
    .grid-img-content > div {
        padding: 60px 30px;
    }
    .grid-content {
        padding: 60px 0;
    }
    .grid-card {
        padding: 40px 30px;
        margin-bottom: 60px;
        border-radius: 12px;
    }
    .grid-item {
        border-radius: 0 0 60px 0;
    }
}
@media only screen and (min-width:1200px) {
    .grid-section::before {
        right: 30px;
    }
    .grid-img.fh {
        height: calc(100vh - 155px);
        top: 120px;
    }
}
@media only screen and (min-width:1440px) {
    .grid-section::before {
        right: 60px;
    }
    .grid-img-content > div {
        padding: 60px 40px;
    }
    .grid-content.left {
        padding-right: 30px;
    }
    .grid-content.right {
        padding-left: 30px;
    }
    .grid-card {
        padding: 40px;
    }
}
@media only screen and (min-width:1600px) {
    .grid-section::before {
        right: 8vw;
    }
}

.numbers .number {
    display: block;
    width: 100%;
    text-align: center;
}
.numbers .number span {
    display: inline-block;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}
@media only screen and (min-width: 712px) {
    .numbers .number span {
        font-size: 2.25rem;
    }
}
@media only screen and (min-width: 1200px) {
    .numbers .number span {
        font-size: 2.5rem;
    }
}

.accordion {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden
}
.accordion-item {
	position: relative;
	width: 100%;
	height: auto;
	border-radius: 12px;
	background-color: #eeeff0;
    margin-bottom: 1rem;
}
.accordion-item:last-of-type {
    margin-bottom: 0;
}
.accordion-title {
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    padding: 15px 45px 15px 15px;
    position: relative;
}
.accordion-title span {
    width: 28px;
    height: 28px;
    position: absolute;
    right: 15px;
    top: 15px;
}
.accordion-title span::before {
    content: '';
    width: 2px;
    height: 14px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -7px;
    margin-left: -1px;
    background: #141b25;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}
.accordion-title span::after {
    content: '';
    width: 14px;
    height: 2px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -1px;
    margin-left: -7px;
    background: #141b25;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease
}
.accordion-title.active span::before {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease
}
.accordion-content {
    padding: 1rem 15px;
    display: none;
}
.accordion-content.open {
    display: block
}

.icon-box {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-left: 55px;
}
.icon-box img {
    position: absolute;
    top: 0;
    left: 0;
    height: 45px;
    width: auto;
}
.icon-title {
    font-family: "Exo";
    font-size: 1.25rem;
    padding: 5px 0 15px
}

@media only screen and (min-width:712px) {
    .icon-box {
        padding-left: 65px;
    }
    .icon-title {
        padding: 10px 0 20px
    }
    .icon-box img {
        height: 50px;
    }
}
@media only screen and (min-width:1200px) {
    .icon-box {
        padding-left: 75px;
    }
    .icon-box img {
        height: 60px;
    }
    .icon-title {
        padding: 13px 0 20px
    }
    .icon-box p {
        font-size: .875rem
    }
}
@media only screen and (min-width:1600px) {
    .icon-box {
        padding-left: 90px;
    }
    .icon-box img {
        height: 70px;
    }
    .icon-title {
        padding: 18px 0 30px
    }
}


.swiper-horizontal > .swiper-pagination-bullets, 
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0;
}
.swiper-pagination-bullet:only-child {
    visibility: hidden;
}
.swiper-pagination.white .swiper-pagination-bullet {
    background: #fff;
    opacity: 1;
    vertical-align: middle;
}
.swiper-pagination-bullet-active {
    width: 12px;
    height: 12px;
}

.pagination {
    width: 100%;
    margin: 2rem 0 3rem;
}
.pagination .nav-links {
    width: 100%;
    display: block;
    position: relative;
    text-align: center;
}
.pagination .page-numbers {
    position: relative;
    display: inline-block;
    vertical-align: text-bottom;
    margin: 0;
    padding: 0 .5rem .375rem;
    color: #141b25;
    font-family: "Exo";
    font-style: italic;
    font-size: 1rem;
    line-height: .375rem;
    border-bottom: none!important;
}
.pagination .page-numbers.current {
    color: #B7053B;
    background-color: #eee;
}

.post-thumbnail {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    margin-bottom: 1rem;
}
.post-thumbnail img {
	display: block;
	margin: 0 auto;
    max-width: 100%;
    height: auto
}
.post-meta {
    font-size: .875rem;
    margin-bottom: 1rem!important;
}
.post-meta,
.post-meta a {
    color: rgba(51, 51, 51, 0.7);
}
.posted-on,
.by {
    margin-right: 17px;
}
.posted-on::before,
.by::before,
.tags-links::before {
    font-family: 'fontello';
    margin-right: 7px;
}
.posted-on::before {
    content: '\e801';
}
.by::before {
    content: '\e803';
}
.tags-links::before {
    content: '\e802';
}

#options {
    width: 100%;
    text-align: right;
}
#options .select {
    position: relative;
    display: inline-block;
    margin-bottom: 5px;
}
#options .select::after {
    font-family: 'fontello';
	content: '\e80b';
    position: absolute;
    top: 50%;
    right: 15px;
    font-size: .875rem;
    color: #141b25;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#options select {
    cursor: pointer;
    background-color: #fff;
    border: none;
    color: #141b25;
    font-size: .875rem;
    padding: 10px 40px 10px 10px;
    outline: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

.news-navigation {
	position: relative;
	width: 100%;
    height: auto;
	margin: 2rem 0;
    overflow: hidden;
}
@media only screen and (min-width:992px) {
    .news-navigation {
        margin: 3rem 0;
    }
}
.news-navigation .news-back,
.news-navigation .news-prev,
.news-navigation .news-next {
    position: relative;
    float: left;
    min-height: 1px;
    white-space: nowrap;
}
.news-navigation .news-back {
    text-align: center;
    width: 20%;
}
.news-navigation .news-prev {
    padding-right: 20px;
    width: 40%;
}
.news-navigation .news-next {
    width: 40%;
    text-align: right;
    padding-left: 20px;
}
.news-navigation a {
    color: #141b25
}
.news-navigation a:hover {
    color: #B7053B
}

#events.with-badge-afterwards {
    padding-bottom: 40px;
}

.woocommerce-shipping-destination,
.we-icl-import,
.shop-we-stdate,
.we-countdonw,
.woocommerce div.product p.stock,
#billing_country_field,
#billing_address_2_field,
#shipping_address_2_field,
#order_comments_field,
.woocommerce-shipping-fields {
    display: none!important;
}
.user_checkout_field {
    margin-top: 0!important
}

.checkout-header {
    padding: 1.25rem 0;
}
.checkout-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
    text-align: center;
}
.checkout-steps li {
    line-height: 1;
}
.checkout-steps li a {
    color: #2e3940;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 2rem;
    vertical-align: middle;
}
.checkout-steps li.current a, 
.checkout-steps li:not(.disable) a:hover {
  color: #B7053B;
}
.checkout-steps li i {
    color: #2e3940;
    float: left;
    line-height: 2rem;
    font-size: .75rem;
    margin: 0 .5rem;
}

.woo-event-info {
    padding: 0!important;
    margin: 0 0 .5rem!important;
    border-top: 0!important;
    border-bottom: 0!important;
}
.woo-event-info .exwt-row {
    margin-bottom: 0!important;
}
.entry-summary .exwt-col6 {
    width: 100%!important;
}

.woocommerce input[type="date"],
.woocommerce input[type="email"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce input[type="search"],
.woocommerce input[type="tel"],
.woocommerce input[type="text"],
.woocommerce input[type="url"],
.woocommerce textarea {
    display: block;
    width: 100%;
    height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .3rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.woocommerce input:focus,
.woocommerce textarea:focus {
    color:#495057;
    background-color:#fff;
    border-color:#80bdff;
    outline:0;
    box-shadow:0 0 0 .2rem rgba(0,123,255,.25)!important
}

.woocommerce ul.products.columns-1 li.product, 
.woocommerce-page ul.products.columns-1 li.product {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    padding: 12px 16px 12px 24px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 24px;
    box-shadow: rgb(209, 213, 215) 0px 2px 2px -1px, rgba(209, 213, 215, 0.3) 0px 0px 11px, rgb(46, 53, 71) 8px 0px 0px inset;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    padding: 0;
    font-size: 2rem;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
a.woocommerce-loop-product__link:hover .woocommerce-loop-product__title {
    color: #B7053B!important;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: #2e3940;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, 
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #2e3940;
    font-size: 1.75rem;
    margin-bottom: .75rem!important
}
.woocommerce ul.products li.product .price {
    font-size: 1rem;
    margin-bottom: 0;
}
.shop-we-more-meta {
    padding-bottom: 0!important;
}
.shop-we-more-meta span {
    display: block!important;
    color: #2e3940!important;
    font-size: 1rem!important;
    font-weight: normal!important;
    font-family: inherit!important;
    margin: 0 0 .5rem!important;
}
.shop-we-more-meta span i {
    width: 23px;
    overflow: hidden;
    margin-right: 0!important;
}
.shop-we-more-meta span i.fa-calendar {
    width: 29px;
}
.woocommerce-de_price_taxrate,
.woocommerce_de_versandkosten {
    font-weight: 400;
}
.products .woocommerce-de_price_taxrate,
.products .woocommerce_de_versandkosten {
    text-align: center;
}
.woocommerce-product-details__short-description p {
    margin-bottom: 1rem!important;
}
.woocommerce .quantity {
    border-radius: 4px;
    box-sizing: content-box;
    display: flex;
    margin: 0 .25em 0 0!important;
    position: relative;
    width: 107px;
}
.woocommerce .quantity::after {
    border: 1px solid hsla(0,0%,7%,.11);
    border-radius: 4px;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}
.woocommerce .quantity .qty {
    -moz-appearance: textfield;
    appearance: textfield;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: currentColor;
    flex: 1 1 auto;
    font-size: .825rem;
    font-weight: 500;
    line-height: 1;
    margin: 0;
    min-width: 40px;
    width: auto;
    order: 2;
    padding: .4em 0;
    text-align: center;
    vertical-align: middle;
}
.woocommerce .quantity button {
    background: none transparent;
    border: 0;
    box-shadow: none;
    color: currentColor;
    cursor: pointer;
    font-size: .825rem;
    font-style: normal;
    font-weight: 400;
    margin: 0;
    min-width: 30px;
    opacity: .6;
    padding: 0;
    text-align: center;
    text-decoration: none;
}
.woocommerce .quantity button:hover {
    opacity: 1;
}
.woocommerce .quantity .minus {
    border-radius: .25rem 0 0 .25rem;
    order: 1;
}
.woocommerce .quantity .plus {
    border-radius: 0 .25rem .25rem 0;
    order: 3;
}
.woocommerce .quantity .qty:focus,
.woocommerce .quantity button:focus {
    box-shadow: inset 0 0 1px 1px currentColor!important;
    outline: none
}

#content .woocommerce .button,
.cc_content_blocker .button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__button,
.woocommerce #review_form #respond .form-submit input,
.woocommerce .button, .woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .woocommerce-widget-layered-nav-dropdown__submit,
.woocommerce a.button, .woocommerce a.button:disabled,
.woocommerce button.button,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button, .woocommerce-MyAccount-content button.button,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button,
input[type="submit"] {
    color: #fff!important;
    background-color: #B7053B;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400!important;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    border: 1px solid #B7053B;
}
#content .woocommerce .button:hover,
.cc_content_blocker .button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-totals-coupon__button:hover,
.woocommerce #review_form #respond .form-submit input:hover,
.woocommerce .button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .widget_product_search button:hover,
.woocommerce a.button:disabled:hover,
.woocommerce a.button:hover,
.woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce button.button:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce input.button:hover,
.woocommerce-MyAccount-content button.button:hover,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button:hover,
input[type=submit]:hover {
    color:#fff!important;
    background-color:#960430;
    border-color:#960430
}
.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce #review_form #respond .form-submit input,
.woocommerce a.button,
input.mailpoet_submit,
input[type="submit"],
.woocommerce-MyAccount-content button.button,
.wgm-second-checkout input#place_order,
html .wp-block-search .wp-block-search__button,
.woocommerce .woocommerce-widget-layered-nav-dropdown__submit,
#content .woocommerce .download-file .button,
.cc_content_blocker .button,
.wp-block-woocommerce-product-categories .wc-block-product-categories__button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button {
    color: #fff!important;
    background-color: #B7053B;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400!important;
    line-height: 1.5;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    border: 1px solid #B7053B;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce a.button:disabled:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce button.button:hover,
.woocommerce #review_form #respond .form-submit input:hover,
.woocommerce input.button:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled[disabled]:hover,
input.mailpoet_submit:hover,
input[type="submit"]:hover,
.woocommerce-MyAccount-content button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce .widget_product_search button:hover,
#content .woocommerce .button:hover,
#content .content-box-content a.outline:hover,
.wp-block-button .wp-block-button__link:hover,
.wgm-second-checkout input#place_order:hover,
.woocommerce .woocommerce-widget-layered-nav-dropdown__submit:hover,
.cc_content_blocker .button:hover,
.wp-block-woocommerce-product-categories .wc-block-product-categories__button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product .add_to_cart_button:hover {
    color:#fff!important;
    background-color:#960430;
    border-color:#960430
}
.woocommerce button[disabled] {
    pointer-events: none;
    opacity: .5
}
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce table.shop_table td.product-thumbnail,
.woocommerce-additional-fields > h3 {
    display: none!important;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 100% !important;
    text-align: center;
}
.woocommerce-page table.cart td.actions .coupon .input-text + .button {
    float: none;
    width: 100%;
}
.woocommerce-checkout .woocommerce,
#order_review_heading {
    margin-top: 1rem;
}
.woocommerce .form-row {
    display: block!important;
}
.woocommerce-checkout form .gr-product .form-row.we-ct-class {
    display: inline-block!important;
}
p[id*="we_if_email"] {
    width: 100%!important;
}
p[id*="we_if_name"],
p[id*="we_if_lname"] {
    width: 50%!important;
}
.woocommerce label {
    margin-bottom: 5px;
}
#place-order {
    float: right;
}

.woocommerce .col2-set .col-1, 
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2, 
.woocommerce-page .col2-set .col-2 {
    padding-left: 0;
    padding-right: 0;
    -ms-flex: 0 0 48%;
    flex: 0 0 48%;
    max-width: 48%;
}
.woocommerce form .password-input, .woocommerce-page form .password-input,
.woocommerce-input-wrapper {
    width: 100%;
}
.woocommerce form .form-row textarea {
    min-height: 7em;
    -webkit-appearance: none;
}
.select2-container--default .select2-selection--single {
    position: relative;
    border: 3px solid #ddd;
    border-radius: 0;
    height: 50px;
    padding: 9px 5px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow, 
.sidebar-content .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 8px;
    right: 7px;
}
.woocommerce-shipping-fields {
    padding-top: 10px;
}
.woocommerce-form__label-for-checkbox {
    position: relative;
    display: block!important;
    padding-left: 1.375rem;
    line-height: 1.3!important;
    margin-bottom: 1rem!important;
    font-weight: 400!important;
}
#ship-to-different-address .woocommerce-form__label-for-checkbox {
    margin-bottom: 0!important;
    font-size: 1rem!important;
    font-family: 'Open Sans', sans-serif!important;
}
.woocommerce-form__label-for-checkbox input {
    position: absolute;
    margin-top: 0!important;
    top: 5px;
    left: 0;
}
#ship-to-different-address .woocommerce-form__label-for-checkbox input {
  top: 6px;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 1em 2em 1em 3.5em!important;
    margin: 0 0 2em!important;
}
.woocommerce-message:focus-visible {
    outline: none !important;
}
.woocommerce ul.order_details {
    padding-left: 0;
}
.woocommerce-cart table.cart img {
    width: 75px;
}
@media only screen and (min-width:712px) {
    .checkout-steps li a {
        font-size: 1.5rem;
    }
    .checkout-steps li i {
        font-size: 1rem;
        margin: 0 1.25rem;
    }    
}
@media only screen and (min-width:768px) {
    .woocommerce-cart table.cart td.actions .coupon .input-text {
        width: 48%!important;
    }
    .woocommerce-page table.cart td.actions .coupon .input-text + .button {
        float: right;
        width: 48%;
    }
}
@media only screen and (min-width:992px) {
    .checkout-steps li a {
        font-size: 1.75rem;
    }
    .checkout-steps li i {
        font-size: 1.25rem;
        margin: 0 1.5rem;
    }
}
@media only screen and (min-width:1600px) {
    .woocommerce-cart table.cart td.actions .coupon .input-text {
        height: 48px;
    }
}
@media only screen and (max-width:991px) {
    .woocommerce .col2-set .col-1, 
    .woocommerce-page .col2-set .col-1,
    .woocommerce .col2-set .col-2, 
    .woocommerce-page .col2-set .col-2 {
        float: none;
        width: 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}
@media (max-width: 768px){
    .woocommerce div.product form.cart .button {
        height: 44px !important;
    }
}
@media only screen and (max-width:640px) {
     .woocommerce-message a.wc-forward {
         width: 100%;
         text-align: center;
         margin-bottom: 1em;
    }
}


.error-404 {
    text-align: center;
}
.error-404 h1 {
    font-size: 100px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #000;
    text-shadow: 3px 3px 0 rgba(178,178,178,1),8px 8px 0 rgba(0,0,0,.15);
}
.error-404 h2 {
    line-height: 30px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 24px;
}
.error-404 .searchform {
    border: 3px dashed rgba(0,0,0,.05);
    padding: 15px;
    margin-top: 40px;
}
@media (min-width:768px) {
    .error-404 h1 {
        font-size: 200px;
        margin-bottom: 30px;
    }
    .error-404 h2 {
        line-height: 42px;
        font-size: 30px;
    }
    .error-404 .searchform {
        padding: 30px 90px;
        margin-top: 40px;
    }
}

.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0;
    background-color: rgba(75, 87, 95, .6);
    opacity: 0;
    z-index: 9200;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    visibility: hidden;
    -webkit-transition: all .5s;
    transition: all .5s
}

.lightbox.open {
    visibility: visible;
    opacity: 1;
    width: 100.1%;
}

.lightbox .lightbox-inner {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #fff;
    cursor: default;
    -webkit-transition: all .5s;
    transition: all .5s
}

.lightbox-inner .content {
    position: relative;
    width: 100%;
    height: auto;
    padding: 40px 20px;
    overflow: hidden
}

.lightbox-inner h2,
.lightbox-inner h3 {
    margin-top: 20px
}

.close-lightbox {
    position: absolute;
    top: 10px;
    right: 15px;
    width: 40px;
    height: 40px;
    z-index: 50;
    cursor: pointer;
    z-index: 100
}

.close-lightbox::after,
.close-lightbox::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 20px;
    width: 2px;
    height: 30px;
    background-color: #B7053B;
    z-index: 10;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all .3s cubic-bezier(0.16, 0.01, 0.77, 1);
    transition: all .3s cubic-bezier(0.16, 0.01, 0.77, 1);
}

.close-lightbox::before {
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.no-touchevents .close-lightbox:hover::after {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
.no-touchevents .close-lightbox:hover::before {
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media only screen and (min-width:712px) {
    .lightbox .lightbox-inner {
        top: 50%;
        left: 50%;
        bottom: auto;
        width: 90%;
        max-width: 1024px;
        height: auto;
        max-height: 90%;
        -webkit-transform: translate(-50%, 20%);
        transform: translate(-50%, 20%);
    }
    .lightbox.open .lightbox-inner {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
    .lightbox-inner .content {
        min-height: 300px;
        padding: 60px 30px;
    }
    .close-lightbox {
        width: 60px;
        height: 60px;
    }
    .close-lightbox::after,
    .close-lightbox::before {
        left: 30px;
        height: 50px;
    }
}
@media only screen and (min-width:992px) {
    .lightbox-inner .content {
        padding: 60px 90px;
    }
}

#events.with-badge-afterwards {
    padding-bottom: 40px;
}

#footer-top {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 10;
}
#footer-top img {
    width: 100%;
    height: auto;
}
#footer-partners {
    position: relative;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 0 30px 15px;
    background: #fff;
}
#footer-partners .partners-badge {
    position: relative;
    width: 100px;
    overflow: hidden;
    font-weight: 500;
    line-height: 1.2;
}
#footer-partners .partner-slider {
    position: relative;
    width: calc(100% - 100px);
    overflow: hidden;
}
#footer-partners .partner-slider .swiper-slide {
    width: auto;
}
#footer-partners .partner-slider .swiper-slide a {
    width: 100%;
    display: block;
    text-align: center;
}
#footer-partners .partner-slider img {
    display: inline-block;
    height: 50px;
    width: auto;
    filter: grayscale(1);
    -webkit-transition: all .3s;
    transition: all .3s;
}
.no-touchevents #footer-partners a:hover img {
    filter: grayscale(0);
}
@media only screen and (min-width:640px) {
    #footer-partners .partners-badge {
        width: 120px;
    }
    #footer-partners .partner-slider {
        width: calc(100% - 120px);
    }
}
@media only screen and (min-width:712px) {
    #footer-partners {
        padding: 30px 0 30px 30px;
    }
    #footer-partners .partners-badge {
        width: 130px;
    }
    #footer-partners .partner-slider {
        width: calc(100% - 130px);
    }
}
@media only screen and (min-width:992px) {
    #events.with-badge-afterwards {
        padding-bottom: 0;
    }
    #footer-partners .partner-slider {
        width: calc(100% - 210px);
    }
    #footer-partners .partner-slider img {
        height: 5vw;
    }
}
@media only screen and (min-width:1200px) {
    #footer-partners {
        padding: 30px 0 30px 60px;
    }
    #footer-partners .partner-slider {
        width: calc(100% - 230px);
    }
}
@media only screen and (min-width:1600px) {
    #footer-partners .partner-slider img {
        height: 3.8vw;
    }
}

#footer {
    position: relative;
    width: 100%;
    height: auto;
    padding: 2rem 0 1.5rem;
    background: #112a40;
    color: #bcbdbf;
    font-size: .9375rem;
    z-index: 2
}
#footer p,
#footer ul li {
    font-size: .9375rem;
}
#footer .copyright {
    font-size: .875rem;
    text-align: center
}
#footer .btt {
    padding-bottom: 3rem
}
#footer .back-to-top {
    float: right;
    color: #fff!important
}
#footer .back-to-top i{
    margin-left: .625rem
}
#footer .menu-block {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden
}
#footer .headline,
#footer .menu-block li.menu-item-has-children > a {
    display: block;
    font-family: "Exo";
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.07em;
    font-size: .875rem;
    line-height: 1;
    color: #fff;
    margin-bottom: .5rem;
    padding-bottom: .6875rem;
    border-bottom: 1px solid rgba(255,255,255,.35);
}
#footer #menu-kontakt li.menu-item-has-children > a {
    display: none;
}
#footer a {
    color: #bcbdbf
}
#footer a:hover,
#footer a:focus {
    color: #fff;
    text-decoration: none
}
#footer ul {
    margin: 0 0 2rem 0;
    padding: 0;
    list-style: none
}
#footer ul li {
    display: block;
}
#footer ul li a {
    display: inline-block;
    padding-bottom: 2px;
}
#footer ul li a span {
	background-image: linear-gradient(transparent calc(100% - 1px), #fff 1px);
	background-size: 0 calc(105% - 1px);
	background-repeat: no-repeat;
	display: inline;
	transition: .3s ease;
}
#footer ul li a:hover span,
#footer ul li.current-menu-item > a span {    
  	background-size: 100% calc(105% - 1px);
}
#footer ul li.current-menu-item > a {
    pointer-events: none;
}
#footer .address {
    padding-bottom: .25rem;
}
#footer .contact-coordinates span {
    display: inline-block;
    min-width: 3.75rem;
}
@media only screen and (min-width:992px) {
    #footer {
        padding: 2.5rem 0 1.5rem;
    }
    #footer .copyright {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        text-align: left;
    }
}
@media only screen and (min-width:1200px) {

}