/*
Theme Name: angle180
Theme URI: https://wordpress.org/themes/angle180/
Author: angle180
Author URI: https://wordpress.org
Description: 
Requires at least: 6.8.3
Tested up to: 6.8.3
Requires PHP: 8.2
Version: 1.0
Text Domain: angle180
*/

:root {
    --anim-duration: 1000ms;
}

body {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    background-color: transparent;
}

a:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):not(.wp-block-navigation-item__content):not(.project-tags-item):not(.block-editor-list-view-block-contents):not(.btn-arrow):not(.btn-down):not(.a-menu-child):not(.mobile-menu-link) {
    color: var(--wp--preset--color--accent-1);
    text-decoration-color: var(--wp--preset--color--accent-9);
    text-underline-offset: .5rem;
    transition: 300ms;
}

a:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):not(.wp-block-navigation-item__content):not(.project-tags-item):not(.block-editor-list-view-block-contents):not(.btn-arrow):not(.btn-down):not(.a-menu-child):not(.mobile-menu-link):hover {
    color: var(--wp--preset--color--accent-2);
    text-decoration: underline;
    text-decoration-color: var(--wp--preset--color--accent-2);
    transition: 300ms;
}

a:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):hover {
    color: var(--wp--preset--color--accent-1);
    transition: 300ms;
}

a[href^="tel:"] {
    display: inline-block;
    text-decoration: none!important;
}

a br,
p:empty,
p:blank,
p:has(br:only-child) {
    display: none;
}

button {
    font-family: inherit;
}

.bg-over {
    backface-visibility: hidden;
}

.bg-over::before,
.has-modal-open body::before {
    z-index: 700;
    background-color:rgba(0, 86, 140, .5);
    transition: background 300ms ease-in-out;
}

.bg-over header.wp-block-template-part,
.has-modal-open header.wp-block-template-part,
.has-modal-open .wpfront-notification-bar-spacer ~ .wp-site-blocks > header.wp-block-template-part:not(.active) {
    background-color: var(--wp--preset--color--base);
    transition: none;
    top: 0!important;
}

.wp-site-blocks {
    overflow-x: hidden;
}

.grecaptcha-badge {
    display: none!important;
}

.columns * {
    box-sizing: border-box;
}

body .container {
    max-width: var(--wp--style--global--content-size);
    margin: 0 auto;
    width: 100%;
}

.container-wide {
    max-width: 1560px;
    margin: 0 auto;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

.container.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: unset!important;
}

.z-content {
    position: relative;
    z-index: 100;
}

* {
    box-sizing: border-box;
    outline-color: var(--wp--preset--color--accent-1);
}

::selection {
    background-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base);
}

.oh {
    overflow: hidden;
}

.h-100 {
    height: 100%;
}

.h-14 {
    height: 14rem;
}

.w-100 {
    width: 100%;
}

.img-fluid {
    height: auto;
    width: 100%;
    max-width: 100%;
}

.hide,
.hidden {
    display: none!important;
}

.is-relative {
    position: relative;
}

.is-absolute {
    position: absolute;
}

.is-static {
    position: static!important;
}

.is-uppercase {
    text-transform: uppercase;
}

.b-0 {
    bottom: 0;
}

.square {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2rem;
    width: 2rem;
    font-size: 1rem;
    font-weight: 600;
    background-color: var(--wp--preset--color--accent-8);
}

.is-flex {
    display: flex;
}

.must-flex {
    display: flex!important;
}

.is-block {
    display: block!important;
}

.is-inline-block {
    display: inline-block!important;
}

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

.is-align-center,
.is-align-items-center {
    align-items: center!important;
}

.align-content-space-between {
    align-content: space-between;
}

.is-justify-content-center {
    justify-content: center!important;
}

.is-justify-content-flex-start {
    justify-content: flex-start;
}

.is-justify-content-flex-end {
    justify-content: flex-end;
}

.is-space-between {
    justify-content: space-between;
}

.align-self-stretch {
    align-self: stretch;
}

.shrink-0 {
    flex-shrink: 0;
}

.has-separator:after {
    content: "";
    display: block;
    width: 120px;
    height: 4px;
    margin-top: 1.5rem;
    background-color: var(--wp--preset--color--accent-1);
    /* background-image: linear-gradient(90deg, var(--wp--preset--color--accent-1) 50%, var(--wp--preset--color--accent-1) 50%, var(--wp--preset--color--accent-2) 50%, var(--wp--preset--color--accent-2) 100%); */
    /* background-image: linear-gradient(90deg, var(--wp--preset--color--accent-7) 33.33%, var(--wp--preset--color--accent-1) 33.33%, var(--wp--preset--color--accent-1) 66.66%, var(--wp--preset--color--accent-8) 66.66%); */
    /* background-image: linear-gradient(90deg, var(--wp--preset--color--accent-7) 50%, var(--wp--preset--color--accent-7) 50%, var(--wp--preset--color--accent-1) 50%, var(--wp--preset--color--accent-1) 100%); */
    background-repeat: no-repeat;
}

.has-separator.mini:after {
    width: 60px;
    margin-top: 1rem;
}

.has-separator.center:after {
    margin-left: auto;
    margin-right: auto;
}

.has-text-align-center {
    text-align: center;
}

.hero-inner h1 strong {
    color: var(--wp--preset--color--accent-2);
}

.mini.wp-block-button .wp-block-button__link {
    font-size: 1rem!important;
    padding-top: 0.25rem!important;
    padding-right: 0.75rem!important;
    padding-bottom: 0.4rem!important;
    padding-left: 1rem!important;
}

.wp-block-button__link {
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: 600;
    transform: scale(1);
    transition: 300ms;
    border-radius: 9999px;
    transition: 300ms;
    transform: translateX(0);
}

.wp-block-button__link:hover:after,
.has-zoomin:hover .wp-block-button__link:after {
    transition: 300ms;
    transform: translateX(1rem);
}

.wp-block-button__link:hover > a {
    text-decoration: none!important;
}

.wp-block-button__link:after {
    content: "";
    display: inline-block;
    margin-left: .5rem;
    height: 1.75rem;
    width: 1.75rem;
    flex-shrink: 0;
    color: inhterit;
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    /* background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z%22/%3E%3C/svg%3E'); */
    /* background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%20-960%20960%20960'%20width='24'%20height='24'%20fill='currentColor'%3E%3Cpath%20d='m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z'/%3E%3C/svg%3E"); */
    background-color: currentColor;

    /* mask using a black SVG (this SVG should be black/solid) */
    -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%20-960%20960%20960'%3E%3Cpath%20d='m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%20-960%20960%20960'%3E%3Cpath%20d='m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z'/%3E%3C/svg%3E") center / contain no-repeat;

    /* for older WebKit blink behavior */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.btn-reset {
    margin: 0;
    padding: 0;
    border: none;
    cursor: pointer;
    background-color: transparent;
}

.btn-arrow,
.btn-down {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 1.3;
}

.btn-arrow:after,
.has-arrow:after {
    content: "";
    display: inline-block;
    margin-left: .5rem;
    height: 2rem;
    width: 2rem;
    flex-shrink: 0;
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%232563EB%22%3E%3Cpath%20d%3D%22m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z%22/%3E%3C/svg%3E');
    transform: translateX(0);
    transition: 300ms;
}

.btn-arrow.is-down:after,
.has-arrow.is-down:after {
    height: 1.5rem;
    width: 1.5rem;
    transform: translate(0, .25rem) rotate(90deg);
}

.btn-arrow.is-down:hover:after,
.has-arrow.is-down:hover:after {
    transform: translate(0, .5rem) rotate(90deg);
}

.btn-arrow.has-medium-font-size:after {
    height: 1.75rem;
    width: 1.75rem;
}

.btn-arrow:hover:after,
.has-arrow:hover:after {
    transform: translateX(.5rem);
}

.btn-arrow.is-down:after {
    transform: translate(0, 0) rotate(90deg);
}

.btn-arrow.is-down:hover:after {
    transform: translate(0, .25rem) rotate(90deg);
}

.btn-arrow.is-up:after {
    transform: translate(0, 0) rotate(-90deg);
}

.btn-arrow.is-up:hover:after {
    transform: translate(0, -.25rem) rotate(-90deg);
}

.btn-down:after {
    content: "";
    display: inline-block;
    margin-left: .5rem;
    height: 2rem;
    width: 2rem;
    flex-shrink: 0;
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    /* background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%232563EB%22%3E%3Cpath%20d%3D%22m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z%22/%3E%3C/svg%3E'); */
    /* background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' width='24' height='24'%3E%3Cpath d='m480-344-240-240 56-56 184 184 184-184 56 56z' fill='#2563EB'/%3E%3C/svg%3E"); */
    background-image: url("data:image/svg+xml,%3Csvg%20fill%3D%22%232563EB%22%20height%3D%2224%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22m480-344-240-240%2056-56%20184%20184%20184-184%2056%2056z%22/%3E%3C/svg%3E");
    transform: translate(0, 0);
    transition: 300ms;
}

.btn-down:hover:after {
    transform: translate(0, .25rem);
}

.box-arrow {
    min-height: 4.25rem;
}

.toc-block-wrapper {
    padding: 2rem;
    border-radius: 1rem;
    border: 1px solid var(--wp--preset--color--accent-9);
}

.btn-toc.is-down ~ .toc-list-wrapper {
    height: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 300ms;
}

.btn-toc.is-up ~ .toc-list-wrapper {
    height: auto;
    max-height: 5000px;
    transition: max-height 300ms;
}

.toc-list-wrapper ol > li > ul {
    margin-top: .75rem;
    margin-bottom: 1.5rem;
}

.toc-list-wrapper ol > li > ul li:before {
    flex-shrink: 0;
    transform: translateY(.3rem);
}

.toc-list-wrapper ol > li > ul > li {
    display: flex;
}

.toc-list-wrapper ol {
    font-size: var(--wp--preset--font-size--medium)!important;
}
.toc-list-wrapper ol li {
    line-height: 1.2;
    margin-bottom: .75rem;
    color: var(--wp--preset--color--accent-1);
    text-indent: 0 !important;
}

.toc-list-wrapper ol li > a {
    display: flex;
    margin-left: .25rem;
    color: var(--wp--preset--color--black)!important;
}

.toc-list-wrapper ul li > a {
    display: inline-flex;
}


.box-arrow:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-left: .5rem;
    height: 1.5rem;
    width: 1.5rem;
    flex-shrink: 0;
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22m560-240-56-58%20142-142H160v-80h486L504-662l56-58%20240%20240-240%20240Z%22/%3E%3C/svg%3E');
    transition: 300ms;
    transform: translateX(0);
}

.has-zoomin:hover .box-arrow:after {
    transform: translateX(1rem);
}

.wp-block-button__link.has-accent-6-background-color {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.wp-block-navigation-link > a:not(.wp-block-button__link):hover {
    text-decoration: none!important;
    /* color: var(--wp--preset--color--accent-2)!important; */
}

.wp-block-navigation-link > a {
    transition: 300ms;
}

.wp-block-button__link.wp-block-navigation-item {
    padding: .5rem 1.5rem;
}

.has-underline {
    text-underline-offset: 1rem;
    text-decoration: underline;
}

.has-underline {
    text-decoration-color: var(--wp--preset--color--accent-1);
}

.no-underline a {
    text-decoration: none!important;
}

.wp-block-navigation-item > a .wp-block-navigation-item__label::after,
.wp-block-navigation-submenu.has-child > a.wp-block-navigation-item__content::after {
    content: "";
    display: block;
    height: 2px;
    width: 0;
    background-color: var(--wp--preset--color--accent-7);
    transition: 300ms;
}

footer .wp-block-navigation-item > a .wp-block-navigation-item__label,
footer .wp-block-navigation-submenu.has-child > a.wp-block-navigation-item__content {
    color: rgba(255,255,255, .8);
}

footer .wp-block-navigation-item > a .wp-block-navigation-item__label:hover,
footer .wp-block-navigation-submenu.has-child > a.wp-block-navigation-item__content:hover,
.has-links a:hover {
    color: var(--wp--preset--color--accent-8)!important;
}

footer .current-menu-item.wp-block-navigation-link > a > .wp-block-navigation-item__label, 
footer .wp-block-navigation-submenu.has-child.current-menu-ancestor > a.wp-block-navigation-item__content {
    color: var(--wp--preset--color--accent-8)!important;
}

footer .current-menu-item.wp-block-navigation-link > a > .wp-block-navigation-item__label:after, 
footer .wp-block-navigation-submenu.has-child.current-menu-ancestor > a.wp-block-navigation-item__content:after {
    width: 100%;
}

.has-links a {
    display: inline-flex;
    position: relative;
    color: inherit!important;
}

.has-links a:after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    overflow-wrap: break-word;
    height: 2px;
    width: 0;
    background-color: var(--wp--preset--color--accent-8);
    transition: 300ms;
}

.has-links a:hover:after {
    width: 100%;
}

.wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination-next-arrow {
    vertical-align: middle;
    font-size: 0;
    height: 1rem;
    width: 1rem;
    background-position: center -.325rem;
}

.wp-block-query-pagination-previous-arrow {
    margin-right: .5rem!important;
    transform: scaleX(-1)!important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23000'%3E%3Cpath d='M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z'/%3E%3C/svg%3E");
}

.wp-block-query-pagination-next-arrow {
    margin-left: .5rem!important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23000'%3E%3Cpath d='M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z'/%3E%3C/svg%3E");
}

.wp-block-query-pagination-numbers > * {
    display: inline-block;
    height: 2rem;
    width: 2rem;
    text-align: center;
    line-height: 2rem;
    border-radius: .25rem;
    text-decoration: none!important;
    color: var(--wp--preset--color--black)!important;
    border: 1px solid var(--wp--preset--color--accent-8);
}

.page-template-project .breadcrumb_last {
    display: inline-block;
    vertical-align: middle;
    font-size: 0;
    height: 1rem;
    width: 1rem;
    background: var(--wp--preset--color--accent-8);
    transform: translate(-.75rem, 0);
}

.page-numbers.current,
.page-numbers:hover {
    background: var(--wp--preset--color--accent-8);
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    text-decoration: none;
    color: var(--wp--preset--color--black)!important;
}

.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
    color: var(--wp--preset--color--accent-1)!important;
}

footer .wp-block-navigation-item > a .wp-block-navigation-item__label::after,
footer .wp-block-navigation-submenu.has-child > a.wp-block-navigation-item__content::after {
    background-color: var(--wp--preset--color--accent-8);
}

.wp-block-navigation-item > a .wp-block-navigation-item__label:hover::after {
    width: 100%;
}

.current-menu-item.wp-block-navigation-link > a > .wp-block-navigation-item__label,
.wp-block-navigation-submenu.has-child.current-menu-ancestor > a.wp-block-navigation-item__content {
    color: var(--wp--preset--color--accent-1)!important;
    font-weight: 600;
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
    flex-wrap: wrap;
    flex-direction: row;
    min-width: 520px;
}

.wp-block-navigation .wp-block-navigation__submenu-icon svg {
    margin-top: -.05rem;
}

.wp-block-navigation-submenu.has-child > a:hover {
    text-decoration: none!important;
}

/* .wp-block-navigation-submenu.has-child .wp-block-navigation__submenu-container li {
    width: 50%;
}

.wp-block-navigation-submenu.has-child .wp-block-navigation__submenu-container li:before {
    content: "—";
    display: inline-block;
    color: var(--wp--preset--color--accent-1);
    transform: translateY(-3px);
}

.wp-block-navigation-submenu.has-child .wp-block-navigation__submenu-container {
    margin-bottom: .75rem;
}

.wp-block-navigation-submenu.has-child .wp-block-navigation__submenu-container li > a {
    text-decoration: none!important;
    padding: 0 1rem!important;
    color: var(--wp--preset--color--black)!important;
    font-size: var(--wp--preset--font-size--regular);
    font-weight: 400 !important;
} */

.wp-block-navigation-submenu.has-child.current-menu-item .wp-block-navigation__submenu-container li > a:hover {
    color: var(--wp--preset--color--accent-2)!important;
}

.wp-block-button__link.wp-block-navigation-item a:hover {
    color: inherit!important;
}

.wp-block-buttons.no-arrow .wp-block-button__link:after,
.wp-block-button__link.no-arrow:after {
    display: none;
}

.wp-block-buttons.no-arrow .wp-block-button__link:hover {
    color: var(--wp--preset--color--accent-1);
    background-color: transparent!important;
}

.wp-block-button.has-body-font-size {
    font-size: 1rem!important;
}
.wp-block-button.has-body-font-size > a,
.wp-block-button.has-body-font-size > button {
    padding-top: .5rem;
    padding-right: 1.5rem;
    padding-bottom: .5rem;
    padding-left: 1.5rem;
}

.wp-block-site-logo img {
    max-width: 20rem;
    transition: 300ms;
}

.yoast-breadcrumbs {
    font-size: var(--wp--preset--font-size--small);
}

.yoast-breadcrumbs a {
    color: var(--wp--preset--color--black)!important;
    text-decoration: none!important;
    opacity: .5;
    transition: 300ms;
}

.yoast-breadcrumbs a:hover {
    opacity: 1;
    transition: 300ms;
}

.yoast-breadcrumbs > span > span:first-child a {
    display: inline-block;
    vertical-align: text-top;
    font-size: 0;
    height: 1rem;
    width: 1rem;
    background-image: url("data:image/svg+xml;utf8,<svg height='24' viewBox='0 0 20 24' width='24' xmlns='http://www.w3.org/2000/svg' fill='currentColor'><path d='m4 21v-9.375l-1.8 1.375-1.2-1.6 11-8.4 11 8.4-1.200001 1.575-1.799999-1.35v9.375zm2-2h4v-5h4v5h4v-8.9l-6-4.575-6 4.575zm0 0h12z'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

}

footer.wp-block-template-part {
    margin-top: 0!important;
    overflow: hidden;
}

footer.wp-block-template-part a {
    text-decoration: none!important;
    transition: 300ms;
}

header.wp-block-template-part {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 800;
}

header.wp-block-template-part:after {
    content: "";
    display: block;
    height: 1px;
    width: 0;
    margin: 0 auto;
    background-color: var(--wp--preset--color--gray);
    transition: 500ms;
}

header.wp-block-template-part.active:after {
    /* background-color: var(--wp--preset--color--base); */
    /* box-shadow: 0 0 1rem rgba(0, 0, 0, .2); */
    width: 100%;
    transition: 500ms;
}

header.wp-block-template-part .is-position-sticky {
    transition: 300ms;
}

header.wp-block-template-part .header-top-row {
    overflow: hidden;
    transition: 300ms;
}

header.wp-block-template-part.active .header-top-row {
    font-size: 0;
    height: 0;
    margin-bottom: 0!important;
    transition: 300ms;
}

header.wp-block-template-part.active .is-position-sticky {
    padding-top: 0.75rem!important;
    padding-bottom: 0.75rem!important;
    transition: 300ms;
}

header.wp-block-template-part .header-socials {
    position: relative;
    overflow: hidden;
}

header.wp-block-template-part .header-socials a {
    font-size: 0;
}

header.wp-block-template-part.active .header-socials {
    height: 0;
    margin-bottom: 0;
    transition: 300ms;
}

header.wp-block-template-part .menu-menu-container {
    margin-top: 0;
}

header.wp-block-template-part.active .menu-menu-container {
    margin-top: 0;
    transition: 300ms;
}

header.wp-block-template-part.active .wp-block-site-logo img {
    max-width: 11rem;
    transition: 300ms;
}

.wpfront-notification-bar-spacer {
    z-index: 750!important;
}

.wpfront-notification-bar-spacer ~ #wpadminbar ~ .wp-site-blocks > header.wp-block-template-part:not(.active) {
    top: 4.75rem!important;
}

.wpfront-notification-bar-spacer ~ .wp-site-blocks > header.wp-block-template-part:not(.active) {
    top: 2.75rem!important;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}

.main-content > :first-child {
    margin-top: 0!important;
}

.main-content h2 {
    font-size: var(--wp--preset--font-size--fs-h-3);
}

.main-content h3 {
    font-size: var(--wp--preset--font-size--fs-h-4);
}

.main-content h4 {
    font-size: var(--wp--preset--font-size--x-large);
}

.main-content h6 {
    text-transform: none;
    letter-spacing: normal;
}

.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6 {
    margin-top: 3rem;
    line-height: 1.3;
}

.main-content a[href^="tel"] {
    color: var(--wp--preset--color--accent-1);
}

.main-content p,
.main-content ul,
.main-content ol {
    font-size: var(--wp--preset--font-size--medium-large);
    line-height: 1.7;
}

.main-content .has-small-font-size p,
.main-content .has-body-font-size p,
.main-content .has-medium-font-size p {
    font-size: inherit!important;
}

.main-content ul {
    list-style: none;
    margin-bottom: 2rem;
    padding-left: 3rem;
    font-size: var(--wp--preset--font-size--medium);
}

.main-content ul li::marker {
    color: var(--wp--preset--color--accent-1);
}

.main-content ul li {
    text-indent: -1.25rem;
}

.main-content ul li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: .5rem;
    width: .5rem;
    margin-right: .75rem;
    background-color: var(--wp--preset--color--accent-7);
    transform: translateY(-2px);
}

.main-content ul.list-dash {
    list-style: none;
}

.main-content ul.list-dash li {
    text-indent: -2rem;
}

.main-content ol.wp-block-list {
    counter-reset: count-numbers;
    list-style: none;
    padding-left: 2.5rem;
}

.main-content ol.wp-block-list li {
    display: flex;
    margin-bottom: 1rem;
}

.main-content ol.wp-block-list li:before {
    counter-increment: count-numbers;
    content: counter(count-numbers);
    display: inline-block;
    flex-shrink: 0;
    height: 2rem;
    width: 2rem;
    line-height: 2rem;
    color: var(--wp--preset--color--base);
    background: var(--wp--preset--color--accent-1);
    text-align: center;
    border-radius: 50%;
    margin-right: .5rem;
}

.main-content .wp-block-list li .btn-arrow,
.main-content .wp-block-list li .btn-down {
    padding-left: 1.5rem;
}

.main-content .wp-block-image {
    margin-top: 2rem;
    margin-bottom: 2rem;
    border-radius: 1rem;
    overflow: hidden;
}

.heading-drop {
    display: flex;
}

.heading-drop:before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    padding-right: 1rem;
    height: 2rem;
    width: 1.5rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left bottom;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='283' height='438' viewBox='0 0 283 438'%3E%3Cpath fill='%232563eb' fill-rule='evenodd' d='M.676 298.772c0 76.403 63.053 138.278 140.825 138.278 77.778 0 140.823-61.875 140.823-138.278 0-97.943-109.29-161.542-118.108-270.567v-4.543c0-12.536-10.179-22.713-22.715-22.713-12.537 0-22.713 10.177-22.713 22.713v4.543c-9.087 109.026-118.112 172.625-118.112 270.567zm160.361 56.512c19.628-4.543 35.243-21.26 39.786-39.52 1.552-8.544 8.994-14.993 17.905-14.993 9.987 0 18.168 8.181 18.168 18.167 0 13.079-10.992 32.983-25.978 47.876-14.726 14.543-32.261 24.81-46.703 24.81-9.991 0-18.172-8.447-18.172-18.436.001-8.91 6.45-16.36 14.994-17.904z'/%3E%3C/svg%3E");
}

h4.heading-drop:before {
    height: 1.75rem;
    width: 1.125rem;
}

.heading-inline-number-wrap {
    counter-reset: header-inline-number;
}

.heading-inline-number:before {
    counter-increment: header-inline-number;
    content: counter(header-inline-number)".";
    display: inline-block;
    margin-right: .5rem;
    color: var(--wp--preset--color--accent-1);
}

.heading-number-wrap {
    counter-reset: header-number;
}

.heading-number {
    position: relative;
    padding-left: 2.75rem;
}

.heading-number:before {
    counter-increment: header-number;
    content: counter(header-number);
    display: inline-block;
    position: absolute;
    top: .15rem;
    left: 0;
    height: 2rem;
    width: 2rem;
    font-size: initial;
    font-weight: 500;
    line-height: 2rem;
    font-size: 1.25rem;
    text-align: center;
    color: var(--wp--preset--color--base);
    border-radius: 50%;
    background-color: var(--wp--preset--color--accent-1);
    margin-right: .5rem;
}

.inline-header-paragraph-wrap {
    counter-reset: header-paragraph-number;
}

.inline-header-paragraph {
    margin-top: 2rem!important;
}

.inline-header-paragraph .ihp-right {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.project-gallery {
    position: relative;
    height: 30rem;
    z-index: 2;
}

.project-gallery a {
    display: block;
    overflow: hidden;
    border-radius: 1rem;
}

.project-gallery a img {
    transform: scale(1);
    transition: 300ms;
}

.project-gallery a:hover img {
    transform: scale(1.1);
    transition: 300ms;
}

.project-gallery .project-img:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 36px;
    width: 36px;
    margin: 0 auto;
    opacity: 0;
    z-index: 3;
    background-repeat: no-repeat;
    background-size: contain;
    /* background-image: url(/images/angle180/icon-zoom.svg); */
    background-image: url("data:image/svg+xml,%3Csvg%20enable-background='new%200%200%20512%20512'%20fill='%23fff'%20height='512'%20viewBox='0%200%20512%20512'%20width='512'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='m497.913%20497.914c-18.782%2018.781-49.226%2018.781-68.008%200l-84.862-84.864c-34.89%2022.366-76.131%2035.718-120.66%2035.718-123.915%200-224.383-100.454-224.383-224.384s100.468-224.384%20224.383-224.384c123.931%200%20224.384%20100.453%20224.384%20224.384%200%2044.529-13.353%2085.771-35.718%20120.675l84.863%2084.849c18.783%2018.781%2018.783%2049.223.001%2068.006zm-273.53-433.804c-88.511%200-160.274%2071.763-160.274%20160.274%200%2088.526%2071.764%20160.274%20160.274%20160.274%2088.526%200%20160.273-71.748%20160.273-160.274%200-88.511-71.747-160.274-160.273-160.274zm32.055%20256.438h-64.108v-64.109h-64.11v-64.109h64.109v-64.11h64.108v64.11h64.11v64.109h-64.11v64.109z'/%3E%3C/svg%3E");
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -moz-transition: opacity 300ms ease-in-out;
    -o-transition: opacity 300ms ease-in-out;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}

.project-gallery .project-img:hover:before {
    opacity: .5;
    /* animation: zoomin 3s cubic-bezier(0.36, 0.07, 0.19, 0.97); */
    backface-visibility: hidden;
    -moz-transform: translateY(-50%) scale(1);
    -o-transform: translateY(-50%) scale(1);
    -ms-transform: translateY(-50%) scale(1);
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
    -moz-transition: opacity 300ms ease-in-out;
    -o-transition: opacity 300ms ease-in-out;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}

.project-gallery .project-img:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    z-index: 2;
    background-color: rgba(0, 0, 0, .7);
    -moz-transition: opacity 300ms ease-in-out;
    -o-transition: opacity 300ms ease-in-out;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}

.project-gallery .project-img:hover:after {
    opacity: 1;
    -moz-transition: opacity 300ms ease-in-out;
    -o-transition: opacity 300ms ease-in-out;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}

.project-gallery .project-img-1 {
    display: block;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    width: 64%;
}

.project-gallery .project-img-2, 
.project-gallery .project-img-3 {
    display: block;
    position: absolute;
    right: 0;
    height: calc(50% - 3rem);
    width: calc(36% - 1.5rem);
}

.project-gallery .project-img-2 {
    top: 0;
}

.project-gallery .project-img-3 {
    top: calc(50% - 1.5rem);
}

.project-gallery img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    max-width: 100%;
}

.project-gallery .btn-gallery {
    position: absolute;
    height: 3rem;
    right: 0;
    bottom: 0;
    width: calc(36% - 1.5rem);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    font-size: var(--wp--preset--font-size--normal);
}

.project-list.columns .project-item {
    padding: 0!important;
}

.project-list.columns .project-item .project-content {
    padding: 0 1.5rem 2.5rem!important;
}

.project-list.columns .project-item .project-content .image {
    margin: 0 -1.5rem 1.75rem!important;
    border-bottom-left-radius: 0!important;
    border-bottom-right-radius: 0!important;
}

.project-list.columns > .mb-2 {
    margin-bottom: 4rem!important;
}

.project-item {
    position: relative;
}

#baguetteBox-overlay.visible {
    background-color: rgba(14, 42, 71, 0.95)!important;
}

@media (min-width: 568px) and (max-width: 1023px) {
    .grid-blogposts {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 950px) and (max-width: 1023px) {
    .hero-home h1 {
        max-width: 30rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    #wpadminbar ~ .wp-site-blocks > header {
        top: 46px!important;
    }

    #wpadminbar ~ .wp-site-blocks > header .menu-mobile-menu-container {
        margin-top: 46px;
    }

    #wpadminbar ~ .wp-site-blocks > header .mobile-menu-wrapper.active .btn-mobile-menu-toggle {
        top: calc(1rem + 46px);
    }

    .content-top-offset {
        margin-top: 9rem!important;
    }

    .full-w-tablet {
        margin-right: -90%;
    }

    .project-item {
        padding: 1.5rem!important;
    }

    .has-background .images-wrap figure {
        width: 50%!important;
        max-width: 9rem!important;
    }

    .tablet-is-align-items-bottom {
        align-items: flex-end!important;
    }

    header.wp-block-template-part .header-top-row {
        font-size: .75rem;
    }

    header.wp-block-template-part .header-top-row .has-icon-location:before,
    header.wp-block-template-part .header-top-row svg {
        height: 1.25rem;
        width: 1.25rem;
    }

    .review-details {
        margin-right: -100%;
    }

    .project-gallery {
        height: 24rem;
    }

    li.cpt-reviews {
        width: 50%;
    }

    .inline-header-paragraph .ihp-left {
        padding: 0 .5rem;
    }

    .inline-header-paragraph .ihp-left h3 {
        font-size: 2.75vw!important;
    }
}

@media screen and (max-width: 567px) {
    .inline-header-paragraph {
        display: block!important;
    }
}

@media screen and (min-width: 568px) {
    .inline-header-paragraph {
        display: flex;
        margin-top: 0!important;
    }

    .inline-header-paragraph .ihp-left {
        width: 40%;
        flex-shrink: 0;
        margin-right: 10%;
        text-align: center;
        justify-content: center;
    }
    
    .inline-header-paragraph .ihp-right {
        width: 50%;
        flex-shrink: 0;
    }
}

.inline-header-paragraph .ihp-left > * {
    display: flex;
}

.inline-header-paragraph-wrap.has-numbers .ihp-left > *:before {
    counter-increment: header-paragraph-number;
    content: counter(header-paragraph-number)". ";
    display: inline-block;
    margin-right: .25rem;
    flex-shrink: 0;
}

.faq-item-q {
    font-size: var(--wp--preset--font-size--x-large)!important;
    font-weight: 500!important;
    margin-top: 2rem!important;
    margin-bottom: .75rem!important;
}

.faq-item-a p {
    margin-top: 0!important;
}

.faq-item-a p:last-child {
    margin-bottom: 0!important;
}

.faq-item-q:before,
.faq-item-a:before {
    display: inline-block;
    vertical-align: text-top;
    flex-shrink: 0;
    height: 2rem;
    width: 2rem;
    font-size: initial;
    font-weight: 500;
    line-height: 2rem;
    font-size: 1.25rem;
    text-align: center;
    color: var(--wp--preset--color--base);
    border-radius: 50%;
    margin-right: 1rem;
}

.faq-item-q:before {
    content: "Q";
    background-color: var(--wp--preset--color--accent-1);
    transform: translateY(-.125rem);
}

.faq-item-a:before {
    content: "A";
    background-color: var(--wp--preset--color--accent-2);
}

.gap-2 {
    gap: 2rem!important;
}

.list-reset {
    list-style: none;
}

body .list-toc li a:hover:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):not(.wp-block-navigation-item__content):not(.project-tags-item):not(.block-editor-list-view-block-contents):not(.btn-arrow):not(.btn-down) {
    color: var(--wp--preset--color--accent-2)!important;
    transition: 300ms;
}

.list-box {
    gap: .5rem!important;
}

.list-box.list-split {
    gap: 2.5rem!important;
}

.list-box .wp-block-navigation-item {
    display: block;
    width: 100%;
}

.list-box .wp-block-navigation-item__label:after {
    display: none!important;
}

.list-box .wp-block-navigation-item__content {
    text-decoration: none!important;
}

.list-box a {
    display: inline-block;
    width: 100%;
    color: var(--wp--preset--color--black)!important;
    background-color: var(--wp--preset--color--gray);
    padding: .5rem 1.6rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transform: scale(1);
    transition: 300ms;
    background-repeat: no-repeat;
    background-position: top .5rem right .5rem;
    background-size: 1.25rem;
    background-image: url('data:image/svg+xml,%3Csvg fill="%232563EB" xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"%3E%3Cpath d="m216-160-56-56 464-464H360v-80h400v400h-80v-264L216-160Z"%3E%3C/path%3E%3C/svg%3E');
}
.list-box a:hover {
    transform: scale(1.05);
    transition: 300ms;
}

.list-box li > a:not(.wp-block-navigation-item__content) {
    background-color: inherit!important;
}

.list-check {
    padding-left: 1rem!important;
}

.list-check li {
    display: flex;
    line-height: 1.4;
    margin-top: 0.75rem;
    white-space: break-spaces;
}

.list-check li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: clamp(1.25rem, 1.5rem + ((1vw - 0.2rem) * 0.313), 2rem);
    width: clamp(1.25rem, 1.5rem + ((1vw - 0.2rem) * 0.313), 2rem);
    flex-shrink: 0;
    margin-right: .75rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* background-image: url(/wp-content/themes/angle180/assets/images/check.svg); */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1133.9 1133.9'><g fill='%2384C044'><path d='m1040 249.3c3 3.7 5.3 6.8 5.3 11.7 0 5-1.6 9.1-5.1 12.7-11.1 13.8-101.6 105-467.6 481-12.1 12.1-31.7 12.1-43.8 0l-216.7-216.6c-5.8-5.8-9.1-13.7-9.1-21.9s3.3-16.1 9.1-21.9l37.5-37.4c12-12 31.4-12.1 43.6-.2l157 154.3c.3.3.9.4 1.3 0 134.5-117.5 136-119.6 244-213.9 153.6-134.2 226.8-169.3 244.5-147.8z'/><path d='m948 475.9c-.7-3-3-5.4-6-6.3s-6.2 0-8.4 2.2l-56.9 56.7c-2.6 2.6-3.9 6.2-3.6 9.9.9 9.4 1.3 19 1.3 28.6 0 173-140.7 313.7-313.7 313.7s-313.7-140.8-313.7-313.8 140.7-313.7 313.7-313.7c29.3 0 57.7 4 84.6 11.6 16.7 4.7 46.6 13.3 80 35.1 16.2 10.6 29.2 21.7 39.2 31.4 4.8 4.6 12.3 4.7 17.2.2 15.1-14 30.2-27.9 45.4-41.9 2.5-2.3 3.9-5.5 3.9-8.9s-1.4-6.6-3.9-8.9c-6.2-5.7-13.3-11.9-21.3-18.3-10.1-8-22.2-16.7-38.1-26.4-40.3-24.5-78.1-36.8-88.1-39.9 0 0-57.7-18.1-118.8-18.1-219.7.1-397.8 178.2-397.8 397.8 0 219.7 178.1 397.8 397.8 397.8s397.8-178.1 397.8-397.8c-.1-31.3-3.7-61.8-10.6-91z'/></g></svg>");
    /* transform: translateY(0); */
}

.list-dash li::before {
    content: "—";
    display: inline-block;
    color: var(--wp--preset--color--accent-2);
    width: 2rem;
    transform: translateX(2rem);
}

.list-squares li {
    display: flex;
}

.list-squares li:before {
    content: "";
    display: inline-block;
    height: .75rem;
    width: .75rem;
    margin-right: .75rem;
    background-color: var(--wp--preset--color--accent-1);
    transform: translateY(.7rem);
}

.item-square,
.dot-item-wrap {
    padding-left: 3rem!important;
}

.item-square .item-square--title,
.dot-item--top {
    display: flex;
    margin-bottom: 0;
    transform: translateX(-1.5rem);
    font-size: var(--wp--preset--font-size--x-large)!important;
}

.item-square .item-square--title a,
.dot-item--top a {
    color: var(--wp--preset--color--black)!important;
}

.item-square .item-square--title:before,
.dot-item--top:before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: .75rem;
    width: .75rem;
    margin-right: .75rem;
    background-color: var(--wp--preset--color--accent-2);
    transform: translateY(.5rem);
}

.item-square h4.item-square--title:before,
.dot-item--top:before {
    transform: translateY(.6rem);
}

.item-ol {
    padding-left: 4rem!important;
}

.item-ol .item-ol--title {
    display: flex;
    transform: translateX(-3.75rem);
    font-size: var(--wp--preset--font-size--x-large);
}

.item-ol .item-ol--title a {
    color: var(--wp--preset--color--black)!important;
}

.item-ol .item-ol--title:before {
    counter-increment: list-ol;
    content: counter(list-ol);
    display: inline-block;
    flex-shrink: 0;
    height: 3rem;
    width: 3rem;
    text-align: center;
    line-height: 3rem;
    margin-right: .75rem;
    border-radius: 50%;
    color: var(--wp--preset--color--base);
    background-color: var(--wp--preset--color--accent-1);
    transform: translateY(-.5rem);
}

.item-ol h3.item-ol--title:before {
    height: 2.5rem;
    width: 2.5rem;
    line-height: 2.5rem;
    margin-right: 1.125rem;
    transform: translateY(-.25rem);
}

.item-ol h4.item-ol--title:before {
    height: 2rem;
    width: 2rem;
    line-height: 2rem;
    transform: translateY(-.125rem);
}

.item-ol h4.item-ol--title ~ p {
    transform: translateX(-1rem);
}

.item-ol--title ~ p {
    margin-top: .5rem;
}

.list-ol {
    counter-reset: list-ol;
}

.list-ol li {
    font-size: var(--wp--preset--font-size--medium)!important;
}

.list-ol li a:after {
    display: none!important;
}

ol.list-numbers {
    margin-bottom: 2rem;
    padding-left: 3rem;
}

ol.list-numbers li {
    margin-top: 0!important;
}

ol.list-numbers li a:after {
    display: none!important;
}

ol.list-numbers li::marker {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--wp--preset--color--accent-1);
}

.main-content a[href^="tel:"],
.main-content a[href^="mailto:"] {
    text-decoration: none!important;
}

/* .main-content a:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):not(.project-tags-item):not(.wp-block-navigation-item__content) {
    color: var(--wp--preset--color--accent-1);
    text-decoration: underline;
    text-underline-offset: 7px;
    text-decoration-color: var(--wp--preset--color--accent-9);
    transition: 300ms;
} */

.main-content a:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):not(.project-tags-item):not(.wp-block-navigation-item__content):hover {
    color: var(--wp--preset--color--accent-1) !important;
    text-decoration-color: transparent;
    transition: 300ms;
}

.text-standout strong {
    color: var(--wp--preset--color--accent-2);
}

.wp-block-quote > * {
    color: var(--wp--preset--color--accent-1);
    font-size: var(--wp--preset--font-size--x-large);
    font-weight: 600;
}

.sticky-top-offset {
    top: 9rem;
}

.content-top-offset {
    margin-top: 7.625rem!important;
}

.has-dot {
    padding-left: 4rem;
}

.has-dot:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    height: .625rem;
    width: .625rem;
    border-radius: 50%;
    background-color: var(--wp--preset--color--accent-2);
    transform: translate(1rem, .75rem);
}

.has-dash {
    padding-left: 4rem;
}

.has-dash .wp-block-heading {
    text-indent: -2.5rem;
}

.has-dash .wp-block-heading::before {
    content: "—";
    display: inline-block;
    color: var(--wp--preset--color--accent-2);
    width: 2.5rem;
    transform: translateX(2rem);
}

.heading strong {
    color: var(--wp--preset--color--accent-2);
}

.is-inline-label {
    display: flex;
}

.max-44 {
    max-width: 44rem;
}

.max-h {
    height: auto!important;
    max-height: max-content!important;
}

.p-max {
    max-width: 48.5rem;
}

.py-5 {
    padding-top: 5rem!important;
    padding-bottom: 5rem!important;
}

.py-05 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important;
}

.py-075 {
    padding-top: .75rem!important;
    padding-bottom: .75rem!important;
}

.py-2 {
    padding-top: 2rem!important;
    padding-bottom: 2rem!important;
}

.pb-2 {
    padding-bottom: 2rem!important;
}

.pb-0 {
    padding-bottom: 0!important;
}

.pt-0 {
    padding-top: 0!important;
}

.pb-05 {
    padding-bottom: .5rem!important;
}

.pb-075 {
    padding-bottom: .75rem!important;
}

.pb-1 {
    padding-bottom: 1rem!important;
}

.pl-0 {
    padding-left: 0!important;
}

.pl-075 {
    padding-left: .75rem!important;
}

.pr-1 {
    padding-right: 1rem!important;
}

.pr-5 {
    padding-right: 5rem!important;
}

.p-2-5 {
    padding: 2.5rem;
}

.p-3 {
    padding: 3rem;
}

.p-1 {
    padding: 1rem;
}

.px-2 {
    padding-left: 2rem!important;
    padding-right: 2rem!important;
}

.mx-auto {
    margin-left: auto!important;
    margin-right: auto!important;
}

.m-0 {
    margin: 0!important;
}

.my-0 {
    margin-top: 0!important;
    margin-bottom: 0!important;
}

.mx-0 {
    margin-left: 0!important;
    margin-right: 0!important;
}

.mt-0 {
    margin-top: 0!important;
}

.mb-0 {
    margin-bottom: 0!important;
}

.mb-05 {
    margin-bottom: .5rem!important;
}

.mb-1 {
    margin-bottom: 1rem!important;
}

.mt-05 {
    margin-top: .5rem!important;
}

.ml-0 {
    margin-left: 0!important;
}

.ml-auto {
    margin-left: auto!important;
}

.mr-0 {
    margin-right: 0!important;
}

.ml-05 {
    margin-left: .5rem!important;
}

.-ml-05 {
    margin-left: -.5rem!important;
}

.ml-1 {
    margin-left: 1rem!important;
}

.mr-05 {
    margin-right: .5rem!important;
}

.my-1 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important;
}

.mx-1 {
    margin-left: 1rem!important;
    margin-right: 1rem!important;
}

.mt-1 {
    margin-top: 1rem!important;
}

.mr-1 {
    margin-right: 1rem!important;
}

.mr-1-5 {
    margin-right: 1.5rem!important;
}

.mr-2 {
    margin-right: 2rem!important;
}

.mr-3 {
    margin-right: 3rem!important;
}

.mt-2 {
    margin-top: 2rem!important;
}

.-mt-2 {
    margin-top: -2rem!important;
}

.mb-2 {
    margin-bottom: 2rem!important;
}

.mb-3 {
    margin-bottom: 3rem!important;
}

.my-2 {
    margin-top: 2rem!important;
    margin-bottom: 2rem!important;
}

.mx-2 {
    margin-left: 2rem!important;
    margin-right: 2rem!important;
}

.mt-3 {
    margin-top: 3rem!important;
}

.ml-3 {
    margin-left: 3rem!important;
}

.my-4 {
    margin-top: 4rem!important;
    margin-bottom: 4rem!important;
}

.mr-5 {
    margin-right: 5rem!important;
}

.mt-4 {
    margin-top: 4rem!important;
}

.mt-5 {
    margin-top: 5rem!important;
}

.wp-block-navigation {
    gap: 2rem;
}

footer .wp-block-navigation {
    gap: .75rem;
}

.flex-child {
    flex: 0 1 auto!important;
}

.underline-animate {
    display: inline;
    background-image: linear-gradient(var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-1));
    background-repeat: no-repeat;
    background-size: 0% 5px;
    background-position: 0 100%;
    transition: background-size 1500ms ease;
}

.underline-animate.visible {
    background-size: 100% 5px;
}

.b-radius {
    border-radius: 1rem;
}

.b-radius-100 {
    border-radius: 100%;
}

.wp-block-quote {
    margin-left: 2rem;
    border-color: var(--wp--preset--color--accent-3);
    border-width: 0 0 0 3px;
}

.wp-block-quote p {
    color: var(--wp--preset--color--accent-7);
    font-size: var(--wp--preset--font-size--x-large);
}

.wp-block-latest-posts li {
    margin-bottom: 1rem;
}

input, select, textarea {
    font-family: 'DM Sans', sans-serif;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: #737373!important;
}

.wpcf7-not-valid-tip {
    font-size: .75rem;
}

.wpcf7 form .wpcf7-response-output {
    margin-top: 0!important;
}

.modal[id^="form-"] .modal__container {
    max-width: 31.25rem;
}

.modal[id^="pdf-"] .modal__container {
    max-width: 60rem;
}

#form-schedule-title {
    display: none;
}

.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: .5rem;
}

.wpcf7-form * {
    box-sizing: border-box;
}

.wpcf7-form > p,
.wpcf7-form .column > p {
    margin-top: 0!important;
    margin-bottom: 0!important;
}

.wpcf7-form br {
    display: none;
}

.wpcf7-form .min-h {
    min-height: 3.25rem;
}

.wpcf7-form .has-large-font-size {
    line-height: 1.2;
}

.wpcf7-form input:not([type="submit"]),
.wpcf7-form select,
.wpcf7-form textarea {
    display: block;
    font-family: "Open Sans", sans-serif;
    font-size: var(--wp--preset--font-size--medium);
    width: 100%;
    padding: .75rem 1.25rem;
    border-radius: .5rem;
    border: 1px solid var(--wp--preset--color--accent-9);
    background: var(--wp--preset--color--base);
}

.wpcf7-form input:not([type="submit"])::placeholder,
.wpcf7-form select,
.wpcf7-form textarea::placeholder {
    color: var(--wp--preset--color--black);
}

.wpcf7-form textarea {
    height: 7rem;
}

.wpcf7-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M480-360 280-560h400L480-360Z"/></svg>');
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 1.5rem;
    padding-right: 2.25rem; 
    min-height: 3.125rem;
}

.wpcf7-form  .wp-block-button__link {
    width: auto;
}

.form-submit-wrap > p {
    display: flex;
    align-items: center;
}

.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 5;
    stroke-miterlimit: 10;
    stroke: #5eba7d;
    fill: none;
    animation-delay: 1s;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark {
    width: 100%;
    max-width: 4rem;
    height: 4rem;
    border-radius: 50%;
    display: block;
    stroke-width: 5;
    stroke: #fff;
    stroke-miterlimit: 10;
    margin: 0 auto 1.5rem;
    box-shadow: inset 0px 0px 0px #5eba7d;
    animation-delay: 1s;
    animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
}

.checkmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation-delay: 1s;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

.btn-tooltip,
.is-info {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    border: none;
    background: transparent;
}

.btn-tooltip {
    cursor: pointer;
}

.is-info {
    align-items: flex-start;
}

.is-info:before {
    transform: translateY(.25rem);
}

.btn-tooltip:before,
.is-info:before {
    content: "";
    display: inline-block;
    height: 1rem;
    width: 1rem;
    margin-right: .5rem;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23009fff'%3E%3Cpath d='M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");
}

.btn-tooltip > span {
    text-decoration: underline;
    text-decoration-color: var(--wp--preset--color--accent-1);
    text-underline-offset: 0.25rem;
    transition: 300ms;
}

.btn-tooltip:hover > span {
    text-decoration-color: transparent;
}

@keyframes stroke {
    100% {
        stroke-dashoffset: 0;
    }
}
@keyframes scale {
    0%, 100% {
        transform: none;
    }
    50% {
        transform: scale3d(1.1, 1.1, 1);
    }
}
@keyframes fill {
    100% {
        box-shadow: inset 0px 0px 0px 90px #5eba7d;
    }
}

.video-mask {
  mask: url(#mask-shape);
  -webkit-mask: url(#mask-shape);
  mask-repeat: no-repeat;
  mask-size: cover;
  overflow: hidden;
}

.video-mask video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.svg-mask {
  position: absolute;
  width: 0;
  height: 0;
}

.has-stars {
    display: flex;
    align-items: end;
    line-height: 1;
}

.has-stars:after {
    content: "";
    display: inline-block;
    height: 1.25rem;
    width: 5.1rem;
    margin-left: .5rem;
    background: url('/wp-content/themes/angle180/assets/images/star.svg') center center;
    background-size: contain;
}

.link-absolute {
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    margin: 0;
    z-index: 1;
    font-size: 0;
}

.link-absolute a {
    display: block;
    height: 100%;
    width: 100%;
}

.link-absolute.has-arrow:after {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transform: translate(2rem, 50%);
    transition: 300ms;
}

.link-absolute.has-arrow:hover:after {
    opacity: 1;
    transform: translate(3rem, 50%);
}

.has-box .has-arrow:after {
    transform: translate(0, .6rem);
}

.has-box:hover .has-arrow:after {
    transform: translate(.5rem, .6rem);
}

@keyframes imagesLoop {
    0% {
        -moz-transform: translateX(0%);
        -o-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -webkit-transform: translateX(0%);
        transform: translateX(0%); 
    }
    100% {
        -moz-transform: translateX(-100%);
        -o-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%); 
    } 
}

.image.is-square img {
    object-fit: cover;
}

.wp-block-gallery {
    position: relative;
    width: 100%;
    max-width: 1024px; /* optional */
    height: auto;
    background: var(--wp--preset--color--accent-1);
}

.is-4by3 {
    aspect-ratio: 4 / 3;
}

.is-3by2 {
    aspect-ratio: 3 / 2;
}

.wp-block-gallery.is-16by9,
.is-16by9,
.is-16by9 * {
    aspect-ratio: 16 / 9;
}

.image img {
    object-fit: cover;
    height: auto;
    max-width: 100%;
}

.wp-block-gallery .wp-block-image {
  position: absolute!important;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%!important;
  opacity: 0;
  animation: fadeGallery 9s infinite;
}

.wp-block-gallery .wp-block-image:nth-child(1) {
  animation-delay: 0s;
}
.wp-block-gallery .wp-block-image:nth-child(2) {
  animation-delay: 3s;
}
.wp-block-gallery .wp-block-image:nth-child(3) {
  animation-delay: 6s;
}

.wp-block-group.has-background + .wp-block-group.has-background {
    margin-top: 0!important;
}

@keyframes fadeGallery {
  0% { opacity: 0; }
  8% { opacity: 1; }
  33% { opacity: 1; }
  41% { opacity: 0; }
  100% { opacity: 0; }
}

/* Optional: make sure images fit */
.wp-block-gallery img {
  width: 100%;
  height: auto;
  display: block;
}


.image-loops {
    position: relative;
    display: flex; 
}

.image-loops:before, .image-loops:after {
    content: "";
    height: 100%;
    width: 40px;
    position: absolute;
    top: 0px;
    z-index: 1; 
}

.image-loops:before {
    left: -.75rem;
    background: linear-gradient(to left, var(--wp--preset--color--accent-8), rgba(234, 239, 243, 0)); 
    transform: rotate(180deg);
}

.image-loops:after {
    right: -.75rem;
    background: linear-gradient(to left, var(--wp--preset--color--accent-8), rgba(234, 239, 243, 0)); 
}

.images-loop {
    display: flex;
    flex-shrink: 0;
    -webkit-animation: 50s linear 0s infinite normal none imagesLoop;
    -moz-animation: 50s linear 0s infinite normal none imagesLoop;
    -ms-animation: 50s linear 0s infinite normal none imagesLoop;
    -o-animation: 50s linear 0s infinite normal none imagesLoop;
    animation: 50s linear 0s infinite normal none imagesLoop; 
}

.images-loop img {
    display: block;
    height: 4rem;
    width: 8rem;
    max-width: 12.5rem;
    margin: 0 1rem;
    object-fit: contain; 
    filter: grayscale(100%);
}

.images-loop img:hover {
    filter: grayscale(0);
}

.images-loop img[src*=".svg"] {
    width: 10rem; 
}

.is-square-box {
    aspect-ratio: 1;
    border-radius: 1rem;
}

@media screen and (max-width: 767px) {
    .is-square-box {
        max-width: 12.5rem;
    }
}

.review-body {
    position: relative;
    /* display: flex; */
}

.review-content p {
    margin-top: .5rem;
}

.review-body:before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    margin-bottom: .75rem;
    margin-right: 1.5rem;
    color: var(--wp--preset--color--accent-2);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg%20height%3D%2252%22%20viewBox%3D%220%200%2057%2052%22%20width%3D%2257%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m20.9083333%2029.3583333v22.6416667h-20.9083333v-17.875c0-9.6778262%201.155544-16.6833117%203.46666667-21.0166667%203.0333485-5.77780663%207.83607823-10.14720738%2014.40833333-13.1083333l4.7666667%207.58333333c-3.9722421%201.66111942-6.8972129%204.13470577-8.775%207.42083337-1.8777872%203.2861275-2.924999%208.0708019-3.1416667%2014.3541666zm33.5833334%200v22.6416667h-20.9083334v-17.875c0-9.6778262%201.155544-16.6833117%203.4666667-21.0166667%203.0333485-5.77780663%207.8360782-10.14720738%2014.4083333-13.1083333l4.7666667%207.58333333c-3.9722421%201.66111942-6.8972128%204.13470577-8.775%207.42083337-1.8777872%203.2861275-2.9249989%208.0708019-3.1416667%2014.3541666z%22%20fill%3D%22%239c3%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml;utf8,%3Csvg%20height%3D%2252%22%20viewBox%3D%220%200%2057%2052%22%20width%3D%2257%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m20.9083333%2029.3583333v22.6416667h-20.9083333v-17.875c0-9.6778262%201.155544-16.6833117%203.46666667-21.0166667%203.0333485-5.77780663%207.83607823-10.14720738%2014.40833333-13.1083333l4.7666667%207.58333333c-3.9722421%201.66111942-6.8972129%204.13470577-8.775%207.42083337-1.8777872%203.2861275-2.924999%208.0708019-3.1416667%2014.3541666zm33.5833334%200v22.6416667h-20.9083334v-17.875c0-9.6778262%201.155544-16.6833117%203.4666667-21.0166667%203.0333485-5.77780663%207.8360782-10.14720738%2014.4083333-13.1083333l4.7666667%207.58333333c-3.9722421%201.66111942-6.8972128%204.13470577-8.775%207.42083337-1.8777872%203.2861275-2.9249989%208.0708019-3.1416667%2014.3541666z%22%20fill%3D%22%239c3%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.review-image {
    max-width: 100%;
    margin: 0 auto;
}

.review-author-image img {
    height: 4.6875rem;
    width: 4.6875rem;
}

.review-details {
    line-height: 1.3;
}

.project-review .review-author-image img {
    height: 3.5rem;
    width: 3.5rem;
}

.project-review .review-body.pos-quote:before {
    transform: translateY(-5rem);
}

@keyframes rightback {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    50% {
        -webkit-transform: translateX(1rem);
        transform: translateX(1rem);
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes leftback {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    50% {
        -webkit-transform: translateX(-1rem);
        transform: translateX(-1rem);
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.review-controls button {
    font-size: 1.75rem;
    color: var(--wp--preset--color--accent-7);
    cursor: pointer;
    border: none;
    background: var(--wp--preset--color--gray);
    margin-right: .5rem;
    height: 2.5rem;
    width: 2.5rem;
    line-height: 2.5rem;
    padding: 0;
}

.review-controls button:hover {
    animation: zoomin 1s;
}

.review-controls button#prev:hover {
    animation: zoomin 1s;
}

.project-content img {
    height: 100%;
    object-position: center;
}

.project-tags-item br {
    display: none;
}

.project-tags-item {
    font-size: .75rem;
    color: var(--wp--preset--color--base);
    text-decoration: none;
    padding: .125rem .5rem;
    border-radius: .75rem;
    z-index: 10;
    opacity: 1;
    transition: 300ms;
}

.project-tags-item:hover {
    opacity: .8;
    transition: 300ms;
}

.faq-tab {
    /* padding: 1.5rem 1.75rem; */
    margin-bottom: .75rem;
    background-color: #fff;
    border-radius: 1rem;
}

.faq-tab-q {
    cursor: pointer;
    position: relative;
    display: block;
    font-size: var(--wp--preset--font-size--x-large);
    width: 100%;
    /* padding: 0 1.75rem 0 0; */
    padding: 1.5rem 3.5rem 1.5rem 1.75rem;
    text-align: left;
    border: none;
    background-color: transparent;
}

.faq-tab-q.active ~ .faq-tab-a {
    padding-bottom: 1rem;
}

.faq-tab-q:after {
    content: "+";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    color: var(--wp--preset--color--accent-1);
    transform: translate(-1.75rem, -50%);
    -webkit-transform: translate(-1.75rem, -50%);
    -moz-transform: translate(-1.75rem, -50%);
}

.faq-tab-q.active:after {
    content: "\2012";
}

.faq-tab-q:focus {
    outline: none;
}

.faq-tab-q h3 {
    margin: 0;
    font-size: inherit;
}

.faq-tab-a {
    display: block;
    /* padding: .75rem 0 1.25rem; */
    padding: 0 1.75rem;
    font-size: var(--wp--preset--font-size--medium-large);
}

.faq-tab-a div:first-child * {
    margin-top: 0!important;
}

.reviews-list .review-body:before,
.review-body.pos-quote:before {
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 0;
    height: 3rem;
    width: 3rem;
    transform: translateY(-3.75rem);
}

.reviews-list img {
    height: 4rem;
    width: 4rem;
}

li.cpt-reviews {
    flex: none;
    padding: 0 var(--bulma-column-gap);
    margin-bottom: 2rem;
}

#place-card {
    position: absolute;
    top: .5rem;
    left: .5rem;
    width: calc(100% - 1rem);
    max-width: 420px;
    padding: 1rem 1.5rem;
    border: 1px solid #ddd;
    background-color: #ffffff;
}

#place-card p:first-child {
    margin-top: 0!important;
}

#place-card p:last-child {
    margin-bottom: 0!important;
}

.icon-pdf {
    display: flex;
}

.icon-pdf:before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: 2rem;
    width: 2rem;
    margin-right: .5rem;
    background-image: url("data:image/svg+xml;utf8,<svg fill='%232563EB' height='24' viewBox='0 -960 960 960' width='24' xmlns='http://www.w3.org/2000/svg'><path d='m320-440h320v-80h-320zm0 120h320v-80h-320zm0 120h200v-80h-200zm-80 120q-33 0-56.5-23.5t-23.5-56.5v-640q0-33 23.5-56.5t56.5-23.5h320l240 240v480q0 33-23.5 56.5t-56.5 23.5zm280-520v-200h-280v640h480v-440zm-280-200v200-200 640z'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.has-icon-location {
    display: flex;
}

.has-icon-location:before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: 1.75rem;
    width: 1.75rem;
    margin-right: .5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: currentColor;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-80q-106 0-173-33.5T240-200q0-24 14.5-44.5T295-280l63 59q-9 4-19.5 9T322-200q13 16 60 28t98 12q51 0 98.5-12t60.5-28q-7-8-18-13t-21-9l62-60q28 16 43 36.5t15 45.5q0 53-67 86.5T480-80Zm0-120Q339-304 269.5-402T200-594q0-71 25.5-124.5T291-808q40-36 90-54t99-18q49 0 99 18t90 54q40 36 65.5 89.5T760-594q0 94-69.5 192T480-200Zm0-320q33 0 56.5-23.5T560-600q0-33-23.5-56.5T480-680q-33 0-56.5 23.5T400-600q0 33 23.5 56.5T480-520Z'/></svg>") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'><path d='M480-80q-106 0-173-33.5T240-200q0-24 14.5-44.5T295-280l63 59q-9 4-19.5 9T322-200q13 16 60 28t98 12q51 0 98.5-12t60.5-28q-7-8-18-13t-21-9l62-60q28 16 43 36.5t15 45.5q0 53-67 86.5T480-80Zm0-120Q339-304 269.5-402T200-594q0-71 25.5-124.5T291-808q40-36 90-54t99-18q49 0 99 18t90 54q40 36 65.5 89.5T760-594q0 94-69.5 192T480-200Zm0-320q33 0 56.5-23.5T560-600q0-33-23.5-56.5T480-680q-33 0-56.5 23.5T400-600q0 33 23.5 56.5T480-520Z'/></svg>") no-repeat center / contain;
}

.spinner--cube {
    margin: 20px auto;
    width: 40px;
    height: 40px;
    position: relative;
}

.wp-block-table .has-fixed-layout {
    width: 774px;
}

.wp-block-table {
    overflow-x: auto;
    font-size: var(--wp--preset--font-size--medium);
}

.wp-block-table thead {
    border: none;
    line-height: 1.3;
    background-color: var(--wp--preset--color--gray);
}

.wp-block-table th {
    border: none;
    padding: .75rem 1rem;
    text-align: center;
}

.wp-block-table td {
    border: none;
    padding: .5rem 1rem;
}

.col-1-25 thead th:nth-child(1),
.col-2-25 thead th:nth-child(2),
.col-3-25 thead th:nth-child(3),
.col-4-25 thead th:nth-child(4) {
    width: 25%;
}

@keyframes sk-cubemove {
    25% { 
        transform: translateX(42px) rotate(-90deg) scale(0.5);
        -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
    } 
    50% { 
        transform: translateX(42px) translateY(42px) rotate(-179deg);
        -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
    } 
    50.1% { 
        transform: translateX(42px) translateY(42px) rotate(-180deg);
        -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
    } 
    75% { 
        transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
        -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    } 
    100% { 
        transform: rotate(-360deg);
        -webkit-transform: rotate(-360deg);
    }
}

.spinner--cube .spinner__1, 
.spinner--cube .spinner__2 {
    background-color: #ddd;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
    animation: sk-cubemove 1.8s infinite ease-in-out;
}

.modal .spinner--cube {
    position: absolute;
    top: 30%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
}

.share-links a {
    display: inline-block!important;
    padding: 0 .3rem;
}

.wp-block-search__inside-wrapper {
    align-items: center;
}

.wp-block-search__input {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.wp-block-search__button {
    padding-top: .4rem!important;
    padding-right: 1.75rem!important;
    padding-bottom: .4rem!important;
    padding-left: 1.75rem!important;
    transform: scale(1);
    transition: 300ms;
}

.wp-block-search__button:hover {
    transform: scale(1.1);
    transition: 300ms;
}

.columns-wrapped > .column > .wp-block-group {
    padding-left: 1rem;
    padding-right: 1rem;
}

.menu-item-has-children.depth-0 > .menu-item-has-children {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    height: 0;
    max-height: 0;
    background-color: var(--wp--preset--color--base);
    transition: max-height 500ms ease-in-out;
    overflow: hidden;
}

.menu-item-has-children.depth-0.active .menu-item-has-children {
    height: auto;
    max-height: 10000px;
    transition: max-height 500ms ease-in-out;
}

.menu-item-8263 .menu-item-title:after {
    display: none!important;
}

.label-day .mobile-menu-link,
.label-career  .mobile-menu-link{
    position: relative;
}

.menu-item-8354 .menu-item-title:before,
.menu-item-8303 .menu-item-title:before,
.menu-item-8666 .menu-item-title:before,
.label-day .mobile-menu-link:after,
.label-career .mobile-menu-link:after {
    content: "1-DAY";
    display: inline-block;
    font-size: .6rem;
    margin-right: .5rem;
    border-radius: .25rem;
    padding: .125rem .5rem;
    transform: translateY(-3px);
    color: var(--wp--preset--color--base);
    background-color: var(--wp--preset--color--accent-1);
}

.label-day .mobile-menu-link:after,
.label-career .mobile-menu-link:after {
    margin-left: .5rem;
    margin-right: 0;
    font-weight: 400;
}

.menu-item-8354 .menu-item-title {
    position: relative;
    padding-right: 5rem;
}

.menu-item-8354 .menu-item-title:before,
.label-career .mobile-menu-link:after {
    content: "Now Hiring!";
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(-1rem, 0);
}

.label-career .mobile-menu-link:after {
    position: static;
    transform: translate(0, -2px);
}

.menu-item-8354 .menu-item-title:after {
    transform: translate(5rem, .2rem) scale(1)!important;
}

.has-title-arrow .menu-item-8354 .a-menu-child:hover .menu-item-title:after {
    transform: translate(5rem, .2rem) scale(1.1)!important;
}

.menu-item-8676 .a-menu-child,
.menu-item-8677 .a-menu-child {
    display: block;
    position: relative;
    padding-left: 3rem;
}

.menu-item-8676 .a-menu-child:before,
.menu-item-8677 .a-menu-child:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    height: 2.5rem;
    width: 2.5rem;
    background-repeat: no-repeat;
    background-size: contain;
}

.menu-item-8676 .a-menu-child:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 96 960 960'%3E%3Cpath fill='%23000' d='M451 863h55v-52q61-7 95-37.5t34-81.5q0-51-29-83t-98-61q-58-24-84-43t-26-51q0-31 22.5-49t61.5-18q30 0 52 14t37 42l48-23q-17-35-45-55t-66-24v-51h-55v51q-51 7-80.5 37.5T343 454q0 49 30 78t90 54q67 28 92 50.5t25 55.5q0 32-26.5 51.5T487 763q-39 0-69.5-22T375 681l-51 17q21 46 51.5 72.5T451 809v54Zm29 113q-82 0-155-31.5t-127.5-86Q143 804 111.5 731T80 576q0-83 31.5-156t86-127Q252 239 325 207.5T480 176q83 0 156 31.5T763 293q54 54 85.5 127T880 576q0 82-31.5 155T763 858.5q-54 54.5-127 86T480 976Zm0-60q142 0 241-99.5T820 576q0-142-99-241t-241-99q-141 0-240.5 99T140 576q0 141 99.5 240.5T480 916Zm0-340Z'/%3E%3C/svg%3E");
}

.menu-item-8677 .a-menu-child:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 96 960 960'%3E%3Cpath fill='%23000' d='m314 828h50v-88h88v-50h-88v-88h-50v88h-88v50h88zm215-35h201v-49h-201zm0-107h201v-50h-201zm37-163 61-61 61 61 36-36-61-61 61-61-36-36-61 61-61-61-36 36 61 61-61 61zm-325-72h196v-50h-196zm-61 485q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18zm0-60h600v-600h-600zm0-600v600z'/%3E%3C/svg%3E");
}

.btn-menu-items {
    cursor: pointer;
    border: none;
    background-color: transparent;
    font-size: inherit;
    font-weight: inherit;
    padding: 0;
}

.btn-menu-items:after {
    content: "";
    display: inline-block;
    height: .75rem;
    width: .75rem;
    margin-left: .25rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M1.50002 4L6.00002 8L10.5 4' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
    transform: scaleY(1);
    transition: transform 300ms;
}

.btn-menu-items[aria-expanded="true"] {
    color: var(--wp--preset--color--accent-1);
    transition: 300ms;
}

.btn-menu-items[aria-expanded="true"]:after {
    transform: scaleY(-1);
    transition: transform 300ms;
}

.a-menu-child {
    color: var(--wp--preset--color--black);
    font-weight: 400;
    text-decoration: none;
}

.a-menu-child:hover .has-arrow:after {
    transform: translateX(.2rem);
    transition: 300ms;
}

.current-menu-item > div >.a-menu-child {
    color: var(--wp--preset--color--accent-1);
}

.has-title-arrow .menu-item-title:after {
    content: "";
    display: inline-block;
    height: 1rem;
    width: 1rem;
    margin-left: .25rem;
    transform: translateY(.2rem) scale(1);
    transition: transform 300ms;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url('data:image/svg+xml,%3Csvg fill="%232563EB" xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"%3E%3Cpath d="m216-160-56-56 464-464H360v-80h400v400h-80v-264L216-160Z"%3E%3C/path%3E%3C/svg%3E');
    transition: 300ms;
}

.has-title-arrow .a-menu-child:hover .menu-item-title:after {
    transform: translateY(.2rem) scale(1.2);
    transition: 300ms;
}

.has-v-spacing > .menu-item {
    margin-bottom: .25rem;
}

.col-title {
    color: #535252;
    letter-spacing: 1px;
}

.menu-item-title {
    font-weight: 500;
}

.menu-item-desc {
    font-size: var(--wp--preset--font-size--normal);
    font-weight: 300;
    line-height: 1.4;
    color: #535252;
}

.menu-item-desc .has-arrow:after {
    height: 1.25rem;
    width: 1.25rem;
}

.has-medium-font-size .a-menu-child > .menu-item-title,
.has-large-font-size .a-menu-child > .menu-item-title {
    display: block;
    margin-bottom: .5rem;
}

.current-menu-ancestor.depth-0 .btn-menu-items,
.current_page_ancestor.depth-0 .btn-menu-items,
.current_page_item > div > .a-menu-child,
.current_page_parent,
.btn-menu-items:hover {
    color: var(--wp--preset--color--accent-1);
    transition: 300ms;
}

#main-menu > .current-menu-ancestor ~ .current-menu-ancestor .btn-menu-items {
  color: inherit;
}

.btn-menu-items,
.depth-0 > div > .a-menu-child {
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.2;
}

#main-menu {
    margin-left: -1rem;
    margin-right: -1rem;
}

.main-menu .menu-item.depth-0 {
    padding-left: 1rem;
    padding-right: 1rem;
    font-weight: 500;
}

.list-menu > .menu-item {
    margin-bottom: .25rem;
}

.list-menu a {
    display: flex;
}

.list-menu a:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    height: .4rem;
    width: .4rem;
    margin-right: .75rem;
    background-color: var(--wp--preset--color--accent-2);
    transform: translateY(.6rem);
    transition: 300ms;
}

.list-menu a:hover:before {
    transform: translateY(.6rem) rotate(45deg);
    transition: 300ms;
}

.list-menu.has-gray-background-color {
    position: relative;
}

.list-menu.has-gray-background-color > div {
    position: relative;
    z-index: 2;
}

.list-menu.has-gray-background-color:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 2000px;
    background-color: var(--wp--preset--color--gray);
}

.btn-mobile-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
	padding: 0;
    cursor: pointer;
    position: relative;
    background: transparent;
    border: none;
	color: #000;
	z-index: 2;
}

.btn-mobile-menu-toggle.is-fixed,
.mobile-menu-wrapper.active .btn-mobile-menu-toggle {
    position: fixed;
    top: 1rem;
    right: 1rem;
    background: var(--wp--preset--color--senary);
    transition: 300ms;
}

.mobile-menu-wrapper {
	min-width: 40px;
    margin-top: 0;
}

.mobile-menu-socials {
    display: flex;
    margin-top: 2rem!important;
}

.mobile-menu-socials > .menu-item {
    width: 2rem!important;
    margin-right: 1rem!important;
}

.mobile-menu-socials > .menu-item:nth-child(1) {
    margin-right: .75rem!important;
}

.btn-mobile-menu-toggle em {
	font-size: .6rem;
	font-style: normal;
    text-transform: uppercase;
	transform: translateY(16px);
}

.btn-mobile-menu-toggle span {
    display: block;
    top: 0;
    width: 26px;
    height: 2px;
    background: #333;
    position: absolute;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.btn-mobile-menu-toggle .top-bar {
    transform: translateY(9px);
}

.btn-mobile-menu-toggle .center-bar {
    transform: translateY(16px);
}

.btn-mobile-menu-toggle .bottom-bar {
    transform: translateY(23px);
}

.btn-mobile-menu-toggle.active .top-bar {
    transform: translateY(18px) rotate(45deg);
}

.btn-mobile-menu-toggle .center-bar {
    transition: none!important;
}

.btn-mobile-menu-toggle.active .center-bar {
    opacity: 0;
    transition: none!important;
}

.btn-mobile-menu-toggle.active .bottom-bar {
	bottom: 50%;
    transform: translateY(18px) rotate(-45deg);
}

.menu-mobile-menu-container {
	position: fixed;
    top: 0;
	right: 0;
    height: 100%;
	width: 100%;
	max-width: 450px;
	overflow-y: auto;
	background-color: var(--wp--preset--color--base) !important;
	-webkit-transform: translateX(120%);
	-moz-transform: translateX(120%);
	-o-transform: translateX(120%);
	transform: translateX(120%);
	transition: transform 300ms;
}

.mobile-menu-wrapper p:empty {
    margin: 0;
}

.mobile-menu-wrapper > p {
	margin: 0!important;
}

.mobile-menu-wrapper.active .menu-mobile-menu-container {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

.btn-toggle-menu-item {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0;
	height: 2rem;
	width: 2rem;
    background: transparent;
    border: none;
	transform: translateY(-3px);
}

.btn-toggle-menu-item:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% - 1px);
	left: 50%;
	height: 1px;
	width: 14px;
	background-color: #000;
	transform: translate(-50%);
}

.btn-toggle-menu-item:after {
	content: "";
    display: inline-block;
	position: absolute;
	top: 9px;
	left: 50%;
	height: 14px;
	width: 1px;
	margin: 0 auto;
	background-color: #000;
	transition: transform 300ms;
	transform: translateX(-50%);
}

.menu-item.active > .btn-toggle-menu-item:after {
	height: 0;
	transition: transform 300ms;
}

.btn-toggle-menu-item__title {
	font-family: var(--wp--preset--font-family--figtree);
	font-size: var(--wp--preset--font-size--medium);
	border: none;
	background: transparent;
	padding: 0;
	margin: 0;
	color: #000;
}

#mobile-menu {
    position: relative;
}

#mobile-menu > .menu-item {
    margin-top: .5rem;
}

#mobile-menu > .menu-item > a,
#mobile-menu > .menu-item > button {
	font-weight: bold;
}

#mobile-menu .depth-1 > .sub-menu {
	font-size: 1rem;
	line-height: 1.1;
}

#mobile-menu .depth-1 > .sub-menu li {
	display: flex;
}

#mobile-menu .depth-1 > .sub-menu {
	padding-left: 0!important;
}

#mobile-menu .depth-1 > .sub-menu li::before {
	content: "â€“";
	margin-right: 0.5rem;
	color: var(--wp--preset--color--senary) !important;
}

#mobile-menu .depth-1 > .sub-menu li:not(:last-child) a {
	margin-bottom: 8px;
}

#mobile-menu .current_page_item > .mobile-menu-link,
#mobile-menu .current_page_parent > .mobile-menu-link {
    color: var(--wp--preset--color--accent-1);
}

.menu-items-wrap {
    padding-left: 1rem;
}

.mobile-menu-link {
    color: var(--wp--preset--color--black);
    text-decoration: none;
}

.mobile-cart {
	transform: translateY(4px);
}

@media (min-width: 768px) and (max-width: 1259px) {
    .main-content + .is-4.is-offset-1 {
        flex: none;
        width: 41.6666666667%;
        margin-inline-start: 0!important;
    }
    .main-content + .is-4.is-offset-1 > .has-background,
    .main-content + .is-4.is-offset-1 > .has-background .has-background.wp-element-button {
        padding-left: 1rem!important;
        padding-right: 1rem!important;
    }
}

#mobile-menu {
	list-style: none;
    padding: 4rem 1.25rem 10rem 2rem;
    margin: 0;
}

#mobile-menu > li {
	margin-bottom: .75rem;
}
#mobile-menu > li > a {
	font-weight: bold;
}

#mobile-menu .wp-block-button__link {
    position: absolute;
    bottom: 4rem;
    height: auto;
    padding-top: .75rem;
    padding-right: 1.25rem;
    padding-bottom: .75rem;
    padding-left: 1.25rem;
}

#mobile-menu .wp-block-button__link a {
    color: var(--wp--preset--color--base);
}

#mobile-menu .menu-item-has-children {
	position: relative;
}

#mobile-menu .menu-item-has-children > .sub-menu {
    overflow: hidden;
	height: 0;
	max-height: 0;
	padding: 0 0 0 1.5rem;
	transition: max-height 300ms;
    list-style: none;
    padding-left: 1rem;
}

#mobile-menu .menu-item-has-children > .sub-menu li {
    display: flex;
    align-items: center;
}

#mobile-menu .menu-item-has-children > .sub-menu li:before {
    content: "";
    display: block;
    flex-shrink: 0;
    height: .4rem;
    width: .4rem;
    margin-right: .5rem;
    background-color: var(--wp--preset--color--accent-2);
}

#mobile-menu .menu-item-has-children.active > .sub-menu {
	height: auto;
	max-height: 1000px;
	transition: max-height 300ms;
	margin: .5rem 0 1rem;
}

#mobile-menu .sub-menu .menu-item > a {
	margin-bottom: 0;
}

#mobile-menu .current-menu-item > a {
	background-image: linear-gradient(transparent calc(100% - 2px), var(--wp--preset--color--senary) 5px);
    background-size: 100%;
}

.images-wrap figure {
    padding-left: 1rem; 
    padding-right: 1rem; 
}

@-webkit-keyframes border-transform{
    0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
    14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
    28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
    42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
    56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
    70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
    84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}
.progress-wrap {
    position: fixed;
    right: 120px;
    bottom: 19px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset  0 0 0 2px rgb(0, 0, 0, .1);
    background-color: rgba(255,255,255, 0.9);
    z-index: 700;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.progress-wrap::after {
    position: absolute;
    content: '';
    text-align: center;
    line-height: 2.875rem;
    font-size: 1.5rem;
    opacity: .3;
    left: 0;
    top: 0;
    height: 2.875rem;
    width: 2.875rem;
    cursor: pointer;
    display: block;
    z-index: 9000;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Cpath fill='%23000' d='m128.4 189.3 105-100.3c5.8-6 13.7-9 22.4-9s16.5 3 22.4 9l105.4 100.3c12.5 11.9 12.5 31.3 0 43.2s-32.7 11.9-45.2 0l-50.4-48.1v217c0 16.9-14.3 30.6-32 30.6s-32-13.7-32-30.6v-217l-50.4 48.2c-12.5 11.9-32.7 11.9-45.2 0-12.5-12-12.5-31.3 0-43.3z'/%3E%3C/svg%3E");
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap:hover::after {
    opacity: .6;
}
.progress-wrap svg path { 
    fill: none; 
}
.progress-wrap svg.progress-circle path {
    stroke: rgb(153, 204, 51); 
    stroke-width: 4;
    box-sizing:border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.spin-svg:before {
    content: "";
    display: inline-block;
    height: 1rem;
    width: 1rem;
    margin-right: .25rem;
    animation: spinPause 2.5s linear infinite;
    transform-origin: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%235f6368' d='m482-160q-134 0-228-93t-94-227v-7l-64 64-56-56 160-160 160 160-56 56-64-64v7q0 100 70.5 170t171.5 70q26 0 51-6t49-18l60 60q-38 22-78 33t-82 11zm278-161-160-160 56-56 64 64v-7q0-100-70.5-170t-171.5-70q-26 0-51 6t-49 18l-60-60q38-22 78-33t82-11q134 0 228 93t94 227v7l64-64 56 56z'/%3E%3C/svg%3E");
}

@keyframes spinPause {
  0% {
    transform: rotate(0deg);
  }
  60% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(360deg); /* pause */
  }
}


@media screen and (max-width: 1459px) {
    .progress-wrap {
    right: 0;
    left: 0;
    margin: 0 auto;
    }
}

@media screen and (min-width: 768px), print {
    .images-loop img {
        margin: 0 3rem; 
    } 

    .images-wrap figure {
        width: 16.6667%;
    }
}

@media screen and (min-width: 1300px) {
    .review-controls-wrap {
        margin-top: -2rem;
    }

    .menu-align-target {
        transform: translateX(.75rem);
    }
}

@media screen and (min-width: 1216px) {
    .widescreen-hidden {
        display: none!important;
    }
}

@media screen and (min-width: 1408px) {
    .menu-align-target {
        transform: translateX(1.5rem);
    }
}

@media screen and (min-width: 415px) {
    .mobile-phone {
        margin-right: 2rem;
    }
}

@media screen and (min-width: 390px) {
    .mobile-phone {
        margin-right: .75rem;
    }
}

@media screen and (min-width: 359px) {
    .mobile-phone {
        margin-right: .5rem;
    }
}

@media screen and (max-width: 359px) {
    .mobile-phone {
        display: none;
    }
}

@media (min-width: 1216px) and (max-width: 1349px) {
    .pr-0-widescreen {
        padding-right: 0;
    }
}

@media (min-width: 1024px) and (max-width: 1299px) {
    .main-menu .menu-item.depth-0 {
        padding-left: .5rem;
        padding-right: .5rem;
    }

    .menu-align-target {
        transform: translateX(.25rem);
    }
}


@media screen and (max-width: 1215px) {
    header.anim-block.visible {
        opacity: 1!important;
        animation: unset!important;
    }
}
@media (min-width: 1024px) and (max-width: 1215px) {
    .desktop-only-hidden {
        display: none!important;
    }

    #wpadminbar ~ .wp-site-blocks > header .menu-mobile-menu-container {
        margin-top: 32px;
    }

    #wpadminbar ~ .wp-site-blocks > header .mobile-menu-wrapper.active .btn-mobile-menu-toggle {
        top: calc(1rem + 32px);
    }

    .project-gallery .btn-gallery {
        padding-left: .75rem;
        padding-right: .75rem;
        font-size: .75rem;
    }
}

@media screen and (min-width: 1025px) {
    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}

@media screen and (min-width: 1024px) {
    body #wpadminbar ~ .wp-site-blocks > header {
        top: 32px!important;
    }

    .desktop-hidden {
        display: none!important;
    }

    .has-zoomin {
        cursor: pointer;
        pointer-events: all;
        transform: scale(1);
        transition: 300ms;
    }
    
    .has-zoomin img {
        transform: scale(1);
    }
    
    .has-zoomin:hover {
        transform: scale(1.1);
        transition: 300ms;
    }

    .has-zoomin:hover img {
        transform: scale(1.25);
        transition: 300ms;
    }

    .list-split-desktop {
        columns: 2;           /* number of columns */
        -webkit-columns: 2;   /* for Safari */
        -moz-columns: 2;      /* for Firefox */
        column-gap: 4rem;     /* space between columns */
    }

    .list-cols-3 {
        columns: 3;           /* number of columns */
        -webkit-columns: 3;   /* for Safari */
        -moz-columns: 3;      /* for Firefox */
        column-gap: 4rem;     /* space between columns */
    }

    .list-split-desktop li,
    .list-cols-3 li {
        break-inside: avoid;
    }

    .list-split-desktop li:first-child,
    .list-cols-3 li:first-child {
        margin-top: 0;
    }

    li.cpt-reviews {
        width: 33.3333333333%;
    }
}

@media (min-width: 782px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
        flex-grow: inherit;
    }
}

@media screen and (max-width: 1407px) {
    body .container {
        padding-left: .75rem!important;
        padding-right: .75rem!important;
    }
}

@media screen and (max-width: 767px) {
    body.admin-bar {
        height: 46px!important;
    }
    
    body.admin-bar .btn-mobile-menu-toggle.active {
        top: calc(1rem + 46px);
    }

    #wpadminbar ~ .wp-site-blocks > header:not(.active),
    #wpadminbar ~ .wp-site-blocks > header:not(.active) .menu-mobile-menu-container {
        top: 46px!important;
    }

    header.wp-block-template-part.active .is-position-sticky {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important;
    }

    .content-top-offset {
        margin-top: 4rem!important;
    }

    #wpadminbar ~ .wp-site-blocks .content-top-offset {
        margin-top: 6.25rem!important;
    }

    .reverse-columns {
        display: flex;
        flex-direction: column-reverse;
    }

    .column.is-4:not(.mobile-mt-0):not(.mobile-mt-1-5) {
        margin-top: 3rem!important;
    }

    .column.is-5 {
        margin-bottom: 2rem;
    }

    .mobile-my-2 {
        margin-top: 2rem!important;
        margin-bottom: 2rem!important;
    }

    .mobile-mt-0 {
        margin-top: 0!important;
    }

    .mobile-mt-1-5 {
        margin-top: 1.5rem!important;
    }

    .mobile-mt-2 {
        margin-top: 2rem!important;
    }

    .mobile-mt-3 {
        margin-top: 3rem!important;
    }

    .mobile-mb-0 {
        margin-bottom: 0!important;
    }

    .mobile-mb-2 {
        margin-bottom: 2rem!important;
    }

    .mobile-mt-4 {
        margin-top: 4rem!important;
    }

    .mobile-pt-0 {
        padding-top: 0!important;
    }

    .mobile-pb-0 {
        padding-bottom: 0!important;
    }

    .mobile-pt-2 {
        padding-top: 2rem!important;
    }

    .mobile-py-1 {
        padding-top: 1rem!important;
        padding-bottom: 1rem!important;
    }

    .mobile-pl-1 {
        padding-left: 1rem!important;
    }

    .mobile-px-1-5 {
        padding-left: 1.5rem!important;
        padding-right: 1.5rem!important;
    }

    .mobile-px-2 {
        padding-left: 2rem!important;
        padding-right: 2rem!important;
    }

    .mobile-mx-negative {
        margin-left: -.75rem!important;
        margin-right: -.75rem!important;
    }

    .mobile-is-align-items-bottom {
        align-items: flex-end!important;
    }

    .mobile-hide,
    .mobile-hidden {
        display: none!important;
    }

    .copyright {
        font-size: .8rem!important;
    }

    .copyright > .wp-block-group {
        gap: .5rem;
    }

    .wp-block-group.b-radius {
        padding: 1.5rem 1rem!important;
        margin-bottom: 2rem;
    }

    .column.anim-left {
        margin-bottom: 2rem;
    }

    .images-wrap figure {
        width: 50%;
    }

    .project-item {
        padding: 1rem!important;
    }

    .hero-inner h1 ~ div:not(.project-tags) {
        margin-bottom: 3rem!important;
    }

    .is-offset-1:empty {
        margin-top: -3rem!important;
    }

    .review-content > .is-flex {
        display: block;
    }

    .review-details > .is-flex {
        margin-bottom: 1.5rem;
    }

    .review-details > div {
        margin-bottom: 1rem;
    }

    .review-content .review-author {
        margin-bottom: 1rem;
    }

    .main-content ol.wp-block-list {
        padding-left: 1.5rem;
    }

    .toc-list-wrapper ol {
        padding-left: 2rem;
    }

    .project-gallery {
        height: 15rem;
    }

    .btn-gallery {
        font-size: 0!important;
        padding-left: 0!important;
        padding-right: 0!important;
    }

    .btn-gallery:before {
        content: "View more";
        font-size: .75rem!important;
    }

    .btn-gallery:after {
        display: none;
    }

    .columns-3.reviews-list {
        margin: 0!important;
    }

    li.cpt-reviews {
        padding: 0!important;
    }

    header.wp-block-template-part .wp-block-site-logo img {
        max-width: 10.75rem!important;
    }

    .list-check li:before {
        transform: translateY(0);
    }

    a:not(.wp-element-button):not([href^="tel:"]):not([href^="mailto:"]):not(.wp-block-navigation-item__content):not(.project-tags-item):not(.block-editor-list-view-block-contents):not(.btn-arrow):not(.btn-down):not(.a-menu-child):not(.mobile-menu-link) {
        text-underline-offset: .25rem;
    }
}

@media (min-width: 568px) {
    .list-split {
        columns: 2;           /* number of columns */
        -webkit-columns: 2;   /* for Safari */
        -moz-columns: 2;      /* for Firefox */
        column-gap: 4rem;     /* space between columns */
    }

    .list-cols-3 {
        columns: 3;           /* number of columns */
        -webkit-columns: 3;   /* for Safari */
        -moz-columns: 3;      /* for Firefox */
        column-gap: 4rem;     /* space between columns */
    }

    .list-split li,
    .list-cols-3 li {
        break-inside: avoid;
    }

    .list-split li:first-child,
    .list-cols-3 li:first-child {
        margin-top: 0;
    }
}

@media screen and (max-width: 1023px) {
    html {
        margin-top: 0!important;
    }

    .touch-hidden {
        display: none!important;
    }

    .touch-pt-0 {
        padding-top: 0!important;
    }

    .touch-mt-05 {
        margin-top: .5rem!important;
    }

    .touch-mt-2 {
        margin-top: 2rem!important;
    }

    .touch-mt-3 {
        margin-top: 3rem!important;
    }

    .touch-mb-1 {
        margin-bottom: 1rem!important;
    }

    .touch-ml-0 {
        margin-left: 0!important;
    }

    .has-global-padding:not(.px-2):not(.container):not(.b-radius) {
        padding-left: 0;
        padding-right: 0;
    }

    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex!important;
    }

    /* .wp-block-navigation__responsive-container {
        display: block;
    } */

    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none!important;
    }
/* 
    .wp-block-navigation__responsive-container-open,
    .wp-block-navigation__responsive-container-close {
        display: block;
    } */

    /* .wp-block-navigation__responsive-container {
        display: none!important;
    } */

    header.wp-block-template-part .wp-block-site-logo img {
        max-width: 12rem;
    }
    
    header.wp-block-template-part.active .wp-block-site-logo img {
        max-width: 10rem;
    }
}

.btn-review-us:first-child {
    margin-right: 2rem!important;
}

@media screen and (max-width: 640px) {
    .btn-review-us {
        flex: 1;
        justify-content: center;
        text-align: center;
        width: 50%;
        min-width: 9rem;
    }
    
    .btn-review-us:first-child {
        margin-right: .5rem!important;
    }

    .btn-review-us:last-child {
        margin-left: .5rem!important;
    }

    .btn-review-us svg {
        margin: 0!important;
    }

    .btn-review-us p {
        line-height: 1.2;
    }
}

@media screen and (max-width: 414px) {
    header.wp-block-template-part .wp-block-site-logo img {
        max-width: 10rem!important;
    }
}