* {
    box-sizing: border-box
}

:root {
    --STANred: #ce0f68;
    --STANgray: #464F56;
}


html, body {
    font-size: 16px;
    scroll-behavior: smooth;
    scroll-padding-top: 50px;
}

body {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    padding: 0;
    background: white;
    color: var(--STANgray);
    -webkit-font-smoothing: subpixel-antialiased;
}

.sections {
    padding-top: 100px
}

@media (max-width: 991px) {
    .sections {
        padding-top: 50px
    }
}

.section {
    padding: 80px 0;
    overflow: hidden;
    position: relative
}

.section h2 {
    font-size: 2.25rem;
    font-weight: 700
}

.section__image {
    max-width: 100%;
    display: block
}

@media (max-width: 991px) {
    .section {
        padding: 40px 0
    }
}

.section--gray {
    background-color: #f3f3f3
}

.section--darkgray {
    background-color: #dddddd
}

.section__spacer {
    height: 1px;
    background: rgba(82, 82, 82, 0.3);
    margin: 50px 0
}

.section--nopd {
    padding: 0
}

.darkfooter {
    background-color: #c4c4c4;
    padding: 20px 0;
    text-align: center
}

.darkfooter__info {
    padding-top: 20px;
    font-size: 12px
}

.darkfooter__info a {
    margin: 0 5px;
    display: inline-block;
    color: var(--STANgray);
}

.footer__nav {
    margin: 40px 0
}

.footer__nav-item {
    font-size: 22px;
    font-weight: 300;
    font-style: normal;
    letter-spacing: normal;
    line-height: normal;
    text-align: center;
    border-right: 1px solid currentColor;
    padding-right: 15px;
    margin-right: 15px;
    cursor: pointer
}

.footer__nav-item.active {
    font-weight: 700
}

.footer__nav-item:last-child {
    border-right: 0
}

@media (max-width: 991px) {
    .footer__nav-item {
        border: none;
        display: block;
        text-align: left
    }
}

.footer__columns p {
    font-size: 14px;
    font-weight: 400;
    line-height: 19.69px
}

.footer__columns h3 {
    font-weight: 700;
    font-style: normal;
    letter-spacing: normal;
    line-height: 25.31px;
    margin: 0 0 10px
}

.footer__columns a {
    color: var(--STANred);
    text-decoration: none
}

.footer__columns a:hover {
    text-decoration: underline
}

.pinkfooter {
    color: white;
    background-color: #4e1642;
    padding: 40px 0
}

.pinkfooter__follow {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 4.2px;
    line-height: 19.69px;
    text-transform: uppercase;
    padding-right: 20px
}

.pinkfooter__logos {
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.pinkfooter__logos img {
    margin-left: 40px
}

@media (max-width: 991px) {
    .pinkfooter__logos {
        display: flex;
        padding-top: 30px
    }

    .pinkfooter__logos img {
        margin: 0;
        max-width: 100%;
        max-height: 100%
    }

    .pinkfooter__logos a {
        width: 50%
    }
}

.pinkfooter__line {
    height: 2px;
    background: white;
    flex: 1 1 auto
}

.pinkfooter__icon {
    margin-left: 20px
}

.pinkfooter__icon img {
    display: block;
    max-height: 25px
}

.pinkfooter__copy {
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    margin-top: 40px
}

.cf {
    max-width: 600px;
    margin: 0 auto
}

.cf input[type='text'], .cf input[type='email'], .cf textarea {
    border: none;
    background-color: #c4c4c4;
    padding: 15px 15px;
    display: block;
    width: 100%;
    outline: none;
    font-family: 'Open Sans', sans-serif
}

.cf .wpcf7-form-control-wrap {
    margin: 15px 0;
    display: block
}

.cf__send {
    width: 100%;
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
}

.cf .form_agree {
    text-align: center
}

.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 1em;
    border: none;
    padding: 10px;
    text-align: center;
    font-size: 14px
}

.wpcf7 form.init .wpcf7-response-output {
    display: none
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #46b450;
    background: #eaffec
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    color: #dc3232;
    background: #fce9ec
}

.socials {
    display: flex
}

.socials a {
    display: block;
    text-decoration: none;
    opacity: 0.7;
    margin-right: 5px
}

.socials a:hover {
    opacity: 1
}

.socials a img {
    width: 40px;
    height: 40px
}

.post__tags {
    color: #661d57;
    font-size: 15px;
    font-weight: 500;
    line-height: 24.25px;
    text-transform: uppercase
}

.post__tags a {
    color: inherit;
    text-decoration: none
}

.post__tags a:hover {
    text-decoration: underline
}

.post__perex p {
    color: #525252;
    font-size: 24px;
    font-weight: 400;
    line-height: 38.81px;
    max-width: 70%
}

@media (max-width: 991px) {
    .post__perex p {
        font-size: 1.1rem;
        line-height: 120%
    }
}

.post__body {
    padding-top: 50px;
    column-count: 2;
    column-gap: 30px
}

.post__body p {
    color: #525252;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    margin-top: 0;
    margin-bottom: 1em
}

@media (max-width: 991px) {
    .post__body p {
        line-height: 120%
    }
}

@media (max-width: 991px) {
    .post__body {
        column-count: 1
    }
}

.post__gallery {
    padding-top: 50px;
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    grid-gap: 30px
}

.post__gallery-item {
    margin-bottom: 10px
}

.post__gallery-item img {
    display: block;
    max-width: 100%
}

@media (max-width: 991px) {
    .post__gallery {
        grid-template-columns:1fr
    }
}

.priority__item {
    display: flex;
    align-items: center;
    padding: 10px 0
}

.priority__item-number {
    width: 2rem;
    height: 2rem;
    background-color: var(--STANred);
    font-size: 1rem;
    font-weight: 700;
    color: white;
    text-align: center;
    line-height: 2rem;
    margin-right: 10px;
    flex: 0 0 auto
}

.priority__item-label {
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    letter-spacing: normal;
    line-height: 1.6rem
}

.relative {
    position: relative
}

a {
    cursor: pointer
}

.text-center {
    text-align: center
}


.container {
    max-width: 1140px;
    margin: 0 auto
}

.container-large {
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 15px
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 40px 0;
    z-index: 90;
    transition: background .3s, padding .3s
}

.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.header--hp:not(.fixed) {
    background: transparent
}

.header--hp:not(.fixed) .logo {
    background: url(../images/logo.png) no-repeat left center;
    background-size: contain
}

@media (min-width: 992px) {
    .header--hp:not(.fixed) .mainmenu a {
        color: white
    }

    .header--hp:not(.fixed) .mainmenu a:hover {
        color: white;
        border-color: white
    }
}

@media (max-width: 991px) {
    .header--hp:not(.fixed) .menu-icon {
        fill: white
    }
}

.header.fixed {
    background: white;
    padding: 10px 0
}

.header.fixed .logo {
    height: 60px
}

@media (max-width: 991px) {
    .header.fixed .logo {
        height: 40px
    }
}

@media (max-width: 991px) {
    .header {
        padding: 10px 0
    }
}

.logo {
    display: block;
    background: url(../images/logo.png) no-repeat left center;
    background-size: contain;
    height: 70px;
    width: 320px;
    transition: height .3s
}

@media (max-width: 991px) {
    .logo {
        width: 150px;
        height: 40px
    }
}

.menu-icon {
    display: none
}

@media (max-width: 991px) {
    .menu-icon {
        display: block;
        width: 30px;
        height: 30px;
        fill: var(--STANred);
        position: relative;
        z-index: 80
    }

    .menu-icon svg {
        width: 100%;
        height: 100%
    }

    .menu-icon .menu-icon__open {
        display: block
    }

    .menu-icon .menu-icon__close {
        display: none
    }

    .menu-icon.active .menu-icon__open {
        display: none
    }

    .menu-icon.active .menu-icon__close {
        display: block;
        fill: var(--STANred);
    }
}

.mainmenu {
    display: flex;
    margin: 0;
    padding: 0
}

.mainmenu li {
    display: block
}

.mainmenu a {
    display: block;
    font-size: 14px;
    line-height: 14px;
    color: gray;
    /*text-transform: uppercase;*/
    margin-left: 20px;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 10px
}

.mainmenu a:hover {
    border-color: gray
}

@media (max-width: 991px) {
    .mainmenu {
        display: block;
        transform: translateX(100%);
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        background: white;
        width: 100%;
        padding-top: 100px;
        transition: transform .5s
    }

    .mainmenu li {
        display: block;
        text-align: center;
        padding: 8px 0
    }

    .mainmenu a {
        display: inline-block;
        margin: 0
    }

    .mainmenu.active {
        transform: translateX(0)
    }
}

.hero {
    position: relative;
    height: 900px
}

@media (max-width: 991px) {
    .hero {
        height: 300px
    }
}

.hero__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center
}

.hero__name {
    position: relative;
    top: 350px;
    color: white;
    text-align: right;
}

@media (max-width: 991px) {
    .hero__name {
        padding-top: 100px
    }
}

.hero__name-first {
    font-size: 50px;
    font-weight: 700;
    text-transform: uppercase;
}

.hero__name-last {
    font-size: 2rem;
    font-weight: 400;
}

.hero__name-last span {
    margin-top: 5px;
    font-size: 20px;
    display: block;
    margin-top: 30px;
}

.sg p {
    line-height: 1.8rem;
    color: #4a4a4a;
}

a.link {
    color: var(--STANred);
    text-decoration: none;
}

a.link:hover {
    text-decoration: underline;
}

.button, .sg a:not(.link), .wpcf7-submit {
    color: white;
    font-size: 10px;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 2px;
    line-height: 100%;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    padding: 10px 35px;
    cursor: pointer;
    border: none;
    border: 2px solid var(--STANred);
    background-color: var(--STANred);
    outline: none;
    -webkit-appearance: none;
}

.button:hover, .sg a:not(.link):hover, .wpcf7-submit:hover {
    color: var(--STANred);
    border: 2px solid var(--STANred);
    background: white;
}

.button:disabled, .sg a:not(.link):disabled, .wpcf7-submit:disabled {
    opacity: 0.5
}

@media (max-width: 991px) {
    .button, .sg a:not(.link), .wpcf7-submit {
        padding: 15px 20px;
        margin: 5px
    }
}

a + a {
    margin-left: 10px
}

.col-nopd {
    padding: 0
}

.anchor {
    display: block;
    position: relative;
    top: -100px;
    visibility: hidden
}

.hide-inactive {
    display: none
}

.hide-inactive.active {
    display: block
}

.wp, .waypoint, .home--waypoint {
    opacity: 0;
    transform: translateY(100px);
    transition: .5s opacity, .5s transform
}

.nowVisible {
    opacity: 1;
    transform: translateY(0)
}

a.with-arrow {
    display: inline-flex;
    align-items: center;
    color: #661d57;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none
}

a.with-arrow:after {
    margin-left: 10px;
    display: block;
    content: "";
    width: 10px;
    height: 16px;
    background: url(../images/arrow_s.svg);
    background-size: contain
}

a.with-arrow:hover {
    text-decoration: underline
}

.hpnews {
    height: 100%;
    display: flex;
    flex-flow: column;
    padding-bottom: 30px
}

.hpnews__image {
    width: 100%;
    height: 182px;
    object-fit: cover
}

.hpnews__title {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 15px 0;
    color: black;
    text-decoration: none;
}

.hpnews__perex {
    color: #4a4a4a;
    font-size: 0.875rem;
    font-weight: 400;
    padding-bottom: 20px
}

.hpnews__link {
    margin-top: auto;
    text-align: right
}

.fan__over {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity .2s;
    display: flex;
    align-items: center;
    justify-content: center
}

.fan__play {
    width: 60px;
    height: 60px;
    background: url(../images/play.svg) no-repeat;
    display: block;
    background-size: cover
}

.fan__item {
    margin: 15px 0;
    position: relative
}

.fan__item img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover
}

.fan__item:hover .fan__over {
    opacity: 1
}

.gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding-top: 30px;
    width: 100%;
}

.gallery__item {
    display: block;
    margin: 0;
}

.gallery__item img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
}

@media (max-width: 991px) {
    .gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery__item img {
        height: 90px;
    }
}

@media (min-width: 992px) {
    .visible-xs {
        display: none !important
    }
}

@media (max-width: 991px) {
    .hidden-xs {
        display: none !important
    }

    html, body {
        font-size: 14px
    }

    .hero__name {
        position: static;
        padding-top: 80px;
        display: flex;
        flex-flow: column;
        align-items: flex-end
    }

    .hero__name-first {
        max-width: 70%;
        font-size: 24px;
        margin-bottom: 10px
    }

    .hero__name-last {
        max-width: 50%;
        font-size: 16px
    }

    .fancybox-content {
        padding: 40px 15px
    }

    .fancybox-content img {
        float: none;
        max-width: 100%;
        height: auto;
        display: block;
        margin: 20px 0
    }
}

.alignleft {
    float: left;
    margin-top: 5px;
    margin-right: 30px;
    margin-bottom: 5px
}

.alignright {
    float: right;
    margin-top: 5px;
    margin-left: 30px;
    margin-bottom: 5px
}

.fancybox-content h2 {
    font-size: 30px
}

/* calendar */

a.ui-corner-all {
    color: var(--STANred) !important;
}

.ui-datepicker-inline {
    background: #ededed !important;
    border: none !important;
    box-shadow: none !important;
}

.ea-bootstrap .well {
    border: none !important;
    box-shadow: none !important;
}

.ui-state-default {
    font-size: 14px !important;
}

td.no-slots,
td.ui-datepicker-unselectable {
    pointer-events: none;
    color: #a1a1a1 !important;
    background: transparent !important;
}

.ea-bootstrap .ui-datepicker .no-slots a {
    color: #a1a1a1 !important;
}

.ui-datepicker .ui-state-disabled {
    font-size: inherit !important;
}

.time-value {
    margin: 0 !important;
    color: var(--STANred) !important;
}

.time-value.selected-time {
    background: var(--STANred) !important;
    color: var(--STANgray) !important;
}

.free {
    background: white !important;
}

.free a {
    color: var(--STANred) !important;
}

.ui-datepicker-current-day, .free:hover {
    background: var(--STANred) !important;
}

.ui-datepicker-current-day a, .free:hover a {
    color: var(--STANgray) !important;
}

.ea-bootstrap .btn-primary {
    background: var(--STANred) !important;
    color: var(--STANgray) !important;
    border: none !important;
}

.ea-bootstrap .btn-primary:hover {
    background: var(--STANred) !important;
    color: white !important;
    border: none !important;
}

.ea-bootstrap .btn-default,
.ea-bootstrap .btn-default:hover {
}

.section--bottomline:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50px;
    right: 50px;
    height: 1px;
    background: #E0E0E0;
}

#kdo-jsem-popup {
    max-height: 95vh;
}