.is-style-m-spacerhalf {
    height: 40px !important
}

.is-style-m-spacerfull {
    height: 80px !important
}

.is-style-m-spacerx2 {
    height: 160px !important
}

.moai-wrapper {
    --moai-bg-img-x: center;
    --moai-bg-img-y: center;
    background-position: 50%;
    background-size: cover;
    box-sizing: border-box;
    display: block;
    position: relative
}

.moai-wrapper>.moai-bg-image-element,
.moai-wrapper>picture>.moai-bg-image-element {
    -o-object-position: var(--moai-bg-img-x) var(--moai-bg-img-y);
    object-position: var(--moai-bg-img-x) var(--moai-bg-img-y);
    pointer-events: none
}

.moai-wrapper *{
    position: relative;
    z-index: 1;
}
.moai-wrapper>picture>.moai-bg-image-element,
.moai-wrapper>.moai-bg-image-element,
.moai-wrapper>.moai-video {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
}

.moai-wrapper>.moai-video {
    -o-object-position: center;
    object-position: center
}

.moai-wrapper>p:first-of-type {
    margin-top: 0;
    padding-top: 0
}

.moai-wrapper>p:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0
}

.moai-wrapper.mbvt {
    --moai-bg-img-y: top;
    background-position-y: top
}

.moai-wrapper.mbvc {
    --moai-bg-img-y: center;
    background-position-y: center
}

.moai-wrapper.mbvb {
    --moai-bg-img-y: bottom;
    background-position-y: bottom
}

.moai-wrapper.mbhl {
    --moai-bg-img-x: left;
    background-position-x: left
}

.moai-wrapper.mbhc {
    --moai-bg-img-x: center;
    background-position-x: center
}

.moai-wrapper.mbhr {
    --moai-bg-img-x: right;
    background-position-x: right
}

.moai-wrapper.mba {
    background-size: auto
}

.moai-wrapper.mba>.moai-bg-image-element {
    -o-object-fit: none;
    object-fit: none
}

.moai-wrapper.mbc {
    background-size: contain
}

.moai-wrapper.mbc>.moai-bg-image-element {
    -o-object-fit: contain;
    object-fit: contain
}

.moai-wrapper.mbcv {
    background-size: cover
}

.moai-wrapper.mbcv>.moai-bg-image-element {
    -o-object-fit: cover;
    object-fit: cover
}

.moai-wrapper.mbfixed {
    background-attachment: fixed
}

.moai-wrapper.mbnorep {
    background-repeat: no-repeat
}

.moai-wrapper.mbpl {
    padding-left: 80px
}

.moai-wrapper.mbpr {
    padding-right: 80px
}

.moai-wrapper.mbpt {
    padding-top: 80px
}

.moai-wrapper.mbpb {
    padding-bottom: 80px
}

.moai-wrapper.mbp2l {
    padding-left: 160px
}

.moai-wrapper.mbp2r {
    padding-right: 160px
}

.moai-wrapper.mbp2t {
    padding-top: 160px
}

.moai-wrapper.mbp2b {
    padding-bottom: 160px
}

.moai-wrapper.mbhalf {
    float: left;
    width: 50%
}

.moai-wrapper.mbhalf:nth-of-type(2n) {
    float: right
}

.moai-wrapper.moai-valign-center {
    align-items: center;
    display: flex;
    min-height: 100vh
}

.moai-wrapper.moai-valign-bottom {
    align-items: flex-end;
    display: flex;
    min-height: 100vh
}

.block-editor-block-list__block[data-type="moai-blocks/wrapper"] .moai-wrapper-content {
    border: 2px dashed #ddd;
    min-height: 100px;
    padding: 20px
}

.moai-menu.moai-menu-empty {
    background: #f5f5f5;
    border: 1px solid #ddd;
    padding: 20px;
    text-align: center
}

.moai-menu.moai-menu-empty p {
    color: #666;
    margin: 0
}

.moai-menu .moai-menu-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.moai-menu .moai-menu-item {
    margin: 0;
    padding: 0;
    position: relative
}

.moai-menu .moai-menu-item a {
    color: inherit;
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    transition: all .3s ease
}

.moai-menu .moai-menu-item a:hover {
    background-color: rgba(0, 0, 0, .05)
}

.moai-menu.moai-menu-horizontal .moai-menu-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.moai-menu.moai-menu-horizontal .moai-menu-item {
    flex: 0 0 auto
}

.moai-menu.moai-menu-horizontal .moai-submenu {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
    display: none;
    left: 0;
    list-style: none;
    margin: 0;
    min-width: 200px;
    padding: 0;
    position: absolute;
    top: 100%;
    z-index: 1000
}

.moai-menu.moai-menu-horizontal .moai-submenu .moai-menu-item {
    display: block;
    width: 100%
}

.moai-menu.moai-menu-horizontal .moai-menu-item-has-children:hover>.moai-submenu {
    display: block
}

.moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-viewport {
    width: 100%
}

.moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-arrow {
    display: none
}

.moai-menu.moai-menu-vertical .moai-menu-list {
    display: flex;
    flex-direction: column
}

.moai-menu.moai-menu-vertical .moai-submenu {
    list-style: none;
    margin: 0;
    padding-left: 20px
}

.moai-menu.moai-menu-stacked .moai-menu-list {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.moai-menu.moai-menu-stacked .moai-menu-item a {
    background: #f5f5f5;
    border-radius: 4px;
    padding: 15px 20px
}

.moai-menu.moai-menu-stacked .moai-menu-item a:hover {
    background-color: #e5e5e5
}

.moai-menu.moai-menu-stacked .moai-submenu {
    list-style: none;
    margin: 5px 0 0;
    padding-left: 20px
}

@media(max-width:900px) {
    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll {
        align-items: center;
        display: flex;
        gap: 4px;
        position: relative
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-viewport {
        -webkit-overflow-scrolling: touch;
        flex: 1 1 auto;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        scrollbar-width: none;
        touch-action: pan-x
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-viewport::-webkit-scrollbar {
        display: none
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-list-scroll {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        min-width: -moz-max-content;
        min-width: max-content;
        width: -moz-max-content;
        width: max-content
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-list-scroll .moai-menu-item {
        flex: 0 0 auto
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-arrow {
        background: transparent;
        color: inherit;
        display: none;
        height: 28px;
        line-height: 1;
        min-width: 28px;
        padding: 0;
        width: 28px
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-arrow:hover {
        cursor: pointer
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll.moai-menu-scrollable .moai-menu-scroll-arrow {
        align-items: center;
        display: inline-flex;
        justify-content: center
    }

    .moai-menu.moai-menu-horizontal.moai-menu-mobile-scroll .moai-menu-scroll-arrow:disabled {
        opacity: .35
    }
}