/*!
Theme Name: Ohio-Child
Theme URI: http://ohio.colabr.io/
Author: Colabrio
Author URI: http://colabr.io/
Description: Ohio is a WordPress theme bundled with premium plugins to build a modern and functional website.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: ohio
Text Domain: ohio-child
Tags: ajax, customizer, ecommerce, portfolio, minimal, page builder, responsive, multipurpose, shop, store, woocommerce, wpml

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/


/* ==================================
   GLOBAL VARIABLES & CONFIGURATION
   ================================== */

/* Root Variables */
:root {
    --clb-color-black: #1A1C1C;
    --clb-color-button-secondary: rgba(202, 216, 216, 0.48);
    --clb-circle: 3rem;
    --clb-h1-font-size: 66px;
    --clb-h2-font-size: 48px;
    --clb-h3-font-size: 38px;
    --clb-h4-font-size: 30px;
    --clb-h5-font-size: 22px;
    --clb-transition-duration: 0.4s;
    --clb-container-width-laptop: 90vw;
    --clb-color-background-fill: #f4f7f8;
}

/* ==================================
   COMPONENTS
   ================================== */

/* Icon Box */
.icon-box {

    .icon-group {

        &.-contained {
            --clb-circle: 3.5rem;
        }

        &:not(.-contained) {

            &:not(.-outlined) {
                --clb-circle: 3.5rem;

                img {
                    max-height: 3.5rem;
                }
            }
        }
    }

    &:not(.-left-icon) {

        &:not(.-floating-icon) {

            .icon-box-content {

                .icon-box-heading {
                    margin-top: var(--clb-spacer-4);
                }
            }
        }
    }
}

/* Pagination & Lazy Load */
.pagination,
.lazy-load {
    gap: 0.5rem;
}

/* Filters Container */
.filters-container {
    --clb-button-height-small: 40px;

    select {
        padding: var(--clb-spacer-05) var(--clb-spacer-3);
        border-radius: 20px;
    }
}

/* Subheader */
.subheader {
    position: fixed;
    width: 100%;

    + .header {
        margin-top: var(--clb-subheader-height);
    }

    .page-container {
        padding-top: var(--clb-spacer-05);
        padding-bottom: var(--clb-spacer-05);
    }
}

/* Region Selector */
.select-region {
    display: inline-flex;
    position: relative;

    select {
        max-width: 180px;
        min-height: var(--clb-spacer-6);
        padding-left: var(--clb-spacer-7);
        padding-right: var(--clb-spacer-7) !important;
        border-radius: 16px;
        font-size: inherit;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        cursor: pointer;

        &:not(:hover) {
            background-color: transparent;
        }
    }

    &::before {
        content: "\e894";
        position: absolute;
        top: 50%;
        left: 6px;
        display: inline-block;
        color: inherit;
        font-family: 'Material Symbols Outlined';
        font-weight: 400;
        font-size: 20px;
        transform: translateY(-50%);
    }
}

/* Ordering Filters (Desktop) */
@media screen and (min-width: 769px) {

    .ordering-filters {

        > select {

            &:nth-of-type(2) {
                max-width: 6rem;
            }

            &:nth-of-type(3) {
                max-width: 7rem;
            }
        }
    }
}

/* Tag & Badge */
.tag,
.badge {
    --clb-badge-height: 30px;
    padding: var(--clb-spacer-05) var(--clb-spacer-3);
    font-size: calc(var(--clb-subtitle-font-size) * 0.88) !important;
    text-transform: uppercase;

    > span {

        &:not(.badge-inner) {

            &:not(.name) {

                &:not(.num) {
                    display: inline-flex;
                    width: 6px;
                    height: 6px;
                    border-radius: 50%;
                    background-color: var(--clb-color-primary);
                }
            }
        }
    }
}

/* Locations Grid */
._locations-grid {

    .title {
        word-break: keep-all;
    }
}

/* Portfolio Item */
.portfolio-item {

    &.-layout2 {

        .title {
            font-weight: var(--clb-title-font-weight);
            line-height: var(--clb-h4-line-height);
            letter-spacing: var(--clb-h4-letter-spacing);
        }

        .project-details {
            margin-top: 0.5em;

            p {
                display: -webkit-box;
                font-size: 0.9em;
                opacity: 0.75;
                overflow: hidden;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
            }
        }

        .overlay-details {

            &.-top {
                width: 100%;
                background: linear-gradient(180deg, rgba(var(--clb-color-black-rgb), 0.5) 0%, rgba(var(--clb-color-black-rgb), 0) 100%);

                img {
                    position: relative !important;
                    max-height: 44px !important;
                    object-fit: contain !important;
                    object-position: left;
                    transform: none !important;
                }
            }
        }
    }

    &.-metro {

        &:not(.-no-media) {

            &:not(.-stretch) {

                .image-holder {
                    padding-bottom: 110%;
                }
            }
        }
    }
}

/* Project */
.project {

    &.-layout10 {

        .project-content {

            .holder {
                bottom: var(--clb-spacer);
                left: var(--clb-spacer);
                border-radius: 24px;
                background-color: rgba(255, 255, 255, 0.96);
            }
        }

        /*.headline-meta {

            .category-holder,
            .date {

                + * {

                    &::before {
                        display: none;
                    }
                }
            }
        }*/

        .options-group {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }
}

/* Banner Row */
._banner_row {

    .banner {

        .overlay-details {
            position: static;

            &:hover {
                color: inherit !important;
                background-color: #D8E7E7CC !important;

                .button {
                    color: #fff !important;
                }
            }
        }
    }

    &:not(._banner_inline_row) {

        .overlay-details {
            min-height: 350px;
        }
    }

    &._banner_inline_row {
        opacity: 0.96;

        .banner {

            .overlay-details {
                gap: var(--clb-spacer-3);
                padding-right: var(--clb-grid-gutter-5x);
            }
        }

        @media screen and (min-width: 769px) {

            .button {
                position: absolute;
                top: var(--clb-spacer);
                right: var(--clb-spacer);
            }
        }
    }
}

/* Map Row */
._map_row {

    > .elementor-widget-google_maps {

        &,
        > .elementor-custom-embed,
        > .elementor-custom-embed > iframe {
            height: 100%;
        }
    }
}

/* Showcase Menu */
._showcase-menu {

    .portfolio-item {

        &.-metro {

            &:not(.-no-media) {

                &:not(.-stretch) {

                    .image-holder {
                        padding-bottom: 0;
                    }
                }
            }
        }
    }
}

/* Portfolio Filter */
.portfolio-filter {

    .tag {
        --clb-badge-height: 40px;
        padding: var(--clb-spacer-05) var(--clb-spacer-3);
        font-size: 0.9em !important;
        text-transform: none;
    }
}

/* Blog Item */
.blog-item {

    &.-metro {

        &:not(.-no-media) {

            &:not(.-stretch) {

                .image-holder {
                    padding-bottom: 80%;
                }
            }
        }
    }

    .title {

        a {
            display: block;
        }

        &,
        ~ .card-details p {
            display: -webkit-box;
            overflow: hidden;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }
    }
}

/* Counter */
.counter {

    .counter-number {

        &.-with-increaser {

            .holder {

                &::after {
                    margin-left: 0;
                }
            }
        }

        .holder {
            align-items: flex-start;
            gap: 0.25rem;
            font-size: 52px;
        }

        .text-after {
            margin-top: 3px;
            font-size: 0.6em;
        }
    }

    .title {
        margin-bottom: 0.5em;
    }
}

/* Slider */
.clb-slider {

    .clb-slider-item {
        height: initial;
        min-height: 100%;

        .elementor {

            &:has(._height_full) {
                height: 100%;
            }
        }
    }

    .clb-slider-count {

        &::before {
            content: "/";
            width: auto;
            height: initial;
            background-color: transparent;
        }
    }

    &.ohio-carousel {

        &:not(.-nav-offset) {

            &:not(.-nav-inset) {

                .clb-slider-nav-btn {
                    float: right;

                    + .clb-slider-count {
                        float: left;
                    }
                }
            }
        }
    }
}

/* Service Row */
._sevice_row {

    .icon-box {

        &.-floating-icon {

            .icon-box-header {
                margin-bottom: 0;
            }
        }

        .icon-group {

            &.-contained {
                --clb-circle: 44px;
            }
        }
    }

    .button {

        .material-symbols-outlined {
            font-size: 1em;
        }
    }
}

/* Feature List */
._feature_list {

    .icon-box {

        &.-left-icon {

            .icon-box-content {
                position: relative;
                padding-right: calc(var(--clb-button-height-small) + var(--clb-spacer));

                .icon-box-heading {
                    margin-top: 0;
                }

                .button {
                    padding: 0;
                    width: var(--clb-button-height);
                    position: absolute;
                    top: 0;
                    right: 0;
                    margin-top: 0;

                    &.-small {
                        width: var(--clb-button-height-small);
                    }
                }
            }

            .icon-group {
                margin-right: var(--clb-spacer-4);

                @media screen and (max-width: 768px) {

                   margin-right: var(--clb-spacer-2);
                }

                &.-contained {
                    --clb-circle: 34px;
                }
            }
        }
    }
}

/* Showcase Slider */
._showcase-slider {

    @media screen and (min-width: 769px) {

        .clb-slider {

            &.ohio-carousel {

                &:not(.-nav-offset) {

                    &:not(.-nav-inset) {

                        .clb-slider-nav-btn {
                            position: absolute;
                            bottom: 0;
                            right: 0;

                            + .clb-slider-count {
                                position: absolute;
                                bottom: 0;
                                right: calc(50% - var(--clb-spacer) * 2);
                                transform: translateX(50%);
                            }
                        }
                    }
                }
            }
        }
    }
}

/* Extra Small Text */
.-extra-small-t {
    line-height: 1.5em;
}

/* Form Label */
.-form-label {
    font-size: 0.7em;
    line-height: 1.3em;
}

/* Breadcrumb Holder */
.breadcrumb-holder {
    display: none;
}

/* Buttons */
.button {

    &.-primary {

        &:hover,
        &:active,
        &:focus {
            background-color: var(--clb-color-black-light);
        }
    }

    &.-flat {

        &:not(:hover) {
            background-color: var(--clb-color-button-secondary);
        }
    }

    .material-symbols-outlined {
        font-size: 20px;

        &.-top {
            font-size: 24px;
        }
    }
}

/* Accordions */
.accordion {
    --clb-circle-extra-small: 2.25rem;

    &.-outlined {
        --clb-color-grey-light: var(--clb-color-border);

        .accordion-item {

            > .accordion-collapse {

                > .accordion-body {
                    padding: var(--clb-spacer-1) 0 var(--clb-spacer-4);
                }
            }

            > .accordion-button {
                padding: var(--clb-spacer-3) 0;

                .icon-button {
                    background-color: var(--clb-color-fill);
                }

                .accordion-header {
                    gap: var(--clb-spacer-3);

                    .badge {
                        margin-bottom: 0.5em;
                    }

                    .icon {
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        width: var(--clb-circle-extra-small);
                        min-width: var(--clb-circle-extra-small);
                        height: var(--clb-circle-extra-small);
                        border-radius: 50%;
                        color: white;
                        background-color: var(--clb-color-primary);
                        font-size: 20px;
                    }
                }
            }

            &.active {

                .accordion-button {
                    border-bottom-color: transparent !important;
                }
            }

            &:first-child {

                .accordion-button {
                    padding-top: 0;
                    border-top-color: transparent !important;
                }
            }

            &:last-child {

                .accordion-button {
                    padding-bottom: 0;
                    border-bottom-color: transparent !important;
                }
            }
        }
    }
}

/* Ohio Accordion Widget */
.elementor-widget-ohio_accordion {

    &:not(._with_icon) {

        .accordion {

            &.-outlined {

                .accordion-item {

                    > .accordion-button {
                        flex-direction: row-reverse;
                        justify-content: flex-end;
                        gap: var(--clb-spacer-3);
                    }
                }
            }
        }
    }
}

/* Typography / Headings */
.heading {

    .subtitle {
        text-transform: uppercase;

        + .title {
            padding-top: 0.25em;
        }
    }
}

/* Forms */
.contact-form {

    .small {
        font-size: 0.68em;
        line-height: 1.4em;
    }
}

/* ==================================
   LAYOUT SECTIONS
   ================================== */

/* Header */
.header {

    &.header-8 {
        padding: var(--clb-grid-gutter);

        .header-wrap-inner {

            @media screen and (min-width: 769px) {

                padding: 12px 12px 12px 20px;
                border-radius: 34px;
                backdrop-filter: saturate(180%) blur(5px);
            }

            @media screen and (max-width: 768px) {

                padding: 12px;
            }
        }

        .header-wrap {

            .search-global {
                margin-right: var(--clb-spacer-1);
                background-color: var(--clb-color-fill);
            }

            .button-group {

                @media screen and (max-width: 768px) {

                    margin-right: 0;
                }
            }
        }
    }
}

/* Card */
.card {
    transition-duration: var(--clb-transition-duration);

    &:hover {
        box-shadow: 0 12px 12px rgba(0, 0, 0, 0.04);
    }
}

/* Team Member */
.team-member {

    .badge {
        position: absolute;
        top: var(--clb-spacer);
        left: var(--clb-spacer);
        z-index: 1;
        visibility: hidden;
    }
}

/* Team Group */
.team-group {

    .item-holder {
        justify-content: space-between;
    }
}

/* MVP Badge Visibility */
._show_mvp_badge {

    .team-member {

        .badge {
            visibility: visible;
        }
    }
}

/* Banner Component */
.banner {

    .button {

        &.-without-text {
            --clb-button-height: 48px;

            span {
                display: none;
            }
        }

        &:not(.-without-text) {

            span {
                transform: rotate(90deg);
            }

            svg {
                display: none;
            }
        }
    }

    &:hover {

        .button {
            background-color: var(--clb-color-black-light) !important;
        }
    }
}

/* Page Headline Block */
.page-headline {

    .title {
        max-width: initial;
    }

    &::before {
        display: none;
    }

    /*.meta-item {

        &:first-child,
        &:last-child {
            display: none;
        }
    }*/

    .post-meta-holder {
        max-width: initial;
        margin-top: 1em;
    }

    .button-group {
        gap: var(--clb-gap);
        margin-top: 1.25em;
    }

    .microsoft-group {
        gap: var(--clb-gap);
        margin-top: 2.5em;

        img {
            max-height: 90px;
            padding: var(--clb-spacer-4);
            border-radius: 1em 1em 0 1em;
            background-color: white;
        }
    }

    @media screen and (max-width: 768px) {

        .button-group,
        .microsoft-group {
            flex-wrap: wrap;
        }
    }

    .holder {

        &:not(.filters-container) {
            padding-bottom: 3rem;
        }

        &.filters-container {
            padding-top: 0.75em;
            padding-bottom: 0.75em;
        }

        .breadcrumb-holder {
            display: flex;
            padding-top: var(--clb-spacer-4) !important;
            margin-top: 1em;
        }
    }
}

/*Custom Blog Post Type*/

.post-type-archive-blog {

    .page-headline {

        .bg-image {
            background-color: ;
            background-image: url(https://i0.wp.com/zenzero.co.uk/wp-content/uploads/2026/06/pattern.jpg?fit=3024%2C1800&#038;ssl=1);
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
        }

        .headline-meta {

            .category-holder {
                text-transform: uppercase;
                font-size: 14.76px;
            }
        }
    }

    .page-container {

        &.top-offset {
            padding-top: 0 !important;
        }

        &.bottom-offset {
            padding-bottom: 0 !important;
        }
    }
}

/* Tabs */
.tabs {

    &.-with-button {

        .tabs-nav-link,
        .tabs-nav-line {
            min-height: var(--clb-button-height);
        }

        .tabs-nav,
        .tabs-nav-line {
            border-radius: 24px;
        }

        .tabs-nav-link {
            padding: 0 var(--clb-spacer-4);

            &.active {

                .title,
                .icon {
                    color: inherit;
                }
            }
        }
    }

    .tabs-nav-link {
        min-height: 60px;

        &:not(:hover) {

            &:not(.active) {
                opacity: 0.6;
            }
        }
    }

    &:not(.-contained) {

        &:not(.-with-button) {

            &:not(.-vertical) {

                > .tabs-nav {

                    &:not(.-hidden) {
                        display: flex;
                        border-bottom: var(--clb-border-width) var(--clb-border-style-solid) var(--clb-color-border);
                    }

                    .tabs-nav-link {

                        &:not(:last-child) {
                            --clb-spacer-4: var(--clb-spacer);
                        }
                    }
                }
            }
        }
    }

    &.-vertical {

        > .tabs-nav {
            width: calc((100vw - var(--clb-spacer) * 7) / 4);
            height: 100%;

            .subtitle {
                margin: 0;
            }

            &:not(.-hidden) {
                border-right: var(--clb-border-width) var(--clb-border-style-solid) var(--clb-color-border);
            }

            .tabs-nav-link {
                width: 100%;
                gap: 12px;
                margin: 0 !important;

                > .material-symbols-outlined {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 44px;
                    min-width: 44px;
                    height: 44px;
                    border-radius: 50%;
                    background-color: var(--clb-color-badge-fill);
                    transition-duration: 0s;
                }

                &.active {

                    > .material-symbols-outlined {
                        color: white;
                        background-color: var(--clb-color-primary);
                    }
                }
            }
        }

        .tabs-content {
            height: 100%;
            margin-top: 0;

            .tabs-content-item {

                &.active {
                    height: 100%;
                    transition: none;

                    > .elementor {

                        &,
                        > .elementor-element {

                            &,
                            .e-con-full {
                                height: 100%;
                            }
                        }
                    }
                }
            }
        }
    }
}

/* Single Post Layout */
.single-post-layout {
    --clb-h1-clamp-size: calc(3.5vw + var(--clb-spacer-05));

    .page-headline {

        .vc_col-md-6 {
            width: 75%;
        }
    }

    .post-meta-holder {
        display: flex;
        gap: var(--clb-gap-large);
    }

    .meta-holder,
    .headline-meta {
        font-size: 0.92em;
    }

    .entry-content {

        > .wp-block-image {

            &:first-child {
                margin-top: 0;
            }
        }
    }
}

.single-post {

    .page-headline {

        & .holder {

            &:not(.filters-container) {
                padding-bottom: 0;
            }
        }
    }
}

/* Social & Sharing Utilities */
.share-bar {

    .social-networks {
        border-radius: 24px;
    }
}

/* Social Networks */
.social-networks {

    &.-small {

        &:not(.-text) {

            .network {
                width: 2rem;
                height: 2rem;
            }
        }
    }
}

/* Site Footer */
.site-footer {

    .widgets {
        display: flex;
        grid-gap: var(--clb-grid-gutter-2x) var(--clb-grid-gutter-2x);

        @media screen and (max-width: 768px) {

            flex-direction: column;
        }

        .widgets-column {

            @media screen and (min-width: 769px) {

                width: calc(76% / 4);
            }

            /* Subscribe */
            &:last-child {

                @media screen and (min-width: 769px) {

                    width: 24%;
                }

                .widget_block {

                    > p {
                        display: none;
                    }
                }

                .contact-form {

                    input {

                        &[type=checkbox],
                        &[type=radio] {
                            border-radius: 6px;
                            border-color: white;
                        }

                        &[type=email] {
                            border-radius: 20px;
                            text-align: center;
                        }
                    }
                }
            }
        }
    }
}

/* ==================================
   BODY & THEME SCHEMES (Light vs Dark)
   ================================== */

/* Body Theme Schemes */
body {

    /* Light Mode / Default Scheme */
    &:not(.dark-scheme) {

        .subheader {
            --clb-color-fill: #bbcece;
        }

        ._dm_visible {
            height: 0;
            visibility: hidden;
        }

        ._dm_display_visible {
            display: none;
        }

        .header {

            &.header-8 {

                .header-wrap-inner {
                    background-color: color-mix(in srgb, var(--clb-color-white) 96%, transparent);
                }
            }
        }

        ._gradient_mask {

            .elementor-widget-container {
                mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, black 12%, black 88%, rgba(0, 0, 0, 0) 100%);
            }
        }

        .page-headline {

            &::after {
                background-image: linear-gradient(180deg, color-mix(in srgb, var(--clb-color-background-fill) 40%, transparent) 0%, var(--clb-color-background-fill) 100%) !important;
            }
        }

        .team-group {

            .item-holder {
                --clb-color-fill: white;
            }
        }

        .card-details {
            --clb-color-fill: white;
        }

        .tabs {

            &.-with-button {

                .tabs-nav-line {
                    --clb-color-button: white;
                }
            }
        }
    }

    /* Dark Mode Scheme */
    &.dark-scheme {
        --clb-color-fill: rgba(202, 216, 216, 0.08);
        --e-global-color-text: white;

        .subheader {
            --clb-color-fill: #2D3131;
        }

        ._dm_hidden {
            height: 0;
            visibility: hidden;
        }

        ._dm_display_hidden {
            display: none;
        }

        .badge {

            &:not(.-outlined) {
                background-color: color-mix(in srgb, var(--clb-color-fill-dark-mode) 75%, white) !important;
            }
        }

        .button {

            &.-flat {

                &:not(:hover) {
                    background-color: color-mix(in srgb, #848484 12%, transparent);
                }
            }

            &:not(.-primary) {

                &:not(.-dm-ignore) {

                    &:not(.-flat) {

                        &:not(:hover) {
                            background-color: color-mix(in srgb, #848484 60%, transparent);
                        }
                    }
                }
            }
        }

        .site-footer {
            background-color: transparent;
        }

        ._gradient_bottom {

            &._gradient_bottom_white {
                background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 100%) !important;
            }
        }

        .header {

            &.header-8 {

                .header-wrap-inner {
                    background-color: color-mix(in srgb, #282B2B 88%, transparent);
                }
            }

            .e-n-menu-content {

                > .elementor-element {
                    background-color: color-mix(in srgb, var(--clb-color-fill-dark-mode) 94%, white);
                }
            }
        }

        .page-headline::after,
        ._gradient_bottom::before {
            background-image: linear-gradient(180deg, color-mix(in srgb, var(--clb-color-fill-dark-mode) 92%, transparent) 0%, var(--clb-color-fill-dark-mode) 100%) !important;
        }
    }

    &:not(.elementor-editor-active) {

        /* Page Headline Block */
        .page-headline {

            + .breadcrumb-holder {

                + .page-container {
                    position: relative;
                    z-index: 1;
                    margin-top: -3rem;
                }
            }
        }
    }
}

/* ==================================
   DESKTOP
   ================================== */

/* Desktop Enhancements */
@media screen and (min-width: 769px) {

    .page-id-260276 {

        .page-headline {

            .vc_col-md-6 {
                min-width: 65%;
            }
        }
    }

    .header {

        .header-wrap {

            .right-part {

                > .elementor {
                    position: absolute;
                    left: 50%;
                    z-index: 1;
                    transform: translateX(-50%);
                }
            }
        }

        .e-n-menu-item {

            .e-n-menu-title {
                border-radius: 20px;

                &,
                .e-n-menu-title-text {
                    color: var(--clb-color-black-light) !important;
                }

                &:hover,
                &.e-current {
                    background-color: var(--clb-color-fill);
                }

                .e-n-menu-dropdown-icon {

                    svg {
                        fill: currentColor !important;
                    }
                }

                .e-link {
                    background-image: none !important;
                }
            }

            .e-n-menu-title,
            .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon {
                transition: all var(--clb-transition-duration) var(--clb-transition-function);
            }
        }

        ._menu_item {

            p,
            ._menu_chevron {
                transition-duration: var(--clb-transition-duration);
                transition-property: opacity, color !important;
            }

            ._menu_chevron {
                position: absolute;
                top: var(--clb-spacer-2);
                right: var(--clb-spacer-2);
                display: flex;
                align-items: center;
                justify-content: center;
                width: 24px;
                height: 24px;
                border-radius: 50%;
                opacity: 0;
                background-color: var(--clb-color-fill);

                span {
                    font-size: 1em;
                }
            }

            &:hover {

                .elementor-widget-text-editor {

                    &:first-child {

                        p {
                            color: var(--clb-color-primary);
                        }
                    }
                }

                ._menu_chevron {
                    opacity: 1;
                }
            }
        }

        ._menu-service-item {

            .elementor-widget-text-editor {

                p {
                    transition-duration: var(--clb-transition-duration);
                    transition-property: color;
                }
            }

            .icon-box {

                .icon-group {

                    &.-contained {
                        --clb-circle: 2rem;
                    }
                }
            }

            &:hover {

                .elementor-widget-text-editor {

                    &:first-child {

                        p {
                            color: var(--clb-color-primary);
                        }
                    }
                }
            }
        }

        .portfolio-projects,
        .portfolio-grid,
        .grid-item,
        .portfolio-item {
            height: 100% !important;

            .image-holder {
                height: 100% !important;
            }
        }

        .elementor-widget-ohio_tabs,
        .tabs {

            &.-vertical {
                height: 100%;
            }
        }
    }

    .elementor-page {

        .page-container {

            &:not(.-full-w) {

                .elementor {

                    > .e-con-full {

                        &.e-parent {

                            &:not(.-no-spaces) {
                                left: calc((var(--clb-container-offset) - var(--clb-grid-gutter)) * -1) !important;
                                min-width: calc(100vw - var(--clb-grid-gutter-2x)) !important;
                            }
                        }
                    }

                    .e-con-full {

                        &[data-nesting-level="0"] {

                            &.e-parent {

                                &:not(.-no-spaces) {
                                    left: calc((var(--clb-container-offset) - var(--clb-grid-gutter)) * -1) !important;
                                    min-width: calc(100vw - var(--clb-grid-gutter-2x)) !important;
                                }
                            }
                        }
                    }
                }
            }
        }

        /* Sticky sections */
        .e-con {

            &.elementor-sticky--active {
                z-index: 1;
            }
        }
    }
}

/* ==================================
   MOBILE
   ================================== */

/* Mobile Styles */
@media screen and (max-width: 768px) {

    :root {
        --clb-grid-gutter: 16px !important;
        --clb-spacer: var(--clb-grid-gutter);
    }

    .elementor {

        .e-con {
            --container-default-padding-right: var(--clb-grid-gutter);
            --container-default-padding-left: var(--clb-grid-gutter);
        }
    }

    .header {
        z-index: 1111111;
    }

    .is-mobile-menu {

        .slide-in-overlay {

            .holder {
                height: calc(100vh - 76px);
            }
        }
    }

    .admin-bar {

        &.is-mobile-menu {

            .slide-in-overlay {

                .holder {
                    height: calc(100vh - 76px - 46px);
                }
            }
        }
    }

    .buttons-bar {
        position: fixed;
        z-index: 1;
        bottom: 0;
        left: 0;
        right: var(--clb-circle);
    }
}