@font-face {
    font-family: "Anton";
    src: url(../fonts/Anton-Regular.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: "Outfit";
    src: url(../fonts/Outfit/Outfit-Light.ttf) format('truetype');
    font-weight: 300;
    font-style: normal
}
@font-face {
    font-family: "Outfit";
    src: url(../fonts/Outfit/Outfit-Regular.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: "Outfit";
    src: url(../fonts/Outfit/Outfit-Medium.ttf) format('truetype');
    font-weight: 500;
    font-style: normal
}
@font-face {
    font-family: "Outfit";
    src: url(../fonts/Outfit/Outfit-SemiBold.ttf) format('truetype');
    font-weight: 600;
    font-style: normal
}
@font-face {
    font-family: "Outfit";
    src: url(../fonts/Outfit/Outfit-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%;
}

body {
    font-size: 1rem;
    font-weight: 400;
    font-family: 'Outfit', sans-serif;
    line-height: 1.6;
    letter-spacing: .03em;
    color: #fff;
    background-color: #000;
    position: relative;
    overflow: hidden;
    overflow-y: scroll;
}
@media only screen and (min-width:712px) {
    body {
        font-size: 1.125rem;
    }
}
@media only screen and (min-width:1600px) {
    body {
        font-size: 1.25rem;
    }
}

body.lock-scroll{
    overflow: hidden;
}

::selection {
    opacity: 1;
    color: #fff;
    background: #e2007a;
}
::-moz-selection {
    opacity: 1;
    color: #fff;
    background: #e2007a;
}
@media only screen and (orientation:landscape) {
    .d-landscape {
        display: block
    }
    .d-portrait {
        display: none
    }
    .fullheight-landscape {
        min-height: calc(100vh - 50px);
        min-height: calc(calc(var(--vh, 1vh) * 100) - 50px);
    }
    .pt0-landscape {
        padding-top: 0!important;
    }
    .pt30-landscape {
        padding-top: 30px!important;
    }
    .pt60-landscape {
        padding-top: 60px!important;
    }
}
@media only screen and (orientation:portrait) {
    .d-landscape {
        display: none
    }
    .d-portrait {
        display: block
    }
    .fullheight-portrait {
        min-height: calc(100vh - 50px);
        min-height: calc(calc(var(--vh, 1vh) * 100) - 50px);
    }
    .pt0-portrait {
        padding-top: 0!important;
    }
    .pt30-portrait {
        padding-top: 30px!important;
    }
    .pt60-portrait {
        padding-top: 50px!important;
    }
}

.relative {
    position: relative;
}

.oh {
    overflow: hidden;
}

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

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

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

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

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

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

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

.row-s {
    margin-right: -5px;
    margin-left: -5px;
}
.row-s>[class*=col-] {
    padding-left: 5px;
    padding-right: 5px
}
.row .mb-30 {
    margin-bottom: 30px;
}

@media only screen and (min-width:576px) {
    .w-sm-auto {
        width: auto!important;
    }
    .w-sm-100 {
        width: 100%!important;
    }
}
@media only screen and (min-width:712px) {
    .container-fluid {
        padding-left: 30px;
        padding-right: 30px
    }
    .w-md-auto {
        width: auto!important;
    }
    .w-md-100 {
        width: 100%!important;
    }
}
@media only screen and (min-width:992px) {
    .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
    }
    .w-lg-auto {
        width: auto!important;
    }
    .w-lg-100 {
        width: 100%!important;
    }
    .col-lg-c5 {
        -ms-flex:0 0 20%;
        flex:0 0 20%;
        max-width:20%
    }
}
@media only screen and (min-width:1200px) {
    .row-xl {
        margin-right: -30px;
        margin-left: -30px;
    }
    .row-xl>[class*=col-] {
        padding-left: 30px;
        padding-right: 30px
    }
    .w-xl-auto {
        width: auto!important;
    }
    .w-xl-100 {
        width: 100%!important;
    }
    .px-xl-c1 {
        padding-left: 40px;
        padding-right: 40px;
    }
}
@media only screen and (min-width:1440px) {
    .container-fluid,
    .px-xl-c1 {
        padding-left: 60px;
        padding-right: 60px;
    }
    .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;
    }
    .offset-xxl-1 {
        margin-left: 8.333333%;
    }
}
@media only screen and (min-width:1600px) {
    .container-fluid:not(.full) {
        max-width: 1440px;
        margin: 0 auto;
    }
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    font-family: 'Anton', sans-serif;
    line-height: 1.3;
    font-weight: 400;
    color: inherit;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: 1rem;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}
h1,.h1 {
    font-size: 2.25rem;
    line-height: 1.2;
}
h2,.h2 {
    font-size: 1.875rem;
    line-height: 1.2;
}
h3,.h3 {
    font-size: 1.75rem;
}
h4,.h4 {
    font-size: 1.5rem;
}
h5,.h5 {
    font-size: 1.375rem;
}
h6,.h6 {
    font-size: 1.25rem;
}
.hc-1 {
    font-size: 2.5rem;
}
@media only screen and (min-width:712px) and (orientation:portrait) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
    h5,.h5 {
        font-size: 1.5rem;
    }
    h6,.h6 {
        font-size: 1.375rem;
    }
    .hc-1 {
        font-size: 3rem;
    }
}
@media only screen and (min-width:992px) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
    h5,.h5 {
        font-size: 1.5rem;
    }
    h6,.h6 {
        font-size: 1.375rem;
    }
    .hc-1 {
        font-size: 2.5rem;
    }
    .hc-1 {
        font-size: 3rem;
    }
}
@media only screen and (min-width:1440px) {
    h1,.h1 {
        font-size: 3rem;
    }
    .hc-1 {
        font-size: 4rem;
    }
}


#pageloader {
    background: #000;
    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: #e2007a
}

.sr-only {
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}
.wpcf7-form br {
    display: none!important;
}
.wpcf7-form p {
    margin-bottom: 0!important;
}
.form-check .wpcf7-list-item {
    position: relative;
    vertical-align: top;
    margin: 0;
}
.form-check-input {
    top: 0;
}
input[type="file"] {
    display: none!important;
}
.wpcf7-form-control:disabled, .wpcf7-form-control[readonly] {
    pointer-events: none;
}
.custom-file-upload {
    display: inline-block;
    cursor: pointer;
    font-size: 1rem;
    text-transform: uppercase;
    color: #ed008e;
}
.custom-file-upload i {
    font-size: .75rem;
    margin-left: .75rem;
}
#your-message {
    height: 240px;
}
.wpcf7-form-control:not(.wpcf7-acceptance) {
    display: block;
    width: 100%;
    color: #fff;
    background-color: #e2007a;
    height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    line-height: 1.5;
    font-size: 1rem;
    border: 0;
    margin-bottom: .375rem;
}
@media only screen and (min-width: 1600px) {
    .wpcf7-form-control {
        font-size: 1.125rem;
    }
}
textarea.wpcf7-form-control {
    height: 215px;
}
.wpcf7-form-control.wpcf7-submit {
    text-align: left;
}
.wpcf7-form-control::-ms-expand {
    background-color: transparent;
    border: 0
}

.wpcf7-form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #495057
}

.wpcf7-form-control:not(.wpcf7-submit):focus {
    color: #fff;
    background-color: #ba0064;
    border: 0;
    outline: 0;
}

.wpcf7-form-control::-webkit-input-placeholder {
    color: #fff;
    opacity: 1
}

.wpcf7-form-control::-moz-placeholder {
    color: #fff;
    opacity: 1
}

.wpcf7-form-control:-ms-input-placeholder {
    color: #fff;
    opacity: 1
}

.wpcf7-form-control::-ms-input-placeholder {
    color: #fff;
    opacity: 1
}

.wpcf7-form-control::placeholder {
    color: #fff;
    opacity: 1
}

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

p:last-of-type {
    margin-bottom: 0;
}
.ctx p:last-of-type {
    margin-bottom: 1rem;
}

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

p + ul,
p + ol {
    margin-top: 1rem!important;
}

b, strong {
    font-weight: 600;
}

@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;
}

.table td, .table th {
    padding: 0 0 .75rem;
    border-top: 0;
}
.table td.summary-table-first-col {
    padding-right: .75rem;
}

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

.max250 {
    max-width: 250px !important
}

.max200 {
    max-width: 200px !important
}

.max150 {
    max-width: 150px !important
}

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

.nowrap {
    white-space: nowrap;
}

img {
    max-width: 100%;
}
.icon-img {
    display: block;
    margin: 0 auto 1rem;
    max-width: 40px;
}

.max-h-img {
    display: inline-block;
    width: auto;
    height: auto;
    max-height: 200px;
}

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

.img-wrap {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.img-wrap.abs {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}
.img-wrap.mw {
    margin: 0 auto;
    max-width: 75%;
}
.img-wrap.rounded {
    border-radius: 50%!important;
}
.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,
.no-touchevents .img-wrap:hover img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}
.entry-content .wp-video {
    width: 100%!important;
    margin-bottom: 1rem;
}
.yt-video {
    aspect-ratio: 16 / 9;
    width: 100%;
}
.media-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.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;";
}

.video {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.video a {
    display: block;
}
.video.collage-thumb a {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
}
.video .img,
.h-100 .img,
.h-md-100 .img,
.h-lg-100 .img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}
.video.collage-thumb img {
    opacity: 0!important;
}
.play-video {
    position: absolute;
    color: #fff;
    width: 90px;
    height: 90px;
    text-align: center;
    background: #ed008e;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    pointer-events: none;
    -webkit-transform: translate(-50%,-50%) scale(1);
    transform: translate(-50%.-50%) scale(1);
    -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, .75);
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, .75);
    -webkit-transition: all 0.5s;
    transition: all 0.5s
}
.video-icon {
    position: absolute;
    color: #fff;
    width: 36px;
    height: 36px;
    text-align: center;
    border: 2px solid #fff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    pointer-events: none;
    -webkit-transform: translate(-50%,-50%) scale(1);
    transform: translate(-50%.-50%) scale(1);
    -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, .75);
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, .75);
    -webkit-transition: all 0.5s;
    transition: all 0.5s
}
.no-touchevents .video a:hover .play-video,
.no-touchevents .video a:hover .video-icon {
    -webkit-transform: translate(-50%,-50%) scale(1.1);
    transform: translate(-50%.-50%) scale(1.1);
}
.play-video i,
.video-icon i {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 32px;
    -webkit-transform: translate(-45%, -50%);
    transform: translate(-45%, -50%);
    text-shadow: 1px 1px #000
}
.video-icon i {
    font-size: 16px;
}
@media (min-width:640px) {
    .video-icon {
        width: 60px;
        height: 60px;
    }
    .video-icon i {
        font-size: 24px;
    }
}
@media (min-width:992px) {
    .play-video {
        width: 120px;
        height: 120px;
    }
    .video-icon {
        width: 90px;
        height: 90px;
    }
    .video-icon i {
        font-size: 32px;
    }
}

.text-white {
    color: #fff!important;
}
.text-black {
    color: #000!important
}
.text-red {
    color: #9d0221!important
}
.text-pink {
    color: #e2007a!important;
}
.text-bold {
    font-weight: 600;
    line-height: 1.2
}
.text-bold span {
    display: block;
    font-weight: 400;
}
.text-small {
    font-size: .9375rem;
    line-height: 1.2
}
@media only screen and (orientation:landscape) {
    .text-landscape-white {
        color: #fff!important;
    }
}
@media only screen and (orientation:portrait) {
    .text-portrait-red {
        color: #9d0221!important
    }
}

.bg-white {
    background-color: #fff!important;
}
.bg-black {
    background-color: #000!important;
    color: #fff;
}
.bg-pink {
    background-color: #e2007a!important;
}
.bg-purple-1 {
    background-color: #2d0017!important;
}
.bg-left {
    position: relative;
    width: 100%;
    height: auto;
    padding: 30px 15px;
}
@media only screen and (min-width:712px) {
    .bg-left {
        padding: 30px;
    }
}
@media only screen and (min-width:991px) {
    .bg-left {
        padding: 30px 0;
    }
    .bg-left::before {
        content: '';
        position: absolute;
        top: 0;
        right: -30px;
        bottom: 0;
        width: 5000px;
        z-index: -1;
    }
}
.bg-purple-1.bg-left::before {
    background-color: #2d0017!important;
}
.bg-purple-2 {
    background-color: #590030!important;
}
.border {
    border-color: #fff;
}

a {
    color: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
a:hover {
    color: #fff;
    text-decoration: none;
}
a:focus, a.focus, button:focus, button.focus {
    outline: 0;
}
.ctx a:not(.gallery-item a):not(.post-image-link) {
    color: #fff;
    border-bottom: 2px solid #e2007a;
}
.ctx a:not(.gallery-item a):hover,
.ctx a:not(.post-image-link):hover {
    color: #e2007a;
    border-bottom-color: transparent;
}

.button {
    position: relative;
    display: block;
    line-height: 1;
    white-space: nowrap;
    padding: 12px;
    font-family: 'Anton', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-align: center;
    width: 100%;
    color: #fff;
    font-size: 1.25rem;
    background-color: #e2007a;
    transition: all .3s ease;
}
button.button {
    border: 1px solid #e2007a;
}
.button.icon {
    display: inline-block;
    width: auto;
    padding-left: 45px;
}
.button.icon i {
    position: absolute;
    top: 48%;
    transform: translateY(-50%);
    left: 10px;
}
.button.stripes {
    padding: 12px 0 12px 60px;
}
.button.mw {
    max-width: 400px;
}
.button.dark {
    background-color: #000;
}
.button.stripes::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100px;
    color: #fff;
    background-image: url(../img/btn-stripes.svg);
    background-size: auto 100%;
    background-position: right top;
    background-repeat: repeat-x;
}
.button.dark::before {
    background-image: url(../img/btn-stripes-2.svg);
}
.button.mw {
    min-width: 200px;
}
.button-text {
    line-height: 1.2;
    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;
    color: inherit;
    transform-origin: 100% 0%;
}
.button-text span::before {
    position: absolute;
    width: auto;
    top: 100%;
    left: 0;
    opacity: 0;
    content: attr(data-hover)
}
.button:hover .button-text span {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transform-origin: 0% 0%
}
.button:hover .button-text span::before {
    opacity: 1;
}
.button-group {
    width: 100%;
    text-align: center;
    margin-top: .25rem;
}
.button-group .button {
    margin-bottom: .25rem;
}
@media only screen and (min-width:712px) {
    .button.stripes::before {
        width: 30%;
        max-width: 350px;
    }
    .button.stripes.mw::before {
        width: 100px;
        max-width: 100px;
    }
    .button.icon {
        padding: 12px 34px 12px 62px;
    }
    .button.icon i {
        left: 26px;
    }
}
@media only screen and (min-width:991px) {
    .button.icon {
        padding: 12px 44px 12px 72px;
    }
    .button.icon i {
        left: 36px;
    }
    .button-group {
        margin-top: 10px;
    }
    .button-group .button {
        margin: 0 4px 10px;
    }
}
@media only screen and (min-width:1200px) {
    .button {
        font-size: 1.375rem;
        padding: 16px 12px;
    }
    .button.icon {
        padding: 16px 44px 16px 72px;
    }
    .button.icon i {
        left: 36px;
    }
    .button.stripes {
        padding: 16px 0 16px 80px;
    }
    .button.stripes.mw::before {
        width: 120px;
        max-width: 120px;
    }
}

.alignleft {
    float: left
}
.wp-caption.alignleft {
    max-width: 50%;
    margin: .375rem 1rem 10px 0;
}

.alignright {
    float: right
}
.wp-caption.alignright {
    max-width: 50%;
    margin: .375rem 0 10px 1rem;
}

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

img.alignleft {
    margin: .375rem 1rem 10px 0;
    max-width: 50%;
    height: auto
}

img.alignright {
    margin: .375rem 0 10px 1rem;
    max-width: 50%;
    height: auto
}

img.aligncenter {
    margin: 1rem auto;
    clear: both;
    display: block
}

img.alignnone {
    height: auto;
    margin: 1rem 0;
}

.wp-caption-text {
    font-size: .875rem;
    margin: 7px 0 0!important
}
@media only screen and (min-width:1600px) {
    .wp-caption-text {
        font-size: .9375rem;
    }
}

@media only screen and (max-width:480px) {
    .wp-caption.alignleft,
    .wp-caption.alignright,
    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;
}

.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(-800px);
}
.has-animation.fade-in-left.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)
}

.dropdown-item.active, .dropdown-item:active {
    background-color: #e2007a;
}


.header-top {
    position: relative;
    z-index: 100;
    width: 100%;
    height: 50px;
    background: #000;
    padding: 0 30px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: none;
    color: #fff;
    font-weight: 500;
    font-size: .9375rem;
    text-transform: uppercase;
}
.header-top a {
    color: #fff!important;
}
.header-top .social a {
    font-size: 1.5rem;
}
.header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
    background: #e2007a;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.header-wrapper {
    position: relative;
    z-index: 1;
    height: 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.header-wrapper .logo {
    position: relative;
    height: 100%;
    padding: 7px 0;
}
.header-wrapper .logo img {
    position: relative;
    height: 100%;
    width: auto;
    max-width: none;
}
.header-wrapper .header-nav {
    position: relative;
    padding: 0 0 .25rem;
}
.header-nav {
    font-size: 1rem;
}
.header-nav .navbar-nav > .nav-item {
    padding: 0 1rem;
}
.header-nav .navbar-nav > .nav-item:last-child {
    padding-right: 0;
}
.header-nav .nav-link {
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    padding-right: .75rem;
    padding-left: .75rem;
}
.header-nav .dropdown-menu {
    min-width: 100%;
    background: #e2007a;
    border: 0;
    border-radius: 0;
    padding-top: 0;
    left: .5rem;
    margin-top: .25rem;
}
.header-nav .dropdown-item {
    padding: .25rem 1rem;
    color: #fff;
    font-size: 1.125rem;
}
.header-nav .dropdown-item:focus,
.header-nav .dropdown-item:hover,
.header-nav .dropdown-item.active,
.header-nav .dropdown-item:active,
.header-nav .dropdown .current-menu-item .dropdown-item {
    color: #fff;
    background-color: #000
}

.burger-menu {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 2000;
}
.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 #fff
}
.burger-menu b:nth-child(1) {
    top: 8px;
    left: 0;
}
.burger-menu b:nth-child(2) {
    top: 16px;
    left: 0;
}
.burger-menu b:nth-child(3) {
    top: 24px;
    right: 0;
}
body.menu-open .burger-menu b:nth-child(1) {
    transform: translateY(8px) 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(-8px) rotate(-45deg);
}

.overlay {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 80px;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, .4);
    z-index: 100;
    -webkit-transition: all .5s;
    transition: all .5s
}
body.menu-open .overlay {
    opacity: 1;
    visibility: visible;
    width: 200%
}
.aside {
    position: fixed;
    right: -100%;
    top: 80px;
    bottom: 0;
    width: 100%;
    background: #000;
    z-index: 110;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}
body.menu-open .aside {
    right: 0
}
.aside .aside-inner {
    height: 100%;
    overflow-y: auto;
    padding: 5px 0 20px
}
nav.main ul {
    margin: 0;
    padding: 0;
    list-style: none
}
nav.main ul.sub-menu {
    display: none;
    overflow: hidden
}
nav.main li {
    padding: 0;
}
nav.main a {
    color: #fff;
    cursor: pointer;
    font-size: 1.125rem;
    display: block;
    width: 100%;
    padding: 10px 15px;
    opacity: 1;
    position: relative;
    text-transform: uppercase;
    border-bottom: 1px solid #e2007a;
}
nav.main a:hover {
    color: #e2007a;
}
nav.main li.menu-item-has-children>a {
    padding-right: 50px
}
nav.main li.menu-item-has-children>a::after {
    position: absolute;
    top: 50%;
    right: 15px;
    font-family: 'fontello';
    content: "\f107";
    color: #fff;
    font-size: 1.75rem;
    -webkit-transform: -webkit-translate(-50%,-50%) rotate(0);
    transform: translate(-50%,-50%) rotate(0);
    transition: transform .2s ease;
}
nav.main li.menu-item-has-children>a.active::after {
    -webkit-transform: -webkit-translate(-50%,-50%) rotate(-180deg);
    transform: translate(-50%,-50%) rotate(-180deg)
}
nav.main ul.sub-menu li {
    border-bottom: none
}
nav.main ul.sub-menu li a {
    padding-left: 30px;
    text-transform: none
}
nav.main ul.sub-menu ul.sub-menu li a {
    padding-left: 45px
}
nav.bottom {
    padding: 30px 15px 0;
}
nav.bottom a {
    color: #fff;
    cursor: pointer;
    font-size: 1rem;
    display: inline-block;
    position: relative;
    margin-right: .25rem;
}
nav.bottom .social {
    font-size: 1.75rem;
    margin-right: .5rem;
}
nav.bottom .dropdown,
nav.bottom .dropdown a {
    font-size: 1.125rem;
    line-height: 1;
}
nav.bottom .social i::before {
    margin: 0;
}

@media only screen and (min-width:712px) and (orientation:portrait) {
    .header-wrapper {
        height: 90px;
    }
    .overlay,
    .aside {
        top: 90px;
    }
    nav.main a {
        padding: 10px 30px;
    }
    nav.main li.menu-item-has-children > a {
        padding-right: 70px;
    }
    nav.main li.menu-item-has-children>a::after {
        right: 40px;
    }
    nav.bottom {
        padding-left: 30px;
    }
}
@media (min-width:992px) {
    .header-top {
        display: -ms-flexbox;
        display: flex;
    }
    .header-wrapper {
        height: 90px;
    }
    .overlay,
    .aside {
        top: 90px;
    }
    nav.main a {
        padding: 10px 30px;
    }
    nav.main li.menu-item-has-children > a {
        padding-right: 70px;
    }
    nav.main li.menu-item-has-children>a::after {
        right: 40px;
    }
    nav.bottom {
        padding-left: 30px;
    }
}
@media (min-width:1200px) {
    .header-wrapper {
        height: 100px;
    }
    .overlay,
    .aside {
        top: 100px;
    }
}
@media (min-width:1440px) {
    .header-top {
        padding-left: 60px;
        padding-right: 60px;
    }
    .header-wrapper {
        height: 110px;
    }
    .header-nav .navbar-nav > .nav-item {
        padding: 0 1.5rem;
    }
    .header-nav .dropdown-item {
        padding-left: 1.5rem;
    }
    .overlay,
    .aside {
        top: 110px;
    }
}


#main {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    z-index: 1;
}
.hero {
    position: relative;
    width: 100%;
    height: calc(100vh - 80px);
    height: calc(calc(var(--vh, 1vh) * 100) - 80px);
    min-height: 400px;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
}
.hero.hero-page {
    height: calc(70vh - 80px);
    height: calc(calc(var(--vh, 1vh) * 70) - 80px);
}
.hero.hero-page::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0) 100%);
    z-index: 1
}
.hero::after {
    content: '';
    position: absolute;
    top: 80%;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 1) 100%);
}
.hero .img,
.hero .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;";
    object-position: center bottom;
}
.hero-content {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-bottom: 60px;
}
.hero-title {
    font-size: 12vw;
    text-shadow: 0 0 10px rgba(0,0,0,.5);
}
.hero-logo {
    position: relative;
    display: block;
    margin: 0 auto;
    width: auto;
    height: auto;
    max-width: 80vw;
    max-height: 55vh;
}

.section {
    position: relative;
    width: 100%;
    height: auto;
    padding: 40px 0;
}
.section.first {
    padding-top: 80px;
}
.section .bg-text {
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    text-align: center;
    font-family: 'Anton', sans-serif;
    line-height: 1;
    font-weight: 400;
    font-size: 14vw;
    text-transform: uppercase;
    color: #e2007a;
    z-index: 1;
}
.section .bg-text::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,1) 0%,rgba(0,0,0,0.1) 100%);
}
.section .container-fluid.wpt {
    position: relative;
    padding-top: 30px;
    z-index: 2;
}
.section-header {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-bottom: 40px;
}
.section-footer {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-top: 40px;
}
.subtitle {
    text-transform: uppercase;
    font-size: 95%;
}

.info-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.info-panel::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    bottom: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 100%);
}
.info-panel 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;";
    -webkit-transition: -webkit-transform .3s linear;
    transition: transform .3s linear;
    -webkit-transform: scale(1);
    transform: scale(1);
    z-index: 1
}
.no-touchevents a:hover .info-panel img {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
}
.info-panel .info-content {
    position: relative;
    z-index: 1;
    background: linear-gradient(to top, rgba(0,0,0,.7) 0%,rgba(0,0,0,0) 100%);
}
.info-content .info-text {
    padding: 0 15px 15px;
}
.swiper-container {
    position: relative;
    overflow: hidden;
}
.swiper-pagination.bc {
    bottom: -30px;
}
.swiper-pagination-bullet {
    background: #e2007a;
    opacity: .5;
}
.swiper-pagination-bullet-active {
    background: #e2007a;
    opacity: 1;
}
.events-slider .tile {
    position: relative;
    width: 75%;
    min-width: 75%;
}
.page-template-tpl-veranstaltung .events-slider .tile:last-of-type {
    margin-right: 0!important;
}
.events-slider a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 15px 15px 0;
    background: #e2007a;
}
.events-slider a img {
    width: 100%!important;
    height: auto!important;
    border: 2px solid #fff;
    margin-bottom: 1rem;
}
.events-slider a span.artist {
    display: block;
    font-family: 'Anton', sans-serif;
    line-height: 1.4;
    font-weight: 400;
    color: inherit;
    text-transform: uppercase;
    font-size: 1.375rem;
    letter-spacing: .03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: .25rem;
}
.events-slider a span.artist span {
    display: block;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
}
.events-slider a span.artist span:last-of-type {
    padding-left: 2.25rem;
}
.events-slider a span.artist span:last-of-type::before {
    font-family: "fontello";
    content: '\e800';
    position: absolute;
    left: 0;
    top: -2px;
}
.events-slider .price-container {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
    margin-top: 1rem;
    padding: 0 15px;
    text-align: center;
    border-top: 3px dotted #000;
}
.events-slider .pull-right.badge,
.events-slider .price-from-title {
    display: none;
}
.events-slider .tickets-title {
    font-family: 'Anton', sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
}
.event .subtitle {
    line-height: 1.2;
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dollhouse-table {
    width: 100%;
}
.dollhouse-table th {
    font-family: 'Anton', sans-serif;
    line-height: 1;
    font-weight: 400;
    letter-spacing: .03em;
    color: #e2007a;
    padding: .75rem;
    white-space: nowrap;
}
.dollhouse-table td {
    padding: .75rem;
    background: #2d0019;
    vertical-align: top;
    font-size: .875rem;
    cursor: pointer;
    white-space: nowrap;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
.dollhouse-table tr.active td,
.dollhouse-table tr:hover td{
    background: #e2007a;
}
.dollhouse-btn {
    display: none;
}
.dollhouse-btn.active {
    display: block;
}

.tour {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
}
.tour .start-tour-img {
    position: absolute;
    right: 20px;
    top: -30px;
    width: 33%;
    z-index: 1;
    -webkit-animation: imgRotation 30s infinite;
    animation: imgRotation 30s infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: all 1s cubic-bezier(0, .85, .57, .97);
    transition: all 1s cubic-bezier(0, .85, .57, .97)
}

@-webkit-keyframes imgRotation {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes imgRotation {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}
.tour .start-tour-text {
    font-family: 'Anton', sans-serif;
    line-height: 1.2;
    font-size: 15vw;
    font-weight: 400;
    letter-spacing: .03em;
    color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    padding: 15px;
    text-align: center;
    z-index: 1;
}

.icon-box {
    position: relative;
    padding-left: 45px;
    line-height: 1.4;
}
.icon-box .box-title {
    font-family: 'Anton', sans-serif;
    line-height: 1.3;
    font-weight: 400;
    font-size: 1.5rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: .5rem;
}
.icon-box i {
    position: absolute;
    top: -2px;
    left: 0;
    font-size: 1.5rem;
}
.timeline {
    position: relative;
    padding: 3rem 0;
    margin: 40px 0;
}

.timeline__line {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    width: 4px;
    transform: translateX(-50%);
    background: #fff
}

.timeline__lineInner {
    width: 100%;
    height: calc(50vh + 100px);
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    background: #e2007a;
}

.timeline__block {
    margin-bottom: 4rem;
    display: flex;
    width: 100%;
    position: relative;
}
.timeline__block:last-of-type {
    margin-bottom: 0;
}

.timeline__notch {
    width: 36px;
    height: 36px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border: 3px solid #e2007a;
    background: #000;
    z-index: 2;
}

.timeline__notch:after {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: 20px;
    height: 20px;
    background: #e2007a;
    transform: scale(0);
    transition: transform 200ms cubic-bezier(0.57, 0.09, 0.105, 1);
}

.timeline__block.animated .timeline__notch:after {
    transform: scale(1);
}

.timeline__content {
    position: relative;
    width: 100%;
    text-align: center;
    padding: 1rem 0;
    margin-top: 2rem;
    background: #000;
    z-index: 1;
}

.timeline__content .year {
    position: relative;
    display: inline-block;
    line-height: 1;
}

.timeline__content .content img {
    display: inline-block;
    margin-top: 1rem;
}

.accordion {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.accordion-item {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    overflow: hidden;
}
.accordion-title {
    cursor: pointer;
    padding: 20px 50px 20px 15px;
    position: relative;
    background-color: #2d0017;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.accordion-title.active {
    background-color: #e2007a;
}
.accordion-title .container-fluid {
    position: relative;
    padding-left: 0!important;
    padding-right: 0!important
}
.accordion-title .container-fluid::after {
    position: absolute;
    top: 50%;
    right: -45px;
    font-family: 'fontello';
    content: "\f107";
    color: #fff;
    font-size: 1.75rem;
    -webkit-transform: -webkit-translate(-50%,-50%) rotate(0);
    transform: translate(-50%,-50%) rotate(0);
    transition: transform .2s ease;
}
.accordion-title.active .container-fluid::after {
    -webkit-transform: -webkit-translate(-50%,-50%) rotate(-180deg);
    transform: translate(-50%,-50%) rotate(-180deg)
}
.accordion-content {
    padding: 20px 15px 20px 30px;
    background-color: #590030;
    display: none;
}
.accordion-content.open {
    display: block
}
.accordion-content p:last-of-type {
  margin-bottom: 0!important;
}
.accordion-content a {
    color: #fff;
    border-bottom: 1px solid #fff;
}
.accordion-content a:hover {
    color: #fff;
    border-bottom-color: transparent;
}
.dots {
    display: inline-block;
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
}
.dots-inner {
  display: flex;
  flex-direction: row;
}
.dots-filler {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    border-bottom: 2px dotted #ed008e;
}
.dots-label {
    flex: 1;
    padding-right: 8px;
    white-space: nowrap;
    overflow: hidden;
}
.dots-label span {
    position: relative;
}
.dots-label span::after {
    content: '';
    position: absolute;
    width: 1000px;
    bottom: 3px;
    right: -1008px;
    border-bottom: 2px dotted #ed008e;
}
.dots-text {
    flex: 1;
    padding-left: 8px;
}
.floor-plan {
    flex-grow: 1;
    display: flex;
    align-items: center;
}
.kwg-text ul,
ul.kwg-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}
.kwg-text ul li,
ul.kwg-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: .25rem
}
.kwg-text ul li::before,
ul.kwg-list li::before {
    content: '///';
    position: absolute;
    left: 0;
    top: 0;
    color: #e2007a;
    letter-spacing: 0;
}

.slider-nav-slider .swiper-slide {
    width: auto;
    min-width: 33vw;
}
.slider-nav-slider .button {
    cursor: pointer;
}
.slider-nav .button {
    cursor: pointer;
    margin: 0 .25rem;
}
.slider-nav .button:hover,
.slider-nav .button.active {
    background: #fff;
    color: #e2007a;
}

.hall-gallery-slider .swiper-slide {
    padding-bottom: 40px;
}
.hall-gallery-slider .swiper-pagination {
    text-align: right;
}

@media (min-width:640px) {
    .events-slider .tile {
        width: 43%;
        min-width: 43%;
    }
    .slider-nav-slider .swiper-slide {
        min-width: 0;
    }
}

@media only screen and (min-width:640px) and (orientation:landscape) {
    .hero-title {
        font-size: 3.25rem;
    }
}
@media only screen and (min-width:712px) and (orientation:portrait) {
    .hero {
        height: calc(100vh - 90px);
        height: calc(calc(var(--vh, 1vh) * 100) - 90px);
    }
    .hero.hero-page {
        height: calc(70vh - 90px);
        height: calc(calc(var(--vh, 1vh) * 70) - 90px);
    }
    .hero-content {
        padding-bottom: 90px;
    }
    .hero-title {
        font-size: 3.25rem;
    }
    .section {
        padding: 60px 0;
    }
    .section.first {
        padding-top: 120px;
    }
    .section .bg-text {
        top: 60px;
    }
    .section .container-fluid.wpt {
        padding-top: 60px;
    }
    .section-header {
        padding-bottom: 60px;
    }
    .section-footer {
        padding-top: 60px;
    }
    .info-content .info-text {
        padding: 0 40px 40px;
    }
    .events-slider a {
        padding: 20px 20px 0;
    }
    .events-slider a img {
        border: 4px solid #fff;
    }
    .events-slider .price-container {
        margin-left: -20px;
        margin-right: -20px;
        padding: 0 20px;
    }
    .dollhouse-table td {
        font-size: 1rem;
    }
    .tour .start-tour-text {
        font-size: 4rem;
    }
    .tour .start-tour-img {
        right: 10%;
        top: -50px;
        width: 25%;
    }
    .timeline {
        margin: 60px 0;
    }
    .accordion-title {
        padding: 20px 75px 20px 30px;
    }
    .accordion-title .container-fluid::after {
        right: -50px;
    }
    .accordion-content {
        padding: 20px 30px 20px 45px;
    }
}
@media (min-width:992px) {
    .hero {
        height: calc(100vh - 140px);
        height: calc(calc(var(--vh, 1vh) * 100) - 140px);
    }
    .hero.hero-page {
        height: calc(80vh - 140px);
        height: calc(calc(var(--vh, 1vh) * 80) - 140px);
    }
    .hero-content {
        padding-bottom: 60px;
    }
    .hero-title {
        font-size: 3.25rem;
    }
    .section {
        padding: 60px 0;
    }
    .section.first {
        padding-top: 120px;
    }
    .section .bg-text {
        top: 60px;
        font-size: 9rem;
    }
    .section .container-fluid.wpt {
        padding-top: 60px;
    }
    .info-content .info-text {
        padding: 0 20px 20px;
    }
    .events-slider .tile {
        width: 28%;
        min-width: 28%;
    }
    .events-slider a img {
        border: 4px solid #fff;
    }
    .event .date,
    .events-slider a span.artist {
        font-size: 1.5rem;
    }
    .event .date {
        padding-left: 2.5rem;
    }
    .dollhouse-table td {
        font-size: 1rem;
    }
    .tour .start-tour-text {
        font-size: 4rem;
    }
    .tour .start-tour-img {
        right: 10%;
        top: -60px;
        width: 15%;
    }
    .icon-box .box-title,
    .icon-box i {
        font-size: 1.75rem;
    }
    .timeline {
        margin: 60px 0;
    }
    .timeline__notch {
        top: 0;
    }
    .timeline__block {
        margin-bottom: 5rem;
    }
    .timeline__content {
        padding: 0;
        margin-top: 0;
        width: calc(50% - 40px);
        text-align: right;
        opacity: 0;
        transform: translateY(80px);
        -webkit-transition: all .6s ease;
        transition: all .6s ease;
    } 
    .timeline__block.animated .timeline__content {
        opacity: 1;
        transform: translateY(0);
    }
    .timeline__block--right .timeline__content {
        margin-left: calc(50% + 40px);
        text-align: left;
    }
    .accordion-title {
        padding: 20px 75px 20px 30px;
    }
    .accordion-title .container-fluid::after {
        right: -50px;
    }
    .accordion-content {
        padding: 20px 30px 20px 45px;
    }
}
@media (min-width:1200px) {
    .hero {
        height: calc(100vh - 150px);
        height: calc(calc(var(--vh, 1vh) * 100) - 150px);
    }
    .hero.hero-page {
        height: calc(80vh - 150px);
        height: calc(calc(var(--vh, 1vh) * 80) - 150px);
    }
    .hero-content {
        padding-bottom: 90px;
    }
    .hero-title {
        font-size: 3.75rem;
    }
    .section {
        padding: 75px 0;
    }
    .section.first {
        padding-top: 150px;
    }
    .section .bg-text {
        top: 75px;
        font-size: 10rem;
    }
    .section .container-fluid.wpt {
        padding-top: 90px;
    }
    .section-header {
        padding-bottom: 75px;
    }
    .section-footer {
        padding-top: 75px;
    }
    .events-slider .tile {
        width: 30%;
        min-width: 30%;
    }
    .events-slider a {
        padding: 20px 20px 0;
    }
    .events-slider .price-container {
        margin-left: -20px;
        margin-right: -20px;
        padding: 0 20px;
        border-top: 4px dotted #000;
    }
    .events-slider .tickets-title {
        font-size: 1.375rem;
    }
    .tour .start-tour-text {
        font-size: 5rem;
    }
    .timeline {
        margin: 75px 0;
    }
}
@media (min-width:1440px) {
    .hero {
        height: calc(100vh - 160px);
        height: calc(calc(var(--vh, 1vh) * 100) - 160px);
    }
    .hero.hero-page {
        height: calc(80vh - 160px);
        height: calc(calc(var(--vh, 1vh) * 80) - 160px);
    }
    .hero-title {
        font-size: 4.5rem;
    }
    .section .bg-text {
        font-size: 11rem;
    }
    .info-content .info-text {
        padding: 0 10% 20px;
    }
    .events-slider .tile {
        width: calc(25% - 23px);
        min-width: calc(25% - 23px);
    }
    .event .date,
    .events-slider a span.artist {
        font-size: 1.675rem;
    }
    .event .date {
        padding-left: 2.75rem;
    }
    .event .subtitle {
        font-size: 1.125rem;
    }
    .tour .start-tour-text {
        font-size: 6rem;
    }
    .accordion-title {
        padding: 20px 105px 20px 60px;
    }
    .accordion-content {
        padding: 20px 30px 20px 60px;
    }
}
@media (min-width:1600px) {
    .section .bg-text {
        font-size: 12rem;
    }
}
@media (min-width:1920px) {
    .info-content .info-text {
        padding: 0 15% 20px;
    }
}


.error-404 {
    text-align: center;
}
.error-404 h1 {
    font-size: 100px;
    margin-bottom: 20px;
    color: #fff;
    text-shadow: 3px 3px 0 rgba(178,178,178,1),8px 8px 0 rgba(0,0,0,.15);
}

@media (min-width:768px) {
    .error-404 h1 {
        font-size: 200px;
        margin-bottom: 30px;
    }
}

#footer {
    position: relative;
    width: 100%;
    height: auto;
    padding: 20px 0;
    font-size: 1rem;
    line-height: 1.3;
    color: #e2007a;
    text-align: center;
    overflow: hidden;
    z-index: 2
}
#footer a,
#footer a:hover,
#footer a:focus {
    color: #e2007a;
}
#footer a.f-link {
    border-bottom: 1px solid transparent
}
#footer a.f-link:hover,
#footer a.f-link:focus {
    color: #e2007a;
}
#footer .footer-logo {
    display: block;
    width: 100%;
    max-width: 100px;
    margin: 0 auto 1.5rem;
}
#footer .footer-logo img {
    width: 100%;
    display: inline-block;
}
#footer .social-media {
    padding-bottom: 90px;
}
#footer .social-headline {
    font-family: 'Anton', sans-serif;
    line-height: 1.3;
    font-weight: 400;
    font-size: 2.25rem;
    text-transform: uppercase;
    margin-bottom: .5rem;
}
#footer .social-media a {
    font-size: 1.75rem;
    margin: 0 .25rem;
}
@media only screen and (min-width:712px) {
    #footer {
        text-align: left;
    }
    #footer .social-media {
        padding-bottom: 0;
    }
    #footer .social-headline {
        font-size: 1.5rem;
    }
    #footer .footer-logo {
        width: 120px;
        margin: 0 0 1.5rem;
    }
}
@media only screen and (min-width:992px) {
    #footer {
        padding: 30px 0;
        font-size: 1rem;
    }
}
@media only screen and (min-width:1200px) {
    #footer .social-headline {
        font-size: 1.75rem;
    }
    #footer .social-media a {
        font-size: 1.875rem;
    }
}
@media only screen and (min-width:1600px) {
    #footer {
        font-size: 1.125rem;
    }
}

.modal-backdrop {
    background: rgba(0, 0, 0, .7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.modal-backdrop.show {
    opacity: 1;
}
.modal-dialog {
    margin-top: 100px;
}
.modal-content {
    background-color: #000;
    border: 1px solid rgba(0,0,0,.2);
}
.modal-header {
    background-color: #e2007a;
    border-bottom-color: #000;
}
.modal-body {
    padding: 1.5rem 1rem;
}
.modal-body a {
    font-size: 1.5rem;
}
.close {
    color: #fff!important;
    text-shadow: 0 1px 0 #000;
    opacity: 1;
}
.close:not(:disabled):not(.disabled):focus,
.close:not(:disabled):not(.disabled):hover {
    opacity:1
}
@media (min-width: 992px) {
    .modal-dialog {
        margin-top: 110px;
    }
}
@media (min-width: 1200px) {
    .modal-dialog {
        margin-top: 120px;
    }
}
@media (min-width: 1440px) {
    .modal-dialog {
        margin-top: 130px;
    }
}

.message-device {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgb(151, 181, 46) 0%, rgb(3, 78, 35) 70%);
    z-index: 9999;
    text-align: center
}

.message-device img {
    display: inline-block;
    width: auto;
    height: 70vh;
    margin: 0 auto 15px
}

.message-device p {
    width: 80%;
    margin: 0 auto;
    color: #fff;
    font-size: 24px;
    font-size: 1.5rem
}

@media only screen and (orientation: landscape) and (max-height:480px) {
    .message-device {
        display: flex;
        align-items: center;
    }
}

@media print {
    .noPrint {
        display: none;
    }
}
