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

@font-face {
    font-family: "Founders Grotesk";
    src: url(fonts/founders-grotesk-bold-italic.ttf) format('truetype');
    font-weight: 700;
    font-style: italic
}
@font-face {
    font-family: "DM Serif Display";
    src: url(fonts/DMSerifDisplay-Regular.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: "Inter";
    src: url(fonts/Inter/Inter_24pt-Regular.ttf) format('truetype');
    font-weight: 400;
    font-style: normal
}
@font-face {
    font-family: "Inter";
    src: url(fonts/Inter/Inter_24pt-Italic.ttf) format('truetype');
    font-weight: 400;
    font-style: italic
}
@font-face {
    font-family: "Inter";
    src: url(fonts/Inter/Inter_24pt-Medium.ttf) format('truetype');
    font-weight: 500;
    font-style: normal
}
@font-face {
    font-family: "Inter";
    src: url(fonts/Inter/Inter_24pt-SemiBold.ttf) format('truetype');
    font-weight: 600;
    font-style: normal
}
@font-face {
    font-family: "Inter";
    src: url(fonts/Inter/Inter_24pt-Bold.ttf) format('truetype');
    font-weight: 700;
    font-style: normal
}
@font-face {
    font-family: "Inter";
    src: url(fonts/Inter/Inter_24pt-ExtraBold.ttf) format('truetype');
    font-weight: 800;
    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%;
}
html {
    font-size: 1rem
}

body {
    font-size: 1rem;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    background-color: #760851;
    position: relative;
    overflow: hidden;
    overflow-y: scroll;
}
body.post-open {
    overflow: hidden;
}

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

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

@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: 0;
}
@media only screen and (min-width:992px) {
    .lg-sticky {
        position: sticky!important;
        top: 0;
    }
}

.oh {
    overflow: hidden;
}
.z1 {
    z-index: 1;
}
.z2 {
    z-index: 2;
}
.z3 {
    z-index: 2;
}
.z5 {
    z-index: 5;
}
.z10 {
    z-index: 10;
}
.z15 {
    z-index: 15;
}

.rounded-borders {
    border-radius: 24px;
}
@media only screen and (min-width:992px) {
    .rounded-borders {
        border-radius: 32px;
    }
}

.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%;
}

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

.aspect-a-4 {
    position: relative;
    display: block;
    padding-top: 141.4%;
}
@media only screen and (min-width:992px) {
    .aspect-lg-21-9 {
        padding-top: 42.86%!important;
    }
    .aspect-lg-16-9 {
        padding-top: 56.25%!important;
    }
    .aspect-lg-3-4 {
        padding-top: 133.33%!important;
    }
}

.row-s {
    margin-right: -7.5px;
    margin-left: -7.5px;
}
.row-s>[class*=col-] {
    padding-left: 7.5px;
    padding-right: 7.5px
}
.row-s .mb {
    margin-bottom: 15px!important
}
.row-s .mt {
    margin-top: 15px!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;
        padding-right: 30px
    }
    .row-l {
        margin-right: -30px;
        margin-left: -30px;
    }
    .row-l>[class*=col-] {
        padding-left: 30px;
        padding-right: 30px
    }
    .row-s .lg-mb {
        margin-bottom: 15px!important;
    }
    .row-s .lg-mt {
        margin-top: 15px!important;
    }
}
@media only screen and (min-width:1280px) {
    .container-fluid {
        padding-left: 60px;
        padding-right: 60px
    }
    .container-fluid.max {
        width: 1160px;
        max-width: 1160px;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }
    .pad-left-xl-c {
        padding-left: calc((100vw - 1160px)/2);
    }
    .pad-right-xl-c {
        padding-right: calc((100vw - 1160px)/2);
    }
}
@media only screen and (min-width:1440px) {
    .row-xl {
        margin-right: -30px;
        margin-left: -30px;
    }
    .row-xl>[class*=col-] {
        padding-left: 30px;
        padding-right: 30px
    }
    .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;
    }
}

.dm-serif-display {
    font-family: "DM Serif Display", serif!important;
    font-style: normal!important;
    text-transform: none!important;
}
.font-inter {
    font-family: "Inter", sans-serif!important;
    font-style: normal!important;
    text-transform: none!important;
}
.font-500 {
    font-weight: 500!important;
}
.font-600 {
    font-weight: 500!important;
}
.font-700 {
    font-weight: 700!important;
}
.font-800 {
    font-weight: 800!important;
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    font-family: "Founders Grotesk";
    font-style: italic;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: inherit;
    margin-bottom: 1rem;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}
.text-purple-grey h1,
.text-purple-grey .h1,
.text-purple-grey h2,
.text-purple-grey .h2,
.text-purple-grey h3,
.text-purple-grey .h3,
.text-purple-grey h4,
.text-purple-grey .h4,
.text-purple-grey h5,
.text-purple-grey .h5,
.text-purple-grey h6,
.text-purple-grey .h6 {
    color: #760851;
}
h1,.h1 {
    font-size: 2rem;
}
h2,.h2 {
    font-size: 1.875rem;
}
h3,.h3,.ctx h2 {
    font-size: 1.75rem;
}
h4,.h4 {
    font-size: 1.5rem;
}
h5,.h5 {
    font-size: 1.25rem;
}
h6,.h6 {
    font-size: 1.125rem;
}

@media only screen and (min-width:712px) and (orientation:portrait) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3,.ctx h2 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
    h5,.h5 {
        font-size: 1.375rem;
    }
    h6,.h6 {
        font-size: 1.25rem;
    }
}
@media only screen and (min-width:992px) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3,.ctx h2 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
    h5,.h5 {
        font-size: 1.375rem;
    }
    h6,.h6 {
        font-size: 1.25rem;
    }
}
@media only screen and (min-width:1440px) {
    h1,.h1 {
        font-size: 3rem;
    }
    h2,.h2 {
        font-size: 2.75rem;
    }
    h3,.h3 {
        font-size: 2.25rem;
    }
    h5,.h5 {
        font-size: 1.5rem;
    }
}

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

.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;
}
.form-control {
    color: #495057;
}
textarea.form-control {
    height: 150px!important;
}
.form-control::-webkit-input-placeholder{
    color:#495057;
    opacity:1
}
.form-control::-moz-placeholder{
    color:#495057;
    opacity:1
}
.form-control:-ms-input-placeholder{
    color:#495057;
    opacity:1
}
.form-control::-ms-input-placeholder{
    color:#495057;
    opacity:1
}
.form-control::placeholder{
    color:#495057;
    opacity:1
}
.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;
}
.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;
    }
}
@media only screen and (min-width:992px) {
    .form-check-input {
        top: 3px;
    }
}

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

.text-muted {
    color: #5e5e5e!important;
}
.text-large {
    font-size: 110%;
}

@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:1200px) {
    p,
    ul li {
        font-size: 1.125rem
    }
}

.wpcf7cf_prev,
.wpcf7cf_next {
    color: #fff;
    background-color: #760851;
    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 #760851;
}
@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:#003b77;
    border-color:#003b77
}
.wpcf7cf_prev.focus,.wpcf7cf_prev:focus,
.wpcf7cf_next.focus,.wpcf7cf_next:focus {
    color:#fff;
    background-color:#003b77;
    border-color:#003b77;
    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;
}
.toggle-link {
    opacity: .5;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
}
.toggle-link.active {
    opacity: 1;
}
.toggle-content {
    display: none;
}

.min-vh-100 {
    min-height: calc(100vh - 90px);
    min-height: calc(calc(var(--vh, 1vh) * 100) - 90px);
}

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

.border-radius {
    border-radius: 12px;
}

img {
    max-width: 100%;
}
img.max {
    display: inline-block;
    width: auto!important;
    max-width: 100%;
    height: auto!important;
    max-height: 100%;
}

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

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

.gallery {
    margin: 1rem 0!important;
}
.gallery-item {
    margin-top: 0!important;
}
.gallery-item a {
    display: block;
    width: 100%;
}
.gallery img {
    width: 100%;
    height: auto;
    border-color: transparent!important;
}

.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: 1rem 0;
}
.yt-video {
    aspect-ratio: 16 / 9;
    width: 100%;
}
.media-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.media-wrapper.maxw {
    max-width: 400px;
    margin: 0 auto;
}
.media-wrapper.abs {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1;
}
.media-wrapper.fh {
    width: 100%;
    height: 50vh;
    min-height: 360px;
}
.media-overlay {
    z-index: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.5)));
    background-image: -o-linear-gradient(top, transparent, rgba(0, 0, 0, 0.5));
    background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
}
.media-wrapper img,
.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.fh {
        position: absolute;
        top: 0;
        right: 0;
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
    }
    .media-wrapper.fh.left {
        left: 0;
        right: unset;
    }
}

.play-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    cursor: pointer;
    background: rgba(0,0,0,.5);
    -webkit-transition: transform .3s;
    transition: transform .3s;
}
.play-video.blank {
    background: none;
}
.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: 100px;
    height: 100px;
}
.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: 40px;
    height: 40px;
}

.video-overlay {
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.video-overlay.video-active {
    opacity: 1;
    pointer-events: all;
}

.video-overlay .fullscreen-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-close {
    position: fixed;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: #e3001b;
    z-index: 50;
    cursor: pointer;
}

.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: 180px;
        height: 180px;
    }
    .play-video-badge .playicon svg {
        width: 60px;
        height: 60px;
    }
    .video-close {
        width: 60px;
        height: 60px;
    }
    .video-close::after,
    .video-close::before {
        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-black {
    color: #000!important;
}
.text-purple {
    color: #760851!important;
}
.text-purple-2 {
    color: #5534aa!important;
}
.text-purple-grey {
    color: #71616c!important;
}
.text-light-purple {
    color: #ab88e4!important;
}
.text-green {
    color: #178d8d!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-light-pink {
    background-color: #f6e9f7!important;
}
.bg-black {
    background-color: #000!important;
    color: #fff;
}
.bg-grey {
    background-color: #f4f4f4!important;
}
.bg-purple {
    background-color: #760851!important;
}
.bg-light-purple {
    background-color: #aa87e5!important;
}
.bg-green {
    background-color: #178d8d!important;
}

a {
    color: #000;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
a:hover {
    color: #760851;
    text-decoration: none;
}
a:focus, a.focus, button:focus, button.focus {
  outline: 0;
}
.ctx a:not(.gallery-item a):not(.post-image-link) {
    color: inherit;
    border-bottom: 1px solid;
    border-bottom-color: inherit;
}
.ctx a:not(.gallery-item a):hover,
.ctx a:not(.post-image-link):hover {
    color: #760851;
    border-bottom-color: transparent;
}
a.underline span {
	background-image: linear-gradient(transparent calc(100% - 1px), #760851 1px);
	background-size: 0 calc(100% - 1px);
	background-repeat: no-repeat;
	display: inline;
	transition: .3s ease;   
}
a.underline:hover span {    
  	background-size: 100% calc(100% - 1px);
}
.btn-primary,
.btn-primary.disabled, 
.btn-primary:disabled,
.btn-primary.disabled:hover, 
.btn-primary:disabled:hover{
    color:#fff;
    background-color:#178d8d;
    border-color:#178d8d;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.btn-primary:hover{
    color:#fff;
    background-color:#760851;
    border-color:#760851
}
.btn-primary.focus,
.btn-primary:focus{
    color:#fff;
    background-color:#760851;
    border-color:#760851;
    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 {
    font-family: "Founders Grotesk";
    font-style: italic;
    font-weight: 700;
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
    font-size: 1.125rem;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    padding: 6px 35px 7px;
    border-radius: 20px;
    text-align: center;
    color: #fff!important;
    background-color: #178d8d;
    border: 2px solid #178d8d;
}
.button.light-pink {
    color: #178d8d!important;
    background-color: #f6e9f7;
    border: 2px solid #f6e9f7;
}
.button.primary {
    background-color: #760851;
    border: 2px solid #760851;
}
.button.outline {
    color: #178d8d!important;
    background-color: transparent;
    border: 2px solid #178d8d;
}
.button.primary.outline {
    color: #760851!important;
    background-color: transparent;
    border: 2px solid #760851;
}
.button-text {
    line-height: 24px;
    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%
}
@media only screen and (min-width:992px) {
    .button {
        font-size: 1.25rem;
        border-radius: 28px;
        padding: 10px 40px 11px;
    }
}

.link_wrap {
    position: relative;
    display: inline-block;
    vertical-align: top;
    color: #000;
}
.link_wrap .link_text {
    display: inline-block;
    vertical-align: top;
    padding: 0 0 0 35px;
    position: relative;
    color: #000;
    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: #000;
    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: #000;
    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: #000;
    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;
    height: auto;
    clear: both;
    display: block
}

img.alignnone {
    height: auto;
    margin: 10px 0;
}
img.app-store-img {
    display: inline-block;
    height: 50px;
    width: auto;
    max-width: none;
    margin-right: 10px;
}
@media only screen and (min-width:712px) {
    img.app-store-img {
        height: 75px;
    }    
}

.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%;
    }
}



.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: #fff;
    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: #760851
}
.ball-pulse>div {
    width: 15px;
    height: 15px;
    margin: 2px;
    display: inline-block;
    background-color: #760851;
    border-radius: 100%
}
@-webkit-keyframes scale {
    0%,
    80% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
    45% {
        -webkit-transform: scale(.1);
        transform: scale(.1);
        opacity: .7
    }
}

@keyframes scale {
    0%,
    80% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
    45% {
        -webkit-transform: scale(.1);
        transform: scale(.1);
        opacity: .7
    }
}

.ball-pulse>div:nth-child(1) {
    -webkit-animation: scale .75s -.24s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: scale .75s -.24s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.ball-pulse>div:nth-child(2) {
    -webkit-animation: scale .75s -.12s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: scale .75s -.12s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.ball-pulse>div:nth-child(3) {
    -webkit-animation: scale .75s 0s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: scale .75s 0s infinite cubic-bezier(.2, .68, .18, 1.08)
}

.ball-pulse>div {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.loader-wrapper {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    z-index: 10;
}
.loader-wrapper .loader-inner {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    text-align: center
}

.u-header {
    position: relative;
    z-index: 1000;
    overflow: visible;
}
.u-header-wrapper {
    height: 80px;
    padding: 0;
    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: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%,50%);
    display: block;
    height: 100%;
    padding: 8px 0;
    z-index: 10;
}
.u-header .logo img {
    height: 100%;
    width: auto;
    max-width: none;
    -webkit-transition: opacity .15s ease-in-out;
    transition: opacity .15s ease-in-out;
}
.u-header .logo img.color-logo {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
}
.u-header.white-header .logo img.invert-logo {
    opacity: 0;
}
.u-header.white-header .logo img.color-logo {
    opacity: 1;
}
.u-header .booking {
    display: none;
    position: absolute;
    top: 0;
    right: 5px;
    padding: 8px 30px 10px;
    border-radius: 0 0 20px 20px;
    font-size: 1rem;
}

.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 #fff
}
.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);
}

.aside {
    position: fixed;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    padding-top: 90px;
    background-color: #760851;
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    overflow: hidden;
    z-index: 900;
    -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: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    -webkit-transition: width .5s ease, height .5s ease, opacity 0s 0s;
    transition: width .5s ease, height .5s ease, opacity 0s 0s
}
.a-header {
    position: absolute;
    top: 90px;
    right: 0;
    height: calc(100vh - 90px);
    height: calc(calc(var(--vh, 1vh) * 100) - 90px);
    width: 70px;
    border-left: 1px solid rgba(255,255,255,.5);
    z-index: 995;
    opacity: 0;
    background: #760851;
    -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: 26px;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.5);
    -webkit-transition: all .1s ease;
    transition: all .1s ease;
}
.a-header .a-header-icon:first-of-type > a {
    border-top: 1px solid rgba(255,255,255,.5);
}
.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-menue {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    width: calc(100% - 70px);
}
.aside .menu-item {
    width: 100%;
}
.aside .menu-item {
    border-bottom: solid 1px rgba(255,255,255,.5);
}
.aside .menu-item:first-child {
    border-top: solid 1px rgba(255,255,255,.5);
}
.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 15px;
    color: #fff;
    font-family: "Founders Grotesk";
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.3;
    min-height: 70px;
}
.aside .menu-item.current-menu-item > a,
.aside .menu-item.current-page-ancestor > a,
.aside .menu-item.current-menu-ancestor > a {
    color: #fff;
}
.aside .sub-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    transform: translateX(100%);
    background-color: #000;
    transition: 0.3s;
    visibility: hidden;
}
.aside .sub-menu .nav-back-link {
    display: flex;
    align-items: center;
    background-color: #178d8d!important;
    color: #fff;
}
.aside .sub-menu .nav-back-link::before {
    content: "\e808";
    margin-right: 0.75rem;
    font-family: "fontello";
    font-size: 1.5rem;
}
.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;
    font-size: 1.5rem;
}
.aside .menu-item-has-children.active > .sub-menu {
    transform: translateX(0);
    visibility: visible;
}
.aside .cta {
    position: relative;
    text-align: center;
    width: calc(100% - 70px);
    opacity: 0;
    transform: translateY(30px);
    -webkit-transition: opacity .1s 0s;
    transition: opacity .1s 0s
}
body.menu-open .aside .cta {
    opacity: 1;
    transform: translateY(0);
    -webkit-transition: all .3s .5s;
    transition: all .3s .5s
}
@media only screen and (min-width:712px) {
    .u-header-wrapper {
        height: 100px;
    }
    .u-header .logo {
        bottom: 0;
        height: 90px;
        padding: 0;
        transform: translate(-50%,0);
    }
    .u-header .booking {
        display: block;
    }
    .aside {
        padding-top: 115px;
    }
    .aside .menu-item a {
        padding: 0 30px;
        font-size: 1.75rem;
    }
    .aside .cta {
        display: none;
    }
    .a-header {
        top: 115px;
        height: calc(100vh - 110px);
        height: calc(calc(var(--vh, 1vh) * 100) - 110px);
    }
    .a-header .a-header-icon > a {
        font-size: 28px;
    }
}
@media only screen and (min-width:992px) {
    .u-header-wrapper {
        height: 120px;
    }
    .u-header .logo {
        height: 95px;
    }
    .aside {
        padding-top: 135px;
    }
    .aside .menu-item a {
        padding: 0 20px;
        font-size: 1.75rem;
    }
    .a-header {
        top: 135px;
        height: calc(100vh - 135px);
        height: calc(calc(var(--vh, 1vh) * 100) - 135px);
    }
}
@media only screen and (min-width:1440px) {
    .u-header-wrapper {
        height: 140px;
    }
    .u-header .logo {
        height: 105px;
    }
    .u-header .booking {
        font-size: 1.125rem;
    }
    .aside {
        padding-top: 155px;
    }
    .a-header {
        top: 155px;
        height: calc(100vh - 155px);
        height: calc(calc(var(--vh, 1vh) * 100) - 155px);
    }
    .aside .menu-item a {
        padding: 0 60px;
    }
}
@media only screen and (min-width:1800px) {
    .aside .menu-item a {
        max-width: 1740px;
        margin: 0 auto;
    }
}

#main {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
    overflow: hidden;
}
.page-template-tpl-home #main {
    margin-top: -80px;
    padding-top: 80px;
}
.page-template-tpl-touren #main {
    margin-top: -80px;
}
.page-content {
    position: relative;
    width: 100%;
    height: auto;
    min-height: calc(100vh - 80px);
    padding-top: 20px;
    padding-bottom: 60px;
    margin-top: -1px;
    z-index: 1;
}
.page-template-tpl-home .page-content::before {
    content: '';
    position: absolute;
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: #920764;
    z-index: 9;
}
.page-template-tpl-home .page-content::after {
    content: '';
    position: absolute;
    top: -230px;
    left: 50%;
    transform: translateX(-50%);
    width: 320px;
    height: 320px;
    border: 5px solid #920764;
    border-radius: 50%;
    z-index: 9;
}
.page-mask {
    position: relative;
    height: 10vw;
    width: 100%;
    background-image: url(img/mask-page.svg);
    background-position: center bottom;
    background-size: auto 100%;
    margin-top: -3vw;
    z-index: 5;
}
@media only screen and (min-width:712px) {
    .page-template-tpl-home #main {
        margin-top: -100px;
        padding-top: 100px;
    }
    .page-template-tpl-touren #main {
        margin-top: -100px;
    }
    .page-content {
        min-height: calc(100vh - 100px);
    }
    .page-template-tpl-home .page-content {
        padding-top: 50px;
    }
    .page-template-tpl-home .page-content::before {
        top: -230px;
        width: 320px;
        height: 320px;
    }
    .page-template-tpl-home .page-content::after {
        top: -280px;
        width: 420px;
        height: 420px;
    }
}
@media only screen and (min-width:992px) {
    .page-template-tpl-home #main {
        margin-top: -120px;
        padding-top: 120px;
    }
    .page-template-tpl-touren #main {
        margin-top: -120px;
    }
    .page-content {
        min-height: calc(100vh - 120px);
        padding-top: 40px;
    }
    .page-template-tpl-home .page-content::before {
        top: -270px;
        width: 400px;
        height: 400px;
    }
    .page-template-tpl-home .page-content::after {
        top: -320px;
        width: 500px;
        height: 500px;
    }
}
@media only screen and (min-width:1440px) {
    .page-template-tpl-home #main {
        margin-top: -140px;
        padding-top: 140px;
    }
    .page-template-tpl-touren #main {
        margin-top: -140px;
    }
    .page-content {
        min-height: calc(100vh - 140px);
    }
    .page-template-tpl-home .page-content::before {
        top: -370px;
        width: 600px;
        height: 600px;
    }
    .page-template-tpl-home .page-content::after {
        top: -420px;
        width: 700px;
        height: 700px;
    }
}

.next-section {
    position: absolute;
    right: 0;
    bottom: 10px;
    width: 100%;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    cursor: pointer;
    z-index: 10;
}
.next-section i {
    display: inline-block;
	animation: bounce 1.5s infinite;
	-webkit-animation: bounce 1.5s infinite;
}
.next-section i::before {
    margin: 0;
    width: auto;
}

@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
    40% {-webkit-transform: translateY(-10px);}
    60% {-webkit-transform: translateY(-5px);}
} 
 
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
}

.hero {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    color: #fff;
    z-index: 10;
}
.hero-aspect {
    position: relative;
    display: block;
    padding-top: 75%;
}
@media only screen and (orientation:landscape) {
    .hero-aspect {
        padding-top: 56.25%;
    }
}
@media only screen and (orientation:landscape) and (min-width:1200px) {
    .hero-aspect {
        padding-top: 0;
        height: 80vh;
    }
}
.hero-mask {
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 10vw;
    width: 100%;
    background-image: url(img/mask.svg);
    background-position: center bottom;
    background-size: auto 100%;
    z-index: 5;
}
.hero.gradient {
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(144, 7, 97, 1)));
    background-image: -o-linear-gradient(top, transparent, rgba(144, 7, 97, 1));
    background-image: linear-gradient(to bottom, transparent, rgba(144, 7, 97, 1));
}
.hero-slider {
    overflow: visible;
    z-index: 10;
}
.hero-slider .swiper-wrapper{
    transition-timing-function:linear; 
}
.hero-slider .swiper-slide {
    width: 200px;
    margin-left: -15px;
}
.hero-slider .swiper-slide.w-link {
    cursor: pointer;
}
.hero-slider .swiper-slide .bg-image {
    border-radius: 50%;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,.25);
    box-shadow: 0 0 10px rgba(0,0,0,.25);
}
.hero-slider .swiper-slide .slide-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 30px 15px;
    background-color: #ab88e4;
    color: #552ead;
    border-radius: 50%;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,.25);
    box-shadow: 0 0 10px rgba(0,0,0,.25);
}
.hero-slider .swiper-slide .slide-content .slide-text {
    font-family: "Founders Grotesk";
    font-style: italic;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.1;
    color: #760851;
}
.hero-slider .swiper-slide .slide-popup {
    visibility: hidden;
    width: 100%;
    min-width: 275px;
    background-color: #fff;
    color: #7d0755;
    padding: 15px;
    border-radius: .25rem;
    position: absolute;
    z-index: 2;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    backface-visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s 0s;
}
.hero-slider .swiper-slide .slide-popup::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 1rem;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
}
.hero-slider .swiper-slide .slide-popup p {
    font-weight: 500;
}
.hero-slider .swiper-slide.hover .slide-popup {
    visibility: visible;
    opacity: 1;
}
.hero-slider .swiper-slide .slide-popup .more {
    text-align: right;
    font-weight: 500;
    color: #178d8d;
    pointer-events: none;
}

.hero-caption {
    position: relative;
    z-index: 2;
    width: 100%;
    height: auto;
    color: #fff;
    text-align: center;
    padding: 40px 15px 0;
    z-index: 3;
}
.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: #fff;
    color: #760851;
    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
}
.hero-skyline {
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    min-width: 800px;
    height: auto;
    z-index: 1;
}
@media only screen and (min-width:712px) {
    .hero .badge-button-wrap {
        position: absolute;
        float: none;
        right: 15px;
        top: 0;
        width: 120px;
        height: 120px;
    }
    .hero .badge-button span {
        font-size: 14px
    }
    .hero-slider .swiper-slide .slide-content {
        padding: 30px;
    }
    .hero-slider .swiper-slide .slide-popup {
        padding: 15px 25px 20px;
        min-width: 320px;
        right: 30px;
    }
}
@media only screen and (min-width:712px) and (orientation:portrait) {
    .hero-slider .swiper-slide .slide-content .slide-text {
        font-size: 1.75rem;
    }
    .hero-slider .swiper-slide {
        width: 280px;
    }
}
@media only screen and (min-width:992px) {
    .hero .badge-button-wrap {
        position: absolute;
        float: none;
        top: 0;
        right: 30px;
        width: 140px;
        height: 140px;
    }
    .hero-caption {
        padding: 60px 30px 0;
    }
    .hero-slider .swiper-slide .slide-content .slide-text {
        font-size: 1.75rem;
    }
    .hero-slider .swiper-slide {
        width: 20vw;
    }
}
@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
    }
    .hero-slider .swiper-slide .slide-content {
        padding: 40px;
    }
    .hero-slider .swiper-slide {
        margin-left: -30px;
    }
}
@media only screen and (min-width: 2400px) {
    .hero-slider .swiper-slide {
        width: 400px
    }
}

.section {
    padding-top: 30px;
    padding-bottom: 30px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.section.asm {
    margin-top: -1px;
}
.section-mask {
    position: relative;
    height: 10vw;
    width: 100%;
    background-image: url(img/mask.svg);
    background-position: center bottom;
    background-size: auto 100%;
    z-index: 5;
}

@media only screen and (min-width:992px) {
    .section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}
@media only screen and (min-width:1440px) {
    .section {
        padding-top: 90px;
        padding-bottom: 90px;
    }
}


.tourmap {
    display: block;
	width: 100%;
    max-width: 100%;
}
.pin {
    position: absolute;
    display: block;
    z-index: 2;
    width: 3.4%;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    overflow: hidden;
}
.pin-1 {
    top: 50%;
    left: 11.8%;
}
.pin-2 {
    top: 44%;
    left: 37.2%;
}
.pin-3 {
    top: 51.5%;
    left: 59.7%;
}
.pin-4 {
    top: 20%;
    left: 47.3%;
}
[data-serialtip-target]{display:none;position:absolute;z-index:1001;width:200px;margin:15px;}
[data-serialtip-target].is-alignment-top{margin-top:0;}
[data-serialtip-target].is-alignment-right{margin-right:0;}
[data-serialtip-target].is-alignment-bottom{margin-bottom:0;}
[data-serialtip-target].is-alignment-left{margin-left:0;}
[data-serialtip-target] .serialtip-close{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-top:5px;cursor:pointer;opacity:0.35;transition:300ms;}
[data-serialtip-target] .serialtip-close:before{content:'+';font-size:30px;transform:rotate(45deg);}
[data-serialtip-target] .serialtip-close:hover{opacity:1;}
.serialtip-default{padding:15px;border-radius: .25rem;background-color:#fff;box-shadow:5px 5px 35px 5px rgba(0, 0, 0, .1);color: #7d0755;max-width: 150px}
.serialtip-default:before{content:'';position:absolute;width:0;height:0;border:solid transparent;}
.serialtip-default.is-placement-bottom:before{bottom:100%;left:50%;margin-left:-6px;border-width:0 6px 6px 6px;border-bottom-color:#fff;}

.tour-item {
    position: relative;
    width: 100%;
    height: auto;
    padding: 20px;
    margin-bottom: 30px;
    overflow: hidden;
}
.tour-item .social-media div,
.sidebar-box .social-media div {
    display: inline-block;
    margin-right: 2px;
}
.tour-item .social-media a,
.sidebar-box .social-media a {
    display: flex;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #aa87e3;
    color: #fff;
    font-size: 1.125rem;
    align-items: center;
    justify-content: center;
}
.sidebar-box .social-media a {
    width: 44px;
    height: 44px;
    font-size: 1.25rem;
}
.tour-item .tourplan {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
    z-index: 1;
}
.sidebar-box {
    position: relative;
    width: 100%;
    height: auto;
    background-color: #f6f6f8;
    padding: 20px 15px;
}
@media only screen and (min-width:712px) {
    .tour-item {
        padding: 30px;
        margin-bottom: 60px;
    }
    .sidebar-box {
        padding: 30px;
    }
}
@media only screen and (min-width:992px) {
    .tour-item {
        padding: 40px;
    }
}
@media only screen and (min-width:1440px) {
    .tour-item {
        padding: 60px;
    }
}

.accordion {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden
}
.accordion-item {
	position: relative;
	width: 100%;
	height: auto;
	border-radius: 12px;
	background-color: #f4f4f4;
    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
}

.swiper-horizontal > .swiper-pagination-bullets, 
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 10px;
}
.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;
}
.swiper-button-next, 
.swiper-button-prev {
    color: #fff;
    opacity: 1!important;
    width: 36px!important;
    height: 36px!important;
}

.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-style: italic;
    font-size: 1rem;
    line-height: .375rem;
    border-bottom: none!important;
}
.pagination .page-numbers.current {
    color: #760851;
    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;
    border-radius: 12px;
}
.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: #760851
}

.page-title {
	z-index:10;
	color:#000;
	position:relative;
	display:block;
    text-align: center;
    margin-top: 3rem;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.page-title:hover {
	color:#000;
}
.page-title span {
	background-image: linear-gradient(transparent calc(100% - 3px), #760851 1px);
	background-size: 0;
	background-repeat: no-repeat;
	display: inline;
	transition: 0.5s ease;
}
.page-title:hover span {    
  	background-size: 100%;
}
.page-title i {
    font-size: 66%
}

.error-404 {
    text-align: center;
}
.error-404 h1 {
    font-size: 100px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #fff;
    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:712px) {
    .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;
    }
}

#footer-partner {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 60px 0;
    z-index: 2;
    background-color: #fef4fb;
}
.partner-slider .swiper-wrapper{
    transition-timing-function:linear; 
}
.partner-slider .swiper-slide {
    width: auto;
}
.partner-slider .swiper-slide a {
    display: flex;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: #fff;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow: hidden;
}

#footer-cta {
    position: relative;
    width: 100%;
    height: auto;
    background: #fff;
    overflow: hidden;
    padding: 60px 0;
    margin-bottom: -1px;
    z-index: 2;
}
.footer-mask {
    position: relative;
    height: 10vw;
    width: 100%;
    margin-bottom: -60px;
    background-image: url(img/mask-footer.svg);
    background-position: center bottom;
    background-size: auto 100%;
    transform: rotate(-180deg);
    z-index: 5;
}
#footer {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1
}
#footer .footer-top {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    padding: 60px 0 15px;
    overflow: hidden;
}
.footer-top .footer-logo {
    display: inline-block;
    height: 64px;
    z-index: 10;
}
.footer-top .footer-logo img {
    height: 100%;
    width: auto;
    max-width: none;
}
#footer .footer-top .social-media {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 20px;
    overflow: hidden;
    text-align: center;
}
#footer .footer-top .social-media div {
    display: inline-block;
    margin: 0 5px;
}
#footer .footer-top .social-media a {
    display: flex;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #aa87e3;
    color: #fff;
    font-size: 1.25rem;
    align-items: center;
    justify-content: center;
}
#footer .footer-bottom {
    position: relative;
    width: 100%;
    height: auto;
    padding: 15px 0 0;
    background: #760851;
    color: #fff;
    overflow: hidden;
    font-size: .9375rem;
}
#footer p,
#footer ul li {
    font-size: .9375rem;
}
#footer .footer-bottom {
    font-size: .875rem;
}
#footer a {
    color: #fff
}
#footer a:hover,
#footer a:focus {
    color: #fff;
    text-decoration: none
}
@media (min-width:712px) {
    #footer-partner,
    #footer-cta {
        padding: 90px 0;
    }
    #footer .footer-top {
        padding: 30px 0 15px;
    }
    .footer-top .footer-logo {
        height: 80px;
    }
    .footer-button {
        display: inline-block;
        padding: 12px 24px;
        border-radius: 20px 20px 0 0;
        background: #9d0d6e;
    }
}
@media only screen and (min-width:992px) {
    .partner-slider .swiper-slide a {
        width: 150px;
        height: 150px;
    }
    .footer-mask {
        margin-bottom: -100px;
    }
    .footer-top .footer-logo {
        height: 90px;
    }
    #footer .footer-top .social-media a {
        width: 50px;
        height: 50px;
        font-size: 1.375rem;
    }
}
@media only screen and (min-width:1440px) {
    .partner-slider .swiper-slide a {
        width: 170px;
        height: 170px;
    }
    #footer .footer-top {
        padding: 0 0 15px;
    }
    .footer-top .footer-logo {
        height: 100px;
    }
}