/*
 *
 * GLOBALS
 *
 */

:root {
    --color-passion-red: #ED1C24;
    --color-graphite-gray: #363636;
    --color-white-gray: #F3F3F3;
    --color-pure-white: #ffffff;
    --color-sunset-red: #8F1D21;
    --color-silver-gray: #707070;
    --color-pacific-blue: #1D628F;
    --color-jade-green: #1D8F5A;
    --color-black: #000000;
    --color-white: #ffffff;
    --color-white-90: rgba(255, 255, 255, .9);
    --color-white-80: rgba(255, 255, 255, .8);
    --color-white-60: rgba(255, 255, 255, .6);
    --color-white-40: rgba(255, 255, 255, .4);
    --color-white-20: rgba(255, 255, 255, .2);
    --color-black-90: rgb(34, 34, 34, .9);
    --color-black-80: rgb(34, 34, 34, .8);
    --color-black-60: rgb(34, 34, 34, .6);
    --color-black-40: rgb(34, 34, 34, .4);
    --color-black-20: rgb(34, 34, 34, .2);
    --swiper-theme-color: #454648;
    --color-passion-red-10: rgba(237, 28, 36, .1)
}

::-moz-selection {
    color: var(--color-white);
    background: var(--color-blue)
}

::selection {
    color: var(--color-white);
    background: var(--color-passion-red)
}

html {
    scroll-padding-top: 110px
}

body,
html {
    font-family: Archivo, sans-serif;
    color: var(--color-graphite-gray);
    font-weight: 400;
    font-size: 1rem
}

.color-passion-red {
    color: var(--color-passion-red)
}

.color-graphite-gray {
    color: var(--color-graphite-gray)
}

.color-white-gray {
    color: var(--color-white-gray)
}

.color-pure-white {
    color: var(--color-pure-white)
}

.color-sunset-red {
    color: var(--color-sunset-red)
}

.color-silver-gray {
    color: var(--color-silver-gray)
}

.color-pacific-blue {
    color: var(--color-pacific-blue)
}

.color-jade-green {
    color: var(--color-jade-green)
}

.background-color-passion-red {
    background-color: var(--color-passion-red)
}

.background-color-graphite-gray {
    background-color: var(--color-graphite-gray)
}

.background-color-white-gray {
    background-color: var(--color-white-gray)
}

.background-color-pure-white {
    background-color: var(--color-pure-white)
}

.background-color-pure-white-90 {
    background-color: var(--color-white-90)
}

.background-color-sunset-red {
    background-color: var(--color-sunset-red)
}

.background-color-silver-gray {
    background-color: var(--color-silver-gray)
}

.background-color-pacific-blue {
    background-color: var(--color-pacific-blue)
}

.background-color-jade-green {
    background-color: var(--color-jade-green)
}

.text-regular {
    font-weight: 400
}

.text-medium {
    font-weight: 500
}

.text-bold {
    font-weight: 700
}

.text-black {
    font-weight: 800
}

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

h1 {
    line-height: 100%
}

h1 .bi {
    width: 1em;
    height: 1em
}

.bi {
    display: inline-block;
    vertical-align: -.125em;
    fill: currentcolor
}

body {
    margin-top: 60px
}

.h1-preheader {
    font-size: 1rem;
    text-decoration: none !important
}

.hero-noback-section .h1-preheader a,
.hero-noback-section .h1-preheader a:link,
.hero-noback-section .h1-preheader a:visited {
    font-size: 1rem;
    text-decoration: none !important;
    color: var(--color-passion-red);
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.hero-noback-section .h1-preheader a:active,
.hero-noback-section .h1-preheader a:hover {
    color: var(--color-passion-red)
}

.hero-back-section .h1-preheader a,
.hero-back-section .h1-preheader a:link,
.hero-back-section .h1-preheader a:visited {
    font-size: 1rem;
    text-decoration: none !important;
    color: var(--color-pure-white);
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.hero-back-section .h1-preheader a:active,
.hero-back-section .h1-preheader a:hover {
    color: var(--color-pure-white)
}

.h1-postheader {
    font-size: 1.6rem
}

h1 {
    font-size: 2.9rem;
    margin-left: -3px
}

.slider-slide-company,
.slider-slide-project-name,
h2 {
    font-size: 2rem;
    padding: 0 0 20px 0
}

h2.featured-blog-h2 {
    font-size: 2rem !important;
    margin-bottom: 1rem !important;
    line-height: 1.1 !important;
}

.blog-home h2 {
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0
}

.blog-home a {
    text-decoration: none !important
}

h3 {
    padding: 20px 0 10px 0;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--color-passion-red)
}

h4 {
    font-size: 1rem;
    font-weight: 500
}

@media (min-width:576px) {
    .nomobile {
        display: block
    }

    .h1-postheader {
        font-size: 1.6rem
    }

    h1 {
        font-size: 2.9rem;
        margin-left: -4px
    }

    .slider-slide-company,
    .slider-slide-project-name,
    h2.featured-blog-h2,
    h2 {
        font-size: 2.3rem
    }

    body {
        font-size: 1rem
    }

    h3 {
        font-size: 1.2rem
    }

    h4 {
        font-size: 1.1rem
    }
}

@media (min-width:768px) {
    h1 {
        font-size: 3.8rem;
        margin-left: -4px
    }

    .h1-postheader {
        font-size: 1.7rem
    }

    .slider-slide-company,
    .slider-slide-project-name,
    h2.featured-blog-h2,
    h2 {
        font-size: 2.6rem
    }
}

@media (min-width:992px) {
    body {
        font-size: 1rem;
        margin-top: 87px;
    }

    h1 {
        font-size: 4rem;
        margin-left: -4px
    }

    .h1-postheader {
        font-size: 1.8rem
    }

    .slider-slide-company,
    .slider-slide-project-name,
    h2.featured-blog-h2,
    h2 {
        font-size: 2.8rem
    }
}

@media (min-width:1200px) {
    body {
        font-size: 1rem
    }

    .h1-postheader {
        font-size: 2.3rem
    }

    h1 {
        font-size: 4.4rem;
        margin-left: -4px
    }

    .slider-slide-company,
    .slider-slide-project-name,
    h2.featured-blog-h2,
    h2 {
        font-size: 3rem
    }
}

@media (min-width:1400px) {
    body {
        font-size: 1rem
    }

    .h1-postheader {
        font-size: 2.6rem
    }

    h1 {
        font-size: 4rem;
        margin-left: -6px
    }

    .slider-slide-company,
    .slider-slide-project-name,
    h2 {
        font-size: 3rem
    }

    h2.featured-blog-h2 {
        font-size: 2.5rem !important;
    }
}

.nav-desktop-container {
    height: 40px
}

.logo-desktop,
.nav-desktop {
    padding: 0 20px 0 20px
}

.logo-main {
    width: 140px;
    height: 30px
}

.desktop-header {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    z-index: 100;
    background-color: var(--color-pure-white);
    box-shadow: 0 1px 10px rgba(34, 34, 34, .3)
}

.logged-in .desktop-header {
    top: 32px;
    left: 0
}

.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px
}

.navbar {
    padding-top: 0;
    padding-bottom: 0
}

.navbar-nav {
    flex-direction: row
}

.navbar.desktop-header-scrolled {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    cursor: pointer;
    padding: 15px 25px;
    z-index: 100;
    background-color: var(--color-black);
    box-shadow: 0 1px 10px rgba(34, 34, 34, .3)
}

a.nav-link,
a.nav-link:link,
a.nav-link:visited {
    color: var(--color-graphite-gray);
    font-weight: 500;
    padding: .5rem 1.1rem;
    font-size: 1rem;
    background-color: var(--color-pure-white);
    text-decoration: none
}

a.nav-link:active,
a.nav-link:hover {
    color: var(--color-passion-red);
    background-color: var(--color-pure-white);
    text-decoration: none
}

a.nav-link.inquiry,
a.nav-link.inquiry:link,
a.nav-link.inquiry:visited {
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    text-decoration: none
}

a.nav-link.inquiry:active,
a.nav-link.inquiry:hover {
    color: var(--color-pure-white);
    background-color: var(--color-graphite-gray);
    text-decoration: none
}

a.nav-link.portal,
a.nav-link.portal:link,
a.nav-link.portal:visited {
    color: var(--color-pure-white);
    background-color: var(--color-silver-gray);
    text-decoration: none
}

a.nav-link.portal:active,
a.nav-link.portal:hover {
    color: var(--color-pure-white);
    background-color: var(--color-graphite-gray);
    text-decoration: none
}

.current a.nav-link,
.current a.nav-link:link,
.current a.nav-link:visited {
    color: var(--color-passion-red)
}

.current a.nav-link.inquiry,
.current a.nav-link.inquiry:link,
.current a.nav-link.inquiry:visited {
    color: var(--color-pure-white);
    background-color: var(--color-graphite-gray);
    text-decoration: none
}

.dropdown-toggle::after {
    color: var(--color-graphite-gray);
    font-family: bootstrap-icons;
    content: '\F4FE';
    font-weight: 600;
    border: 0;
    margin-left: .255em;
    vertical-align: -.19em;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

a.nav-link.dropdown-toggle:active::after,
a.nav-link.dropdown-toggle:hover::after {
    color: var(--color-passion-red)
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .show>.nav-link {
    color: var(--color-green-main)
}

.navbar-light .navbar-nav .nav-link:focus.dropdown-toggle::after,
.navbar-light .navbar-nav .nav-link:hover.dropdown-toggle::after {
    color: var(--color-green-main)
}

.dropdown-menu-obatadropdown {
    padding: 1rem .45rem;
    font-size: 1rem;
    border-radius: 0;
    border-top: 5px solid var(--color-passion-red);
    background-color: var(--color-white-gray);
    border: 0;
    margin-top: 8px !important
}

.navbar-toggler-icon:focus,
.navbar-toggler:active,
.navbar-toggler:focus {
    outline: 0;
    box-shadow: none
}

.navbar-light .navbar-toggler {
    border-radius: 0;
    background: var(--color-green-main);
    color: var(--color-white)
}

.navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.mobile-header {
    position: fixed;
    width: 100%;
    height: 60px;
    top: 0;
    left: 0;
    z-index: 100;
    padding: 0;
    background-color: var(--color-pure-white);
    box-shadow: 0 1px 10px rgba(34, 34, 34, .3)
}

.logo-wrap-mobile {
    position: fixed;
    z-index: 2;
    left: 20px;
    top: 15px;
    cursor: pointer
}

.menu-icon {
    height: 30px;
    width: 30px;
    position: fixed;
    z-index: 2;
    right: 20px;
    top: 23px;
    cursor: pointer
}

.menu-icon__line {
    height: 2px;
    width: 30px;
    display: block;
    background-color: #363636;
    margin-bottom: 4px;
    transition: transform .2s ease, background-color .5s ease
}

.menu-icon__line-left {
    width: 15px;
    background-color: #ed1c24
}

.menu-icon__line-right {
    width: 15px;
    float: right
}

.navmobile {
    position: fixed;
    z-index: 1
}

.navmobile:after,
.navmobile:before {
    content: "";
    position: fixed;
    top: 60px;
    width: 100vw;
    height: 100vh;
    background: rgba(34, 34, 34, .3);
    z-index: -1;
    transition: transform cubic-bezier(.77, 0, .175, 1) .8s;
    transform: translateX(0) translateY(-100%)
}

.navmobile:after {
    background: #fff;
    transition-delay: 0s
}

.navmobile:before {
    transition-delay: .1s
}

.navmobile__content {
    position: fixed;
    width: 100%;
    top: 60px;
    bottom: 0;
    visibility: hidden
}

.navmobile-active .navmobile__content {
    visibility: visible;
    overflow-y: auto;
    overflow-x: hidden
}

.navmobile__list {
    padding-left: 20px
}

.navmobile__list-item {
    position: relative;
    display: block;
    transition-delay: .8s;
    opacity: 0;
    transform: translate(0, 100%);
    transition: opacity .2s ease, transform .3s ease;
    font-size: 1.6rem;
    padding-top: 1.1rem
}

.navmobile__list-item.listsubitem {
    padding-top: .5rem;
    font-size: 1rem;
    color: #ed1c24
}

.navmobile__list-item.inquirybutton {
    padding-bottom: 1.1rem
}

.navmobile__list-item a.inquiry,
.navmobile__list-item a.inquiry:active,
.navmobile__list-item a.inquiry:link,
.navmobile__list-item a.inquiry:visited {
    display: inline-block;
    width: auto;
    color: #ed1c24;
    background-color: #fff;
    border: 1px solid #ed1c24;
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    letter-spacing: .05rem
}

.navmobile__list-item a.inquiry:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: #ed1c24;
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.navmobile__list-item a.inquiry:hover:after {
    margin-left: .9rem
}

.socialicon img,
.socialicon svg {
    width: 30px;
    height: 30px
}

.socialicon svg {
    fill: #707070;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.socialicon svg:hover {
    fill: #ed1c24;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.navmobile-active .menu-icon__line {
    background-color: rgba(237, 28, 36, 1);
    transform: translateX(0) rotate(-45deg)
}

.navmobile-active .menu-icon__line-left {
    transform: translateX(1px) rotate(45deg)
}

.navmobile-active .menu-icon__line-right {
    transform: translateX(-2px) rotate(45deg)
}

.navmobile-active .navmobile {
    visibility: visible
}

.navmobile-active .navmobile:after,
.navmobile-active .navmobile:before {
    transform: translateX(0) translateY(0)
}

.navmobile-active .navmobile:after {
    transition-delay: .1s
}

.navmobile-active .navmobile:before {
    transition-delay: 0s
}

.navmobile-active .navmobile__list-item {
    opacity: 1;
    transform: translateX(0);
    transition: opacity .3s ease, transform .3s ease, color .3s ease
}

.navmobile-active .navmobile__list-item:nth-child(0) {
    transition-delay: .45s
}

.navmobile-active .navmobile__list-item:nth-child(1) {
    transition-delay: .48s
}

.navmobile-active .navmobile__list-item:nth-child(2) {
    transition-delay: .51s
}

.navmobile-active .navmobile__list-item:nth-child(3) {
    transition-delay: .54s
}

.navmobile-active .navmobile__list-item:nth-child(4) {
    transition-delay: .57s
}

.navmobile-active .navmobile__list-item:nth-child(5) {
    transition-delay: .6s
}

.navmobile-active .navmobile__list-item:nth-child(6) {
    transition-delay: .63s
}

.navmobile-active .navmobile__list-item:nth-child(7) {
    transition-delay: .66s
}

.navmobile-active .navmobile__list-item:nth-child(8) {
    transition-delay: .69s
}

.navmobile-active .navmobile__list-item:nth-child(9) {
    transition-delay: .72s
}

.navmobile-active .navmobile__list-item:nth-child(10) {
    transition-delay: .75s
}

.navmobile-active .navmobile__list-item:nth-child(11) {
    transition-delay: .78s
}

.navmobile-active .navmobile__list-item:nth-child(12) {
    transition-delay: .81s
}

.navmobile-active .navmobile__list-item:nth-child(13) {
    transition-delay: .84s
}

.navmobile-active .navmobile__list-item:nth-child(14) {
    transition-delay: .87s
}

.navmobile-active .navmobile__list-item:nth-child(15) {
    transition-delay: .9s
}

.navmobile-active .navmobile__list-item:nth-child(16) {
    transition-delay: .93s
}

.navmobile-active .navmobile__list-item:nth-child(17) {
    transition-delay: .96s
}

.navmobile-active .navmobile__list-item:nth-child(18) {
    transition-delay: .99s
}

.navmobile-active .navmobile__list-item:nth-child(19) {
    transition-delay: 1.02s
}

.navmobile-active .navmobile__list-item:nth-child(20) {
    transition-delay: 1.05s
}

.navmobile-active .navmobile__list-item:nth-child(21) {
    transition-delay: 1.08s
}

.navmobile-active .navmobile__list-item:nth-child(22) {
    transition-delay: 1.11s
}

@media (min-width:576px) {
    .navmobile__list-item {
        font-size: 2rem;
        padding-top: 1.1rem
    }

    .navmobile__list-item.listsubitem {
        padding-top: .8rem;
        font-size: 1.1rem;
        color: #ed1c24
    }

    .navmobile__list-item.inquirybutton {
        padding-bottom: 1.3rem
    }

    .navmobile__list-item a.inquiry,
    .navmobile__list-item a.inquiry:active,
    .navmobile__list-item a.inquiry:link,
    .navmobile__list-item a.inquiry:visited {
        font-size: 1rem;
        padding: .5rem 1.2rem;
        font-weight: 400;
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease
    }

    .navmobile__list-item a.inquiry:after {
        font-family: bootstrap-icons;
        vertical-align: -12%;
        font-size: 1.2rem;
        color: #ed1c24;
        content: "\F138";
        margin-left: .5rem;
        margin-top: 10px;
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease;
        font-weight: 400
    }

    .navmobile__list-item a.inquiry:hover:after {
        margin-left: .9rem
    }

    .socialicon img,
    .socialicon svg {
        width: 40px;
        height: 40px
    }
}

.sticky-subnav {
    box-shadow: 0 1px 10px rgba(34, 34, 34, .3);
    position: sticky;
    top: 59px;
    z-index: 2
}

.sticky-subnav-desktop a,
.sticky-subnav-desktop a:link,
.sticky-subnav-desktop a:visited {
    display: inline-block;
    color: var(--color-graphite-gray);
    font-weight: 400;
    padding: 1rem 0 .9rem 0;
    font-size: 1rem;
    text-decoration: none
}

.sticky-subnav-desktop a:active,
.sticky-subnav-desktop a:hover {
    color: var(--color-passion-red);
    text-decoration: none
}

.sticky-subnav-desktop a::after,
.sticky-subnav-desktop a:active::after,
.sticky-subnav-desktop a:link::after,
.sticky-subnav-desktop a:visited::after {
    content: " | ";
    padding: .5rem;
    color: var(--color-graphite-gray)
}

@media (min-width:1200px) {

    .sticky-subnav-desktop a::after,
    .sticky-subnav-desktop a:active::after,
    .sticky-subnav-desktop a:link::after,
    .sticky-subnav-desktop a:visited::after {
        padding: 1.2em
    }
}

.sticky-subnav-desktop a:last-of-type::after,
.sticky-subnav-desktop a:last-of-type:active::after,
.sticky-subnav-desktop a:last-of-type:link::after,
.sticky-subnav-desktop a:last-of-type:visited::after {
    content: "";
    padding: 1.2em;
    padding-right: 0
}

.sticky-subnav a.active {
    color: var(--color-passion-red)
}

.sticky-navbar-nav {
    display: flex;
    flex-direction: row;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

@media (min-width:992px) {
    .sticky-subnav {
        box-shadow: 0 1px 10px rgba(34, 34, 34, .3);
        position: sticky;
        top: 59px
    }

    .logged-in .sticky-subnav {
        box-shadow: 0 1px 10px rgba(34, 34, 34, .3);
        position: sticky;
        top: 91px
    }
}

.anchornav {
    min-height: 50px;
    padding: 0 !important;
    max-width: none !important
}

.cmp-anchornav {
    position: relative;
    min-height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cmp-anchornav .cmp-anchornav__fixed-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner {
    position: absolute;
    width: 100%;
    max-width: 125pc;
    z-index: 1;
    -webkit-transition: .3s ease;
    transition: .3s ease
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner {
    height: 50px;
    min-height: 50px;
    overflow: hidden;
    background-color: var(--color-white-gray);
    -webkit-transition: none;
    transition: none
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner.open {
    height: auto;
    -webkit-filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .1));
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .1))
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner.open .cmp-anchornav__arrow-open-close-wrapper {
    width: 50px
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner.open .cmp-anchornav__list-active {
    display: none;
    border-top: 0;
    border-left: 0
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner.open .cmp-anchornav__list-active .cmp-anchornav__text {
    display: none
}

.cmp-anchornav .cmp-anchornav__fixed-container-inner.open .cmp-anchornav__list-wrapper {
    margin-bottom: 20px
}

.cmp-anchornav .cmp-anchornav__list-title-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    padding-left: 18px;
    padding-right: 18px
}

@media screen and (min-width:37.5em) {
    .cmp-anchornav .cmp-anchornav__list-title-wrapper {
        padding-left: 18px;
        padding-right: 18px
    }
}

@media screen and (min-width:48em) {
    .cmp-anchornav .cmp-anchornav__list-title-wrapper {
        padding-left: 18px;
        padding-right: 18px
    }
}

@media screen and (min-width:64em) {
    .cmp-anchornav .cmp-anchornav__list-title-wrapper {
        padding-left: 20px;
        padding-right: 20px
    }
}

.cmp-anchornav .cmp-anchornav__list-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column
}

.cmp-anchornav .cmp-anchornav__back-to-top .icon-back-to-top {
    width: 19.77px;
    height: 19.96px
}

.cmp-anchornav .cmp-anchornav__title-icon-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
    height: 0;
    padding-right: 30px
}

.cmp-anchornav .cmp-anchornav__title {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    font-size: 1pc;
    font-family: Neue-Haas-Medium, Gothic A1, sans-serif, Arial;
    color: #002b3f
}

.cmp-anchornav.cmp-anchornav--fixed {
    z-index: 3
}

.cmp-anchornav.cmp-anchornav--fixed .cmp-anchornav__fixed-container {
    min-height: 50px;
    position: fixed;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    left: 0;
    z-index: 20
}

.cmp-anchornav.cmp-anchornav--fixed .cmp-anchornav__menu-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cmp-anchornav.cmp-anchornav--fixed .cmp-anchornav__fixed-container-inner {
    min-height: 101px;
    -webkit-transition: none;
    transition: none
}

.cmp-anchornav.cmp-anchornav--fixed .cmp-anchornav__title-icon-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 51px
}

.cmp-anchornav .cmp-anchornav__list {
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column
}

li.cmp-anchornav__wrapper::before {
    content: "" !important;
    color: var(--color-passion-red);
    font-weight: 700;
    display: inline-block;
    width: 1em;
    margin-left: -1em
}

.cmp-anchornav .cmp-anchornav__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    margin: 0
}

.cmp-anchornav .cmp-anchornav__back-to-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    right: 7px;
    top: 7px;
    width: 40px;
    height: 40px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-right: 2px
}

.cmp-anchornav .cmp-anchornav__menu-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    right: 7px;
    top: 7px;
    width: 40px;
    height: 40px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-right: 1px
}

.cmp-anchornav .cmp-anchornav__menu-icon svg {
    width: 20px;
    height: 20px
}

.cmp-anchornav .cmp-anchornav__list-par-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    margin-left: -20px;
    margin-right: -20px;
    z-index: 10
}

.cmp-anchornav .cmp-anchornav__list-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 3pc;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 20px
}

.cmp-anchornav .cmp-anchornav__list-active,
.cmp-anchornav .cmp-anchornav__list-active .cmp-anchornav__body {
    font-family: Neue-Haas-Medium, Gothic A1, sans-serif, Arial
}

.cmp-anchornav .cmp-anchornav__cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 3pc;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 20px
}

.cmp-anchornav .cmp-anchornav__cta:hover {
    background-color: #f0f2f3
}

.cmp-anchornav .cmp-anchornav__cta:hover .cmp-anchornav__body {
    color: var(--color-passion-red)
}

.cmp-anchornav .cmp-anchornav__cta.active {
    background-color: #f0f2f3
}

.cmp-anchornav .cmp-anchornav__cta.active .cmp-anchornav__body {
    border-left-color: #72bf00;
    font-family: Neue-Haas-Medium, Gothic A1, sans-serif, Arial;
    color: #002b3f
}

.cmp-anchornav .cmp-anchornav__body {
    color: #4b4b4b;
    font-family: Neue-Haas-Roman, Gothic A1, sans-serif, Arial;
    font-size: 1rem;
    line-height: 18px;
    padding-top: 3.5px;
    padding-bottom: 3.5px;
    -webkit-transition: padding .3s ease;
    transition: padding .3s ease
}

.cmp-anchornav .cmp-anchornav__text {
    display: inline-block;
    padding-right: 50px;
    -webkit-transition: padding .5s ease;
    transition: padding .5s ease
}

.cmp-anchornav--spacing-full .cmp-anchornav {
    margin-bottom: 50px
}

@media screen and (min-width:64em) {
    .cmp-anchornav--spacing-full .cmp-anchornav {
        margin-bottom: 75pt
    }
}

.cmp-anchornav--spacing-half .cmp-anchornav {
    margin-bottom: 25px
}

@media screen and (min-width:64em) {
    .cmp-anchornav--spacing-half .cmp-anchornav {
        margin-bottom: 50px
    }
}

.cmp-anchornav--spacing-quarter .cmp-anchornav {
    margin-bottom: 25px
}

@media screen and (min-width:64em) {
    .cmp-anchornav--spacing-quarter .cmp-anchornav {
        margin-bottom: 25px
    }
}

.cmp-anchornav--spacing-none .cmp-anchornav {
    padding-top: 0;
    padding-bottom: 0
}

.cmp-anchornav--layout-hidden {
    min-height: 0;
    height: 0
}

.cmp-anchornav--layout-hidden .cmp-anchornav__fixed-container {
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out
}

.cmp-anchornav--layout-hidden-show .cmp-anchornav__fixed-container {
    pointer-events: inherit;
    opacity: 1
}

.cmp-anchornav .cmp-anchornav__par {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    padding-left: 20px;
    padding-bottom: 20px
}

.cmp-anchornav .cmp-anchornav__par .cmp-cta .cmp-cta__text {
    white-space: nowrap
}

.cmp-anchornav .cmp-anchornav__par .cmp-cta--inline .cmp-cta__wrapper {
    margin-bottom: 0;
    margin-right: 18px
}

.cmp-anchornav .cmp-anchornav__par .cmp-cta--inline .cmp-cta__wrapper:last-child {
    margin-bottom: 0;
    margin-right: 0
}

.cmp-anchornav .cmp-anchornav__menu-icon-container {
    -webkit-box-flex: 0;
    -ms-flex: 0;
    flex: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.cmp-anchornav__arrow-open-close-wrapper {
    position: absolute;
    height: 50px;
    width: 100%;
    right: 0
}

.cmp-anchornav__arrow-open-close-wrapper:hover {
    cursor: pointer
}

.cmp-anchornav__arrow-open-close {
    position: absolute;
    right: 0;
    width: 50px;
    height: 50px;
    pointer-events: none
}

.cmp-anchornav .cmp-anchornav__arrow-open-close:after {
    right: 19px;
    width: 11px;
    -webkit-transform: rotate(325deg);
    transform: rotate(325deg);
    box-sizing: unset
}

.cmp-anchornav .cmp-anchornav__arrow-open-close:after,
.cmp-anchornav .cmp-anchornav__arrow-open-close:before {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 24px;
    height: 0;
    margin-left: 0;
    border-width: 2px 2px 0 0;
    border-style: solid;
    color: #919191;
    -webkit-transition: all .2s;
    transition: all .2s;
    box-sizing: unset
}

.cmp-anchornav .cmp-anchornav__arrow-open-close:before {
    left: 9px;
    width: 10px;
    -webkit-transform: rotate(35deg);
    transform: rotate(35deg)
}

.cmp-anchornav .open .cmp-anchornav__arrow-open-close:after {
    -webkit-transform: rotate(395deg);
    transform: rotate(395deg);
    box-sizing: unset
}

.cmp-anchornav .open .cmp-anchornav__arrow-open-close:before {
    -webkit-transform: rotate(-35deg);
    transform: rotate(-35deg)
}

html.aem-AuthorLayer-Edit .cmp-anchornav__par,
html.aem-AuthorLayer-Layouting .cmp-anchornav__par {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important
}

a,
a:link,
a:visited {
    color: var(--color-graphite-gray);
    text-decoration: underline;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

a:active,
a:hover {
    color: var(--color-passion-red);
    text-decoration: underline;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.blog-listing-home a,
.blog-listing-home a h3,
.blog-listing-home a:link,
.blog-listing-home a:link h3,
.blog-listing-home a:visited,
.blog-listing-home a:visited h3 {
    color: var(--color-graphite-gray);
    text-decoration: none;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.blog-listing-home a:active,
.blog-listing-home a:active h3,
.blog-listing-home a:hover,
.blog-listing-home a:hover h3 {
    color: var(--color-passion-red);
    text-decoration: none;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.navmobile__list a,
.navmobile__list a:link,
.navmobile__list a:visited {
    color: var(--color-graphite-gray);
    text-decoration: none;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.navmobile__list a:active,
.navmobile__list a:hover {
    color: var(--color-passion-red);
    text-decoration: none;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.navmobile__list .current a,
.navmobile__list .current a:link,
.navmobile__list .current a:visited {
    color: var(--color-passion-red)
}

.container-fluid-above-header .container-fluid-above-header a,
.container-fluid-above-header a:link,
.container-fluid-above-header a:visited {
    color: var(--color-black);
    text-decoration: none;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.container-fluid-above-header a:active,
.container-fluid-above-header a:hover {
    color: var(--color-green-main);
    text-decoration: none;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

a.dropdown-item,
a.dropdown-item:active,
a.dropdown-item:link,
a.dropdown-item:visited {
    display: block;
    width: 100%;
    padding: .25rem 1rem;
    clear: both;
    font-weight: 500;
    color: #000;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0
}

a.dropdown-item:focus,
a.dropdown-item:hover {
    color: var(--color-passion-red);
    background-color: transparent
}

a.dropdown-item.current {
    color: var(--color-passion-red)
}

.whitebuttonbordered a,
.whitebuttonbordered a:active,
.whitebuttonbordered a:link,
.whitebuttonbordered a:visited {
    display: inline-block;
    width: auto;
    color: var(--color-passion-red);
    background-color: var(--color-pure-white);
    border: 1px solid var(--color-passion-red);
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    letter-spacing: .05rem
}

.whitebuttonbordered a:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-passion-red);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.whitebuttonbordered a:hover:after {
    margin-left: .9rem
}

.whitebuttonnotbordered a,
.whitebuttonnotbordered a:active,
.whitebuttonnotbordered a:link,
.whitebuttonnotbordered a:visited {
    display: inline-block;
    width: auto;
    color: var(--color-passion-red);
    background-color: var(--color-pure-white);
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    letter-spacing: .05rem;
    line-height: 1, 1
}

.whitebuttonnotbordered a:after {
    font-family: bootstrap-icons;
    vertical-align: -23%;
    font-size: 1.2rem;
    color: var(--color-passion-red);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.whitebuttonnotbordered a:hover:after {
    margin-left: .9rem
}

.redbuttonbordered a,
.redbuttonbordered a:active,
.redbuttonbordered a:link,
.redbuttonbordered a:visited {
    display: inline-block;
    width: auto;
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    border: 2px solid var(--color-pure-white);
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.redbuttonbordered a:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-pure-white);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.redbuttonbordered a:hover:after {
    margin-left: .9rem
}

.redbutton a,
.redbutton a:active,
.redbutton a:link,
.redbutton a:visited,
.redbutton span {
    display: inline-block;
    width: auto;
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.redbutton a:after,
.redbutton span:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-pure-white);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.redbutton a:hover:after,
.redbutton span:hover:after {
    margin-left: .9rem
}

.addarrow a,
.addarrow a:active,
.addarrow a:link,
.addarrow a:visited {
    display: inline-block;
    width: auto;
    color: var(--color-graphite-gray);
    background-color: transparent;
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    line-height: 1, 1
}

.addarrow a:after {
    font-family: bootstrap-icons;
    vertical-align: -23%;
    font-size: 1.2rem;
    color: var(--color-passion-red);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.addarrow a:hover:after {
    margin-left: .9rem
}

.slider-links a,
.slider-links a:active,
.slider-links a:link,
.slider-links a:visited {
    display: inline-block;
    width: auto;
    color: var(--color-passion-red);
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    letter-spacing: .05rem;
    line-height: 1, 1
}

.slider-links a:hover {
    color: var(--color-graphite-gray);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.redbutton2025 a,
.redbutton2025 a:active,
.redbutton2025 a:link,
.redbutton2025 a:visited,
.redbutton2025 span {
    display: inline-block;
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    transition: .3s all ease
}

.redbutton2025 a:after,
.redbutton2025 span:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-pure-white);
    content: "\F138";
    margin-left: .5rem;
    display: inline-block;
    transform: translateX(0);
    transition: transform .3s ease;
    font-weight: 400
}

.redbutton2025 a:hover:after,
.redbutton2025 span:hover:after {
    transform: translateX(.4rem)
}

.redbutton2025 a,
.redbutton2025 span {
    line-height: 1
}

.full-height-section {
    min-height: calc(100vh - 60px)
}

.card {
    border: 0;
    border-radius: 0
}

.card .bottomaligned {
    margin-top: auto
}

.home-back-section {
    background-color: var(--color-passion-red);
    background-image: url(https://obata.com/wp-content/themes/obata/images/background-circle-tile.webp);
    background-repeat: repeat;
    color: var(--color-pure-white)
}

.hero-back-section {
    background-color: var(--color-passion-red);
    background-image: -webkit-gradient(linear, left top, right top, from(var(--color-passion-red)), to(var(--color-sunset-red)));
    background-image: -webkit-linear-gradient(left, var(--color-passion-red), var(--color-sunset-red));
    background-image: -moz-linear-gradient(left, var(--color-passion-red), var(--color-sunset-red));
    background-image: -o-linear-gradient(left, var(--color-passion-red), var(--color-sunset-red));
    background-image: linear-gradient(to right, var(--color-passion-red), var(--color-sunset-red));
    color: var(--color-pure-white)
}

.hero-noback-section {
    color: var(--color-graphite-gray)
}

.hero-back-section-icon {
    background: url(https://obata.com/wp-content/themes/obata/images/hero-icon-esg-200.webp);
    background-repeat: no-repeat;
    background-position: right 20px bottom -20px;
    min-height: 50px
}

@media (min-width:768px) {
    .hero-back-section-icon {
        background: url(https://obata.com/wp-content/themes/obata/images/hero-icon-esg.webp);
        background-repeat: no-repeat;
        background-position: right 20px bottom -20px;
        min-height: 100px
    }
}

.intro {
    font-size: 1.5rem
}

.cellebrating-back {
    background-image: url(https://obata.com/wp-content/themes/obata/images/75-years-hero.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    max-height: 350px;
    min-height: 350px
}

@media (min-width:576px) {
    .cellebrating-back {
        max-height: 450px;
        min-height: 450px
    }
}

@media (min-width:768px) {
    .cellebrating-back {
        max-height: 550px;
        min-height: 550px
    }
}

@media (min-width:1400px) {
    .cellebrating-back {
        max-height: 600px;
        min-height: 600px
    }
}

.red-heading-small {
    color: var(--color-passion-red);
    font-size: 1rem
}

.hr-1 {
    border-top: 1px solid var(--color-graphite-gray);
    width: 100%
}

.hr-2 {
    border-top: 2px solid var(--color-graphite-gray);
    width: 50%
}

.hr-3 {
    border-top: 3px solid var(--color-graphite-gray);
    width: 50%
}

.hr-4 {
    border-top: 4px solid var(--color-graphite-gray);
    width: 100px
}

.hr-centered {
    margin: 0 auto
}

.container-fluid-half-image-1 {
    background-image: url(https://obata.com/wp-content/themes/obata/images/3-col-image1.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    min-height: 200px
}

.container-fluid-half-image-2 {
    background-image: url(https://obata.com/wp-content/themes/obata/images/3-col-image2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    min-height: 200px
}

.container-fluid-half-image-3 {
    background-image: url(https://obata.com/wp-content/themes/obata/images/3-col-image3.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    min-height: 200px
}

.red-icon img {
    max-width: 60px
}

.footer-back-section {
    background-color: var(--color-passion-red);
    background-image: url(https://obata.com/wp-content/themes/obata/images/background-circle-tile.webp);
    background-repeat: repeat;
    color: var(--color-pure-white)
}

.footer-back-section p {
    font-size: 1.3rem
}

.footer-social i {
    display: inline-block;
    padding-right: 10px;
    font-size: 1.5rem
}

.footer-challenging {
    font-size: 1.2rem;
    font-weight: 500
}

.swiper-slider-desktop .swiper-slide {
    color: #000;
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center center
}

.swiper-slider-mobile .swiper-wrapper {
    height: auto
}

.swiper-slider-mobile .slide-photo-mobile {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    max-height: 250px;
    min-height: 250px
}

.pagination {
    line-height: 1;
    font-size: 2.5rem;
    display: block
}

.pagination-custom-current {
    display: inline-block;
    padding: 0 .2rem 0 0;
    color: var(--color-graphite-gray);
    line-height: .9
}

.pagination-custom-total {
    display: inline-block;
    padding: 0 0 0 .2rem;
    color: var(--color-graphite-gray)
}

.custom-next {
    align-items: flex-end;
    line-height: 1
}

.swiper-custom-prev-arrow {
    font-size: 1.5rem;
    color: var(--color-passion-red);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.swiper-custom-prev-arrow:hover {
    color: var(--color-graphite-gray);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.swiper-custom-next-arrow {
    font-size: 1.5rem;
    color: var(--color-passion-red);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.swiper-custom-next-arrow:hover {
    color: var(--color-graphite-gray);
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

.slider-slide-category {
    font-size: 1.1rem
}

@media (min-width:576px) {
    .slider-slide-category {
        font-size: 1.2rem
    }
}

@media (min-width:992px) {
    .slider-slide-category {
        font-size: 1.3rem
    }
}

@media (min-width:1400px) {
    .slider-slide-category {
        font-size: 1.4rem
    }
}

.slider-slide-company,
.slider-slide-project-name {
    line-height: 110%
}

.site-main ul {
    list-style: none
}

.site-main ul li::before {
    content: "\2022";
    color: var(--color-passion-red);
    font-weight: 700;
    display: inline-block;
    width: 1em;
    margin-left: -1em
}

.site-main ul li ul li::before {
    content: "\2013";
    color: var(--color-passion-red);
    font-weight: 700;
    display: inline-block;
    width: 1em;
    margin-left: -1em
}

.site-main dl,
.site-main ol,
.site-main ul {
    margin-top: 0;
    margin-bottom: 0
}

.no-mobile-gap:where(.wp-block-columns.is-layout-flex) {
    gap: 0
}

.blog_anchor {
    cursor: pointer
}

@media (min-width:992px) {
    .anchornav.sticky-subnav {
        box-shadow: none !important
    }
}

#label_1_12_0 {
    padding-left: 10px;
    font-size: .8rem;
    line-height: 130%
}

.redlinks a {
    color: var(--color-passion-red) !important
}

figure {
    margin: 0
}

.huge {
    font-size: 4rem
}

.has-x-large-font-size {
    font-size: 1.4rem !important
}

.has-large-font-size {
    font-size: 1.2rem !important
}

.has-medium-font-size {
    font-size: 1rem !important
}

.wp-block-spacer {
    margin-top: 0;
    margin-bottom: 0
}

.wp-block-spacer.is-style-xsmall {
    height: 20px !important
}

.wp-block-spacer.is-style-small {
    height: 40px !important
}

.wp-block-spacer.is-style-medium {
    height: 60px !important
}

.wp-block-spacer.is-style-large {
    height: 80px !important
}

.wp-block-spacer.is-style-x-large {
    height: 100px !important
}

.wp-block-spacer.is-style-xx-large {
    height: 150px !important
}

a.wp-block-button__link,
a.wp-block-button__link:active,
a.wp-block-button__link:link,
a.wp-block-button__link:visited {
    display: inline-block;
    width: auto;
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

a.wp-block-button__link:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-pure-white);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

a.wp-block-button__link:hover:after {
    margin-left: .9rem
}

.wp-block-quote {
    border-left: 7px solid var(--color-passion-red);
    padding: 1rem 1rem 1rem 1.5rem
}

.wp-block-column .rounded {
    border-radius: .5rem
}

.wp-block-column .bordered {
    border: 1px solid var(--color-graphite-gray)
}

@media (max-width:781px) {
    .client-logos.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 30% !important;
        flex-grow: 2 !important
    }
}

@media (max-width:767.98px) {
    :where(.wp-block-columns.is-layout-flex) {
        gap: 0 !important
    }

    :where(.is-layout-flex) {
        gap: 0 !important
    }
}

figure.nospace {
    margin: 0 !important
}

:root {
    --color-passion-red: #ED1C24;
    --color-graphite-gray: #363636;
    --color-white-gray: #F3F3F3;
    --color-pure-white: #ffffff;
    --color-sunset-red: #8F1D21;
    --color-silver-gray: #707070;
    --color-pacific-blue: #1D628F;
    --color-jade-green: #1D8F5A;
    --color-black: #000000;
    --color-white: #ffffff;
    --color-white-90: rgba(255, 255, 255, .9);
    --color-white-80: rgba(255, 255, 255, .8);
    --color-white-60: rgba(255, 255, 255, .6);
    --color-white-40: rgba(255, 255, 255, .4);
    --color-white-20: rgba(255, 255, 255, .2);
    --color-black-90: rgb(34, 34, 34, .9);
    --color-black-80: rgb(34, 34, 34, .8);
    --color-black-60: rgb(34, 34, 34, .6);
    --color-black-40: rgb(34, 34, 34, .4);
    --color-black-20: rgb(34, 34, 34, .2);
    --swiper-theme-color: #454648;
    --wp--preset--font-size--small: .9rem !important;
    --wp--preset--font-size--medium: 1rem !important;
    --wp--preset--font-size--large: 1.2rem !important;
    --wp--preset--font-size--x-large: 1.4rem !important
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0 !important;
    margin-bottom: .5rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important
}

.editor-styles-wrapper h2 {
    font-size: 3rem !important;
    padding: 40px 0 20px 0 !important;
    font-weight: 400 !important
}

.editor-styles-wrapper h3 {
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    color: var(--color-passion-red) !important;
    padding: 20px 0 10px 0 !important
}

.editor-styles-wrapper h4 {
    font-size: 1.1rem !important;
    font-weight: 500 !important
}

.block-editor-rich-text__editable.wp-block.has-x-large-font-size {
    font-size: 1.4rem !important
}

.block-editor-rich-text__editable.wp-block.has-large-font-size {
    font-size: 1.2rem !important
}

.block-editor-rich-text__editable.wp-block.has-medium-font-size {
    font-size: 1rem !important
}

.block-editor-rich-text__editable.wp-block.has-medium-font-size {
    font-size: 1rem !important
}

.wp-block-spacer {
    margin-top: 0;
    margin-bottom: 0
}

.wp-block-spacer.is-style-xsmall {
    height: 20px !important
}

.wp-block-spacer.is-style-small {
    height: 40px !important
}

.wp-block-spacer.is-style-medium {
    height: 60px !important
}

.wp-block-spacer.is-style-large {
    height: 80px !important
}

.wp-block-spacer.is-style-x-large {
    height: 100px !important
}

.wp-block-spacer.is-style-xx-large {
    height: 150px !important
}

a.wp-block-button__link,
a.wp-block-button__link:active,
a.wp-block-button__link:link,
a.wp-block-button__link:visited {
    display: inline-block;
    width: auto;
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    border: 0;
    text-decoration: none;
    font-size: 1rem;
    padding: .5rem 1.2rem;
    font-weight: 400;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease
}

a.wp-block-button__link:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-pure-white);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

a.wp-block-button__link:hover:after {
    margin-left: .9rem
}

.wp-block-quote {
    border-left: 7px solid var(--color-passion-red);
    padding: 1rem 1rem 1rem 1.5rem
}

.wp-block-column .rounded {
    border-radius: .5rem
}

.wp-block-column .bordered {
    border: 1px solid var(--color-graphite-gray)
}

.form-submit-button,
.gform_wrapper input[type=button],
.gform_wrapper input[type=submit] {
    border: 0;
    text-decoration: none;
    color: var(--color-pure-white);
    background-color: var(--color-passion-red);
    font-weight: 400;
    padding: .5rem 1.1rem !important;
    font-size: 1rem;
    cursor: pointer;
    outline: 0;
    text-transform: uppercase !important;
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.form-submit-button:after {
    font-family: bootstrap-icons;
    vertical-align: -12%;
    font-size: 1.2rem;
    color: var(--color-pure-white);
    content: "\F138";
    margin-left: .5rem;
    margin-top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    font-weight: 400
}

.form-submit-button:hover:after {
    margin-left: .9rem
}

.gform_wrapper input[type=button]:hover,
.gform_wrapper input[type=submit]:hover {
    background-color: var(--color-graphite-gray);
    -webkit-transition: .5s all ease;
    -o-transition: .5s all ease;
    transition: .5s all ease
}

.gform_wrapper input[type=button]:focus,
.gform_wrapper input[type=submit]:focus {
    outline: 0
}

.gform_required_legend {
    display: none !important
}

.gfield_required {
    display: none !important
}

input,
select,
textarea {
    border-radius: 0 !important;
    -webkit-border-radius: 0;
    outline: 0;
    border-width: 1px;
    color: var(--color-graphite-gray);
    border-color: var(--color-graphite-gray);
    background-color: var(--color-pure-white);
    padding: 1rem !important
}

select {
    padding-left: 15px !important;
    padding-right: 15px !important;
    border-radius: 0;
    -webkit-appearance: none;
    background-image: none
}

input:focus,
select:focus,
textarea:focus {
    color: var(--color-graphite-gray);
    background-color: var(--color-white-60)
}

input[type=search] {
    -webkit-appearance: none
}

.gform_wrapper.gravity-theme .gfield_label {
    color: var(--color-graphite-gray)
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    background: var(--color-passion-red-10) !important;
    border: 1.5px solid var(--color-passion-red) !important;
    border-radius: 0 !important
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2,
.gform_wrapper.gravity-theme .gform_validation_errors>ol a {
    color: var(--color-passion-red)
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    background: var(--color-passion-red-10) !important;
    border: 1px solid var(--color-passion-red) !important
}

.gfield_validation_message,
.instruction.validation_message {
    display: none !important
}

.gform_wrapper.gravity-theme input[type=color],
.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    font-size: 16px !important
}

.pum-theme-1877 .pum-content+.pum-close,
.pum-theme-default-theme .pum-content+.pum-close {
    font-size: 18px !important;
    line-height: 29px !important
}

.pum-theme-1877 .pum-title,
.pum-theme-default-theme .pum-title {
    color: var(--color-graphite-gray) !important;
    font-size: 32px !important;
    line-height: 40px !important;
    padding-top: 20px !important
}

.pum-theme-1877 .pum-content,
.pum-theme-default-theme .pum-content {
    color: var(--color-graphite-gray) !important
}

#gform_2 {
    padding-top: 15px !important
}

.footer-for-printing,
.logo-for-printing {
    display: none !important
}

@media print {

    .desktop-header,
    .mobile-header,
    header {
        display: none !important
    }

    body {
        margin-top: 0 !important
    }

    .donotprint,
    .footer-back-section,
    footer {
        display: none !important
    }

    .logo-for-printing {
        display: block !important
    }

    .footer-for-printing {
        clear: both !important;
        display: block !important
    }

    .sticky-subnav {
        display: none !important
    }

    .element-item {
        left: 0 !important;
        top: 0 !important;
        clear: both !important;
        position: relative !important;
        width: 100% !important;
        height: auto !important
    }

    body,
    html {
        border: 0 !important
    }
}





.hero-eyebrow a.wp-block-button__link:after {
    all: unset !important;
    content: none !important;
}


.wpastra-container-hover-2026 {
    position: relative;
}

.wpastra-container-hover-2026::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: 10px;
    box-shadow: 3px 8px 12px 0px #00000033;
    transition: box-shadow 0.3s ease;
    z-index: 0;
}

.wpastra-container-hover-2026:hover::before {
    box-shadow: 1px 1px 6px 0px #00000033;
}

/* Keep content above pseudo-element */
.wpastra-container-hover-2026>* {
    position: relative;
    z-index: 1;
}