/* Header */
.wp-site-blocks > header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #fff;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}
@media (max-width: 599px) {
    .wp-site-blocks > header > .alignfull > .is-layout-constrained {
        padding-left: 15px;
    }
    .wp-site-blocks > header .wp-block-site-logo img {
        max-width: 100px;
    }
    .wp-site-blocks > header > .alignfull > .is-layout-constrained > .wp-block-group-is-layout-flex {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
    header .wp-block-navigation__container > li > a[href] {
        text-decoration: underline;
        width: 100%;
    }
    .wp-block-navigation__responsive-container-content {
        align-items: flex-start !important;
    }
    .wp-block-navigation__container.is-responsive .wp-block-navigation-item {
        width: 100%;
        font-size: 15px;
    }
    .wp-block-navigation__container.is-responsive .wp-block-navigation-item__content {
        font-size: 19px;
        width: 100%;
    }
    .wp-block-navigation__container.is-responsive .wp-block-image-menu-item {
        margin-top: 2px !important;
        margin-bottom: 2px !important;
    }
    header .wp-block-navigation .wp-block-buttons {
        width: 200px;
    }
    header .wp-block-navigation .wp-block-button__link {
        font-size: 18px !important;
        padding: 8px 20px !important;
    }
}
@media (max-width: 959px) {
    .wp-block-navigation__container.is-responsive .wp-block-image-menu-item {
        margin-top: 5px;
        margin-bottom: 5px;
    }
    
    .wp-block-navigation__container.is-responsive .wp-block-image-menu-item:nth-child(2n+1) {
        margin-left: 0;
    }
    .wp-block-navigation__container.is-responsive .wp-block-image-menu-item img {
        max-width: 100%;
        display: none;
    }
   
    
}
@media (min-width: 600px) {
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        padding-left: 1rem;
        padding-right: 1rem;
        transform: translateX(50%);
    }
}
@media (min-width: 960px) {
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        display: flex;
        flex-direction: row;        
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    
    .wp-block-navigation .wp-block-image-menu-item a {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1.5rem 1rem 0.5rem;
    }
    
    .wp-block-navigation .wp-block-image-menu-item a:hover {
        background-color: rgba(0, 48, 87, 0.1);
    }
    
    .wp-block-image-menu-item img {
        max-width: 180px;
        margin-bottom: 0.25rem;
        height: auto;
    }
    
    .wp-block-image-menu-item .nav-link-label {
        font-size: 0.95rem;
        text-align: center;
        color: #003057;
    }
}

.wp-block-navigation .wp-block-image-menu-item a {
    color: #003057;
}

/* Blocks ------------------------------------------ */
.wp-block-gallery.is-style-center-logos {
    img {
        margin-left: auto;
        margin-right: auto;
    }
}

.wp-block-group.is-style-background-overlay {
    position: relative;
}

.wp-block-group.is-style-background-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 48, 87, 0.5); /* Adjust color and opacity */
    z-index: 1;
}

.wp-block-group.is-style-background-overlay > * {
    position: relative;
    z-index: 2;
}

.wp-block-heading.is-style-line-elements {
    display: flex;
    align-items: center;      
    justify-content: center; 
  }
  
  .wp-block-heading.is-style-line-elements::before,
  .wp-block-heading.is-style-line-elements::after {
    content: "";
    flex: 1;                       
    height: 2px;                    
    background-color: #003057;      
  }
  
  .wp-block-heading.is-style-line-elements::before {
    margin-right: 1em;              
  }
  
  .wp-block-heading.is-style-line-elements::after {
    margin-left: 1em;               
  }

.wp-block-heading.is-style-underline {
    padding-bottom: 10px;
    border-bottom: 1px solid;
    display: inline-block;
}

.wp-block-video.is-style-hero video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.wp-block-button:hover a {
    filter: brightness(80%);
}

.wp-block-button.is-style-outline:hover a {
    background-color: rgba(0, 48, 87, 20%);
}

@media (min-width: 1024px) {
    .wp-block-video.is-style-hero {
        height: 90vh;
        height: calc(100vh - 300px);
    }
}

/* Ensure the video container is positioned relative */
.wp-block-video {
position: relative;
}

/* Custom play/pause toggle button styling */
.custom-video-toggle {
position: absolute;
bottom: 8px;
right: 8px;
background: rgba(0,0,0, 0.2);
border: 1px solid #fff;
border-radius: 50%;
width: 32px;
height: 32px;
cursor: pointer;
z-index: 10;
outline: none;
display: flex;
align-items: center;
justify-content: center;
}

/* Remove any inner text (if added) */
.custom-video-toggle span {
display: none;
}

/* Play icon: a right-pointing triangle */
.custom-video-toggle.play::before {
content: "";
display: block;
width: 0;
height: 0;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
border-left: 12px solid white;
margin-left: 2px;
}

/* Pause icon: two vertical bars */
.custom-video-toggle.pause::before,
.custom-video-toggle.pause::after {
content: "";
display: block;
width: 4px;
height: 14px;
background: white;
}
.custom-video-toggle.pause::before {
margin-right: 3px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
    display: block;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    display: none;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    position: static;
    max-height: none;
    background: transparent;
    color: #000;
    text-shadow: none;
}

p.is-style-no-link-underline a {
    text-decoration: none;
}

p.is-style-no-link-underline a:hover {
    text-decoration: underline;
}

/* Capabilites Nav */
.wp-block-navigation__container.is-style-capabilities {
    /*display: flex;
    
    flex-direction: row;
    justify-content: center;
    margin-left: 0;
    margin-right: 0;*/
}

.wp-block-navigation.is-style-capabilities {
    margin-left:0;
    margin-right:0;
}

.wp-block-navigation__container.is-style-capabilities > li {
    flex: 1 1 0px;
}

.wp-block-navigation__container.is-style-capabilities .wp-block-navigation-item {
    border-top:3px solid #A4C8E1;
    padding: 20px 0 10px;
}

.wp-block-navigation__container.is-style-capabilities .current-menu-item {
    border-top: 3px solid #BE5623;
}

/* Template adjustments */
ul.wp-block-categories-list {
    list-style: none;
    padding-left: 0;
    font-size: 1.25rem;
}

ul.wp-block-categories-list > li {
    display: inline-block;
    margin: 5px 3px;       
}

ul.wp-block-categories-list > li a {
    padding: 3px 4px;
    border: 1px solid #003057;
    text-decoration: none;
    border-radius: 4px;
}

/*  footer adjustments  */
.wp-site-blocks > footer.wp-block-template-part {
    margin-top: 0;
}
.timbers-image-text-slideup__wrapper img{
    height: 240px;
    object-fit: cover;
    object-position: center center;
}
.timbers-image-text-slideup__overlay-text {
    padding-top: 2rem;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 30%);
}
.timbers-image-text-slideup__overlay-text p {
    margin-top:0;
    margin-bottom: 0;
    font-size: 1rem;
    letter-spacing: .03em;
}
/* Timbers Blocks Adjustments */
.timbers-image-text-slideup__overlay-text h3 {
    font-family: var(--wp--preset--font-family--sans);
    font-weight: 300;
    font-size: 20px;
    letter-spacing: 0.03em;
    margin: 0;    
}
.timbers-image-text-slideup__hover-info {
 background: rgba(4,74,111,0.93)
}

.timbers-image-text-slideup__hover-info h3 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 0.5rem;
}
.timbers-image-text-slideup__hover-info > p:first-of-type {
    min-height: 100px;
}

/* Forms ------------------------- */
.global-form {
	 position: relative;
	 display: grid;
	 grid-template-columns: 1fr;
	 align-items: center;
	 gap: var(--ff-gap);
	 --ff-gap: 1rem;
	 --ff-label-size: 1rem;
	 --ff-control-size: 1rem;
	 --ff-help-size: 0.875rem;
	 --ff-height: 2.5rem;
	 --ff-bg: #fff;
	 --ff-text: #323133;
	 --ff-muted: #828282;
	 --ff-border: #e0e0e0;
	 --ff-ring: #003057;
	 --ff-danger: #e45353;
	 --ff-floating-text: #545253;
	 --ff-floating-border: #585858;
}
 @media (min-width: 768px) {
	 .global-form {
		 grid-template-columns: 1fr 1fr;
		 column-gap: 24px;
		 row-gap: 24px;
	}
}
 .global-form textarea, .global-form select, .global-form input[type="text"], .global-form input[type="email"], .global-form input[type="tel"], .global-form input[type="search"], .global-form input[type="password"], .global-form input[type="url"], .global-form input[type="number"], .global-form input[type="button"], .global-form input[type="submit"] {
	 -webkit-appearance: none;
	 appearance: none;
	 -webkit-border-radius: 0;
	 border-radius: 0;
}
 .global-form .form-group, .global-form .form-actions, .global-form button[type="submit"], .global-form .cf-turnstile, .global-form noscript {
	 transition: opacity 320ms ease;
}
 @media (min-width: 768px) {
	 .global-form .form-group--full {
		 grid-column: 1 / -1;
	}
}
 .global-form label {
	 display: block;
	 margin: 0 0 6px;
	 font-size: var(--ff-label-size);
	 letter-spacing: 0.03em;
	 line-height: 1.3;
	 color: var(--ff-text);
	 text-align: left;
}
 .global-form .form-group--input input:not([type="date"]), .global-form .form-group--select select, .global-form .form-group--textarea textarea {
	box-sizing: border-box; 
    width: 100%;
	 min-height: var(--ff-height);
	 padding: 10px 12px;
	 background: var(--ff-bg);
	 color: var(--ff-text);
	 border: 1px solid var(--ff-border);
	 font-size: var(--ff-control-size);
	 line-height: 1.3;
	 transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
 .global-form .form-group--date input[type="date"] {
	 width: 100%;
	 min-height: var(--ff-height);
	 padding: 10px 12px;
	 background: var(--ff-bg);
	 color: var(--ff-text);
	 border: 1px solid var(--ff-border);
	 font-size: var(--ff-control-size);
	 line-height: 1.3;
	 transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
 .global-form .form-group--textarea textarea {
	 min-height: 120px;
	 resize: vertical;
}
 .global-form .form-group--select select {
	 cursor: pointer;
	 padding-right: 36px;
	 background-repeat: no-repeat;
	 background-position: right 12px center;
	 background-size: 10px 6px;
	 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23585858' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
 .global-form input[type="checkbox"] {
	 cursor: pointer;
}
 .global-form .form-group--input input::placeholder, .global-form .form-group--textarea textarea::placeholder {
	 color: var(--ff-muted);
	 opacity: 1;
}
 .global-form .form-group--input input:not([type="date"]):focus-visible, .global-form .form-group--select select:focus-visible, .global-form .form-group--textarea textarea:focus-visible, .global-form .form-group--date input[type="date"]:focus-visible {
	 outline: none;
	 border-color: var(--ff-ring);
	 box-shadow: 0 0 0 3px rgba(0, 0, 0, );
}
 .global-form input:disabled, .global-form select:disabled, .global-form textarea:disabled, .global-form button:disabled {
	 opacity: 0.6;
	 cursor: not-allowed;
}
 .global-form .form-group--checkboxes, .global-form .form-group--radios {
	 text-align: left;
	 border: 1px solid var(--ff-border);
	 padding: 1rem;
}
 .global-form .form-group--checkboxes legend, .global-form .form-group--radios legend {
	 font-size: var(--ff-control-size);
}
 .global-form .form-group--submit {
	 margin-bottom: 0;
}
 .global-form .form-group--turnstile {
	 line-height: 0;
     text-align: center;
}
 .global-form .form-group--optin .form-check {
	 float: none;
}
 .global-form .form-group--optin .form-check label {
	 font-size: torem(13);
}
 .global-form .form-check {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 float: left;
	 clear: left;
	 gap: 12px;
	 margin-top: 4px;
	 margin-bottom: 4px;
}
 .global-form .form-check input[type="checkbox"] {
	 width: 22px;
	 height: 22px;
	 flex: 0 0 auto;
	 border: 1px solid var(--ff-border);
	 background: var(--ff-bg);
	 accent-color: #002849;
}
 .global-form .form-check label {
	 margin: 0;
	 font-size: var(--ff-help-size);
	 line-height: 1.5;
	 color: var(--ff-text);
}
 .global-form .form-check label a {
	 color: var(--ff-ring);
	 text-underline-offset: 2px;
}
 .global-form .form-check label a:hover, .global-form .form-check label a:focus {
	 text-decoration: underline;
}
 .global-form [aria-invalid="true"] {
	 border-color: var(--ff-danger) !important;
}
 .global-form .form-group [role="alert"] {
	 position: absolute;
	 right: 0;
	 padding-top: 3px;
	 font-size: 13px;
	 line-height: 1;
	 color: var(--ff-danger);
}
 .global-form .form-error {
	 margin: 6px 0 0;
	 font-size: var(--ff-help-size);
	 line-height: 1.4;
	 color: var(--ff-danger);
}
 .global-form [data-form-status] {
	 grid-column: 1 / -1;
	 margin: 0 auto;
	 padding: 0.5rem 0.5rem 0.25rem;
	 font-size: torem(15);
	 line-height: 1.4;
	 color: var(--ff-text);
	 background-color: #fff;
	 border-radius: 3px;
	 opacity: 0;
	 transition: opacity 320ms ease;
}
 .global-form button[type="submit"] {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 position: relative;
	 cursor: pointer;
}
 .global-form[data-submitting="true"] {
	 pointer-events: none;
}
 .global-form[data-submitting="true"] [data-form-status] {
	 opacity: 1;
}
 .global-form[data-submitting="true"] .form-group:not(.form-group--submit), .global-form[data-submitting="true"] .form-actions, .global-form[data-submitting="true"] .cf-turnstile, .global-form[data-submitting="true"] noscript {
	 opacity: 0.2;
	 pointer-events: none;
}
 .global-form[data-submitting="true"] button[type="submit"]::after {
	 content: "";
	 position: absolute;
	 left: 50%;
	 top: 50%;
	 width: 16px;
	 height: 16px;
	 transform: translate(-50%, -50%);
	 border: 2px solid rgba(255, 255, 255, 0.4);
	 border-top-color: #fff;
	 border-radius: 50%;
	 animation: form-spin 0.6s linear infinite;
}
 .global-form[data-success="true"] .form-group, .global-form[data-success="true"] .form-actions, .global-form[data-success="true"] .cf-turnstile, .global-form[data-success="true"] noscript {
	 opacity: 0.2;
	 pointer-events: none;
}
 .global-form[data-success="true"] [data-form-status] {
	 opacity: 1;
}
 .global-form[data-success="false"] [data-form-status] {
	 opacity: 1;
	 color: var(--ff-danger);
}
 .global-form[data-success="false"][data-submitting="true"] [data-form-status] {
	 color: var(--ff-text);
}
 .global-form .cf-turnstile {
	 line-height: 0;
}
.form-group--submit {
    text-align: center;
}
.form-group--submit button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* width: 100%; */
  min-height: var(--ff-height);
  padding: 0 1.5rem;

  background: var(--wp--preset--color--primary);
  color: #fff;

  border: none;
  border-radius: 4px;

  font-size: var(--ff-control-size);
  font-weight: 300;
  letter-spacing: 0.05em;
  /* text-transform: uppercase; */

  cursor: pointer;
  transition: 
    background 180ms ease,
    transform 120ms ease,
    box-shadow 120ms ease;
}
.form-group--submit button:hover {
  filter: brightness(1.1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.form-group--submit button:active {
  transform: translateY(1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.form-group--submit button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px var(--wp--preset--color--primary);
}

/* Dark form color mode ---------------------------------------------------- */
 .form-color--dark .global-form {
	 --ff-text: #fff;
	 --ff-bg: transparent;
	 --ff-ring: #e5e5e5;
	 --ff-floating-text: #fff;
	 --ff-floating-border: #fff;
}
/* Minimal variant --------------------------------------------------------- */
 .global-form--minimal {
	 column-gap: 1rem;
	 row-gap: 1rem;
}
/* Floating variant -------------------------------------------------------- */
 .global-form--floating .form-group--input input:not([type="date"]), .global-form--floating .form-group--select select {
	 border-radius: 0;
	 border: 0;
	 border-bottom: 1px solid var(--ff-floating-border);
	 padding-left: 0;
	 padding-right: 0;
}
 .global-form--floating .form-group--input input:not([type="date"]) {
	 background: transparent;
}
 .global-form--floating .form-group--date input[type="date"] {
	 border-radius: 0;
	 border: 0;
	 border-bottom: 1px solid var(--ff-floating-border);
	 background: transparent;
	 padding: 10px 12px !important;
}
 .global-form--floating .form-group--textarea {
	 position: relative;
}
 .global-form--floating .form-group--textarea textarea {
	 border-radius: 0;
	 border: 1px solid var(--ff-floating-border);
	 padding: 10px;
	 background: transparent;
}
 .global-form--floating .form-group--input input:not([type="date"]):focus-visible, .global-form--floating .form-group--select select:focus-visible, .global-form--floating .form-group--date input[type="date"]:focus-visible {
	 border-bottom-color: var(--ff-ring);
	 box-shadow: none;
	 outline: none;
}
 .global-form--floating .form-group--textarea textarea:focus-visible {
	 border-color: var(--ff-ring);
	 box-shadow: none;
	 outline: none;
}
 .global-form--floating .form-group--input input::placeholder, .global-form--floating .form-group--textarea textarea::placeholder {
	 opacity: 0;
}
 .global-form--floating .form-group--input {
	 position: relative;
	 padding-top: 18px;
}
 .global-form--floating .form-group--input label {
	 position: absolute;
	 left: 0;
	 top: 22px;
	 margin: 0;
	 color: var(--ff-floating-text);
	 pointer-events: none;
	 transition: transform 160ms ease, color 160ms ease, top 160ms ease, font-size 160ms ease;
}
 .global-form--floating .form-group--input.has-floating label, .global-form--floating .form-group--input:focus-within label {
	 top: 6px;
	 transform: none;
	 font-size: torem(14);
	 letter-spacing: 0.08em;
	 color: var(--ff-ring);
}
 .global-form--floating .form-group--select, .global-form--floating .form-group--date {
	 position: relative;
	 padding-top: 24px;
}
 .global-form--floating .form-group--select label, .global-form--floating .form-group--date label {
	 position: absolute;
	 top: 6px;
	 transform: none;
	 font-size: var(--ff-help-size);
	 letter-spacing: 0.08em;
	 color: var(--ff-ring);
}
 .global-form--floating .form-group--textarea {
	 padding-top: 20px;
}
 .global-form--floating .form-group--textarea label {
	 color: var(--ff-floating-text);
	 position: absolute;
	 left: 4px;
	 top: 24px;
	 transition: transform 160ms ease, color 160ms ease, top 160ms ease, left 160ms ease, font-size 160ms ease;
	 letter-spacing: 0.08em;
}
 .global-form--floating .form-group--textarea.has-floating label, .global-form--floating .form-group--textarea:focus-within label {
	 left: 0;
	 top: 0;
	 font-size: torem(14);
	 color: var(--ff-ring);
}
 .global-form--floating .form-group--checkbox {
	 align-self: center;
	 margin-bottom: 0;
	 padding-top: calc(var(--ff-gap) * 0.5);
	 padding-bottom: calc(var(--ff-gap) * 0.5);
}
 .global-form--floating .form-group--checkbox label {
	 position: static;
	 pointer-events: auto;
	 font-size: var(--ff-help-size);
	 letter-spacing: normal;
	 text-transform: none;
	 color: var(--ff-text);
}
/* Revinate variant -------------------------------------------------------- */
 @media (min-width: 768px) {
	 .global-form--revinate {
		 grid-template-columns: 1fr 1fr;
	}
	 .global-form--revinate .form-group--input input:not([type="date"]), .global-form--revinate .form-group--select select, .global-form--revinate .form-group--textarea textarea, .global-form--revinate .form-group--date input[type="date"] {
		 font-size: torem(18);
	}
}
/* Animation --------------------------------------------------------------- */
 @keyframes form-spin {
	 to {
		 transform: translate(-50%, -50%) rotate(360deg);
	}
}
 

/* Responsive */
@media (min-width: 767px) { 
    
}

@media (max-width: 767px) { 
    body .is-layout-grid {
        grid-template-columns: 1fr;
    }
    .wp-block-columns.is-style-reverse-mobile {
        flex-direction: column-reverse;
    }
    .wp-block-navigation.is-style-capabilities > li {
        flex: 0 2 45%;
    }
    .wp-block-query-is-layout-flow .wp-block-columns-is-layout-flex {
        margin-bottom: 4rem;
        gap: 1rem;
        border-bottom: 1px solid #003057;
        padding-bottom: 1rem;
    }    
}