/*--------------------------------------------------------------
# Grid
--------------------------------------------------------------*/

.col,.gallery-item,.columns {
    position: relative;
    margin: 0;
    padding: 0 15px 0px;
    width: 100%;
}

.col.col-flex {
    width: auto;
}

.col-fit {
    -ms-flex: 1;
    flex: 1
}

.col-first {
    -ms-flex-order: -1;
    order: -1
}

.col-last {
    -ms-flex-order: 1;
    order: 1
}

.col-inner {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto
}

.col-has-radius {
    overflow: hidden
}

@media screen and (min-width: 850px) {
    .col:first-child .col-inner {
        margin-left:auto;
        margin-right: 0
    }

    .col+.col .col-inner {
        margin-right: auto;
        margin-left: 0
    }
}

@media screen and (max-width: 549px) {
    .small-col-first {
        -ms-flex-order:-1;
        order: -1
    }
}

@media screen and (min-width: 850px) {
    .large-col-first {
        -ms-flex-order:-1;
        order: -1
    }
}

@media screen and (max-width: 849px) {
    .medium-col-first {
        -ms-flex-order:-1;
        order: -1
    }

    .col {
        padding-bottom: 5px;
    }
}

@media screen and (min-width: 850px) {
    .row-divided>.col+.col:not(.large-12) {
        border-left:1px solid #ececec
    }

    .row-divided.row-reverse>.col+.col:not(.large-12) {
        border-left: 0;
        border-right: 1px solid #ececec
    }

    .col-divided {
        padding-right: 30px;
        border-right: 1px solid #ececec
    }

    .col.col-divided:not(.col-first):last-child {
        border-right: 0;
        padding-right: 0;
        padding-left: 30px;
        border-left: 1px solid #ececec
    }

    .col-border {
        padding-right: 0;
        border-right: 1px solid #ececec
    }

    .col-border+.col,.col-divided+.col {
        padding-left: 30px
    }
}

.dark .col-divided {
    border-color: rgba(255,255,255,0.2)
}

.align-equal>.col {
    display: -ms-flexbox;
    display: flex
}

.align-middle {
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
    align-self: center !important;
    vertical-align: middle !important
}

.align-bottom {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
    -ms-flex-align: end !important;
    align-items: flex-end !important;
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
    vertical-align: bottom !important
}

.align-top {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
    vertical-align: top !important
}

.align-center {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.align-right {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important
}

.small-1 {
    max-width: 8.33333%;
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%
}

.small-2 {
    max-width: 16.66667%;
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%
}

.small-3 {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%
}

.small-4 {
    max-width: 33.33333%;
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%
}

.small-5 {
    max-width: 41.66667%;
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%
}

.small-6 {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%
}

.small-7 {
    max-width: 58.33333%;
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%
}

.small-8 {
    max-width: 66.66667%;
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%
}

.small-9 {
    max-width: 75%;
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%
}

.small-10 {
    max-width: 83.33333%;
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%
}

.small-11 {
    max-width: 91.66667%;
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%
}

.small-12 {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.small-columns-1>.col,.small-columns-1 .flickity-slider>.col {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.small-columns-2>.col,.small-columns-2 .flickity-slider>.col {
    max-width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%
}

.small-columns-3>.col,.small-columns-3 .flickity-slider>.col {
    max-width: 33.33333%;
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%
}

.small-columns-4>.col,.small-columns-4 .flickity-slider>.col {
    max-width: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%
}

.small-columns-5>.col,.small-columns-5 .flickity-slider>.col {
    max-width: 20%;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%
}

.small-columns-6>.col,.small-columns-6 .flickity-slider>.col {
    max-width: 16.66667%;
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%
}

.small-columns-7>.col,.small-columns-7 .flickity-slider>.col {
    max-width: 14.28571%;
    -ms-flex-preferred-size: 14.28571%;
    flex-basis: 14.28571%
}

.small-columns-8>.col,.small-columns-8 .flickity-slider>.col {
    max-width: 12.5%;
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%
}

@media screen and (min-width: 550px) {
    .medium-1 {
        max-width:8.33333%;
        -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%
    }

    .medium-2 {
        max-width: 16.66667%;
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%
    }

    .medium-3 {
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%
    }

    .medium-4 {
        max-width: 33.33333%;
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%
    }

    .medium-5 {
        max-width: 41.66667%;
        -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%
    }

    .medium-6 {
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }

    .medium-7 {
        max-width: 58.33333%;
        -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%
    }

    .medium-8 {
        max-width: 66.66667%;
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%
    }

    .medium-9 {
        max-width: 75%;
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%
    }

    .medium-10 {
        max-width: 83.33333%;
        -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%
    }

    .medium-11 {
        max-width: 91.66667%;
        -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%
    }

    .medium-12 {
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .medium-columns-1>.col,.medium-columns-1 .flickity-slider>.col {
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .medium-columns-2>.col,.medium-columns-2 .flickity-slider>.col {
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }

    .medium-columns-3>.col,.medium-columns-3 .flickity-slider>.col {
        max-width: 33.33333%;
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%
    }

    .medium-columns-4>.col,.medium-columns-4 .flickity-slider>.col {
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%
    }

    .medium-columns-5>.col,.medium-columns-5 .flickity-slider>.col {
        max-width: 20%;
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%
    }

    .medium-columns-6>.col,.medium-columns-6 .flickity-slider>.col {
        max-width: 16.66667%;
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%
    }

    .medium-columns-7>.col,.medium-columns-7 .flickity-slider>.col {
        max-width: 14.28571%;
        -ms-flex-preferred-size: 14.28571%;
        flex-basis: 14.28571%
    }

    .medium-columns-8>.col,.medium-columns-8 .flickity-slider>.col {
        max-width: 12.5%;
        -ms-flex-preferred-size: 12.5%;
        flex-basis: 12.5%
    }
}

@media screen and (min-width: 850px) {
    .large-1 {
        max-width:8.33333%;
        -ms-flex-preferred-size: 8.33333%;
        flex-basis: 8.33333%
    }

    .large-2 {
        max-width: 16.66667%;
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%
    }

    .large-3 {
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%
    }

    .large-4 {
        max-width: 33.33333%;
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%
    }

    .large-5 {
        max-width: 41.66667%;
        -ms-flex-preferred-size: 41.66667%;
        flex-basis: 41.66667%
    }

    .large-6 {
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }

    .large-7 {
        max-width: 58.33333%;
        -ms-flex-preferred-size: 58.33333%;
        flex-basis: 58.33333%
    }

    .large-8 {
        max-width: 66.66667%;
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%
    }

    .large-9 {
        max-width: 75%;
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%
    }

    .large-10 {
        max-width: 83.33333%;
        -ms-flex-preferred-size: 83.33333%;
        flex-basis: 83.33333%
    }

    .large-11 {
        max-width: 91.66667%;
        -ms-flex-preferred-size: 91.66667%;
        flex-basis: 91.66667%
    }

    .large-12 {
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .gallery-columns-1 .gallery-item,.large-columns-1>.col,.large-columns-1 .flickity-slider>.col {
        max-width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .gallery-columns-2 .gallery-item,.large-columns-2>.col,.large-columns-2 .flickity-slider>.col {
        max-width: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }

    .gallery-columns-3 .gallery-item,.large-columns-3>.col,.large-columns-3 .flickity-slider>.col {
        max-width: 33.33333%;
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%
    }

    .gallery-columns-4 .gallery-item,.large-columns-4>.col,.large-columns-4 .flickity-slider>.col {
        max-width: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%
    }

    .gallery-columns-5 .gallery-item,.large-columns-5>.col,.large-columns-5 .flickity-slider>.col {
        max-width: 20%;
        -ms-flex-preferred-size: 20%;
        flex-basis: 20%
    }

    .gallery-columns-6 .gallery-item,.large-columns-6>.col,.large-columns-6 .flickity-slider>.col {
        max-width: 16.66667%;
        -ms-flex-preferred-size: 16.66667%;
        flex-basis: 16.66667%
    }

    .gallery-columns-7 .gallery-item,.large-columns-7>.col,.large-columns-7 .flickity-slider>.col {
        max-width: 14.28571%;
        -ms-flex-preferred-size: 14.28571%;
        flex-basis: 14.28571%
    }

    .gallery-columns-8 .gallery-item,.large-columns-8>.col,.large-columns-8 .flickity-slider>.col {
        max-width: 12.5%;
        -ms-flex-preferred-size: 12.5%;
        flex-basis: 12.5%
    }
}

.has-shadow>.col>.col-inner {
    background-color: #FFF
}

.col-hover-focus .col-inner,.col-hover-fade .col-inner,.col-hover-blur .col-inner {
    transition: all, .2s
}

.col-hover-fade .col-inner {
    opacity: .6
}

.col-hover-fade:hover .col-inner {
    opacity: 1
}

.col-hover-blur .col-inner {
    filter: blur(3px)
}

.col-hover-blur:hover .col-inner {
    filter: blur(0px)
}

.col-hover-focus:hover .col-inner {
    opacity: 1
}

.row:hover .col-hover-focus .col:not(:hover) {
    opacity: .6
}

body,.container,.full-width .ubermenu-nav,.container-width,.row {
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.container {
    padding-left: 15px;
    padding-right: 15px
}

.container-width,.full-width .ubermenu-nav,.container,.row {
    max-width: var(--container-width);
}

@media screen and (min-width: 850px) {
    body.framed {
        margin:30px auto
    }
}

.flex-row {
    -js-display: flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

.flex-row-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.flex-row-center {
    -ms-flex-pack: center;
    justify-content: center
}

.flex-row-col {
    -js-display: flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.text-center .flex-row {
    -ms-flex-pack: center;
    justify-content: center
}

.header .flex-row {
    height: 100%
}

.flex-col {
    max-height: 100%
}

.flex-grow {
    -ms-flex: 1;
    flex: 1;
    -ms-flex-negative: 1;
    -ms-flex-preferred-size: auto !important
}

.flex-center {
    margin: 0 auto
}

.flex-left {
    margin-right: auto
}

.flex-right {
    margin-left: auto
}

.flex-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.flex-has-center>.nav-row>.flex-col:not(.flex-center),.flex-has-center>.flex-row>.flex-col:not(.flex-center),.flex-has-center>.flex-col:not(.flex-center) {
    -ms-flex: 1;
    flex: 1
}

@media (max-width: 849px) {
    .medium-flex-wrap {
        -ms-flex-flow:column wrap;
        flex-flow: column wrap
    }

    .medium-flex-wrap .flex-col {
        padding-top: 5px;
        padding-bottom: 5px;
        -ms-flex-positive: 0;
        flex-grow: 0;
        width: 100%
    }
}

@media (max-width: 549px) {
    .small-flex-wrap {
        -ms-flex-flow:column wrap;
        flex-flow: column wrap
    }

    .small-flex-wrap .flex-col {
        -ms-flex-positive: 0;
        flex-grow: 0;
        width: 100%
    }
}

@media (min-width: 850px) {
    .col2-set,.u-columns {
        -js-display:flex;
        display: -ms-flexbox;
        display: flex
    }

    .col2-set>div+div,.u-columns>div+div {
        padding-left: 30px
    }
}

.row-grid .box .image-cover {
    padding: 0;
    height: 100%
}

.grid-col>.col-inner {
    height: 100%
}

.grid-col .slider:not(.flickity-enabled),.grid-col>.col-inner>.img,.grid-col>.col-inner>.img div,.grid-col>.col-inner>.img .img-inner>img,.grid-col .slider>.img,.grid-col .flickity-slider>.img,.grid-col .col-inner>.img,.grid-col .slider-wrapper,.grid-col .slider,.grid-col .banner,.grid-col .box,.grid-col .box-image,.grid-col .box-image img,.grid-col .image-cover,.grid-col .image-cover img {
    object-fit: cover;
    width: 100%;
    position: absolute !important;
    top: 0;
    bottom: 0;
    height: 100%;
    padding: 0 !important
}

.grid-col .box-image img {
    font-family: 'object-fit: cover;'
}

.grid-col .flickity-viewport {
    height: 100% !important
}

.grid-col .box:not(.box-shade):not(.box-overlay):not(.box-badge) .box-text {
    background-color: rgba(255,255,255,0.95);
    position: absolute;
    bottom: 0;
    padding-left: 1.5em;
    padding-right: 1.5em
}

@media all and (-ms-high-contrast: none) {
    .payment-icon svg {
        max-width: 50px
    }

    .slider-nav-circle .flickity-prev-next-button svg {
        height: 36px !important
    }

    .nav>li>a>i {
        top: -1px
    }
}

.row,.gallery {
    width: 100%;
    -js-display: flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

.row>div:not(.col):not([class^="col-"]) {
    width: 100% !important
}

.row.row-masonry,.row.row-grid {
    display: block
}

.row.row-masonry>.col,.row.row-grid>.col {
    float: left
}

.row .gallery,.row .row:not(.row-collapse),.container .row:not(.row-collapse),.lightbox-content .row:not(.row-collapse) {
    padding-left: 0;
    padding-right: 0;
    margin-left: -15px;
    margin-right: -15px;
    width: auto;
}

.row .container {
    padding-left: 0;
    padding-right: 0
}

.slider-wrapper+.row:not(.row-collapse),.banner-grid-wrapper+.row:not(.row-collapse),.banner+.row:not(.row-collapse),.section+.row:not(.row-collapse) {
    margin-top: 30px
}

.row-full-width {
    max-width: 100% !important
}

.row-isotope {
    transition: height .3s
}

.row-reverse {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media screen and (max-width: 549px) {
    .small-row-reverse {
        -ms-flex-direction:column-reverse;
        flex-direction: column-reverse
    }
}

@media screen and (max-width: 849px) {
    .medium-row-reverse {
        -ms-flex-direction:row-reverse;
        flex-direction: row-reverse
    }
}

.row-collapse {
    padding: 0
}

.row-collapse>.flickity-viewport>.flickity-slider>.col,.row-collapse>.col {
    padding: 0 !important
}

.row-collapse>.col .container {
    max-width: 100%
}

.row .row-small:not(.row-collapse),.container .row-small:not(.row-collapse) {
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: 0;
}

.row-small>.flickity-viewport>.flickity-slider>.col,.row-small>.col {
    padding: 5px 9.8px 19.6px;
    margin-bottom: 0;
}

.row-solid>.flickity-viewport>.flickity-slider>.col>.col-inner {
    padding: 5px;
}


.row .row-xsmall:not(.row-collapse),.container .row-xsmall:not(.row-collapse) {
    margin-left: -2px;
    margin-right: -2px;
    margin-bottom: 0
}

.row-xsmall>.flickity-viewport>.flickity-slider>.col,.row-xsmall>.col {
    padding: 0 2px 3px;
    margin-bottom: 0
}

@media screen and (min-width: 850px) {
    .row-large {
        padding-left:0;
        padding-right: 0
    }

    .row .row-large:not(.row-collapse),.container .row-large:not(.row-collapse) {
        margin-left: -30px;
        margin-right: -30px;
        margin-bottom: 0
    }

    .row-large>.flickity-viewport>.flickity-slider>.col,.row-large>.col {
        padding: 0 30px 30px;
        margin-bottom: 0
    }
}

.row-dashed,.row-solid {
    overflow: hidden
}

.row-dashed .col,.row-solid .col {
    position: relative;
    padding: 15px;
}

.row-dashed .col-inner,.row-solid .col-inner {
    padding: 0;
}

.row-dashed .col:before,.row-solid .col:before {
    position: absolute;
    content: " ";
    height: 100%;
    top: 0;
    left: -1px;
    border-left: 1px dashed #ddd
}

.row-dashed .col:after,.row-solid .col:after {
    position: absolute;
    content: " ";
    width: 100%;
    height: 0;
    top: auto;
    left: 0;
    bottom: -1px;
    border-bottom: 1px dashed #ddd
}

.row-solid .col:before {
    border-left-style: solid
}

.row-solid .col:after {
    border-bottom-style: solid
}

.dark .row-solid .col:before,.dark .row-solid .col:after,.dark .row-dashed .col:before,.dark .row-dashed .col:after {
    border-color: rgba(255,255,255,0.2)
}

.block-html-after-header .row .col {
    padding-bottom: 0
}

.wpb-js-composer .row:before {
    display: block !important
}

.section {
    padding: 30px 0;
    position: relative;
    min-height: auto;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row;
    flex-flow: row;
    -ms-flex-align: center;
    align-items: center
}

.section.dark {
    background-color: #666
}

.section-bg {
    overflow: hidden
}

.section-bg,.section-content {
    width: 100%
}

.section-content {
    z-index: 1
}

.has-parallax {
    overflow: hidden
}

.container .section,.row .section {
    padding-left: 30px;
    padding-right: 30px
}

.is-sticky-section+.sticky-section-helper {
    min-height: auto !important;
    background-color: #000;
}

.sticky-section-helper+div {
    position: relative;
    background-color: #FFF;
    box-shadow: 15px 15px 15px 15px rgba(0,0,0,0.1)
}

.sticky-section {
    z-index: 1041;
    padding: 0;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: #fff;
    position: relative;
}

.is-sticky-section {
    position: fixed;
    animation: stuckMoveDown .6s;
}