/** -------------------------------------------- */
/** NC State Utility Bar */

/** Makes the text visible and moves it off screen */
a.go916783653#ncstate-home-link {
  display: block !important;
  width: 138px !important;
  height: 70px !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  background-size: contain !important;
  background-position: left center !important;
  padding: 0 !important;
  margin-left: 10px !important;
  color: #fff !important;
}

/** -------------------------------------------- */
/** NC State Immersive News header */

/* red-400 */
.ncst-default-immersive-post-header.has-red-400-background-color h1,
.ncst-default-immersive-post-header.has-red-400-background-color a,
.ncst-default-immersive-post-header.has-red-400-background-color p,
.ncst-default-immersive-post-header.has-red-400-background-color div {
  background-color: #c00;
}

/* reynolds-400 */
.ncst-default-immersive-post-header.has-reynolds-400-background-color h1,
.ncst-default-immersive-post-header.has-reynolds-400-background-color a,
.ncst-default-immersive-post-header.has-reynolds-400-background-color p,
.ncst-default-immersive-post-header.has-reynolds-400-background-color div {
  background-color: #900;
}

/* orange-400 */
.ncst-default-immersive-post-header.has-orange-400-background-color h1,
.ncst-default-immersive-post-header.has-orange-400-background-color a,
.ncst-default-immersive-post-header.has-orange-400-background-color p,
.ncst-default-immersive-post-header.has-orange-400-background-color div {
  background-color: #d14905;
}

/* green-400 */
.ncst-default-immersive-post-header.has-green-400-background-color h1,
.ncst-default-immersive-post-header.has-green-400-background-color a,
.ncst-default-immersive-post-header.has-green-400-background-color p,
.ncst-default-immersive-post-header.has-green-400-background-color div {
  background-color: #6f7d1c;
}

/* aqua-400 */
.ncst-default-immersive-post-header.has-aqua-400-background-color h1,
.ncst-default-immersive-post-header.has-aqua-400-background-color a,
.ncst-default-immersive-post-header.has-aqua-400-background-color p,
.ncst-default-immersive-post-header.has-aqua-400-background-color div {
  background-color: #008473;
}

/* blue-400 */
.ncst-default-immersive-post-header.has-blue-400-background-color h1,
.ncst-default-immersive-post-header.has-blue-400-background-color a,
.ncst-default-immersive-post-header.has-blue-400-background-color p,
.ncst-default-immersive-post-header.has-blue-400-background-color div {
  background-color: #427e93;
}

/* indigo-400 */
.ncst-default-immersive-post-header.has-indigo-400-background-color h1,
.ncst-default-immersive-post-header.has-indigo-400-background-color a,
.ncst-default-immersive-post-header.has-indigo-400-background-color p,
.ncst-default-immersive-post-header.has-indigo-400-background-color div {
  background-color: #4156a1;
}

/* gray-600 */
.ncst-default-immersive-post-header.has-gray-600-background-color h1,
.ncst-default-immersive-post-header.has-gray-600-background-color a,
.ncst-default-immersive-post-header.has-gray-600-background-color p,
.ncst-default-immersive-post-header.has-gray-600-background-color div {
  background-color: #666;
}

/* gray-800 */
.ncst-default-immersive-post-header.has-gray-800-background-color h1,
.ncst-default-immersive-post-header.has-gray-800-background-color a,
.ncst-default-immersive-post-header.has-gray-800-background-color p,
.ncst-default-immersive-post-header.has-gray-800-background-color div {
  background-color: #333;
}

/** -------------------------------------------- */
/** Gravity Forms forms */

/* Targeting the Gravity Forms button class for the Orbital theme */
.gform_wrapper.gform-theme--orbital .gform_button.button {
  /* Layout & Spacing */
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  padding: 0.25rem 1rem !important;
  line-height: 1.625 !important;
  border-radius: 0 !important;

  /* Borders & Shape */
  outline: none !important;

  /* Colors & Transitions */
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  background-color: #cc0000 !important;
  color: #ffffff !important;

  /* Theme Property Overrides */
  border-color: #cc0000 !important;
  cursor: pointer;
  appearance: none;
}

/* Hover States */
.gform_wrapper.gform-theme--orbital .gform_button.button:hover:not(:disabled) {
  background-color: #b40000 !important;
  color: #ffffff !important;
  border-color: #b40000 !important;
}

/* Focus States */
.gform_wrapper.gform-theme--orbital .gform_button.button:focus-visible {
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 4px #cc0000 !important;
}

/* Disabled State */
.gform_wrapper.gform-theme--orbital .gform_button.button:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/** Instagram load and follow buttons */
#sb_instagram .sbi_follow_btn a {
  background: #c00;
  border-radius: 0;
}

button.sbi_load_btn {
  border-radius: 0 !important;
}

/** -------------------------------------------- */
/** TEC - apply page styles */

#main-content {
  --tec-color-text-primary: #333;
}

.tribe-events-content h2,
.tribe-events-content h3,
.tribe-events-content h4,
.tribe-events-content h5,
.tribe-events-content h6 {
  color: #c00;
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  font-weight: var(--tec-font-weight-bold);
}

.tribe-events-content p {
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  font-size: 1rem;
  font-weight: 300;
  margin-bottom: 1.625rem;
  margin-top: 0;
}

.tribe-events-content div {
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  font-size: 1rem;
  font-weight: 300;

  margin-top: 0;
}

.tribe-events-content ul {
  color: var(--dark-gray);
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  line-height: 1.6;
  text-align: left;
  font-variant-ligatures: none;
  grid-column: 4/-4;
  margin-top: 0;
  margin-bottom: 1.5rem;
  box-sizing: border-box;
  font-size: var(--body-size);
  font-weight: 300 !important;
  list-style: none;
  padding-left: 0.889em;
}

.tribe-events-content ul li::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M327.38,207.75,183.63,64l-47.26,48.25L279.14,256,136.37,399.75,183.63,448l192-192Z' fill='%23CC0000'/%3E%3C/svg%3E");
  background-position: -0.25em 0.1em;
  background-repeat: no-repeat;
  background-size: 1em 1em;
  content: " ";
  font-size: 0.889em;
  margin-left: -1em;
  padding-right: 1em;
}

.tribe-events-content li {
  color: var(--dark-gray);
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  line-height: 1.6;
  text-align: left;
  font-variant-ligatures: none;
  box-sizing: border-box;
  font-size: 1rem;
  font-weight: 300;
  margin: 0.2888em 0;
}
.tribe-events-content ul li {
  list-style: none;
}

.tribe-events-schedule span {
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 1.625rem;
  margin-top: 0;
}

.tribe-events-single-section.tribe-events-event-meta span {
  font-family: NCSTSansSerif, Arial, sans-serif !important;
  font-size: 0.9rem;
  font-weight: 300;
  font-weight: 300;
}

.tribe-events-sub-nav {
  padding: 0;
}

/** -------------------------------------------- */
/** Hide the Google Map thumbnail, but keep the link to the full map */
.tribe-events-venue-map {
  display: none;
}

.tribe-events-single-section a.tribe-events-gmap {
  width: 100% !important;
  display: block;
}

.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
  background-color: #900;
}
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover,
.tribe-events .tribe-events-calendar-month__day-cell--selected:focus {
  background-color: #c00;
}
.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__day-cell--selected:focus .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover .tribe-events-calendar-month__day-date-daynum {
  color: #fff;
}
.tribe-events button.tribe-events-c-search__button {
  background-color: #c00;
  color: #fff;
}
.tribe-events button.tribe-events-c-search__button:hover,
.tribe-events button.tribe-events-c-search__button:focus {
  background-color: #900;
  color: #fff;
}

/** -------------------------------------------- */
/** Fix white-text-on-white-background in the error block that appears when there is an ncst-column with no content */
.dynamic-block-error__heading {
  color: #000000 !important;
  background-color: transparent !important;
}

.dynamic-block-error__message,
.dynamic-block-error__footer {
  color: #000000 !important;
}

/** -------------------------------------------- */
/** Styling for fixed content card links **/

.ncst-featured-content .ncst-content-card {
  cursor: default;
}

/* Ensure only the actual links trigger the pointer hand */
.ncst-featured-content .content-card__headline a,
.ncst-featured-content .content-card__cta a {
  cursor: pointer !important;
}

.ncst-featured-content p.content-card__cta a,
.ncst-featured-content p.content-card__cta a:hover,
.ncst-featured-content p.content-card__cta a:focus,
.ncst-column p.content-card__cta a:focus-within {
  background: inherit !important;
  box-shadow: none !important;
}

[class^="has-"][class*="-background-color"] .ncst-featured-content p.content-card__cta a,
[class^="has-"][class*="-background-color"] .ncst-featured-content p.content-card__cta a:hover,
[class^="has-"][class*="-background-color"] .ncst-featured-content p.content-card__cta a:focus,
[class^="has-"][class*="-background-color"] .ncst-column p.content-card__cta a:focus-within {
  background: inherit !important;
  color: #fff !important;
  box-shadow: none !important;
}

.ncst-featured-content .content-card__teaser a,
.ncst-featured-content .content-card__teaser a:hover,
.ncst-featured-content .content-card__teaser a:focus,
.ncst-featured-content .content-card__teaser a:focus-within {
  background: inherit !important;
  color: #333 !important;
  box-shadow: none !important;
}

.ncst-featured-content .content-card__teaser .arrow-indicator {
  display: none;
}

/** -------------------------------------------- */
/** Fix problems with contain-intrinsic-size when image links are broken */

img.content-card__image,
figure.wp-block-image img {
  min-height: 10px;
}

/** -------------------------------------------- */
/** Fix Job Listing contrast issues */

.rp4wp-related-job_listing > ul li.job_listing a .meta,
.rp4wp-related-job_listing > ul li.no_job_listings_found a .meta,
ul.job_listings li.job_listing a .meta,
ul.job_listings li.no_job_listings_found a .meta,
.rp4wp-related-job_listing > ul li.job_listing a div.location,
.rp4wp-related-job_listing > ul li.no_job_listings_found a div.location,
ul.job_listings li.job_listing a div.location,
ul.job_listings li.no_job_listings_found a div.location,
.rp4wp-related-job_listing > ul li.job_listing a div.position .company,
.rp4wp-related-job_listing > ul li.no_job_listings_found a div.position .company,
ul.job_listings li.job_listing a div.position .company,
ul.job_listings li.no_job_listings_found a div.position .company {
  color: #666666 !important;
}

.job-manager .full-time,
.job-types .full-time,
.job_listing .full-time {
  color: hsl(69 57% 29% / 1) !important;
}

/* Container: The Job Listing Row */
ul.job_listings li.job_listing {
  display: flex;
  align-items: center; /* Vertically centers all columns */
  padding: 1em 0;
  border-bottom: 1px solid #eee;
  gap: 1em; /* Space between columns */
  list-style: none;
}

/* Column 1: The Logo (Fixed) */
ul.job_listings li.job_listing img.company_logo {
  flex: 0 0 42px; /* Do not grow, do not shrink, stay 42px */
  height: 42px;
  object-fit: contain;
}

/* Column 2: Position (Flexible - 55%) */
ul.job_listings li.job_listing div.position {
  flex: 55; /* Proportional weight */
  min-width: 0; /* Prevents text overflow from breaking flex */
}

ul.job_listings li.job_listing div.position h3 {
  margin: 0;
  font-size: 1.1em;
}

/* Column 3: Location (Flexible - 25%) */
ul.job_listings li.job_listing div.location {
  flex: 25;
  color: #666;
}

/* Column 4: Meta/Date (Flexible - 20%) */
ul.job_listings li.job_listing ul.meta {
  flex: 20;
  text-align: right;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #666;
}

/** -------------------------------------------- */
/* Responsive adjustment for mobile */
@media (max-width: 600px) {
  ul.job_listings li.job_listing {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5em;
  }

  ul.job_listings li.job_listing div.position,
  ul.job_listings li.job_listing div.location,
  ul.job_listings li.job_listing ul.meta {
    flex: 1 1 100%;
    text-align: left;
  }
}
ul.job_listings li.job_listing a {
  padding: 0 !important;
}
.job_filters .showing_jobs {
  display: none !important;
}

/** -------------------------------------------- */
/** Fix email signup block */

.ncst-email-signup .email-signup__action .gform_wrapper form .gform_footer {
  margin-top: 0;
}

/** -------------------------------------------- */
/** Fix thumbnail gallery */

.thumbnail-gallery__controls-container .sr-only,
.thumbnail-gallery__page-indicator-button .sr-only {
  background: #fff !important;
  color: #000 !important;
}

.wp-block-ncst-thumbnail-gallery .thumbnail-gallery__controls-container .scroll svg {
  fill: #fff;
  stroke: #000 !important;
}

.wp-block-ncst-thumbnail-gallery .thumbnail-gallery__controls-container .scroll:disabled {
  background-color: #808080 !important;
}
button.thumbnail-gallery__page-indicator-button {
  background-color: #808080 !important;
}
