.elementor-287 .elementor-element.elementor-element-dca0a4e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--flex-wrap:wrap;border-style:solid;--border-style:solid;border-width:0px 0px 5px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:5px;--border-left-width:0px;border-color:var( --e-global-color-accent );--border-color:var( --e-global-color-accent );--padding-top:30px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-287 .elementor-element.elementor-element-dca0a4e:not(.elementor-motion-effects-element-type-background), .elementor-287 .elementor-element.elementor-element-dca0a4e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-287 .elementor-element.elementor-element-4dea1f6 img{width:150px;}.elementor-287 .elementor-element.elementor-element-466630c .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */body {
    outline-offset: 5px;
}

header a:has( img ) {
    transition: all .5s;
    outline: none;
    
    &::before {
        content: '';
        position: absolute;
        transform: translate( calc( -25px / 2 ), calc( -25px / 2 ));
        width: calc( 100% + 25px);
        height: calc( 100% + 25px);
        border: 3px solid transparent;
    }
    
    &:focus {
        &::before {
            border-color: var( --e-global-color-secondary );
        }
    }
}

#header {
    nav {
        margin-top: 0;
    }

    .elementor-nav-menu li {
        transition: all .3s;
        justify-items: end;

        a {
            transition: all .3s;
            text-align: end;

            &:hover {
                background-color: transparent;
            }
        }

        &:hover, &:has( a:focus ) {
            background-color: var( --e-global-color-secondary );

            a {
                color: var( --e-global-color-ca8f154 );
            }
        }
    }

    .menu-item-has-children {
        &:has( .highlighted ) {
            background-color: var( --e-global-color-secondary );

            .has-submenu::before {
                clip-path: path("\
                    M 11 9 \
                    v 0 \
                    a 0 0, 0 0, 0, 1 0 \
                    h 7 \
                    a 1 1, 0 0, 1, 0 2 \
                    h -7 \
                    a 0 0, 0 0, 0, -1 0 \
                    v 0 \
                    a 0 0, 0 0, 1, -2 0 \
                    v 0 \
                    a 0 0, 0 0, 0, -1 0 \
                    h -7 \
                    a 1 1, 0 0, 1, 0 -2 \
                    h 7 \
                    a 0 0, 0 0, 0, 1 0 \
                    v 0 \
                    a 0 0, 0 0, 1, 2 0 \
                    Z");
            }
        }

        &:is( :hover, :has( a:focus )) .has-submenu::before {
            background-color: var( --e-global-color-ca8f154 )
        }

        .has-submenu {
            &:focus {
                background-color: transparent;
            }

            &::before {
                content: '';
                display: inline-block;
                position: relative;
                align-self: center;
                height: 20px;
                width: auto;
                aspect-ratio: 1;
                margin-right: 10px;
                opacity: 1;
                background-color: var( --e-global-color-secondary );
                clip-path: path("\
                    M 11 1 \
                    v 7 \
                    a 1 1, 0 0, 0, 1 1 \
                    h 7 \
                    a 1 1, 0 0, 1, 0 2 \
                    h -7 \
                    a 1 1, 0 0, 0, -1 1 \
                    v 7 \
                    a 1 1, 0 0, 1, -2 0 \
                    v -7 \
                    a 1 1, 0 0, 0, -1 -1 \
                    h -7 \
                    a 1 1, 0 0, 1, 0 -2 \
                    h 7 \
                    a 1 1, 0 0, 0, 1 -1 \
                    v -7 \
                    a 1 1, 0 0, 1, 2 0 \
                    Z");
            }

            + ul > li {
                background-color: var( --e-global-color-secondary );
        
                &:has( a:active ) {
                    background-color: var( --e-global-color-ca8f154 );
                }
        
                a {
                    color: var( --e-global-color-primary ) !important;
        
                    &:hover {
                        color: var( --e-global-color-ca8f154 ) !important;
                    }
        
                    &:active {
                        color: var( --e-global-color-secondary ) !important;
                    }
                }
            }
        }
    }

    #navigation-reveal {
        position: absolute;
        right: calc(( 100vw - 100% ) / 2 );
        top: 100%;
        width: min( 100vw, 350px );
        opacity: 0;
        transform: scaleY( 0 );
        transform-origin: top;
        transition: all .3s;
    }
}

#nav-opener-container {
    width: 40px;
    height: 40px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#nav-opener {
    width: 1px;
    height: 1px;
    margin: 0;
    border: none;
    transition: all .5s;
    outline-offset: 25px;
    
    &::before {
        content: '';
        position: absolute;
        transform: translate( -50%, -50% );
        transition: all .5s;
        width: 50px;
        height: 50px;
        border: 3px solid transparent;
    }
}

#menu-hamburger-container {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    transition: all .5s;
    cursor: pointer;
    
    div {
        width: 100%;
        height: 5px;
        border-radius: 2.5px;
        position: absolute;
        left: 0;
        background-color: var( --e-global-color-secondary );
        transition: all .5s;
    }
    
    #tile-top {
        top: 0;
    }
    
    #tile-middle {
        top: 50%;
        transform: translateY( -50% );
    }
    
    #tile-bottom {
        bottom: 0;
    }
    
    #nav-opener:checked + & {
        transform: rotate( 360deg );
    
        #tile-top,
        #tile-bottom {
            background-color: var( --e-global-color-primary );
        }
        
        #tile-top {
            top: 50%;
            transform: translateY( -50% ) rotate( 45deg ) scaleX( .75 );
        }
        
        #tile-middle {
            height: 100%;
            background-color: var( --e-global-color-accent );
            border-radius: 50%;
        }
        
        #tile-bottom {
            bottom: 50%;
            transform: translateY( 50% ) rotate( -45deg ) scaleX( .75 );
        }
    }
}/* End custom CSS */