/*
Theme Name:   GCA
Description:  General Contractors Association of New York theme
Author:       Design Brooklyn
Author URI:   http://www.designbrooklyn.com
Template:     neve
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  gca
*/

header.header {
    position:fixed;
    width:100%;
    z-index:999;
}
main#content {
    margin-top:183px;
}

.hfg_header.site-header {
    z-index:100;
}
.header-main-inner > .container > .row--wrapper {
    grid-template-columns:65% auto;
}
.site-logo img {
    max-width:100%;
}
.header-main-inner .hfg-slot.right {
    flex-wrap:wrap;
}
.header-main-inner .hfg-slot.right > .builder-item:first-child {
    flex:1 1 100%;
}
.header-main-inner .hfg-slot.right > .builder-item {
    text-align:right;
}
.header-main-inner .hfg-slot.right > .builder-item > .item--inner {
    display:inline-block;
}
.header-main .row--wrapper {
    align-items:center;
}
.header-bottom-inner > .container {
    padding-left:175px;
    margin-top:-45px;
    position:relative;
    z-index:10;
}
.header-bottom-inner > .container .hfg-slot {
    align-items:end;
}
.hms-show {
    display:none;
}
#header-menu-sidebar .hms-show {
    display:block;
}

.builder-item--header_search {
    --height:30px;
}
.search-form {
    border:1.5px solid #000;
    border-radius:20px;
    max-width:280px;
}
.search-form .search-field {
    width:calc(100% - 75px);
    padding:10px 12px 10px 42px;
    background:url(/wp-content/themes/gca/includes/images/icon-search.svg) 15px center no-repeat;
    background-size:15px 15px;
    border:none;
}
.search-form .search-submit {
    background-image:url(/wp-content/themes/gca/includes/images/icon-arrow-right-black.svg);
    background-position:center center;
    background-repeat:no-repeat;
    background-size:9px 19px;
    background-color:rgba(192, 192, 203, .7);
    transition:background-color 300ms;
    padding:12px 15px;
    min-width:30px;
}
.search-form .search-field:focus + .search-submit, .search-form:hover .search-submit {
    background-color:rgba(192, 192, 203, 1);
}

.nav-menu-footer {
    margin-top:-80px;
}
#block-10 {
    margin-top:72px;
}
.footer--row .button::after {
    border-color: #000;
}

h1 {
    letter-spacing:-0.065em;
}
h1.lessmargin, h2.lessmargin, h3.lessmargin, h4.lessmargin, h5.lessmargin, h6.lessmargin {
    margin-bottom:15px;
}

a.button, a.wp-block-button__link { display:inline-block; }
.btn, .button, .button.button-primary, .wp-block-button__link, .is-style-primary .wp-block-button__link, .wp-block-search .wp-block-search__button, button, input[type="button"], input[type="reset"], input[type="submit"] { 
    border:none;
    background:none;
    color:#000;
    text-transform:uppercase;
    transition:transform 300ms;
    font-size:0.85em;
    line-height:1em;
    padding:10px 40px 10px 20px;
    text-align:right;
}
.btn:hover, .button:hover, .button.button-primary:hover, .wp-block-button__link:hover, .is-style-primary .wp-block-button__link:hover, button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
    background:none; 
    color:#000;
}
.btn:focus, .button:focus, .button.button-primary:focus, .wp-block-button__link:focus, .is-style-primary .wp-block-button__link:focus, button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus {
    background:none; 
    color:#000;
    appearance:none;
    outline:none;
}
.btn:active, .button:active, .button.button-primary:active, .wp-block-button__link:active, .is-style-primary .wp-block-button__link:active, button:active, input[type="button"]:active, input[type="reset"]:active, input[type="submit"]:active {
    color:#333;
}
.button { text-transform:uppercase; }

.btn, .button, .button.button-primary, .wp-block-button__link, .is-style-primary .wp-block-button__link { 
    position:relative; 
}
.btn::before, .button::before, .button.button-primary::before, .wp-block-button__link::before, .is-style-primary .wp-block-button__link::before {
    content:"";
    position:absolute;
    top:calc(100% - 6px);
    width:0;
    height:2px;
    background:rgba(255, 255, 255, 0.3);
    transition:all 300ms;
    right:40px;
}
.btn::after, .button::after, .button.button-primary::after, .wp-block-button__link::after, .is-style-primary .wp-block-button__link::after {
    content:"";
    width:32px;
    height:32px;
    border:1.5px solid #fff;
    border-radius:16px;
    background:url(/wp-content/themes/gca/includes/images/icon-arrow-right-black.svg) 11.5px center no-repeat;
    background-size:8px 13.5px;
    position:absolute;
    right:0;
    top:50%;
    margin-top:-16px;
    transition:all 300ms;
    box-shadow:0 0 0 rgba(255,255,255,0);
}

.btn.lightbg::before, .button.lightbg::before, .button.button-primary.lightbg::before, .wp-block-button__link.lightbg::before, .is-style-primary .wp-block-button__link.lightbg::before {
    background:rgba(0, 0, 0, 0.3);
    border-color:#000;
}
.btn.lightbg::after, .button.lightbg::after, .button.button-primary.lightbg::after, .wp-block-button__link.lightbg::after, .is-style-primary .wp-block-button__link.lightbg::after {
    border-color:#000;
}

.btn:hover, .button:hover, .button.button-primary:hover, .wp-block-button__link:hover, .is-style-primary .wp-block-button__link:hover,
.btn:focus, .button:focus, .button.button-primary:focus, .wp-block-button__link:focus, .is-style-primary .wp-block-button__link:focus {
    transform:scale(105%);
}
.btn:hover::before, .button:hover::before, .button.button-primary:hover::before, .wp-block-button__link:hover::before, .is-style-primary .wp-block-button__link:hover::before,
.btn:focus::before, .button:focus::before, .button.button-primary:focus::before, .wp-block-button__link:focus::before, .is-style-primary .wp-block-button__link:focus::before {
    width:calc(100% - 60px);
}
.btn:hover::after, .button:hover::after, .button.button-primary:hover::after, .wp-block-button__link:hover::after, .is-style-primary .wp-block-button__link:hover::after,
.btn:focus::after, .button:focus::after, .button.button-primary:focus::after, .wp-block-button__link:focus::after, .is-style-primary .wp-block-button__link:focus::after {
    box-shadow:inset 0 0 15px rgba(255,255,255,0.3);
}

.body, .btn.body, .button.body, .button.button-primary.body, .wp-block-button__link, .is-style-primary .wp-block-button__link.body, .wp-block-search .wp-block-search__button.body, button.body, input[type="button"].body, input[type="reset"].body, input[type="submit"].body {
    font-size:1em;
}

.orange-text, .button.orange-text { color:#F37321; }
.button.orange-text:hover { color:#BF5A1B; }
.btn.orange-text::after, .button.orange-text::after, .button.button-primary.orange-text::after, .wp-block-button__link.orange-text::after, .is-style-primary .wp-block-button__link.orange-text::after {
    background-image:url(/wp-content/themes/gca/includes/images/icon-arrow-right-orange.svg);
}

.black-bg .btn, .black-bg .button, .black-bg .button.button-primary, .black-bg .wp-block-button__link, .black-bg .is-style-primary .wp-block-button__link, .black-bg .wp-block-search .wp-block-search__button, .black-bg button, .black-bg input[type="button"], .black-bg input[type="reset"], .black-bg input[type="submit"] { 
    color:#fff;
}

.black-bg .btn, .black-bg .button::after, .black-bg .button.button-primary::after, .black-bg .wp-block-button__link::after, .black-bg .is-style-primary .wp-block-button__link::after, .black-bg .wp-block-search .wp-block-search__button::after, .black-bg button::after, .black-bg input[type="button"]::after, .black-bg input[type="reset"]::after, .black-bg input[type="submit"]::after { 
    background:url(/wp-content/themes/gca/includes/images/icon-arrow-right-white.svg) 11.5px center no-repeat;
    background-size:8px 13.5px;
}

.dark-blue-bg .btn, .dark-blue-bg .button::after, .dark-blue-bg .button.button-primary::after, .dark-blue-bg .wp-block-button__link::after, .dark-blue-bg .is-style-primary .wp-block-button__link::after, .dark-blue-bg .wp-block-search .wp-block-search__button::after, .dark-blue-bg button::after, .dark-blue-bg input[type="button"]::after, .dark-blue-bg input[type="reset"]::after, .dark-blue-bg input[type="submit"]::after { 
    background:url(/wp-content/themes/gca/includes/images/icon-arrow-right-white.svg) 11.5px center no-repeat;
    background-size:8px 13.5px;
}

.header--row .button::before {
    border-color:#000;
    background:rgba(0, 0, 0, 0.3);
}
.header--row .button::after {
    border-color:#000;
}
.header--row .button:hover::before, 
.header--row .button:focus::before {
    width:calc(100% - 60px);
}
.header--row .builder-item.has-nav {
    margin-bottom:0;
}
.nav-ul.primary-menu-ul.menu-desktop > li > .wrap > a {
    padding-bottom:22px;
}
.nav-ul li > .wrap .caret {
    margin-left:7px;
    margin-bottom:10px;
}
.nav-ul .sub-menu {
    box-shadow:inset 0 3px 6px rgba(0, 0, 0, 0.1);
}

/* social */
.social-icon {
    display:inline-block;
    width:32px;
    height:32px;
    background:#000;
    border-radius:50%;
    transition:transform 300ms;
    background-size:20px 20px;
    background-position:center center;
    background-repeat:no-repeat;
    overflow:hidden;
    text-indent:100px;
}
.social-icon:hover, .social-icon:focus {
    transform:scale(1.1);
}
.social-icon.x {
    background-image:url(/wp-content/themes/gca/includes/images/icon-social-x.svg);
}
.social-icon.facebook {
    background-image:url(/wp-content/themes/gca/includes/images/icon-social-facebook.svg);
}
.social-icon.instagram {
    background-image:url(/wp-content/themes/gca/includes/images/icon-social-instagram.svg);
}

/* general */
.rel {
    position:relative;
}
.wp-block-columns.nogap {
    gap:0;
}
.in-front {
    position:relative;
    z-index:10;
}
.padding {
    padding:15px;
}
.pad-t-15 {
    padding-top:15px;
}
.pad-b-15 {
    padding-bottom:15px;
}
.pad-t-30 {
    padding-top:30px;
}
.pad-r-30 {
    padding-right:30px;
}
.pad-b-30 {
    padding-bottom:30px;
}
.pad-l-30 {
    padding-left:30px;
}
.pad-t-50 {
    padding-top:50px;
}
.pad-r-50 {
    padding-right:50px;
}
.pad-b-50 {
    padding-bottom:50px;
}
.pad-l-50 {
    padding-left:50px;
}
.pad-l-80 {
    padding-left:80px;
}
.no-padding, .wp-block-cover.no-padding {
    padding:0;
}
.fb-auto {
    flex-basis:auto !important;
    flex-grow:unset !important;
}
.mw-90p {
    max-width:90%;
}
.mw-80p {
    max-width:80%;
}
.mw-70p {
    max-width:70%;
}
.mw-60p {
    max-width:60%;
}
.mw-50p {
    max-width:60%;
}
.centered {
    margin-left:auto;
    margin-right:auto;
}
.text-align-right {
    text-align:right;
}
.text-align-center {
    text-align:center;
}
.round-top-right {
    -webkit-border-top-right-radius: 12px;
    -moz-border-radius-topright: 12px;
    border-top-right-radius: 12px;
}
.round-top-left {
    -webkit-border-top-left-radius: 12px;
    -moz-border-radius-topleft: 12px;
    border-top-left-radius: 12px;
}
.rounded, .rounded img {
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
}
img.not-rounded, .not-rounded img {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.img-title-rows .wp-block-image {
    width:35%;
    text-align:center;
}
.img-title-rows .wp-block-image.wide {
    max-width:40%;
}
.img-title-rows .wp-block-image.portrait img {
    max-width:70%;
}
.img-title-rows .wp-block-group {
    margin-bottom:30px;
}
.img-left, .wp-block-image.img-left .alignleft {
    margin-top:0.25em;
}
.align-items-stretch {
    align-items:stretch;
}
#content.neve-main .container .alignfull.center-inner > [class*="__inner-container"], #content.neve-main .container .alignwide.center-inner > [class*="__inner-container"] {
    margin-left:auto;
    margin-right:auto;
}
.condensed {
    font-family:"Roboto Condensed";
    letter-spacing:-0.05em;
}
h3.larger {
    font-size:27px;
    line-height:normal;
}
h2.title-bar {
    display:inline-block;
    margin-left:auto;
    margin-right:auto;
    padding:25px 30px;
    border-radius:12px;
}
.white-text {
    color:#fff;
}
.max980w {
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
}
.max900w {
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
}
.spacer {
    height:30px;
}
.block { display:block; }
.inline-block { display:inline-block; }
.fh { height:100%; }

/* colors */
.white-bg { background:#ffffff; }
.yellow-bg { background:#ffcf01; }
.orange-bg { background:#f37321; }
.blue-bg { background:#00aeef; }
.dark-blue-bg { background:#1c3073; color:#fff; }
.green-bg { background:#a6ce39; }
.black-bg { background:#000000; color:#fff; }
.tan-bg { background:#b2a081; }
.light-tan-bg { background:#e8e2d9; }
.gray-bg { background:#c1c1c1; }
.dark-blue-bg a { color:#fff; font-weight:bold; }
.black-bg a { color:#fff; font-weight:bold; }
:where(.wp-block-cover-image:not(.has-text-color)), :where(.wp-block-cover:not(.has-text-color)) {
    color:#000;
}
:where(.wp-block-cover-image:not(.has-text-color) .black-bg), :where(.wp-block-cover:not(.has-text-color) .black-bg) {
    color:#fff;
}
body .editor-styles-wrapper .black-bg p, body .editor-styles-wrapper .dark-blue-bg p {
    color:#fff;
}
a.none {
    color:inherit;
}
a.white-text {
    color:#fff;
    text-decoration:underline;
}

/* carousel */
.carousel {
    position:relative;
    margin:40px 0;
}
.carousel_prev, .carousel_next {
    position:absolute;
    top:50%;
    margin-top:-53px;
    width:40px;
    height:40px;
    padding:0;
    border:1.5px solid #fff;
    border-radius:50%;
    z-index:9999;
    background:url(/wp-content/themes/gca/includes/images/icon-arrow-right-white.svg) 15px center no-repeat;
    background-size:10px 16px;
    transition:all 300ms;
}
.carousel_prev:hover, .carousel_next:hover, .carousel_prev:focus, .carousel_next:focus, .carousel_prev:active, .carousel_next:active  {
    background-image:url(/wp-content/themes/gca/includes/images/icon-arrow-right-white.svg);
    background-size:10px 16px;
    background-position:15px center;
    background-repeat:no-repeat;
    border:1.5px solid #fff;
    outline:none;
    box-shadow:none;
    appearance:none;
    -moz-appearance:none;
}
.carousel_prev:hover, .carousel_next:hover {
    background-color:rgba(255,255,255,0.5);
}
#historical-timeline .carousel_prev, #historical-timeline .carousel_next {
    border:1.5px solid #000;
    background-image:url(/wp-content/themes/gca/includes/images/icon-arrow-right-black.svg);
    box-shadow:0 0 20px rgba(0,0,0,0.25);
}
#historical-timeline .carousel_prev:hover, #historical-timeline .carousel_next:hover, #historical-timeline .carousel_prev:focus, #historical-timeline .carousel_next:focus, #historical-timeline .carousel_prev:active, #historical-timeline .carousel_next:active {
    background-image:url(/wp-content/themes/gca/includes/images/icon-arrow-right-black.svg);
    border:1.5px solid #000;
}
#historical-timeline .carousel_prev:hover, #historical-timeline .carousel_next:hover {
    
}
.carousel_prev {
    left:20px;
    transform:rotate(180deg);
}
.carousel_next {
    right:20px;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-columns.carousel-slide-left {
    margin-left:80px;
}
.carousel .wp-block-cover.is-style-page-banner-cover .wp-block-column.is-vertically-aligned-stretch::before,
.carousel .wp-block-cover.is-style-page-banner-cover .wp-block-cover__background.has-background-dim.has-background-dim-0 {
    background-color:#e8e2d9;
}
.page-id-1057 .carousel .wp-block-cover.is-style-page-banner-cover .wp-block-column.is-vertically-aligned-stretch::before,
.page-id-1057 .carousel .wp-block-cover.is-style-page-banner-cover .wp-block-cover__background.has-background-dim.has-background-dim-0 {
    background-color:#1c3073;
    color:#fff;
}
.page-id-1057 .carousel .wp-block-cover, .page-id-1057 .carousel .wp-block-cover a:link {
    color:#fff;
}

.tns-outer {
    text-align:center;
}
.tns-outer .tns-item {
    text-align:left;
}
.tns-nav {
    display:inline-block;
    text-align:center;
    margin:10px 0 30px;
}
.tns-nav button {
    background:#999;
    padding:0;
    width:10px;
    height:10px;
    border-radius:50%;
    margin:0 2px;
}

/* grids */
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 2.5%;
    row-gap: 1.8em;
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 2.5%;
    row-gap: 1.8em;
}
.grid-item-break-after {
    grid-column:2;
}
.grid-item-break-before {
    grid-row-start:auto;
    grid-column-start:1;
}
.grid-item-inner {
    display:flex;
    flex-direction:column;
    height:100%;
}
.grid-image {
    overflow:hidden;
    flex:0 0 auto;
    aspect-ratio:1;
}
.grid-image img {
    aspect-ratio: 4 / 3;
    object-fit:cover;
    display: block;
    object-position:50% 50%;
}
body.page-id-561 .grid-image, body.page-id-561 .grid-image img, body.page-id-563 .grid-image, body.page-id-563 .grid-image img {
    aspect-ratio:1;
    object-position:50% 5%;
}
body.page-id-567 .grid-image, body.page-id-8 .grid-image {
    aspect-ratio: 4 / 3;
}
.grid-item h3.wp-block-post-title {
    font-size:20px;
    line-height:normal;
    margin-bottom:10px;
}
.grid-item-action {
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    height:100%;
    background:#1c3073;
    color:#fff;
    padding:10px 10px;
    margin-top:-0.1px;
}
.is-layout-flex {
  gap:0.5em 2em;
}
.flex {
    display:flex;
}
.flex-h-center {
    align-items:center;
}
.flex-v-center {
    justify-content:center;
}
.line-height-2x, h3.larger.line-height-2x {
    line-height:2em;
}
.nomargin {
    margin-bottom:0;
}
.nomargintop {
    margin-top:0;
}
.margintop {
    margin-top:30px;
}
.p, .marginb, .marginbottom {
    margin-bottom:30px;
}
.less-margintop {
    margin-top:10px;
}
.nv-content-wrap ul.nomargin {
    margin:0;
}
.nv-content-wrap ul.lessmargin {
    margin:10px 0;
}
.nv-content-wrap ul.nomargintop {
    margin-top:0;
}
.nv-content-wrap ul.nomarginbottom {
    margin-top:0;
}
.indent, .nv-content-wrap ul.indent {
    margin-left:30px;
}
.nv-content-wrap li {
    margin-top:0;
    margin-bottom:10px;
}
.nv-content-wrap ul.nomargin > li:last-child {
    margin-bottom:0;
}
.nv-content-wrap ul.nomargin.childmargin > li:last-child {
    margin-bottom:10px;
}
.less-margin, h3.less-margin {
    margin-bottom:15px;
}

h2.image-caption.small {
    font-size:18px;
    line-height:normal;
    margin-bottom:8px;
}
h3.image-caption.small {
    font-size:14px;
    line-height:normal;
    margin-bottom:10px;
}
h2.image-caption.tiny {
    font-size:16px;
    line-height:normal;
}

.cols2 {
    column-count: 2;
}
.cols3 {
    column-count: 3;
}

.over-image {
    position:absolute;
    z-index:10;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
}
.over-image::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
}

/* timeline */
#content.neve-main .container .alignfull.inner-full > [class*="__inner-container"], #content.neve-main .container .alignwide.inner-full > [class*="__inner-container"] {
    max-width:none;
}
.alignfull.timeline-container {
    padding:0;
}
.timeline-container .wp-block-media-text {
    grid-template-columns:100% !important;
}
.timeline-container .wp-block-media-text > .wp-block-media-text__content {
    grid-column:1;
    grid-row:2;
}
.timeline-container .wp-block-media-text > .wp-block-media-text__media {
    grid-column:1;
    grid-row:1;
}
#content.neve-main .container .timeline-container.alignfull > [class*="__inner-container"], #content.neve-main .container .timeline-container.alignwide > [class*="__inner-container"] {
    max-width:none;
    display:flex;
    white-space: nowrap;    
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; 
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text {
    flex:0 0 500px;
    max-width:500px;
    margin-bottom:50px;
    position:relative;
    z-index:2;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text:first-child {
    margin-left:32px;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text:last-child {
    margin-right:32px;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text::before {
    content:"";
    width:2px;
    background:#1c3073;
    position:absolute;
    top:1px;
    bottom:1px;
    margin-left:calc(50% - 1px);
    z-index:1;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media {
    margin:0 auto 30px;
    object-fit:cover;
    border-radiuss:10px;
    align-self:start;
    z-index:2;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media img {
    border-radius:12px;
    width:400px;
    height:300px;
    margin-left:50px;
    object-fit:cover;
    position:relative;
    z-index:2;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media::before {
    position:absolute;
    content:"";
    z-index:1;
    background:#1c3073;
    margin-top:149px;
    margin-left:calc(100% - 50px);
    height:2px;
    width:100px;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text:last-child .wp-block-media-text__media::before {
    background:none;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__content {
    position:relative;
    z-index:2;
    text-align:left;
    white-space:wrap;
    background:#1c3073;
    color:#fff;
    height:40%;
    margin:0 80px;
    align-self:end;
    padding:15px;
    width:calc(100% - 160px);
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__content h3 {
    color:#c1c1c1;
    text-align:center;
    margin-bottom:10px;
}
#content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__content p {
    margin-bottom:0; 
}

/* events */
.event-item img {
    vertical-align:top;
}
.event-item-block {
    aspect-ratio:1.3;
}
.event-item-block-image {
    height:100%;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:cover;
}
body.single .entry-header h1 {
    font-size:32px;
    line-height:1.2;
}
body.single .entry-header + .nv-thumb-wrap .wp-post-image {
    width:100%;
}

/* banner cover styling */
.wp-block-cover.is-style-page-banner-cover .wp-block-cover__background.has-background-dim.has-background-dim-0 {
    left:0%;
    width:40%;
    right:unset;
    background:#ddd;
    opacity:1;
}
.wp-block-cover.is-style-page-banner-cover.blue-bg .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover.is-style-page-banner-cover.blue-bg .wp-block-column.is-vertically-aligned-stretch::before {
    background-color:#00AEEF;
}
.wp-block-cover.is-style-page-banner-cover.dark-blue-bg .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover.is-style-page-banner-cover.dark-blue-bg .wp-block-column.is-vertically-aligned-stretch::before {
    background-color:#1c3073;
}
.wp-block-cover.is-style-page-banner-cover.yellow-bg .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover.is-style-page-banner-cover.yellow-bg .wp-block-column.is-vertically-aligned-stretch::before {
    background-color:#ffcf01;
}
.wp-block-cover.is-style-page-banner-cover.gray-bg .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover.is-style-page-banner-cover.gray-bg .wp-block-column.is-vertically-aligned-stretch::before {
    background-color:#c1c1c1;
}
.wp-block-cover.is-style-page-banner-cover.black-bg .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover.is-style-page-banner-cover.black-bg .wp-block-column.is-vertically-aligned-stretch::before {
    background-color:#1c3073;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-cover__inner-container {
    align-self:stretch;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-cover__image-background {
    left:40%;
    width:60%;
    transform:scale(115%);
    transition:transform 8s;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-cover__image-background.active {
    transform:scale(100%);
}
.wp-block-cover.is-style-page-banner-cover .wp-block-columns {
    margin:0;
    min-height:100%;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-column.is-vertically-aligned-stretch {
    position:relative;
    z-index:11;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-column.is-vertically-aligned-stretch > * {
    position:relative;
    z-index:11;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-column.is-vertically-aligned-stretch::before {
    content:"";
    top:0; right:-15%; bottom:0; left:0;
    background:#ddd;
    transform:skew(-12.5deg);
    position:absolute;
    z-index:1;
}

.wp-block-cover.is-style-page-banner-cover .btn, .wp-block-cover.is-style-page-banner-cover .button, .wp-block-cover.is-style-page-banner-cover .button.button-primary, .wp-block-cover.is-style-page-banner-cover .wp-block-button__link, .wp-block-cover.is-style-page-banner-cover .is-style-primary .wp-block-button__link, .wp-block-cover.is-style-page-banner-cover button {
    font-size:1.2em;
    line-height:1.2em;
    padding:12.5px 60px 12.5px 20px;
}
.wp-block-cover.is-style-page-banner-cover .btn:hover::before, .wp-block-cover.is-style-page-banner-cover .button:hover::before, .wp-block-cover.is-style-page-banner-cover .button.button-primary:hover::before, .wp-block-cover.is-style-page-banner-cover .wp-block-button__link:hover::before, .wp-block-cover.is-style-page-banner-cover .is-style-primary .wp-block-button__link:hover::before, .wp-block-cover.is-style-page-banner-cover button:hover::before,
.wp-block-cover.is-style-page-banner-cover .btn:focus::before, .wp-block-cover.is-style-page-banner-cover .button:focus::before, .wp-block-cover.is-style-page-banner-cover .button.button-primary:focus::before, .wp-block-cover.is-style-page-banner-cover .wp-block-button__link:focus::before, .wp-block-cover.is-style-page-banner-cover .is-style-primary .wp-block-button__link:focus::before, .wp-block-cover.is-style-page-banner-cover button:focus::before {
    width:calc(100% - 81px);
    top:calc(100% - 8px);
    right:60px;
}
.wp-block-cover.is-style-page-banner-cover .btn::after, .wp-block-cover.is-style-page-banner-cover .button::after, .wp-block-cover.is-style-page-banner-cover .button.button-primary::after, .wp-block-cover.is-style-page-banner-cover .wp-block-button__link::after, .wp-block-cover.is-style-page-banner-cover .is-style-primary .wp-block-button__link::after, .wp-block-cover.is-style-page-banner-cover button::after {
    width:48px;
    height:48px;
    border-width:2px;
    border-radius:50%;
    background-size:11px 18px;
    background-position:17.5px center;
    margin-top:-24px;
}
.wp-block-cover.is-style-page-banner-cover .wp-block-columns .wp-block-column:first-child {
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* columns / blocks */
.intro-box { 
    position:relative;
    padding:20px 30px 20px 30px; 
    border-radius:6px;
}
.intro-box:not(.notab)::before {
    content:"";
    position:absolute;
    top:24px;
    bottom:24px;
    left:0;
    width:10px;
    background:#1c3073;
}
.intro-box.black-bg:not(.notab)::before {
    background:#fff;
}
.intro-box.dark-blue-bg:not(.notab)::before {
    background:#00AEEF;
}
.intro-box.dark-blue-bg .wp-block-button__link {
    color:#ffffff;
}
.intro-box.dark-blue-bg .wp-block-button__link::after {
    background-image:url(/wp-content/themes/gca/includes/images/icon-arrow-right-white.svg);
}
.intro-box > .wp-block-columns, .intro-box > div > .wp-block-columns {
    margin-bottom:0;
}
.intro-box.pad-r-50 {
    padding-right:60px;
}
.fore {
    position:relative;
    z-index:10;
}
.bg-lines {
    position:absolute;
    width:100%;
    height:100%;
    z-index:1;
}
.bg-lines::before, .wp-block-column.bg-lines::before, .wp-block-group.bg-lines::before {
    content:"";
    position:absolute;
    top:-15px;
    left:-30px;
    width:calc(100% + 60px);
    height:calc(100% + 30px);
    background:url(/wp-content/themes/gca/includes/images/bg-lines.svg);
    border:1px solid #231f2024;
    border-radius:6px;
    z-index:1;
}
.bg-lines.w60 {
    width:60%;
}
.bg-lines.w70 {
    width:70%;
}
.bg-lines.h70 {
    height:70%;
}
.bg-lines.r {
    right:30px;
}
.bg-lines.l {
    left:30px;
}
.nudge-right, .is-layout-flex > div.nudge-right {
    margin-right:-10%;
}
.nudge-left, .is-layout-flex > div.nudge-left {
    margin-left:-10%;
}
.nudge-left-more, .is-layout-flex > div.nudge-left-more {
    margin-left:-20%;
}
.nudge-left-b, .is-layout-flex > div.nudge-left-b {
    margin-left:calc(-10% - 20px);
}
.nudge-right-20, .is-layout-flex > div.nudge-right-20 {
    margin-right:-20%;
}
.nudge-left-20, .is-layout-flex > div.nudge-left-20 {
    margin-left:-20%;
}
.nudge-right-30, .is-layout-flex > div.nudge-right-30 {
    margin-right:-30%;
}
.nudge-left-30, .is-layout-flex > div.nudge-left-30 {
    margin-left:-30%;
}
.nudge-down, .is-layout-flex > div.nudge-down {
    margin-top:30px;
}
.nudge-down-more, .is-layout-flex > div.nudge-down-more {
    margin-top:60px;
}
.nudge-down-max, .is-layout-flex > div.nudge-down-max {
    margin-top:90px;
}
.nudge-up, .is-layout-flex > div.nudge-up {
    margin-top:-30px;
}

.num-cols-3 { justify-content:center; }
.wp-block-columns.is-layout-flex.nopadding { gap:1px; }
.wp-block-columns.wrap { flex-wrap:wrap !important; }
.wp-block-columns-is-layout-flex.num-cols-3 .wp-block-column { flex:0 0 calc(33.3% - 1.34em); }
.wp-block-columns-is-layout-flex.num-cols-3 .wp-block-column.nopadding { flex:0 0 calc(33.3% - 0.5px); }

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.flex-basis-auto {
    flex-basis:auto;
}

@media (min-width: 1280px) {
    .builder-item--logo {
        --maxwidth:450px;
    }
}
@media (min-width: 1020px) and (max-width:1279px) {
    .builder-item--logo {
        --maxwidth:350px;
    }
}
@media (min-width: 960px) and (max-width:1019px) {
    .builder-item--logo {
        --maxwidth:300px;
    }
}
@media (min-width: 960px) {
    .builder-item--header_search {
        --height:30px;
    }
}

.m-show { display:none; }

@media (max-width: 1200px) {
    
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text {
        flex:0 0 440px;
        max-width:440px;
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media img {
        width:350px;
        height:263px;
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media::before {
        margin-left:calc(100% - 40px);
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__content {
        margin:0 80px;
        height:50%;
    }
}
@media (max-width: 959px) {
    .m-show {
        display:block;
    }
    .m-hide {
        display:none;
    }
    .wp-block-image.m-landscape img {
        aspect-ratio:2 !important;
    }
    .wp-block-columns.is-layout-flex {
        gap:0;
    }
    
    .nudge-right, .is-layout-flex > div.nudge-right, .m-nudge-right:not(.wp-block-group), .is-layout-flex > div.m-nudge-right:not(.wp-block-group) {
        margin-right:0; padding-left:10% !important;
    }
    .wp-block-group.m-nudge-right {
        margin-left:10%;
    }
    .m-no-nudge, .nudge-right.m-no-nudge, .is-layout-flex > div.nudge-right.m-no-nudge-right, .nudge-left.m-no-nudge, .is-layout-flex > div.nudge-left.m-no-nudge-left {
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .nudge-right.m-no-nudge-right, .is-layout-flex > div.nudge-right.m-no-nudge-right {
        padding-left:0 !important;
    }
    .nudge-left, .is-layout-flex > div.nudge-left, .m-nudge-left:not(.wp-block-group), .is-layout-flex > div.m-nudge-left:not(.wp-block-group) {
        margin-left:0; padding-right:10% !important;
    }
    .wp-block-group.m-nudge-left {
        margin-right:10%;
    }
    .nudge-left.m-no-nudge-left, .is-layout-flex > div.nudge-left.m-no-nudge-left {
        padding-right:0 !important;
    }
    .m-nudge-center:not(.wp-block-group) {
        margin-left:auto; margin-right:auto; padding-left:5% !important; padding-right:5% !important;
    }
    .m-nudge-center.wp-block-group {
        margin-left:5%; margin-right:5%;
    }
    .m-no-nudge-down, .m-no-nudge-up {
        margin-top:0% !important;
    }
    .m-nudge-down, .m-nudge-down-5 {
        margin-top:5% !important;
    }
    .m-nudge-up, .m-nudge-up-5 {
        margin-top:-5% !important;
    }
    .m-nudge-up, .m-nudge-up-10 {
        margin-top:-10% !important;
    }
    .m-nudge-up-15 {
        margin-top:-15% !important;
    }
    .m-nudge-up-20 {
        margin-top:-20% !important;
    }
    .m-nudge-down-20 {
        margin-top:20% !important;
    }
    .m-nudge-left {
        padding-right:10% !important;
    }
    .m-no-padding-top {
        padding-top:0 !important;
    }
    .m-no-padding-bottom {
        padding-bottom:0 !important;
    }
    
    .minwid100, .minwid100 > img {
        min-width:100% !important; 
    }
    
    .m-h-20 {
        height:20px !important;
    }
    .m-h-30 {
        height:30px !important;
    }
    .wp-block-columns.m-col-reverse {
        flex-direction:column-reverse;
    }
    .m-text-align-center, .has-text-align-right.m-text-align-center, .has-text-align-left.m-text-align-center {
        text-align:center;
    }
    .m-justify-content-center, .wp-block-buttons.is-content-justification-right.m-justify-content-center, .wp-block-buttons.is-content-justification-left.m-justify-content-center {
        justify-content:center;
    }
    .m-align-center {
        margin-left:auto !important;
        margin-right:auto !important;
    }
    .m-no-flex, body .is-layout-flex.m-no-flex {
        display:block;
    }
    .m-flex-row {
        flex-direction:row !important;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-spacer {
        max-height:30px;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-spacer:first-child {
        display:none;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-columns {
        flex-direction:column-reverse;
    }
    .wp-block-cover.is-style-page-banner-cover.alignfull {
        padding:0;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-cover__image-background {
        left:0;
        width:100%;
        height:50%;
        top:0;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-cover__background.has-background-dim.has-background-dim-0 {
        width:100%;
        bottom:0;
        top:50%;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-column.is-vertically-aligned-stretch::before {
        transform:skew(0) skewY(-2.5deg);
        right:0;
        top:-15%;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex:1 0 50% !important;
        min-height:25vh;
        padding:0 !important;
    }
    
    .carousel_prev, .carousel_next {
        top:unset;
        margin-top:0;
        bottom:85px;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-columns.carousel-slide-left {
        margin-left:0;
    }
    .wp-block-cover.is-style-page-banner-cover .wp-block-columns.carousel-slide-left > .wp-block-column:first-child {
        padding-left:30px !important;
        padding-right:30px !important;
        padding-bottom:80px;
    }
    .header-main-inner > .container > .row--wrapper {
        grid-template-columns:calc(100% - 85px) auto;
    }
    .nav-menu-footer {
        margin-top:0;
    }
    #block-10 {
        margin-top:0;
    }
    .footer_logo {
        margin:20px auto;
        width:90%;
        max-width:90%;
        height:auto;
    }
    .site-footer .builder-item--footer-menu.has_menu > .component-wrap {
        margin:10px auto 20px; 
    }
    
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text {
        flex:0 0 340px;
        max-width:340px;
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media img {
        width:300px;
        height:225px;
        margin-left:20px;
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__media::before {
        margin-top:112px;
        margin-left:calc(100% - 40px);
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text .wp-block-media-text__content {
        margin:0 42.5px;
        width:calc(100% - 80px);
        height:50%;
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text:first-child {
        margin-left:15px;
    }
    #content.neve-main .container .timeline-container.alignfull .wp-block-media-text:last-child {
        margin-right:20px;
    }
    .carousel_prev, .carousel_next {
        bottom:23%;
    }
    .carousel_prev { left:0; }
    .carousel_next { right:0; }
    .grid-cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .grid-cols-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .cols3 {
        column-count: 2;
    }
    .grid-item-break-after {
        grid-column:auto;
    }
    .grid-item-break-before {
        grid-row-start:auto;
        grid-column-start:auto;
    }
}
@media (max-width: 700px) {   
    .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cols3 {
        column-count: 1;
    }
}
@media (min-width: 576px) {
    .builder-item--header_search {
        --height:30px;
    }
}
@media (max-width: 490px) {
    .grid-cols-3 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .grid-cols-4 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    header.header { position:relative; }
    main#content { margin-top:0; }
}

.header-menu-sidebar-inner .search-form {
    margin:20px auto;
    overflow:hidden;
}