/* #### Helper Classes #### */

/*
 * These are utilities to help building visual layouts more easily
 * Some of these classes are left for compatibility with older themes, here are a list
 * classes that you should avoid using as they maybe removed/changed in the future.
 * 
 * DEPRECATED HELPERS: .col-md-5c, .df-margin, .df-mg, .hf-margin, .hf-mg, .min-margin,
 * .df-pd, .hf-pd, .double-pd, .left, .right, .right, .align-right-desktop, .row-reverse-on-desktop,
 * .column-reverse-on-desktop, .wrap-reverse-on-desktop, .align-center-on-mobile, .align-left-on-mobile,
 * .align-right-on-mobile, .column-reverse-on-mobile, .wrap-reverse-on-mobile, .no-bg-image-on-mobile
 */

.centered-column {
    float: none;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .col-md-5c {
        float: left;
        position: relative;
        width: 20%;
        padding: 0 1.5rem;
    }
}

.col-md-5c {
    padding: 0 1.5rem;
}

.align-items-normal {
    align-items: normal !important;
}

.df-margin,
.df-mg,
.df-mg-tb {
    margin-top: var(--df-margin);
    margin-bottom: var(--df-margin);
}

.hf-margin,
.hf-mg,
.hf-mg-tb {
    margin-top: var(--df-margin-unit);
    margin-bottom: var(--df-margin-unit);
}

.df-margin-bottom,
.df-mg-bottom,
.df-mg-bt {
    margin-bottom: var(--df-margin);
}

.hf-margin-bottom,
.hf-mg-bottom,
.hf-mg-bt {
    margin-bottom: var(--df-margin-unit);
}

.df-margin-top,
.df-mg-top,
.df-mg-tp {
    margin-top: var(--df-margin);
}

.hf-margin-top,
.hf-mg-top,
.hf-mg-tp {
    margin-top: var(--df-margin-unit);
}

.min-margin,
.min-mg,
.min-mg-tb {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.min-mg-right {
    margin-right: 1rem;
}

.no-margin,
.no-mg {
    margin: 0 !important;
}

.no-margin table,
.no-mg-margin table,
figure.no-margin,
figure.no-mg,
.no-margin figure,
.no-mg figure {
    margin: 0;
}

.no-margin-top,
.no-mg-top,
.no-mg-tp {
    margin-top: 0 !important;
}

.no-margin-top table,
.no-mg-margin-top table,
figure.no-margin-top,
figure.no-mg-margin-top {
    margin-top: 0 !important;
}

.no-margin-bottom,
.no-mg-bottom,
.no-mg-bt {
    margin-bottom: 0 !important;
}

.no-margin-bottom table,
.no-mg-margin-bottom table,
figure.no-margin-bottom,
figure.no-mg-margin-bottom {
    margin-bottom: 0 !important;
}

.df-pd,
.df-pd-tb {
    padding-top: var(--df-padding);
    padding-bottom: var(--df-padding);
}

.df-pd-all {
    padding: var(--df-padding);
}

.hf-pd,
.hf-pd-tb {
    padding-top: calc(var(--df-padding) / 2);
    padding-bottom: calc(var(--df-padding) / 2);
}

.hf-pd-all {
    padding: calc(var(--df-padding) / 2);
}

.double-pd,
.double-pd-tb {
    padding-top: calc(var(--df-padding) * 2);
    padding-bottom: calc(var(--df-padding) * 2);
}

.double-pd-all {
    padding: calc(var(--df-padding) * 2);
}

.df-pd-bottom,
.df-pd-bt,
.df-padding-bottom,
.df-padding-bt {
    padding-bottom: var(--df-padding);
}

.hf-pd-bottom,
.hf-pd-bt,
.hf-padding-bottom,
.hf-padding-bt {
    padding-bottom: var(--df-padding);
}

.double-pd-bottom,
.double-padding-bottom,
.double-padding-bt {
    padding-bottom: calc(var(--df-padding) * 2);
}

.double-pd-top,
.double-padding-top {
    padding-top: calc(var(--df-padding) * 2);
}

.df-pd-top,
.df-padding-top,
.df-padding-tp {
    padding-top: var(--df-padding);
}

.hf-pd-top,
.hf-padding-top,
.hf-padding-tp {
    padding-top: calc(var(--df-padding) / 2);
}

.min-pd-lr {
    padding-left: 1rem;
    padding-right: 1rem;
}

.no-padding,
.no-pd {
    padding: 0 !important;
}

.no-padding-top,
.no-pd-top,
.no-pd-tp {
    padding-top: 0 !important;
}

.no-padding-right,
.no-pd-right {
    padding-right: 0 !important;
}

.no-padding-bottom,
.no-pd-bottom,
.no-pd-bt {
    padding-bottom: 0 !important;
}

.no-padding-left,
.no-pd-left {
    padding-left: 0 !important;
}

.top-negative-margin,
.top-negative-mg {
    margin-top: calc(var(--df-margin-unit) * -1) !important;
}

.top-negative-margin-rl,
.top-negative-mg-rl {
    position: relative;
    top: calc(var(--df-margin-unit) * -1) !important;
}

.bottom-negative-margin,
.bottom-negative-mg {
    margin-bottom: calc(var(--df-margin-unit) * -1) !important;
}

.bottom-negative-margin-rl,
.bottom-negative-mg-rl {
    bottom: calc(var(--df-margin-unit) * -1) !important;
}

.margin-auto,
.mg-auto {
    margin: auto;
}

.margin-auto-x,
.mg-auto-x,
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.hide-initial-block .page-content.initial,
.hide-initial-block .initial-block {
    display: none !important;
}

.min-margin-bottom,
.min-mg-bottom,
.min-mg-bt {
    margin-bottom: 1rem;
}

.min-margin-top,
.min-mg-top,
.min-mg-tp {
    margin-top: 1rem;
}

.small-margin-bottom,
.small-mg-bottom,
.small-mg-bt {
    margin-bottom: 2rem;
}

.small-margin-top,
.small-mg-top,
.small-mg-tp {
    margin-top: 2rem;
}

.spacer,
.spacer.half,
.spacer.triple {
    clear: both;
    display: block;
    height: 1px !important;
    padding-top: calc(var(--df-padding) / 2);
    width: 100%;
}

.spacer.half {
    padding-top: calc((var(--df-padding) / 2) / 2);
}

.spacer.double {
    padding-top: var(--df-padding);
}

.spacer.triple {
    padding-top: calc((var(--df-padding) / 2) * 3);
}

.wp-block-spacer {
    width: 100%;
    clear: both;
}

.wp-block-spacer[class*="df-"],
.wp-block-spacer[class*="hf-"] {
    height: 0 !important;
}

.w-spacer {
    display: inline-block;
    width: calc((var(--df-padding) / 2) * 1);
}

.no-border {
    border-width: 0;
}

.text-white {
    color: #fff !important;
    --text-color: #fff !important;
    --title-color: #fff !important;
}

.text-white p,
.text-white a,
.text-white li {
    color: inherit;
}

@media (max-width: 992px) {
    .text-white-sm {
        color: #fff !important;
        --text-color: #fff !important;
        --title-color: #fff !important;
    }

    .text-white-sm p,
    .text-white-sm a,
    .text-white-sm li {
        color: inherit;
    }

    .text-white-sm a:hover {
        opacity: 0.8;
    }
}

.text-dark {
    color: var(--title-color) !important;
}

.text-dark p,
.text-dark a,
.text-dark li {
    color: inherit;
}

.line-height-1,
.lh-1 {
    line-height: 1;
}

.line-height-1-2,
.lh-1-2 {
    line-height: 1.2;
}

.line-height-1-5,
.lh-1-5 {
    line-height: 1.5;
}

.no-container .container {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    padding: 0;
}

.no-container .container .row {
    margin: 0;
}

.pull-top,
.pull-tp {
    margin-top: -4rem;
}

.pull-bottom,
.pull-bt {
    margin-bottom: -4rem;
}

.hidden {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
}

.accessibility-text {
    position: absolute;
    top: -10000em;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

@media (max-width: 992px) {
    .accessibility-text-sm {
        position: absolute;
        top: -10000em;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }
}

@media (max-width: 600px) {
    .accessibility-text-xs {
        position: absolute;
        top: -10000em;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }
}

.img-full,
.img-full figure,
.img-full img,
.img-full>div,
.is-style-img-full,
.is-style-img-full figure,
.is-style-img-full img,
.is-style-img-full>div,
.img-full-rounded-df,
.img-full-rounded-df figure,
.img-full-rounded-df img,
.img-full-rounded-df>div,
.is-style-img-full-rounded-df,
.is-style-img-full-rounded-df figure,
.is-style-img-full-rounded-df img,
.is-style-img-full-rounded-df>div,
.featured-image,
.featured-image>img,
.featured-image>figure img,
.wp-block-post-featured-image,
.wp-block-post-featured-image img {
    width: 100%;
    min-width: 100%;
    height: auto;
    display: block;
}

.full-brighness {
    filter: grayscale(1) brightness(100);
}

.reverse-x {
    transform: scaleX(-1);
}

.reverse-y {
    transform: scaleY(-1);
}

.rounded-df,
.rounded-df img,
.is-style-rounded-df,
.is-style-rounded-df img,
.img-full-rounded-df,
.img-full-rounded-df img,
.is-style-img-full-rounded-df,
.is-style-img-full-rounded-df img,
.featured-image,
.featured-image img,
.wp-block-post-featured-image img {
    border-radius: var(--df-border-radius);
}

.rounded-full,
.rounded-full img,
.is-style-rounded-full,
.is-style-rounded-full img {
    border-radius: 50%;
}

.full-height {
    height: 100%;
}

.wp-block-column>.full-height {
    height: calc(100% - (var(--df-padding) / 2));
}

.front .toggle-target:not(.active) {
    display: none;
}

.editor-styles-wrapper .toggle-target {
    opacity: 0.8;
}

.editor-styles-wrapper .toggle-target:hover {
    opacity: 1;
}

.z-index-1 {
    z-index: 1;
}

.z-index-2 {
    z-index: 2;
}

.z-index-10 {
    z-index: 10;
}

.scale-80 {
    transform: scale(0.8);
}

.scale-90 {
    transform: scale(0.9);
}

.loading-bg,
.has-loading-bg,
.has-loading-after::after {
    background-image: url(../img/loading.svg);
    background-size: 3.5rem;
    background-position: center center;
    background-repeat: no-repeat;
}

.has-loading-after::after {
    display: block;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.w-15rem,
figure.w-15rem img {
    width: 15rem;
}

.w-18rem,
figure.w-18rem img {
    width: 18rem;
}

.w-20rem,
figure.w-20rem img {
    width: 20rem;
}

.w-25rem,
figure.w-25rem img {
    width: 25rem;
}

.w-27rem,
figure.w-27rem img {
    width: 27rem;
}

.w-30rem,
figure.w-30rem img {
    width: 30rem;
}

.w-60rem,
figure.w-60rem img {
    width: 60rem;
}

.w-80rem,
figure.w-80rem img {
    width: 80rem;
}

.w-full {
    width: 100%;
}

.max-w-100 {
    max-width: 100%;
}

@media (min-width: 992px) {

    .left,
    .float-left-lg {
        float: left;
    }

    .right,
    .float-right-lg {
        float: right;
    }

    .mobile-only,
    .hidden-desktop,
    .hidden-lg {
        display: none !important;
    }

    .align-right-desktop,
    .text-right-lg {
        text-align: right;
    }

    .text-left-lg {
        text-align: left;
    }

    .text-center-lg {
        text-align: center;
    }

    .row-reverse-on-desktop,
    .row-reverse-lg {
        display: flex !important;
        flex-direction: row-reverse !important;
    }

    .column-reverse-on-desktop,
    .column-reverse-lg {
        display: flex !important;
        flex-direction: column-reverse !important;
        flex-wrap: nowrap !important;
    }

    .wrap-reverse-on-desktop,
    .wrap-reverse-lg {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap-reverse !important;
        min-width: 100% !important;
        align-items: flex-start;
    }

    .spaced-left,
    .spaced-left-lg {
        padding-left: 5rem !important;
    }

    .spaced-right,
    .spaced-right-lg {
        padding-right: 5rem !important;
    }

    .df-pd-all-desktop,
    .df-pd-all-lg {
        padding: var(--df-padding);
    }

    .double-pd-desktop,
    .double-pd-lg {
        padding: calc(var(--df-padding) * 2) !important;
    }

    .column-full-desktop,
    .column-full-lg {
        width: 100% !important;
        min-width: 100% !important;
        flex-basis: 100% !important;
    }

    .scale-80-lg {
        transform: scale(0.8);
    }

    .scale-90-lg {
        transform: scale(0.9);
    }

    .w-80rem-lg,
    figure.w-80rem-lg img {
        width: 80rem;
    }
}

@media (max-width: 992px) {

    .hidden-mobile,
    .desktop-only,
    .hidden-sm {
        display: none !important;
        visibility: hidden;
        pointer-events: none;
    }

    .left {
        float: none;
    }

    .right {
        float: none;
    }

    .align-center-on-mobile,
    .align-center-sm,
    .text-center-sm {
        text-align: center !important;
    }

    .align-left-on-mobile,
    .align-left-sm,
    .text-left-sm {
        text-align: left !important;
    }

    .align-right-on-mobile,
    .align-right-sm,
    .text-right-sm {
        text-align: right !important;
    }

    .order-minus-one-mobile,
    .order-minus-one-sm {
        order: -1;
    }

    .center-on-mobile,
    .center-mobile,
    .center-sm {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .column-reverse-on-mobile,
    .column-reverse-mobile,
    .column-reverse-sm {
        display: flex !important;
        flex-direction: column-reverse !important;
        flex-wrap: nowrap !important;
    }

    .wrap-reverse-on-mobile,
    .wrap-reverse-mobile,
    .wrap-reverse-sm {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap-reverse !important;
        min-width: 100% !important;
        align-items: flex-start;
    }

    .semi-transparent-bg-image-on-mobile .section-bg,
    .semi-transparent-bg-image-mobile .section-bg,
    .semi-transparent-bg-image-sm .section-bg {
        opacity: 0.4 !important;
    }

    .no-bg-image-on-mobile,
    .no-bg-image-mobile,
    .no-bg-image-sm,
    .no-bg-image-on-mobile .section-bg,
    .no-bg-image-mobile .section-bg,
    .no-bg-image-sm .section-bg {
        background-image: none !important;
    }

    .df-mg-tb-sm {
        margin-top: var(--df-margin);
        margin-bottom: var(--df-margin);
    }

    .hf-mg-tb-sm {
        margin-top: var(--df-margin-unit);
        margin-bottom: var(--df-margin-unit);
    }

    .df-mg-bottom-sm,
    .df-mg-bt-sm {
        margin-bottom: var(--df-margin);
    }

    .hf-mg-bottom-sm,
    .hf-mg-bt-sm {
        margin-bottom: var(--df-margin-unit);
    }

    .df-mg-top-sm,
    .df-mg-tp-sm {
        margin-top: var(--df-margin);
    }

    .hf-mg-top-sm,
    .hf-mg-tp-sm {
        margin-top: var(--df-margin-unit);
    }

    .hf-pd-tb-sm {
        padding-top: calc(var(--df-padding) / 2);
        padding-bottom: calc(var(--df-padding) / 2);
    }

    .df-pd-all-mobile,
    .df-pd-all-sm {
        padding: var(--df-padding);
    }

    .hf-pd-all-mobile,
    .hf-pd-all-sm {
        padding: calc(var(--df-padding) / 2);
    }

    .double-pd-mobile,
    .double-pd-sm {
        padding: calc(var(--df-padding) * 2) !important;
    }

    .hf-pd-bottom-sm,
    .hf-pd-bt-sm,
    .hf-padding-bottom-sm,
    .hf-padding-bt-sm {
        padding-bottom: calc(var(--df-padding) / 2);
    }

    .df-pd-top-sm,
    .df-padding-top-sm,
    .df-padding-tp-sm {
        padding-top: var(--df-padding);
    }

    .hf-pd-top-sm,
    .hf-padding-top-sm,
    .hf-padding-tp-sm {
        padding-top: calc(var(--df-padding) / 2);
    }

    .min-pd-top-sm,
    .min-padding-top-sm,
    .min-padding-tp-sm {
        padding-top: var(--df-padding);
    }

    .column-full-mobile,
    .column-full-sm {
        width: 100% !important;
        min-width: 100% !important;
        flex-basis: 100% !important;
    }

    .scale-80-sm {
        transform: scale(0.8);
    }

    .scale-90-sm {
        transform: scale(0.9);
    }

    .w-33per-sm {
        width: 33.333%;
    }

    .w-80per-sm {
        width: 80%;
    }

    .w-100per-sm,
    figure.w-100per-sm img {
        width: 100%;
    }

    .order-1-sm {
        order: 1;
    }

    .order-2-sm {
        order: 2;
    }

    .order-3-sm {
        order: 3;
    }
}

@media (max-width: 600px) {
    .spacer {
        clear: both;
        padding-top: 2rem;
    }

    .spacer.double {
        padding-top: 4rem;
    }

    .spacer.triple {
        padding-top: 6rem;
    }

    .hidden-xs {
        display: none !important;
        visibility: hidden;
        pointer-events: none;
    }

    .scale-80-xs {
        transform: scale(0.8);
    }

    .scale-90-xs {
        transform: scale(0.9);
    }
}

@media (width: 412px) {
    .hidden-ps {
        position: absolute;
        top: -10000em;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }
}

/* Customizations for the WP Gutenberg Editor */

.block-editor__container .editor-styles-wrapper .hidden,
.block-editor__container .editor-styles-wrapper .mobile-only,
.block-editor__container .editor-styles-wrapper .hidden-mobile {
    display: block !important;
    visibility: visible;
    opacity: 0.7;
}