/*
Theme Name:   Greyd Child Theme
Theme URI:    https://greyd.io/
Description:  A child theme for the Greyd Theme
Author:       Greyd
Author URI:   http://example.com
Template:     greyd-theme
Version:      1.0.0
License:      GPLv2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         Tags: blog, portfolio, entertainment, site-editing, block-patterns, block-styles
Text Domain:  greyd-child-theme
*/

/* ==========================================================================
   ATS CUSTOM CSS — FILE MENU
   ==========================================================================

   01. Utilities, Links & Global Helpers
   02. Navigation, Header & Popovers
   03. Layout, Responsive Helpers & Sticky Cards
   04. Typography, Gradients, Borders & Image Treatments
   05. Buttons & Form Controls
   06. Events Calendar & Event Templates
   07. Categories, Cards & General Components
   08. ATS Interactive Effects
       - Homepage Globe
       - Inner-Page Globe
       - Floating Image Parallax
       - Quote Corner Frame
   09. Sliders, Coverflow & Pagination
   10. Accessibility
       - Keyboard Focus
       - Reduced Motion

   NOTE:
   Existing selector order has been preserved wherever possible to avoid
   changing the CSS cascade. This cleanup focuses on navigation, spacing,
   labels, and accessibility rather than redesigning existing components.
   ========================================================================== */


/* ==================== 01. UTILITIES, LINKS & GLOBAL HELPERS ==================== */

/* Z-Index */
.z-index-2 { z-index: 2; }
.z-index-3 { z-index: 3; }
.z-index-4 { z-index: 4; }
.z-index-9  { z-index: 9; }


/*==========================================================================
 
links   ========================================================================== */


a:where(:not(.wp-element-button))

 {
    color: inherit !important;
    text-decoration: none !important;
}


a:where(:not(.wp-element-button):not(.button)):hover {
    text-decoration: underline !important;
}

a.button:hover {
    text-decoration: none !important;
}

/*==========================================================================
 
Popover link for bio  ========================================================================== */


.bio-pop-link > .wp-block-greyd-popover-button,
.bio-pop-link > .wp-block-greyd-popover-button:hover {
    text-decoration: none !important;
}

.bio-pop-link > .wp-block-greyd-popover-button:hover > span:first-child {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}


/*========================================================*
Buttons clear
*=========================================================*/

.is-style-clear.button:hover {
    text-decoration: none !important;
}

.is-style-clear.button:hover > span:first-child {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}


/*==========================================================================
 
 Menu on scroll   ========================================================================== */


/*.wp-block-group[data-anim-triggered="true"] .header-navigation .wp-block-navigation-item__content,
.wp-block-group[data-anim-triggered="true"] .header-navigation .wp-block-navigation-item__label {
    color: #1A2332 !important;
}*/

/* Dropdown arrow on scroll */

.wp-block-group[data-anim-triggered="true"] .header-navigation .wp-block-navigation__submenu-icon svg {
    color: #1A2332 !important;
    stroke: #1A2332 !important;
}


/* Menu popover link */


.has-trigger > .hidden-trigger-link,
.has-trigger > .hidden-box-link {
  border: none !important;
}

.has-trigger > .hidden-trigger-link :hover,
.has-trigger > .hidden-box-link :hover {
  border: none !important;
}

/* Popover */
.wp-block-greyd-popover [role=dialog].is-variation-dropdown.is-position-bottom {
  margin-top: 0px !important;
}

.wp-block-greyd-popover [role=dialog] {
  border: none !important;
}
.menu-pop.wp-block-greyd-popover [role=dialog].is-variation-dropdown.is-position-bottom {
    margin-top: 32px !important;
   z-index: 12;
}

/* Keep the main header (and its dropdown menus) above the sticky sub-nav bar */

.is-position-sticky.primary-header-group  {
    z-index: 20 !important;
}

.is-style-rounded-corners img {
border-radius: 32px !important; border-style: solid; border-width: 1px; border-color: var(--wp--preset--color--foreground);}

.is-style-rounded-corners-top img {
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
} 

/* mobile to left - class on stack */


@media (max-width: 599px){ 
.align-left-mobile {

align-items: start!important;

}
}

/*Row*/

@media (max-width: 575.98px){
.break-mobile{flex-wrap: wrap !important;}
}

@media (max-width: 599px){
.break-sm{flex-wrap: wrap !important;}
.reverse-sm {flex-direction: column-reverse;}}

@media (max-width: 992px){
.break-md{flex-wrap: wrap !important;}
.reverse-md {flex-direction: column-reverse;}}

@media (max-width: 1199px){
.break-lg{flex-wrap: wrap !important;}
.reverse-lg {flex-direction: column-reverse;}}

/* Hover Button Icon */
.wp-element-button::after,
.button span[aria-hidden]:not(:first-child:last-child) {
    transition: .2s ease all;
}
 
.wp-element-button:not(:hover)::after,
.button:not(:hover) span[aria-hidden]:not(:first-child:last-child) {
    opacity: 1
!important;
}
 
.wp-element-button:hover::after,
.button:hover span[aria-hidden]:not(:first-child:last-child) {
    /* margin-left: 1.2em !important; */
}

.animation-none.button:hover{
transition: none;}

.animation-none.button:hover span[aria-hidden]:not(:first-child:last-child){
    margin-left: 0 !important; 
}


/* Button Popover Color */

.dk-bkgrnd button{
color:#fff;}

.dk-bkgrnd button:hover{
color:#fff;}


/* Disable overflow */

.no-overflow {
overflow: hidden;
}

/*Lightbox*/
polyline, line {
    stroke: var(--wp--preset--color--color-11);
}
.baguetteBox-button#next-button, .baguetteBox-button#previous-button{ background-color: rgba(50,50,50,.0);}

/*Fix Gap at Bottom of website*/
.greyd_form > div:first-child {
  width: auto !important;
}

/* Prevent Gutenberg's automatic gap above sticky navigation */
.wp-site-blocks > .primary-header-group,
.wp-site-blocks > .wp-block-greyd-box.is-position-sticky {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}


/* ==================== 03. LAYOUT, RESPONSIVE HELPERS & STICKY CARDS ==================== */

/* =========================================================
   SERVICES / KAMAT — OVERLAPPING CARDS
   ========================================================= */

.card {
    position: sticky;
    top: 28vh;
}


/* =========================================================
   PAGINATION LINE
   ========================================================= */

.page-line {
    position: relative;
    width: 2px;
    height: 100%;
    margin: 0 !important;
    border: 0 !important;
    background: #fff !important;
    border-radius: 999px;
    overflow: hidden;
}


/* Blue active fill */

.page-line::after {
    content: "";
    position: absolute;
    inset: 0;

    background: #017FC4 !important;

    transform: scaleY(0);
    transform-origin: top;

    transition: transform .35s ease;
}


/* Active pagination */

.card.is-active .page-line::after {
    transform: scaleY(1) !important;
}


/* =========================================================
   BLUE ACTIVE FILL
   ========================================================= */

.page-line::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #017FC4 !important;

    transform: scaleY(0);
    transform-origin: top;

    transition: transform .35s ease;
}


/* =========================================================
   ACTIVE CARD
   ========================================================= */

.card.is-active .page-line::after {
    transform: scaleY(1) !important;
}


/* ==================== 04. TYPOGRAPHY, GRADIENTS, BORDERS & IMAGES ==================== */

/* Higlighted text */

.primary-orange-gradient{
    display:inline-block;
    background-image: var(--wp--preset--gradient--custom-primary-orange);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    padding-bottom:5px;
}


/**************** Secondary Gradient Text *****************/

.secondary-text-gradient,
.secondary-text-gradient h1,
.secondary-text-gradient h2,
.secondary-text-gradient h3,
.secondary-text-gradient h4,
.secondary-text-gradient h5,
.secondary-text-gradient h6,
.secondary-text-gradient p,
h1.secondary-text-gradient,
h2.secondary-text-gradient,
h3.secondary-text-gradient,
h4.secondary-text-gradient,
h5.secondary-text-gradient,
h6.secondary-text-gradient,
p.secondary-text-gradient{

    background-image: var(--wp--preset--gradient--custom-secondary-gradient) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;

    -webkit-background-clip: text !important;
    background-clip: text !important;

    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}


/**************** Border Images - add image-frame-gradient class on the image *****************/


.image-frame-gradient{
    position:relative;
}

.image-frame-gradient::before{
    content:"";
    position:absolute;

    top:16px;
    left:24px;
    right:-16px;
    bottom:-16px;

    border:3px solid transparent;
    border-image:var(--wp--preset--gradient--custom-normal-state-button) 1;

    pointer-events:none;
    z-index:2;
}

.image-frame-gradient > *{
    position:relative;
    z-index:1;
}


/* Behind */


.image-frame-gradient-behind{
    position:relative;
}

.image-frame-gradient-behind::before{
    content:"";
    position:absolute;

    top:16px;
    left:24px;
    right:-24px;
    bottom:-24px;

    border:3px solid transparent;
    border-image:var(--wp--preset--gradient--custom-normal-state-button) 1;

    pointer-events:none;
    z-index:0;
}

.image-frame-gradient-behind > *{
    position:relative;
    z-index:1;
}


/* LEFT */

.image-frame-gradient-left{
    position:relative;
}

.image-frame-gradient-left::before{
    content:"";
    position:absolute;

    top:-16px;
    left:-18px;
    right:16px;
    bottom:16px;

    border:3px solid transparent;
    border-image:var(--wp--preset--gradient--custom-normal-state-button) 1;

    pointer-events:none;
    z-index:2;
}

.image-frame-gradient-left > *{
    position:relative;
    z-index:1;
}


/* events  all events link */

.tribe-events-back a, .tribe-events-back a:visited

 {
color:var(--wp--preset--color--primary)!important;
}

/****** card border ******/

.group-border-primary-gradient{
    position:relative;
}

.group-border-primary-gradient::before{
    content:"";
    position:absolute;
    inset:0;

    padding:3px; /* Border thickness */

    background:var(--wp--preset--gradient--custom-normal-state-button);

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;

    pointer-events:none;
}

.border-gradient-left {
border-left: 4px solid transparent;
border-image: linear-gradient(180deg, #E36325 4.1%, #017FC4 104.1%);
border-image-slice: 1;
}

.gradient-rule {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, #E36325 4.1%, #017FC4 104.1%);
  border: none;
}

.text-nowrap {
text-wrap: nowrap;
}

.carousel-card {
display:flex;
transition:300ms ease all;
position: relative;
  z-index: 1;
}

.carousel-card img {
transition:300ms ease all;
}

.carousel-card:hover img {
transform:scale(1.25);
}

.carousel-card:hover .cta {
text-decoration:underline !important;
}

.border-gradient {
 border: 1px solid;
  border-image-source: linear-gradient(270deg, #E36325 -26.67%, #017FC4 100%);
  border-image-slice: 1;
}

.hover-underline:hover {
text-decoration:underline !important;
}

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

.hover-underline-strong:hover span {
text-decoration:underline !important;
}

.quick-finds {
cursor:pointer;
transition:300ms ease all;
}

.quick-finds:hover {
background:rgba(255,255,255,0.25) !important;
}

.quick-finds img {
transition:300ms ease all;
}


.quick-finds:hover img {
transform:scale(1.25);
}

.brand-icon img {
	min-width:14px !important;
}

.uew-event-row {
	padding:12px 12px 12px 0px !important;
}

.word-break a {
	word-break: break-word;
}

.subnav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth momentum scroll on iOS */
    white-space: nowrap;
    gap: clamp(32px, 5vw, 48px); /* adjust spacing between links to match your design */
}

@media (max-width: 992px) {
	.wp-block-navigation__submenu-container li {
		font-weight:400 !important;
		color:#fff !important;
	}
}

.subnav a,
.subnav > * {
    flex: 0 0 auto; /* prevents items from shrinking or wrapping */
    white-space: nowrap;
}

.subnav {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

.subnav::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.subnav-wrapper {
    position: relative;
	z-index:3 !important;
}

.subnav-wrapper::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 150px;
    background: linear-gradient(to right, transparent, #e8e9e4); /* match your subnav background color */
    pointer-events: none;
}

.subnav-target {
  scroll-margin-top: 200px;
}

.intranet-carousel .greyd-posts-slider .pgn.arrows.overlap.right {
right:-25px;
margin-top:-25px;
}

.intranet-carousel
.greyd-posts-slider .pgn.arrows.overlap {
z-index:2;
}

.intranet-carousel .greyd-posts-slider .pgn.arrows.overlap.left {
left:-25px;
margin-top:-25px;
}

.intranet-carousel .pgn.numbers {
margin-top:-25px;
}




.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
z-index:999 !important;
}


.border-gradient-reverse {
 border: 1px solid;
  border-image-source: linear-gradient(270deg, #017FC4 -26.67%, #E36325 100%);
  border-image-slice: 1;
}

.button-group-full-width {
width:100% !important;
}

@media (max-width: 992px) {

.collapse-grid-md {
grid-template-columns: 1fr !important;
}

.collapse-grid-half-md {
grid-template-columns: 1fr 1fr !important;
}

}

@media (max-width: 576px) {

.collapse-grid-mobile {
grid-template-columns: 1fr !important;
}
	
.collapse-grid-half-md {
grid-template-columns: 1fr !important;
}

}


.benefits-vendor {
transition:300ms ease all;
}

.benefits-vendor:hover {
cursor:pointer;
background:#FFE7DC !important;
}

.benefits-vendor img {
height: 32px;
width: auto;
}

.external-link span::after {
   content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin-left: 0.35em;
  background: linear-gradient(100deg, rgb(227, 99, 37) 0%, rgb(227, 99, 37) 28%, rgb(111, 116, 123) 58%, rgb(31, 95, 131) 100%);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  vertical-align: middle;
}

.intranet-breadcrumbs {

color:var(--wp--preset--color--primary);

.wp-block-breadcrumbs li:not(:last-child):after {
color:#fff;
font-size:11;
content: "\203A";
opacity:0.3;
}

[aria-current="page"] {
color:#fff;
}

}

.wp-block-navigation-item__content[aria-current="page"] .wp-block-navigation-item__label {
  text-decoration: underline;
}

.ats-accordion {
width:100%;
}

.ats-accordion .wp-block-greyd-accordion-item {
background:rgba(255,255,255,0.1);
}

.ats-accordion .wp-block-greyd-accordion__title {
font-weight:700;
background:none !important;
}

.ats-accordion .wp-block-greyd-accordion__content {
background:none !important;
padding-top:0 !important;
}

.ats-accordion .wp-block-greyd-accordion__title .icon {
background: linear-gradient(100deg, 
rgb(227, 99, 37) 0%, 
rgb(227, 99, 37) 28%, 
rgb(111, 116, 123) 58%, 
rgb(31, 95, 131) 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
}


/**************** Border Images - add image-top-left-with-primary-border class on the image *****************/

.image-top-left-with-primary-border{
    position:relative;
}

.image-top-left-with-primary-border::before{
    content:"";
    position:absolute;

    /* 10px offset */
    top:-10px;
    left:-10px;
    right:10px;
    bottom:10px;

    border:2px solid #E87F24;

    pointer-events:none;
    z-index:2;
}

.image-top-left-with-primary-border > *{
    position:relative;
    z-index:1;
}

/**************** Border Images - add image-bottom-left-with-secondary-border class on the image *****************/

.image-bottom-left-with-secondary-border{
    position:relative;
}

.image-bottom-left-with-secondary-border::before{
    content:"";
    position:absolute;

    /* 5px offset */
    top:-5px;
    left:-5px;
    right:5px;
    bottom:5px;

    border:2px solid var(--wp--preset--color--tertiary);

    pointer-events:none;
    z-index:2;
}

.image-bottom-left-with-secondary-border > *{
    position:relative;
    z-index:1;
}

/**************** Border Images - add image-top-right-with-secondary-border class on the image *****************/

.image-top-right-with-secondary-border{
    position:relative;
}

.image-top-right-with-secondary-border::before{
    content:"";
    position:absolute;

    /* 5px offset */
    top:-5px;
    left:5px;
    right:-5px;
    bottom:5px;

    border:2px solid var(--wp--preset--color--tertiary);

    pointer-events:none;
    z-index:2;
}

.image-top-right-with-secondary-border > *{
    position:relative;
    z-index:1;
}


/**************** Border Images - add image-bottom-right-with-primary-border class on the image *****************/

.image-bottom-right-with-primary-border{
    position:relative;
}

.image-bottom-right-with-primary-border::before{
    content:"";
    position:absolute;

    /* 10px offset */
    top:10px;
    left:10px;
    right:-10px;
    bottom:-10px;

    border:2px solid #E87F24;

    pointer-events:none;
    z-index:2;
}

.image-bottom-right-with-primary-border > *{
    position:relative;
    z-index:1;
}


/* ==================== 05. BUTTONS & FORM CONTROLS ==================== */

/* Buttons */


:root{

    /* Animated Border */

    --button-border-gradient:
    linear-gradient(
        115deg,
        #e36325,
        #8a756f,
        #017fc4,
        #8a756f,
        #e36325
    );

    /* Hover Fill */

    --button-fill-gradient:
    linear-gradient(
        100deg,
        #e36325 0%,
        #8a756f 52%,
        #017fc4 100%
    );

    /* Button Text */

    --button-text-gradient:
    linear-gradient(
        100deg,
        #e36325 0%,
        #e36325 28%,
        #6f747b 58%,
        #1f5f83 100%
    );

}


/* ==========================================================================
   Primary Button
   ========================================================================== */

.button.is-style-prim{
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    color:#fff !important;
    background:var(--wp--preset--color--custom-dark-blue);

text-wrap:nowrap;

    border:none;
    border-radius:0;
    overflow:hidden;
    z-index:0;

    transform:translateY(0);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* Animated Border */

.button.is-style-prim::before{
    content:"";
    position:absolute;
    inset:0;

    padding:2px;
    border-radius:inherit;

    background:var(--button-border-gradient);
    background-size:280% 280%;
    background-position:0% 50%;

    animation:none;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;
    mask-composite:exclude;

    pointer-events:none;

    z-index:2;
}

/* Remove Hover Fill */

.button.is-style-prim::after{
    display:none;
}

/* Remove Greyd Defaults */

.button.is-style-prim,
.button.is-style-prim:hover,
.button.is-style-prim:focus,
.button.is-style-prim:active{
    border:none !important;

    box-shadow:none;
}

/* Hover */

.button.is-style-prim:hover,
.button.is-style-prim:focus{

    transform:translateY(-1px);

    box-shadow:
        0 8px 20px rgba(12,23,37,.10);

}

.button.is-style-prim:hover::before,
.button.is-style-prim:focus::before{

    animation:borderMove 5s ease infinite;

}

/* Active */

.button.is-style-prim:active{

    transform:translateY(0);

    box-shadow:
        0 5px 14px rgba(12,23,37,.08);

}

/* Animated Border */

@keyframes borderMove{

    0%{
        background-position:0% 50%;
    }

    50%{
        background-position:100% 50%;
    }

    100%{
        background-position:0% 50%;
    }

}


/* ==========================================================================
   Secondary Button
   ========================================================================== */

.button.is-style-sec{
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:transparent;
    border:none;
    border-radius:0;
    overflow:hidden;
    z-index:0;

    transform:translateY(0);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* ==========================================================================
   Animated Gradient Border
   ========================================================================== */

.button.is-style-sec::before{
    content:"";
    position:absolute;
    inset:0;

    padding:2px;
    border-radius:inherit;

    background:var(--button-border-gradient);
    background-size:280% 280%;
    background-position:0% 50%;

    animation:none;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;

    pointer-events:none;

    z-index:2;
}


/* ==========================================================================
   No Hover Fill
   ========================================================================== */

.button.is-style-sec::after{
    display:none;
}

/* ==========================================================================
   Gradient Text
   ========================================================================== */

.button.is-style-sec span{
    position:relative;
    z-index:3;
    display:inline-block;

    background:var(--button-text-gradient);
    background-repeat:no-repeat;
    background-size:100% 100%;

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
    color:transparent;

    transition:
        transform .25s ease;
}

/* ==========================================================================
   Remove Greyd Defaults
   ========================================================================== */

.button.is-style-sec,
.button.is-style-sec:hover,
.button.is-style-sec:focus,
.button.is-style-sec:active{
    border:none !important;

    box-shadow:none;
}

/* ==========================================================================
   Hover
   ========================================================================== */

.button.is-style-sec:hover,
.button.is-style-sec:focus{

    transform:translateY(-1px);

    box-shadow:
        0 8px 20px rgba(12,23,37,.10);

}

.button.is-style-sec:hover::before,
.button.is-style-sec:focus::before{

    animation:borderMove 5s ease infinite;

}

/* Keep Gradient Text */

.button.is-style-sec:hover span,
.button.is-style-sec:focus span{

    background:var(--button-text-gradient);
    background-repeat:no-repeat;
    background-size:100% 100%;

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
    color:transparent;

    /* transform:translateX(1px);*/

}


.button.is-style-trd{
    color:transparent !important;
    background:var(--button-text-gradient) !important;
    background-repeat:no-repeat;
    background-size:100% 100%;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
}
.button.is-style-trd:hover,
.button.is-style-trd:focus{
    background:var(--button-text-gradient) !important;
    background-repeat:no-repeat;
    background-size:100% 100%;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
    color:transparent !important;
}


/* ==========================================================================
   Active
   ========================================================================== */

.button.is-style-sec:active{

    transform:translateY(0);

    box-shadow:
        0 5px 14px rgba(12,23,37,.08);

}


/* ==========================================================================
   Alternative Button - Gradient Border Movement on Hover
   ========================================================================== */

.button.is-style-trd{
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:transparent;
    border:none;
    border-radius:0;
    overflow:hidden;
    z-index:0;

    transform:translateY(0);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* --------------------------------------------------------------------------
   Animated Gradient Border
   -------------------------------------------------------------------------- */

.button.is-style-trd::before{
    content:"";
    position:absolute;
    inset:0;

    padding:2px;
    border-radius:inherit;

    background:var(--button-border-gradient);
    background-size:280% 280%;
    background-position:0% 50%;

    animation:none;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;

    pointer-events:none;
    z-index:2;
}

/* No Fill Layer */

.button.is-style-trd::after{
    display:none;
}

/* --------------------------------------------------------------------------
   Gradient Text
   -------------------------------------------------------------------------- */

.button.is-style-trd span{
    position:relative;
    z-index:3;
    display:inline-block;

    background:var(--button-text-gradient)!important;
    background-repeat:no-repeat!important;
    background-size:100% 100%!important;

    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent;
    color:transparent!important;

    transition:
        transform .25s ease;
}

/* --------------------------------------------------------------------------
   Remove Greyd Defaults
   -------------------------------------------------------------------------- */

.button.is-style-trd,
.button.is-style-trd:hover,
.button.is-style-trd:focus,
.button.is-style-trd:active{
    border:none !important;

    box-shadow:none;
}

/* --------------------------------------------------------------------------
   Hover
   -------------------------------------------------------------------------- */

.button.is-style-trd:hover,
.button.is-style-trd:focus{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(12,23,37,.10);
}

.button.is-style-trd:hover::before,
.button.is-style-trd:focus::before{
    animation:borderMove 5s ease infinite;
}

/* Keep Gradient Text */

.button.is-style-trd:hover span,
.button.is-style-trd:focus span{

    background:var(--button-text-gradient);
    background-repeat:no-repeat;
    background-size:100% 100%;

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
    color:transparent;

    transform:translateX(1px);
}

/* --------------------------------------------------------------------------
   Active
   -------------------------------------------------------------------------- */

.button.is-style-trd:active{
    transform:translateY(0);
    box-shadow:0 5px 14px rgba(12,23,37,.08);
}


/**************** Greyd Forms Submit Button ****************/

/* Base */
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton{
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: var(--wp--preset--color--custom-dark-blue) !important;
    border: none !important;
    border-radius: 0;
    overflow: hidden;

    transform: translateY(0);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* Animated Border */
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton::before{
    content: "";
    position: absolute;
    inset: 0;

    padding: 2px;

    background: var(--button-border-gradient);
    background-size: 280% 280%;
    background-position: 0% 50%;

    animation: none;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    pointer-events: none;
    z-index: 2;
}

/* Remove fill layer */
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton::after{
    display: none;
}

/* Gradient text */
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton > span:last-child{
    position: relative;
    z-index: 3;

    background: var(--button-text-gradient);
    background-repeat: no-repeat;
    background-size: 100% 100%;

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent !important;
    -webkit-text-fill-color: transparent !important;

    transition: transform .25s ease;
}

/* Hover */
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:hover,
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:focus{

    background: var(--wp--preset--color--custom-dark-blue) !important;

    transform: translateY(-1px);

    box-shadow: 0 8px 20px rgba(12,23,37,.10);
}

.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:hover::before,
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:focus::before{
    animation: borderMove 5s ease infinite;
}

.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:hover > span:last-child,
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:focus > span:last-child{

    background: var(--button-text-gradient);
    background-repeat: no-repeat;
    background-size: 100% 100%;

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent !important;
    -webkit-text-fill-color: transparent !important;

    transform: translateX(1px);
}

/* Active */
.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:active{
    transform: translateY(0);
    box-shadow: 0 5px 14px rgba(12,23,37,.08);
}

/* Hide upload animation for events */
.events-posts-listing .events-search-posts .greyd_upload_progress{
    display: none !important;
}


.submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton > span:last-child{
    flex: 0 1 auto !important;
    display: inline-block !important;
    width: auto !important;
    position: relative;
    z-index: 3;
    background: var(--button-text-gradient);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    transition: transform .25s ease;
}


/* =========================================================
   EVENTS QUERY — MOBILE WRAPPING
   ========================================================= */

@media (max-width: 767px) {

    /* The Query block itself */
    .wp-block-query.events-posts-listing {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    /* The GREYD query wrapper inside it */
    .wp-block-query.events-posts-listing .wp-block-group {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* GREYD query slider */
    .wp-block-query.events-posts-listing .greyd-posts-slider {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    /* Query pages wrapper */
    .wp-block-query.events-posts-listing .query-pages-wrapper {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Individual query page */
    .wp-block-query.events-posts-listing .query-page {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

}


/* =========================================================
   EVENTS QUERY — MOBILE WRAPPING
   ========================================================= */

/* =========================================================
   EVENTS QUERY — MOBILE WIDTH FIX
   ========================================================= */


/* =========================================================
   Search icon inside GREYD search field
   ========================================================= */

.search-icon input[type="search"] {
 
    background-image: url("https://ats2026.wpenginepowered.com/wp-content/uploads/2026/08/material-symbols_search-rounded.svg") !important;
    background-repeat: no-repeat !important;
    background-position: 16px center !important;
    background-size: 30px 30px !important;
    padding-left: 58px !important;
}

.search-icon input[type="search"]::placeholder {
    color: #444 !important;
    opacity: 1 !important;
}

/* Remove focus/hover outline */
.search-icon input[type="search"]:hover,
.search-icon input[type="search"]:focus,
.search-icon input[type="search"]:focus-visible {

    box-shadow: none !important;
}


/* =========================================================
 Footer submit button
   ========================================================= */

.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton{
    position:relative;
    isolation:isolate;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:transparent !important;
    color:#fff !important;

    border:none !important;
    border-radius:0;
    overflow:hidden;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* Animated border */
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton::before{
    content:"";
    position:absolute;
    inset:0;

    padding:2px;

    background:var(--button-border-gradient);
    background-size:280% 280%;
    background-position:0% 50%;

    animation:none;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;

    pointer-events:none;
    z-index:2;
}

/* No fill */
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton::after{
    display:none;
}

/* White text */
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton > span:last-child{
    position:relative;
    z-index:3;

    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    transition:transform .25s ease;
}

/* Hover */
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:hover,
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:focus{

    background:transparent !important;

    transform:translateY(-1px);

    box-shadow:0 8px 20px rgba(12,23,37,.10);
}

.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:hover::before,
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:focus::before{
    animation:borderMove 5s ease infinite;
}

.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:hover > span:last-child,
.submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:focus > span:last-child{
    transform:translateX(1px);
}


/* form - Contact us page */

.forms_wrapper.contact-us-page-form

 {
    min-width: 100%; }


/* Gradient text for specific submit buttons */
.button.is-style-prim.submit-gradient-text{
    color: transparent !important;
}

.button.is-style-prim.submit-gradient-text > span:last-child{
    display: inline-block;

    background-image: var(--button-text-gradient) !important;
    background-size: 100%;
    background-repeat: no-repeat;

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}


/* ==================== 06. EVENTS CALENDAR & EVENT TEMPLATES ==================== */

/* =========================================================
   EVENTS: PREVIOUS / NEXT NAVIGATION
   ========================================================= */

.tribe-events-single .tribe-events-nav-previous a,
.tribe-events-single .tribe-events-nav-next a,
.tribe-events-single .tribe-events-nav-previous a:hover,
.tribe-events-single .tribe-events-nav-next a:hover,
.tribe-events-single .tribe-events-nav-previous a:focus,
.tribe-events-single .tribe-events-nav-next a:focus {
    color: #E36325 !important;
}


/* Previous / Next arrows */
.tribe-events-single .tribe-events-nav-previous a::before,
.tribe-events-single .tribe-events-nav-next a::after {
    filter: brightness(0) saturate(100%)
            invert(46%)
            sepia(84%)
            saturate(1275%)
            hue-rotate(345deg)
            brightness(93%)
            contrast(89%) !important;
}

ul.tribe-events-sub-nav {
    padding-left: 0px !important;
}


/* Events section */

/*submit button fro search */
.events-posts-listing .events-search-posts .greyd_upload_progress{
    display:none !important;
}

/* =========================================
   Vertical Event Start Date
========================================= */

.vertical-start-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1;
    text-transform:uppercase;
}

.vertical-start-date .day{
       color: var(--wp--preset--color--custom-light-primary) !important;
    font-weight:700;
    margin:.15rem 0;
     font-size: 24px;
}

.vertical-start-date .month{
    letter-spacing:.08em;
    text-transform:uppercase;
}


/* single events post template */


/* =========================================
   Single Event Categories
   ========================================= */

.single-event-categories{
    display:flex;
    flex-wrap:wrap;
    gap:0.75rem;
    list-style:none;
    margin:0;
    padding:0;
}

.single-event-categories li{
    margin:0;
    padding:0;
}

.single-event-categories a{
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:2.0625rem;      /* 33px */
    padding:1.125rem 1.875rem; /* 18px 30px */

    background:#fff;
    border:none;

    color:var(--wp--preset--color--primary)!important;
    text-decoration:none;
    text-transform:uppercase;

    font-weight:500;
    line-height:1;
    letter-spacing:.08em;

    transition:all .25s ease;
}

.single-event-categories a:hover,
.single-event-categories a:focus-visible{
    background:var(--wp--preset--color--primary);
    color:#fff!important;
}

/* =========================================
   Single Event Template
   Remove the default max-width and spacing
   from The Events Calendar wrapper so the
   layout can be controlled entirely by Greyd.
========================================= */



.tribe-events-pg-template {
    width: 100%;
    max-width: var(--wp--style--global--wide-size) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =====================================================
   The Events Calendar
   Force website font everywhere
   ===================================================== */

#tribe-events-pg-template,
#tribe-events-pg-template * {
    font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;
}


/* =====================================================
   Single Event
   Event Title
   ===================================================== */

#tribe-events-pg-template .tribe-events-single-event-title {
    color: var(--wp--preset--color--dark) !important;
    font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;
    font-size: 2rem !important; /* 32px */
    font-weight: 700 !important;
    line-height: 1.3125 !important; /* 42px */
    letter-spacing: 0;
    margin: 0 0 0.75rem;
}

/* =======================================================
   THE EVENTS CALENDAR
   Single Event - Body Typography
======================================================= */

.tribe-events,
.tribe-events * {
    font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;
}


/*=========================================================*
 * Single Event - Add to Calendar Button
 *=========================================================*/

.tribe-events-single .tribe-events-c-subscribe-dropdown{
    display:inline-flex;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button{
    position:relative;
    isolation:isolate;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;

    background:transparent !important;
    border:none !important;
    border-radius:0;
    overflow:hidden;

    padding:.85rem 1.5rem;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* Animated gradient border */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button::before{
    content:"";
    position:absolute;
    inset:0;
    padding:2px;

    background:var(--button-border-gradient);
    background-size:280% 280%;
    background-position:0% 50%;

    animation:none;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;

    pointer-events:none;
    z-index:2;
}

/* Button text */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-text{
    position:relative;
    z-index:3;

    color:var(--wp--preset--color--primary) !important;
    -webkit-text-fill-color:var(--wp--preset--color--primary) !important;

    background:none !important;
    font:inherit;
}

/* Calendar icon */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon{
    position:relative;
    z-index:3;

    color:var(--wp--preset--color--primary) !important;
    fill:var(--wp--preset--color--primary) !important;
    stroke:var(--wp--preset--color--primary) !important;

    transition:transform .25s ease;
}

/* Ensure all SVG elements inherit the primary color */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon svg,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon svg *,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon *{
    fill:var(--wp--preset--color--primary) !important;
    stroke:var(--wp--preset--color--primary) !important;
}

/* Force dropdown arrow to primary color */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon-svg,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button-icon-svg *,
.tribe-events-single .tribe-common-c-svgicon,
.tribe-events-single .tribe-common-c-svgicon *{
    fill: var(--wp--preset--color--primary) !important;
    stroke: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--primary) !important;
}


/* Hover */
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:focus{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(12,23,37,.10);
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover::before,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:focus::before{
    animation:borderMove 5s ease infinite;
}

.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:focus .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover .tribe-events-c-subscribe-dropdown__button-icon,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button:focus .tribe-events-c-subscribe-dropdown__button-icon{
    transform:translateX(1px);
}


/* ==========================================================
   THE EVENTS CALENDAR
   Single Event - Details Section
========================================================== */

/* Details / Venue section headings */
.tribe-events-single-section-title {
    margin: 0 0 1.5rem !important;

    font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;
    font-size: 24px !important;
    line-height: 1.3125 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
      text-transform: none!important;
    color: var(--wp--preset--color--dark) !important;
}

/* Remove default list styling */
.tribe-events-meta-group .tribe-events-meta-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Space between items */
.tribe-events-meta-item {
    margin-bottom: 1.5rem !important;
}

.tribe-events-meta-item:last-child {
    margin-bottom: 0 !important;
}

/* Labels */
.tribe-events-meta-label {
    display: block;
    margin-bottom: .25rem !important;

    font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;
    font-size: .875rem !important;
    line-height: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--secondary) !important;
}

/* Values */
.tribe-events-meta-value,
.tribe-events-meta-value abbr, .tribe-events-event-meta .tribe-events-meta-list {
    font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;
    font-size: .875rem !important;
    line-height: 1.5rem !important;
    font-weight: 400 !important;
    color: var(--wp--preset--color--secondary) !important;
    text-decoration: none !important;
}
.tribe-events-meta-value a {
color: #017FC4!important;
 font-size: .875rem !important;

}
/* Website link hover */
.tribe-events-meta-value a:hover {
    color: var(--wp--preset--color--primary) !important;
}

/* Remove abbreviation underline */
.tribe-events-meta-value abbr {
    text-decoration: none !important;
    border: 0 !important;
}


/* ==========================================================
   THE EVENTS CALENDAR
   Single Event - Details Card
========================================================== */

.tribe-events-single-section.tribe-events-event-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));

    width: 100%;
    max-width: 100%; 
    box-sizing: border-box;

    background: #fff;

    border-style: solid;
    border-width: 1px 1px 6px;
    border-image: linear-gradient(
        90deg,
        #E66325 0%,
        #017FC4 100%
    ) 1;

    padding: 2.5rem;
    margin-top: 3rem;
    gap: 0;
}

/* ==========================================================
   Details / Venue Columns
========================================================== */

.tribe-events-meta-group-primary {
    padding-right: 2.5rem;
    border-right: 1px solid #D9D9D9;
}

.tribe-events-meta-group-venue {
    padding-left: 2.5rem;
}

/* ==========================================================
   Remove Default Plugin Divider
========================================================== */

.tribe-events-event-meta::before {
    display: none !important;
    content: none !important;
}

.tribe-events-event-meta ~ div:not(.tribe-events-event-meta, .event-tickets) {
    border-top: none !important;
}

/* ==========================================================
   Mobile
========================================================== */

@media (max-width:768px){


#tribe-events-pg-template {
    max-width: fit-content !important;
}


}


@media (max-width:1360px){

    .tribe-events-single-section.tribe-events-event-meta{
        display:flex;
        flex-direction:column;
        gap:2rem;
        padding:2rem;
    }

    .tribe-events-meta-group{
        flex:none !important;
        width:100%;
        max-width:100%;
        margin:0 !important;
    }

    .tribe-events-meta-group-details{
        border-bottom:1px solid #D9D9D9;
        padding-bottom:2rem;
    }

    .tribe-events-meta-group-gmap{
        margin-top:2rem;
    }

    .tribe-events-meta-group-gmap iframe,
    .tribe-events-meta-group-gmap img{
        width:100%;
        display:block;
        height:auto;
    }

    .tribe-events-meta-group-venue{
        margin-top:2rem;
      padding-left: 0 !important;
    }

.tribe-events-single-section.tribe-events-event-meta {
width: fit-content!important;
}
}

.tribe-events-meta-group.tribe-events-meta-group-gmap {
border: none!important;
}

@media (min-width: 768px) {
    .tribe-events-meta-group {
        padding: 0 0 !important; 
        width: 308px;
}
}

/* ==========================================================
   THE EVENTS CALENDAR
   Event Description
   ========================================================== */

.tribe-events-single-event-description {
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    line-height: 24px;
    width: 90% !important;
}


/* ==================== 07. CATEGORIES, CARDS & GENERAL COMPONENTS ==================== */

/* Category block */

/*=========================================================*
 * Figma Categories
 *=========================================================*/

.category-figma.wp-block-categories, .taxonomy-tribe_events_cat.category-figma {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.category-figma.wp-block-categories li, .taxonomy-tribe_events_cat.category-figma li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.category-figma.wp-block-categories li::marker {
	content: none;
}

.category-figma.wp-block-categories a, .taxonomy-tribe_events_cat.category-figma a {
	display: flex;
	align-items: center;
	justify-content: center;

	height: 33px;
	padding: 0 30px;

	background: #fff;
	border: 1px solid #fff;

	color: var(--wp--preset--color--primary)!important;
	text-decoration: none;
	text-transform: uppercase;

	font-size: 0.75rem; /* 12px */
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;

	transition: all .25s ease;
}

/* Labels - categories hero */

.category-figma.wp-block-categories a:hover, .taxonomy-tribe_events_cat.category-figma a:hover {
	background: transparent;
	color: #fff!important;
	border-color: #fff;
}


/*=========================================================*
 * Card Cover Background - Stretch SVG for sliders
 *=========================================================*/

.card-cover-bckg .greyd-background,
.card-cover-bckg .greyd-background .bg_image {
    width: 100% !important;
    height: 100% !important;
}

.card-cover-bckg .greyd-background .bg_image {
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}


/* ==================== 08. ATS INTERACTIVE EFFECTS ==================== */

/*=========================================================*
Added by Rachel 8/25/26
*=========================================================*/

/* ATS hero */
.ats-hero {
    position: relative !important;
    overflow: hidden !important;
    min-height: 710px;
}

/* Hero content */
.ats-hero-content {
    position: relative !important;
    z-index: 4 !important;
}

/* Fallback image */
.ats-globe-fallback {
    position: absolute !important;
    left: 50% !important;
    bottom: -125px !important;
    width: 78% !important;
    height: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    z-index: 1 !important;
    opacity: 1;
    transition: opacity 0.18s ease;
    pointer-events: none !important;
}

.ats-globe-fallback img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

figure.ats-globe-fallback {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* Live 3D globe */
.ats-globe-3d {
    position: absolute !important;
    left: 50% !important;
    bottom: clamp(-1250px, -88vw, -900px) !important;
    width: min(118vw, 1700px) !important;
    height: min(118vw, 1700px) !important;
    transform: translateX(-50%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;

    -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0, 0, 0, 0.25) 4%,
        rgba(0, 0, 0, 0.65) 9%,
        black 16%,
        black 100%
    );

    mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0, 0, 0, 0.25) 4%,
        rgba(0, 0, 0, 0.65) 9%,
        black 16%,
        black 100%
    );
}

/* Globe.GL wrapper */
.ats-globe-3d > div {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* WebGL canvas */
.ats-globe-3d canvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    transition: opacity 0.18s ease;
    contain: layout paint;
}

/* Ready states */
.ats-globe-3d.is-ready canvas {
    opacity: 1;
}

.ats-hero.globe-is-ready .ats-globe-fallback {
    opacity: 0 !important;
}

/* Tablet / small laptop */
@media (max-width: 991px) {
    .ats-hero {
        min-height: 650px;
    }

    .ats-globe-3d {
        width: 125vw !important;
        height: 125vw !important;
        bottom: clamp(-900px, -88vw, -620px) !important;
    }

    .ats-globe-fallback {
        width: 90% !important;
        bottom: -80px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .ats-hero {
        min-height: 650px;
    }

    .ats-globe-3d {
        width: 145vw !important;
        height: 145vw !important;
        bottom: clamp(-650px, -92vw, -300px) !important;
    }

    .ats-globe-fallback {
        width: 105% !important;
        bottom: -25px !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .ats-globe-3d {
        width: 150vw !important;
        height: 150vw !important;
        bottom: clamp(-430px, -90vw, -280px) !important;
    }

    .ats-globe-fallback {
        width: 112% !important;
        bottom: -15px !important;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .ats-globe-3d canvas,
    .ats-globe-fallback {
        transition: none !important;
    }
}


/* INNER PAGE GLOBE */

.ats-inner-hero {
    position: relative !important;
    overflow: hidden !important;
}

/* Keep content above the globe */
.ats-globe-content {
    position: relative !important;
    z-index: 5 !important;
}

.ats-inner-globe-3d {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: -25% !important;

    width: 50vw !important;
    height: 50vw !important;

    max-width: 880px !important;
    max-height: 880px !important;

    transform: translateX(107%) !important;

    z-index: 1 !important;
    pointer-events: none !important;
}

/* Globe.GL wrapper */
.ats-inner-globe-3d > div {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Globe canvas */
.ats-inner-globe-3d canvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    transition: opacity 0.18s ease;
}

.ats-inner-globe-3d.is-ready canvas {
    opacity: 1;
}

/* Tablet */
@media (max-width: 1100px) {
    .ats-inner-globe-3d {
        width: 68vw !important;
        height: 68vw !important;
        bottom: -20% !important;
        transform: translateX(82%) !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .ats-inner-globe-3d {
        width: 100vw !important;
        height: 100vw !important;
        bottom: -12% !important;
        transform: translateX(45%) !important;
        opacity: 0.55;
    }
}


/* 3D FLOATING PARALLAX EFFECT*/
.ats-careers-float {
    position: relative;
}

.ats-float-image {
    --float-x: 0px;
    --float-y: 0px;

    transform: translate(
        var(--float-x),
        var(--float-y)
    );

    transition: transform 0.2s ease-out;
    will-change: transform;
}

@media (hover: none), (pointer: coarse) {
    .ats-float-image {
        transform: none !important;
        transition: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ats-float-image {
        transform: none !important;
        transition: none !important;
    }
}


/* QUOTE CARD CORNER FRAME */

.ats-corner-frame {
    position: relative;
}

/* Orange top-right */
.ats-corner-frame::before {
    content: "";
    position: absolute;
    top: -10px;
    right: -10px;
    width: 65px;
    height: 65px;
    border-top: 19px solid #E87F24;
    border-right: 19px solid #E87F24;
    z-index: 2;
    pointer-events: none;
}

/* Gray bottom-left */
.ats-corner-frame::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: -10px;
    width: 65px;
    height: 65px;
    border-bottom: 19px solid #858585;
    border-left: 19px solid #858585;
    z-index: 2;
    pointer-events: none;
}


/* ==================== 09. SLIDERS, COVERFLOW & PAGINATION ==================== */

/*=========================================================*
Coverflow Slider
*=========================================================*/

/* Remove all 3D.
   Greyd's own plugin CSS sets a real rotateY() flip on this exact
   element — .query-page .query-post:first-child:last-child — as the
   default, before-current state, and a mirrored flip for after-current
   cards via the .is-current ~ .query-page variant. Matching Greyd's own
   selector (including the :first-child:last-child pair) puts us at
   equal specificity, so our rule — loaded after Greyd's plugin CSS —
   wins the cascade tie without needing !important gymnastics. */
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page .query-post:first-child:last-child,
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current ~ .query-page .query-post:first-child:last-child{
    transform: rotateY(0deg) !important;
}

/* Previous + Next — dim only, no transform here. The card's position/
   scale is handled entirely by .query-page below; keeping scale off of
   .query-post avoids two rules both touching transform on the same
   element and fighting over it. */
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-prev .query-post,
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current + .query-page .query-post{
    opacity: .15;
    transition: opacity .45s ease;
}

/* Current */
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current .query-post{
    opacity: 1;
    transition: opacity .45s ease;
}

/* Layer order */
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current{
    z-index: 4;
}

.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-prev,
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current + .query-page{
    z-index: 3;
}


/* Side cards — positioned for an exact 24px gap to the current card,
   derived from Greyd's own numbers:
     - Greyd's .query-page has padding: 0 14% — the visible card sits
       inset 14% from each edge of its own box.
     - .query-page.is-current scales to 0.9 around its own center.
     - transform: translate()'s percentage resolves against the page's
       own (unscaled) box width, and is added AFTER scaling — it isn't
       itself scaled down.
   Working through that: the current card's visible right edge lands at
   82.4% of the page box's width; a sibling's visible left edge (before
   any offset) starts at 17.6%. Closing that to touching distance takes
   an offset of 82.4% - 17.6% = 64.8%, then +24px on top for an actual
   24px gap — so 64.8% + 24px, mixing % and px in one calc(), holds at
   any width with no breakpoint needed. */
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-prev{
    transform: translate(calc(-64.8% - 24px), -50%) scale(.9)!important;
}

.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current + .query-page{
    transform: translate(calc(64.8% + 24px), -50%) scale(.9)!important;
}


/*=========================================================*
Full-bleed at every width
This section's block is set to "alignfull", meant to be edge-to-edge
with no side gap. But its ancestor chain — a .wp-block-group.alignwide
with the theme's global padding — isn't itself symmetrically placed on
the true browser viewport: it sits inset from the left by the theme's
root-padding variable (a clamp(32px, 5vw, 48px), 48px at any normal
desktop width) but doesn't compensate the same way on the right.
Because .coverflow-fix just inherits "100% of its parent" rather than
truly escaping to the viewport, it picks up that same ~48px gap on the
left at every width. The fix is the same idea as the 1920px+ cap below:
force a true 100vw box and cancel out that same inset with a negative
margin, so this hugs both edges of the real browser window everywhere.

This rule and the 1920px+ rule below have equal specificity
(.coverflow-fix.alignfull); this one comes first in the file, so on
screens ≥1920px the rule below still wins and takes over the
capping/centering. */
.coverflow-fix.alignfull{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-1 * var(--wp--style--root--padding-left, 48px)) !important;
    margin-right: calc(-1 * var(--wp--style--root--padding-right, 48px)) !important;
}


/*=========================================================*
Max width on very large screens
On ultra-wide monitors, this section is set to "alignfull" (edge to
edge, no cap) like the rest of the design. Past 1920px that stretches
the gap between the visible cards out to hundreds of pixels, because
the far, normally off-screen cards start creeping into view too. Above
1920px, cap the whole slider to 1920px and center it — same fix as
capping any full-bleed section on a huge screen — rather than trying
to chase exact spacing at unbounded widths.

NOTE: a plain "margin: auto" version of this rule centers on the
element's immediate parent, not the actual browser viewport — on this
page that parent isn't itself symmetrically placed on the viewport (it
sits inset by the theme's root padding on one side), so "auto" leaves a
stray gap on the left. Subtracting that same root-padding variable in
the margin formula anchors this to the true viewport instead. */
@media (min-width: 1920px) {
  .coverflow-fix.alignfull{
    width: 1920px !important;
    max-width: 1920px !important;
    margin-left: calc(50% - 960px - var(--wp--style--root--padding-left, 48px)) !important;
    margin-right: calc(50% - 960px - var(--wp--style--root--padding-right, 48px)) !important;
  }
}


/*=========================================================*
Pagination - Coverflow / Figma
*=========================================================*/

/* Slider wrapper */
.coverflow-fix{
    position:relative;
}

/*=========================================================*
Pagination
*=========================================================*/

.coverflow-fix .pagination{
    position:static;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    margin-top:2rem;
}

/*=========================================================*
Pagination Lines
*=========================================================*/

/* Hide Greyd icons */
.coverflow-fix .pagination .pgn_number::before{
    display:none;
}

/* Lines wrapper */
.coverflow-fix .pagination .pgn_numbers{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    position:relative;
    z-index:2;
}

/* Individual line */
.coverflow-fix .pagination .pgn_number{
    display:block;
    width:28px;
    height:4px;
    background:#C9BCB0;
    border-radius:999px;
    font-size:0;
    line-height:0;
    transition:background .3s ease;
}

/* Active line */
.coverflow-fix .pagination .pgn_current{
    background:#1798C8;
}


/*=========================================================*
Arrows
*=========================================================*/

.coverflow-fix .pagination .pgn_previous,
.coverflow-fix .pagination .pgn_next{
    position:absolute;
    top:44%;
    transform:translateY(-50%);

    width:50px;
    height:50px;

    margin:0;
    padding:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;

    cursor:pointer;
    pointer-events:auto;

    z-index:6;
}

/* Arrows — pinned to the slider's own outer edge, same margin on both
   sides, now that .coverflow-fix genuinely reaches the true edge (see
   the full-bleed fix above). */
.coverflow-fix .pagination .pgn_previous{
    left:24px;
    right:auto;
}

.coverflow-fix .pagination .pgn_next{
    right:24px;
    left:auto;
}

/* Remove Greyd decoration */
.coverflow-fix .pagination .pgn_previous::before,
.coverflow-fix .pagination .pgn_previous::after,
.coverflow-fix .pagination .pgn_next::before,
.coverflow-fix .pagination .pgn_next::after{
    display:none !important;
    content:none !important;
}

/* Arrow SVG */
.coverflow-fix .pagination .pgn_previous img,
.coverflow-fix .pagination .pgn_next img{
    display:block;
    width:50px;
    height:50px;
    pointer-events:none;
}

/*=========================================================*
Slider stacking
*=========================================================*/

.coverflow-fix .gs_slider,
.coverflow-fix .swiper{
    z-index:1;
}


/*=========================================================*
Mobile — one card only
On small screens the peeking prev/next cards are hidden so only the
current card shows. Their position/scale rules above are untouched —
this just fades the card content out, the same way the "Previous +
Next" opacity rule above already dims it, just all the way to 0. */
@media (max-width: 767px) {
  .coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-prev .query-post,
  .coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current + .query-page .query-post{
      opacity: 0;
  }
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current{
    padding: 0;
    transform: translate(0%, -50%) scale(.9) !important;
}
.coverflow-fix .pagination .pgn_previous,
.coverflow-fix .pagination .pgn_next{
    display: none;
}

.wp-block-cover.cover-mobile-center {
    align-items: center!important;
    justify-content: center!important;
}
.coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-page.is-current .wp-block-cover{
    padding: var(--wp--preset--spacing--tiny, 16px) !important;
}
}


/*=========================================================*
SLIDERS on CAREERS 
*=========================================================*/


/*=====
Query Pagination Lines
*=====*/

.query-pagination-lines .pagination .pgn_number::before{
    display:none;
}

.query-pagination-lines .pagination .pgn_numbers{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.query-pagination-lines .pagination .pgn_number{
    display:block;
    width:28px;
    height:4px;

    background:#C9BCB0;
    border-radius:999px;

    font-size:0;
    line-height:0;

    transition:background .3s ease;
}

.query-pagination-lines .pagination .pgn_current{
    background:#1798C8;
}

/*=====
Arrows
*=====*/

/* Greyd's default puts each arrow in its own full-height side column
   (.pgn_arrows.left / .pgn_arrows.right), which is what centers them
   next to the cards currently. Freeing them from that positioning
   context (position:static) lets the links themselves become
   position:absolute against the slider as a whole, so both can be
   pulled up together into the top-right corner next to the heading,
   instead of flanking the card row. */
.career-query .pgn_arrows.left,
.career-query .pgn_arrows.right{
    position: static!important;
}

.career-query .pgn_previous,
.career-query .pgn_next{
    position: absolute;
    top: -132px;
    left: auto;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.career-query .pgn_next{
    right: 0;
}

.career-query .pgn_previous{
    right: 82px;
}


@media (max-width: 767px) {
  .career-query .pgn_next{
      right: 30px;   /* was 0 on mobile */
  }
  .career-query .pgn_previous{
      right: 112px;  /* was 82px — shifted by the same 30px, gap between arrows unchanged */
  }
}


@media (max-width: 1400px)
 {
.career-query .pgn_next{
      right: 30px;   /* was 0 on mobile */
  } 

.career-query .pgn_previous{
      right: 122px;  /* was 82px — shifted by the same 30px, gap between arrows unchanged */
}
}

/* Remove only the global block gap before main */
body .wp-site-blocks > main#wp--skip-link-target {
    margin-block-start: 0 !important;
}


/* =======
EVENTS double bottom border issue on hover ===== */


/* events hover link double line */


.tribe-events-calendar-month__calendar-event-tooltip-title-link {
    display: block;
    max-width: 206px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.tribe-events-calendar-month__calendar-event-title-link {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: top;
    border-bottom: none !important;
}


.tribe-events-calendar-list__event-title-link {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: top;
    border-bottom: none !important;
}

.tribe-events-calendar-day__event-title-link {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: top;
    border-bottom: none !important;
}

/* ==================== 10. ACCESSIBILITY ==================== */

/* Keyboard focus
   Visible for keyboard navigation without changing normal mouse hover states. */
:where(
    a[href],
    button,
    input,
    select,
    textarea,
    summary,
    [tabindex]:not([tabindex="-1"]),
    .button
):focus-visible {
    outline: 3px solid #E36325 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 5px #FFFFFF !important;
}
header a:focus-visible,
header button:focus-visible {
    outline: 1px solid rgba(255,255,255,0.05) !important;
    outline-offset: 4px !important;
    box-shadow: none !important;
}

/* Fallback for browsers without :focus-visible support. */
@supports not selector(:focus-visible) {
    :where(
        a[href],
        button,
        input,
        select,
        textarea,
        summary,
        [tabindex]:not([tabindex="-1"]),
        .button
    ):focus {
        outline: 3px solid #E36325 !important;
        outline-offset: 3px !important;
        box-shadow: 0 0 0 5px #FFFFFF !important;
    }
}

/* Reduced motion
   Keeps the same content and controls while removing or minimizing
   decorative movement for users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto !important;
    }

    /* Decorative image zoom / movement */
    .carousel-card img,
    .quick-finds img,
    .ats-float-image {
        transition: none !important;
    }

    .carousel-card:hover img,
    .quick-finds:hover img,
    .ats-float-image {
        transform: none !important;
    }

    /* Button lift and animated border movement */
    .button.is-style-prim,
    .button.is-style-sec,
    .button.is-style-trd,
    .submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton,
    .submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton,
    .tribe-events-single .tribe-events-c-subscribe-dropdown__button {
        transition: none !important;
    }

    .button.is-style-prim:hover,
    .button.is-style-sec:hover,
    .button.is-style-trd:hover,
    .submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton:hover,
    .submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton:hover,
    .tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover {
        transform: none !important;
    }

    .button.is-style-prim::before,
    .button.is-style-sec::before,
    .button.is-style-trd::before,
    .submit-primary-style .wp-block-greyd-forms-submitbutton.button.submitbutton::before,
    .submit-white-text-gradient-border .wp-block-greyd-forms-submitbutton.button.submitbutton::before,
    .tribe-events-single .tribe-events-c-subscribe-dropdown__button::before {
        animation: none !important;
    }

    /* Custom globe/floating transitions */
    .ats-globe-3d canvas,
    .ats-inner-globe-3d canvas,
    .ats-globe-fallback,
    .ats-float-image {
        transition: none !important;
    }

    /* Custom slider fades / pagination transitions */
    .coverflow-fix .greyd-posts-slider[data-animation="cover"] .query-post,
    .coverflow-fix .pagination .pgn_number,
    .query-pagination-lines .pagination .pgn_number {
        transition: none !important;
    }
}

/* 4 cards images section 'Strength in people' - mobile */

@media (max-width: 992px) {
	   .mobile-row        {
    flex-direction: row!important;
    align-items: center!important;
    justify-content: space-between!important;
    min-width: 100% !important;
    max-width: 100% !important;
}
}


/* Hero images on mobile */

@media (max-width: 781px) {
  .mobile-background-careers {
    background-color: #1A2332;
    background-image: url('/wp-content/uploads/2026/09/careers-hero-globe.svg');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 220px;
  }

  .mobile-background-careers img.wp-block-cover__image-background {
    display: none;
  }
}


@media (max-width: 781px) {
  .mobile-background-veteran-careers {
    background-color: #1A2332;
    background-image: url('/wp-content/uploads/2026/09/veteran-careers-hero-vector-sphere.svg');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 220px;
  }

 .mobile-background-veteran-careers img.wp-block-cover__image-background {
    display: none;
  }
}



/* =========================================================
   Hide newsletter signup (footer) on blog archive & posts
   Footer is a shared template part, so scope by body class
   instead of editing the global footer.
   ========================================================= */
body.blog .hide-from-blog,
body.single-post .hide-from-blog {
    display: none;
}




/* about page - map mobile */
@media (max-width: 1024px) {
  .mobile-map-right {
    text-align: right;
  }
}

