/* 
Theme Name: App4Golf
Version: 2.0
Author: SELBY & CO. Werbeagentur GmbH
Author URI: https://selbyco.com/
*/

@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-Light.ttf) format("truetype");
    font-display: swap;
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-LightItalic.ttf) format("truetype");
    font-display: swap;
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-Regular.ttf) format("truetype");
    font-display: swap;
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-Italic.ttf) format("truetype");
    font-display: swap;
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-Medium.ttf) format("truetype");
    font-display: swap;
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-SemiBold.ttf) format("truetype");
    font-display: swap;
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-Bold.ttf) format("truetype");
    font-display: swap;
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-ExtraBold.ttf) format("truetype");
    font-display: swap;
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: "Montserrat";
    src: url(fonts/Montserrat/Montserrat-Black.ttf) format("truetype");
    font-display: swap;
    font-weight: 900;
    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
}
@media only screen and (min-width:1600px) {
    html {
        font-size: 1.125rem
    }
}

body {
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    color: #000;
    background-color: #fff;
    position: relative;
    overflow: hidden;
    overflow-y: scroll;
}
body.post-open {
    overflow: hidden;
}

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

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

.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-a-4 {
    position: relative;
    display: block;
    padding-top: 141.4%;
}

.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!important;
        padding-right: 30px!important
    }
    .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:1440px) {
    .container-fluid {
        padding-left: 60px!important;
        padding-right: 60px!important
    }
    .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;
    }
}
@media only screen and (min-width:1800px) {
    .container-fluid {
        max-width: 1740px;
        margin: 0 auto;
    }
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6 {
    font-family: "Montserrat";
    line-height: 1.3;
    font-weight: 600;
    color: inherit;
    margin-bottom: 1rem;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}
h1,.h1 {
    font-size: 2rem;
}
.hero h1 {
    font-size: 1.875rem;
    letter-spacing: 0.01em;
}
h2,.h2 {
    font-size: 1.875rem;
}
h3,.h3,.ctx h2 {
    font-size: 1.75rem;
}
h4,.h4 {
    font-size: 1.5rem;
    letter-spacing: 0.03em;
}
h5,.h5 {
    font-size: 1.375rem;
    letter-spacing: 0.03em;
}
.section-title {
    position: relative;
    width: 100%;
    padding-bottom: .5rem;
}
.section-title .icon {
    display: inline-block;
    height: 2rem;
    width: auto;
    margin-right: .75rem;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ce1719;
}
.cat-title {
    position: relative;
    text-align: center;
    color: #aaa;
    margin: 15px 0;
    line-height: 1;
}
.cat-title::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #aaa;
    transform: translateY(-50%);
}
.cat-title span {
    position: relative;
    display: inline-block;
    padding: 5px 15px;
    background: #f4f4f4;
    z-index: 1;
}

@media only screen and (min-width:712px) and (orientation:portrait) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    .hero h1 {
        font-size: 2.5rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3,.ctx h2 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
    .section-title .icon {
        height: 2.5rem;
    }
}
@media only screen and (min-width:992px) {
    h1,.h1 {
        font-size: 2.75rem;
    }
    .hero h1 {
        font-size: 2.5rem;
    }
    h2,.h2 {
        font-size: 2.25rem;
    }
    h3,.h3,.ctx h2 {
        font-size: 2rem;
    }
    h4,.h4 {
        font-size: 1.75rem;
    }
    .section-title .icon {
        height: 2.5rem;
    }
}
@media only screen and (min-width:1440px) {
    h1,.h1 {
        font-size: 3rem;
    }
    .hero h1 {
        font-size: 3rem;
    }
    h2,.h2 {
        font-size: 2.75rem;
    }
    h3,.h3 {
        font-size: 2.25rem;
    }
}
@media only screen and (min-width:1920px) {
    .hero h1 {
        font-size: 3.25rem;
    }
}

.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;
}
.page-template-tpl-anregungen-kritik .form-check-input {
    top: 2px;
}
.form-check-label {
    position: relative;
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0!important;
}
@media only screen and (min-width:712px) and (orientation:portrait) {
    .form-check-input {
        top: 1px;
    }
}
@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
    }
}

.wpcf7cf_prev,
.wpcf7cf_next {
    color: #fff;
    background-color: #ce1719;
    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 #ce1719;
}
@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;
}

@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;
}
.hero .play-video {
    display: inline-block;
    position: relative;
    height: auto;
    top: auto;
    left: auto;
}
.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: 160px;
        height: 160px;
    }
    .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-red {
    color: #ce1719!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-black {
    background-color: #000!important;
    color: #fff;
}
.bg-grey {
    background-color: #f4f4f4!important;
}
.bg-blue {
    background-color: #6b818c!important;
    color: #fff;
}


a {
    color: #000;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
a:hover {
    color: #ce1719;
    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: #ce1719;
    border-bottom-color: #ce1719;
}
.btn-primary,
.btn-primary.disabled, 
.btn-primary:disabled,
.btn-primary.disabled:hover, 
.btn-primary:disabled:hover{
    color:#fff;
    background-color:#000;
    border-color:#000;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.btn-primary:hover{
    color:#fff;
    background-color:#ce1719;
    border-color:#ce1719
}
.btn-primary.focus,
.btn-primary:focus{
    color:#fff;
    background-color:#ce1719;
    border-color:#ce1719;
    box-shadow:none
}
.button-group {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
    display: inline-flex;
}
.button {
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: .5px;
    font-weight: 400;
    padding: 8px 16px;
    border-radius: 6px;
    text-align: center;
    min-width: 175px;
    color: #fff!important;
    background-color: #000;
    border: 2px solid #000;
}
.button.primary {
    background-color: #ce1719;
    border: 2px solid #ce1719;
}
.button.outline {
    color: #000!important;
    background-color: transparent;
    border: 2px solid #000;
}
.button.primary.outline {
    color: #ce1719!important;
    background-color: transparent;
    border: 2px solid #ce1719;
}
.button.white.outline {
    color: #fff!important;
    background-color: transparent;
    border: 2px solid #fff;
}
.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%
}

.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: #ce1719
}
.ball-pulse>div {
    width: 15px;
    height: 15px;
    margin: 2px;
    display: inline-block;
    background-color: #ce1719;
    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;
}
.aside .aside-inner .loader-wrapper {
    height: 100vh;
}
.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: 70px;
    padding: 10px 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: relative;
    display: block;
    height: 100%;
    padding: 0;
    z-index: 10;
}
.home .u-header .logo {
    opacity: 0;
    pointer-events: none;
}
.u-header .logo img {
    display: inline-block;
    height: 100%;
    width: auto;
    max-width: none;
}


.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 #ce1719
}
.home .burger-menu b,
body.menu-open .burger-menu b {
    border-top-color: #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);
}

.overlay {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, .4);
    z-index: 500;
    -webkit-transition: all .5s;
    transition: all .5s
}

body.menu-open .overlay {
    opacity: 1;
    visibility: visible;
    width: 200%
}

.aside {
    position: fixed;
    right: -100%;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: 480px;
    padding-top: 70px;
    background: #ce1719;
    z-index: 600;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}
body.menu-open .aside {
    right: 0
}
aside .burger-menu {
    right: auto;
    left: 15px;
}
.aside .aside-inner {
    height: 100%;
    padding-bottom: 60px;
    overflow-y: auto;
}
.aside .wrapper {
    display: table;
    width: 100%;
    height: 100%;
}
.aside .wrapper .vcenter {
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: top
}
nav.main {
    padding-left: 15px;
    padding-right: 15px
}
nav.main ul {
    margin: 0;
    padding: 0;
    list-style: none
}
nav.main li {
    padding: 0;
    margin-bottom: .25rem;
}
nav.main a {
    cursor: pointer;
    display: block;
    padding: .125rem 0;
    position: relative;
    color: #fff;
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.03em;
}
nav.main a:hover,
nav.main .current-menu-item > a,
nav.main .current-menu-parent > a {
    color: #fff;
}
nav.main li.menu-item-has-children>a {
    padding-right: 30px
}
nav.main li.menu-item-has-children>a:after {
    position: absolute;
    right: 15px;
    font-family: 'fontello';
    content: "\e80e";
    color: #fff;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transition: all .3s;
    transition: all .3s
}
nav.main li.menu-item-has-children>a.active:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
nav.main ul.sub-menu {
    display: none;
    overflow: hidden;
    padding-top: .25rem;
}
nav.main ul.sub-menu li {
    margin-bottom: .25rem;
}
nav.main ul.sub-menu li a {
    padding: .25rem 1rem;
    text-transform: none
}
nav.main ul.sub-menu li:last-child {
    padding-bottom: 10px
}
nav.main ul.sub-menu a:before {
    content: '-';
    padding-right: 10px
}
.aside .social {
    margin-top: 1rem;
    width: 100%;
}
aside .social a {
    cursor: pointer;
    display: inline-block;
    color: #fff;
    font-size: 1.25rem;
}
@media only screen and (min-width:712px) {
    .u-header-wrapper {
        height: 80px;
    }
    .aside {
        padding-top: 80px;
    }
    nav.main {
        padding-left: 30px;
        padding-right: 30px
    }
}


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

.hero {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    margin-top: -70px;
}
.hero-logo {
    display: inline-block;
    width: auto!important;
    max-width: 80vw;
}
.content-top {
    position: absolute;
    top: 10%;
    left: 0;
    width: 100%;
}
.content-center {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
}
.next-section {
    position: absolute;
    right: 0;
    bottom: 5px;
    width: 100%;
    font-size: 2rem;
    color: #fff;
    text-align: center;
    cursor: pointer;
    z-index: 100;
}
.next-section i {
    display: inline-block;
	animation: bounce 1.5s infinite;
	-webkit-animation: bounce 1.5s infinite;
}
.arrow-down::after {
	content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: -5px;
    width: 1px;
    height: 10px;
    border-top: 10px solid #000;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

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

@media (min-width:712px) {
    .hero {
        margin-top: -80px;
    }
    .hero-logo {
        max-width: 60vw;
    }
    .next-section {
        font-size: 2.25rem;
    }
}
@media only screen and (min-width:992px) {
    .hero-logo {
        max-width: 55vw;
        max-height: 40vh;
    }
}
@media only screen and (min-width:1200px) {
    .next-section {
        font-size: 2.5rem;
    }
}

.page-content {
    position: relative;
    width: 100%;
    height: auto;
    min-height: calc(100vh - 60px);
    background-color: #fff;
    padding-top: 30px;
    padding-bottom: 60px;
}
@media only screen and (min-width:992px) {
    .page-content {
        min-height: calc(100vh - 70px);
    }
}

.content-carousel .swiper-slide {
    width: 70vw;
}
@media only screen and (min-width: 712px) {
    .content-carousel .swiper-slide {
        width: 60vw;
    }
}
@media only screen and (min-width: 992px) {

}

@media only screen and (min-width: 1200px) {
    .content-carousel .swiper-slide {
        width: 60%;
    }
}


#grid,
.grid-masonry {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100vh
}
.grid-item {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 2rem;
}
.fail-message {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    opacity: 0;
	padding-top: 50px;
    pointer-events: none;
    transition: .2s
}

.fail-message span {
    display: inline-block;
    vertical-align: middle;
}

#grid.mixitup-container-failed .fail-message {
    opacity: 1;
    pointer-events: auto
}
@media only screen and (min-width:712px) {
    .grid-masonry {
        -webkit-column-count: 2; 
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 2rem;
        -moz-column-gap: 2rem;
        column-gap: 2rem;
        -webkit-column-width: 50%;
        -moz-column-width: 50%;
        column-width: 50%;
    }
}
@media only screen and (min-width:992px) {
    #filters {
        display: block;
        position: relative;
        height: auto;
        background-color: rgba(0,0,0,0);
        -webkit-backdrop-filter: blur(0) saturate(100%);
        backdrop-filter: blur(0) saturate(100%);
    }
    #filters fieldset {
        gap: .75rem;
    }
    #filters .control {
        font-size: 0.875rem;
    }
}
@media only screen and (min-width:1200px) {
    #filters fieldset {
        gap: 1rem;
    }
}
@media only screen and (min-width: 1440px) {
    .grid-masonry {
        -webkit-column-count: 3; 
        -moz-column-count: 3;
        column-count: 3;
        -webkit-column-gap: 3rem;
        -moz-column-gap: 3rem;
        column-gap: 3rem;
        -webkit-column-width: 33.33333333333333%;
        -moz-column-width: 33.33333333333333%;
        column-width: 33.33333333333333%;
    }
    .grid-item {
        margin-bottom: 3rem;
    }
}

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

.section-header {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 30px 0;
    z-index: 5;
}
.section,
.grid-section,
.grid-single-section {
    margin-top: 30px;
    margin-bottom: 30px;
}
.section {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.section.pt {
    padding-top: 30px;
}
.section.pb {
    padding-bottom: 30px;
}
.section.pb2 {
    padding-bottom: 60px;
}
.section .section-inner {
    position: relative;
    width: 100%;
    height: auto;
    padding: 15px;
    background-color: #f4f4f4;
    border-radius: 12px;
    border: 1px solid rgba(24,24,24,.07);
    overflow: hidden;
}
.grid-section,
.grid-single-section {
    display: flex;
    flex-direction: column;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
}
.grid-section .grid-inner,
.grid-single-section .grid-inner {
    display: flex;
    flex-direction: column;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    position: relative;
    overflow: hidden;
}
.grid-media,
.grid-card {
    position: relative;
    overflow: hidden;
    background-color: #f4f4f4;
    border-radius: 12px;
    border: 1px solid rgba(24,24,24,.07);
}
.grid-media,
.grid-card {
    flex: 1;
}
.grid-media img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    transition: transform .9s;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.no-touchevents a.grid-media:hover img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}
.grid-media .aspect {
    position: relative;
    display: block;
    padding-top: 75%;
    min-height: 100%;
}
.grid-media .img {
    position: absolute;
    top: 0;
    left: 0;
}
.grid-card .grid-card-inner {
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    display: flex;
    padding: 15px;
}
.grid-img {
    position: relative;
    height: 66vw;
    overflow: hidden;
    margin-bottom: 30px;
}
.grid-img .img {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    border: 1px solid rgba(24,24,24,.07);
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}
.grid-img .swiper-container,
.grid-img .swiper-container .swiper-slide{
    width: 100%;
    height: 100%;
}
.grid-content {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #f4f4f4;
    padding: 20px 15px;
    border-radius: 12px;
    border: 1px solid rgba(24,24,24,.07);
}
.grid-content .grid-card {
    margin-bottom: 30px;
}
.grid-content .grid-card:last-of-type {
    margin-bottom: 0;
}

@media only screen and (min-width:712px) {
    .grid-section .grid-inner {
        flex-direction: row;
    }
    #repeater-grid.grid-section .grid-inner:nth-child(2n),
    #repeater-grid.grid-section .grid-inner:nth-child(4n) {
        flex-direction: row-reverse !important;
    }
    .section .section-inner,
    .grid-card .grid-card-inner,
    .grid-content {
        padding: 30px;
    }
}
@media only screen and (min-width:992px) {
    .grid-single-section .grid-inner {
        flex-direction: row;
    }
    .grid-single-section .grid-inner:nth-child(2n) {
        flex-direction: row-reverse !important;
    }
    .grid-img {
        height: 100%;
        margin-bottom: 0;
    }
    .grid-img.fh {
        height: calc(100vh - 155px);
        position: sticky;
        top: 130px;
    }
    .grid-content {
        min-height: calc(100vh - 130px);
    }
}
@media only screen and (min-width:1280px) {
    .grid-section,
    .grid-section .grid-inner {
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr;
        grid-auto-columns: 1fr;
        display: grid;
    }
    .grid-section .grid-inner {
        grid-area: span 1/span 1/span 1/span 1;
    }
    #repeater-grid.grid-section .grid-inner:nth-child(4n - 1) .grid-media,
    #repeater-grid.grid-section .grid-inner:nth-child(4n) .grid-media {
        order: 2!important
    }
    #repeater-grid.grid-section .grid-inner:nth-child(4n - 1) .grid-card,
    #repeater-grid.grid-section .grid-inner:nth-child(4n) .grid-card {
        order: 1!important
    }
    .grid-section .grid-media,
    .grid-section .grid-card {
        flex: auto;
    }
    .grid-media .aspect {
        padding-top: 100%;
    }
    .grid-card .grid-card-inner {
        padding: 20px 15px;
    }
}
@media only screen and (min-width:1440px) {
    .section-header {
        padding: 60px 0;
    }
    .section.pt {
        padding-top: 60px;
    }
    .section.pb {
        padding-bottom: 60px;
    }
    .section.pb2 {
        padding-bottom: 90px;
    }
    .grid-card .grid-card-inner {
        padding: 30px 20px;
    }
}
@media only screen and (min-width:1600px) {
    .grid-card .grid-card-inner {
        padding: 30px;
    }
}

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

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

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

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


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

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

.post-box {
    position: relative;
    width: 100%;
    height: auto;
}
.post-box .post-img {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    border: 2px solid #eeeff0;
}
.section .post-box .post-img {
    border: 0;
}
.post-box .post-img img {
    position: relative;
    width: 100%;
    height: auto;
    transition: transform .9s;
    -webkit-transform: scale(1);
    transform: scale(1);
}
.no-touchevents .post-img a:hover img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}
.post-box .post-content {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 30px 15px;
    border-radius: 0 0 12px 12px;
    background-color: #fff;
    color: #2e3940;
}
.post-box .post-content p {
    font-size: 1rem;
}
@media only screen and (min-width:712px) {
    .news-slider .swiper-slide {
        width: 60vw;
    }
}
@media only screen and (min-width:992px) {
    .news-slider .swiper-slide {
        width: 40vw;
    }
    .post-box .post-content {
        padding: 30px;
    }
}

.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: #ce1719
}

.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), #ce1719 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: #000;
    text-shadow: 3px 3px 0 rgba(178,178,178,1),8px 8px 0 rgba(0,0,0,.15);
}
.error-404 h2 {
    line-height: 30px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 24px;
}
.error-404 .searchform {
    border: 3px dashed rgba(0,0,0,.05);
    padding: 15px;
    margin-top: 40px;
}
@media (min-width:768px) {
    .error-404 h1 {
        font-size: 200px;
        margin-bottom: 30px;
    }
    .error-404 h2 {
        line-height: 42px;
        font-size: 30px;
    }
    .error-404 .searchform {
        padding: 30px 90px;
        margin-top: 40px;
    }
}

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

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

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

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

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

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

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

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

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

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

.awards-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.awards-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0 -7.5px!important;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.awards-wrapper ul li {
    margin: 0 7.5px 15px;
    width: auto;
    max-width: calc(25% - 15px);
}
.awards-wrapper ul li img {
    height: auto;
    max-width: 100%;
    display: block;
    margin-right: auto;
    margin-left: auto;
}
@media (min-width:712px) {
    .awards-wrapper ul li {
        max-width: calc(12.5% - 15px);
    }
}
@media (min-width:992px) {
    .awards-wrapper ul {
        margin: 0 -15px!important;
    }
    .awards-wrapper ul li {
        margin: 0 15px 15px;
        max-width: calc(12.5% - 30px);
    }
}
@media (min-width:1440px) {
    .awards-wrapper ul li {
        max-width: calc(11.11111% - 30px);
    }
}

#footer {
    position: relative;
    width: 100%;
    height: auto;
    padding: 15px;
    background: #fff;
    color: #000;
    font-size: .9375rem;
    z-index: 2
}
#footer p,
#footer ul li {
    font-size: .9375rem;
}
#footer .copyright {
    font-size: .875rem;
    text-align: center
}
#footer .btt {
    display: flex;
    justify-content: flex-end;
}
#footer .back-to-top {
    display: flex;
    align-items: center;
    color: #000!important
}
.back-to-top .button-icon {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin-left: .625rem;
}
.back-to-top .button-icon span {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    -webkit-transition: -webkit-transform .2s;
    transition: transform .2s;
    width: auto;
    text-align: center;
    transform-origin: 100% 0%
}
.back-to-top .button-icon span.hover {
    position: absolute;
    width: auto;
    top: 100%;
    left: 0;
}
.back-to-top:hover .button-icon span {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    transform-origin: 0% 0%
}
#footer .menu-block {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden
}
#footer .headline,
#footer .menu-block li.menu-item-has-children > a {
    display: block;
    font-family: "Montserrat";
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.07em;
    font-size: .875rem;
    line-height: 1;
    color: #000;
    margin-bottom: .5rem;
    padding-bottom: .6875rem;
    border-bottom: 1px solid #ce1719;
}
#footer #menu-kontakt li.menu-item-has-children > a {
    display: none;
}
#footer a {
    color: #000
}
#footer a:hover,
#footer a:focus {
    color: #000;
    text-decoration: none
}
#footer ul {
    margin: 0 0 2rem 0;
    padding: 0;
    list-style: none
}
#footer ul li {
    display: block;
}
#footer ul li a {
    display: inline-block;
    padding-bottom: 2px;
}
#footer ul li a span {
	background-image: linear-gradient(transparent calc(100% - 1px), #ce1719 1px);
	background-size: 0 calc(105% - 1px);
	background-repeat: no-repeat;
	display: inline;
	transition: .3s ease;
}
#footer ul li a:hover span,
#footer ul li.current-menu-item > a span {    
  	background-size: 100% calc(105% - 1px);
}
#footer ul li.current-menu-item > a {
    pointer-events: none;
}
#footer .address {
    padding-bottom: .25rem;
}
#footer .contact-coordinates span {
    display: inline-block;
    min-width: 3.75rem;
}

.post-content {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    z-index: 1400;
    opacity: 0;
    background-color: rgba(0, 0, 0, .75);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    visibility: hidden;
    -webkit-transition: all .5s;
    transition: all .5s;
}
body.post-open .post-content {
    visibility: visible;
    opacity: 1;
    width: 100.1%;
}
#close-wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
}
#close-wrap .wrap-inner {
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#close {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: #e3001b;
    cursor: pointer;
    opacity: 0;
    z-index: 10;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
}
.post-content.loaded #close {
    opacity: 1;
}
#close::after,
#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);
}
#close::before {
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}
.no-touchevents #close:hover::after {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
.no-touchevents #close:hover::before {
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}
.post-content-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    min-width: 300px;
    max-width: 1140px;
    height: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, 20%);
    transform: translate(-50%, 20%);
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #fff;
    cursor: default;
    padding-bottom: 60px;
    -webkit-transition: all .5s;
    transition: all .5s;
}
body.post-open .post-content-inner {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
@media (min-width:712px) {
    #close {
        width: 60px;
        height: 60px;
    }
    #close::after,
    #close::before {
        left: 30px;
        height: 50px;
    }
}