/* Base styles */


.pnty-list li {
  display: flex; /* Enables flexbox layout */
  flex-direction: column; /* Ensures vertical stacking */
}

.pnty-list-organization-name {
  display: none;
}

.pnty-list-logo {
  order: 1; /* Image at the top */
  margin-bottom: 10px; /* Optional spacing */
}

.itc_pnty_custom li .pnty-list-location {
  order: 2; /* Title below the image */
  margin-bottom: 10px; /* Optional spacing */
}

.itc_pnty_custom li a.pnty-list-title {
  order: 3; /* Organization name below the title */
  margin-bottom: 10px; /* Optional spacing */
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 10px 0;
  display: inline-block;
  width: 100%;
  text-align: left;
}

.pnty-list-excerpt {
  order: 4; /* Excerpt below the organization name */
  margin-bottom: 10px; /* Optional spacing */
}

.pnty-list-readmore {
  order: 5; /* Readmore link at the bottom */
}

.pnty-list-excerpt {
  position: relative; /* Required for the pseudo-element */
  max-height: 214px; /* Limit the height */
  overflow: hidden; /* Hide overflow text */
  line-height: 1.5; /* Adjust to match your text spacing */
  padding-right: 1rem; /* Add padding to prevent the fade overlapping the text */
}

.pnty-list-excerpt::after {
  content: ''; /* Empty content for the pseudo-element */
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%; /* Covers the full width */
  height: 30px; /* Height of the fade */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff); /* Fade effect */
  pointer-events: none; /* Ensures the fade doesn't block interactions */
}

.pnty-list {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
  padding: 0;
}

.pnty-list li {
  width: 100%;
  padding: 0 20px;
  margin: 0 0 45px 0;
  list-style-type: none;
}

.itc_pnty_custom li .pnty-list-location {
  display: inline-block; /* Ensures it doesn't take 100% width, but allows padding/margins */
  border-radius: 6px;
  color: #fff;
  background-color: #414726E0;
  font-weight: 700;
  padding: 5px 10px; /* Optional: Adds internal spacing for better aesthetics */
  text-align: center; /* Centers text if needed */
  width: auto; /* Prevents stretching */
  max-width: fit-content; /* Ensures it only grows as much as necessary */
}

.pnty-btn,
.pnty-list-readmore a {
  font-size: 16px;
  fill: #FFFFFF;
  color: #FFFFFF !important;
  background-color: #414726;
  border-radius: 30px;
  padding: 19px 46px 17px 46px;
  margin: 20px 0 0 0;
  display: inline-block;
  font-weight: 700;
}

#content.type-pnty_job {
  margin: 140px auto 0;
  line-height: 1.5rem;
  font-size: 16px;
  width: 100%;
  max-width: 100%;
}

#content.type-pnty_job ul, #content.type-pnty_job ol {
  line-height: 1.7rem;
}

.pnty-single-job {
  margin: 0 auto;
  max-width: 732px;
}

.single-pnty_job .page-content {
  padding: 0 20px;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.pnty-single-job .pnty-btn {
  margin: 30px 0;
  line-height: 1.3rem;
}

h2, h3, h4, h5, h6 {
  margin: 2rem 0;
}

.pnty-single-job .pnty-logo {
  width: 75%;
  max-width: 500px;
  margin: 3.5rem auto;
  display: block;
}

.pnty-list li .pnty-list-logo {
  order: 1;
  display: block;
  width: 100%;
  /* max-width: 200px; */
  height: 160px;
  margin: 0 auto 20px;
  object-fit: contain;
  background-color: #fff;
  border: 1px solid rgb(173, 173, 173);
  box-sizing: border-box;
  border-radius: 2px;
  padding: 10% 15%;
}



/* Add a stronger selector to override .elementor img */
.pnty-list li .pnty-list-logo.img {
  width: auto !important;
  height: auto !important;
  max-height: 200px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}
.pnty-list li .pnty-list-logo-default { 
  padding: 0;
}


/* Remove conflicting styles from .pnty-single-job img for .pnty-list-logo */
.pnty-list-logo.pnty-single-job img {
  all: unset; /* Remove inherited styles */
  object-fit: contain; /* Restore the appropriate scaling behavior */
}




.pnty-single-job ul, .pnty-single-job ol {
  margin: 0.75rem 1.15rem;
  padding: 0;
}

/* Iframe styling */
.pnty-single-job p:has(> iframe) {
  position: relative;
  width: 100%;
  max-width: 800px;
  padding-top: 56.25%; /* 16:9 aspect ratio */
  margin: 0 auto; /* Center the iframe */
}

.pnty-single-job p:has(> iframe) > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Header styles */
.custom-header {
  position: relative;
  overflow: hidden; /* Ensures corners are properly clipped */
}

.custom-header__image-container {
  height: auto;
  background: #414726;
  margin: 0 auto 40px auto;
  padding: 20px;
}

.custom-header__image {
  width: 100%;
  height: auto;
  display: block;
  max-width: 800px;
  margin: 0 auto;
}

.custom-header__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #414726;
  font-size: 6rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
  text-align: center;
  z-index: 1;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight);
}

/* Responsive styles */
@media (max-width: 768px) {

  .custom-header__image {
    width: 100%;
    object-fit: cover; /* Ensures the image is cropped to fill the fixed height */
  }

  .custom-header__title {
    font-size: 3.2rem; /* Slightly smaller title for smaller screens */
  }

  /* Menu adjustments */
  .single-pnty_job .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    margin-top: 43px;
  }
}

@media (min-width: 769px) {


  .custom-header__image-container {
    width: 100%;
    margin: 0 auto 40px auto;
    background: #414726;
    padding: 65px 40px;
  }

  /* Grid adjustments */
  .pnty-list {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  /* Header adjustments */
  .custom-header__image-container {
    height: auto;
    margin: 0 auto 40px auto;
    background: #414726;
    padding: 65px 40px;
  }

  .custom-header__image {
    object-fit: contain; /* Ensures image scales without cropping */
  }
}

@media (min-width: 1025px) {
  /* Button hover effects */
  .pnty-btn:hover,
  .pnty-list-readmore a:hover {
    background-color: #414726E0;
  }

  /* Grid adjustments */
  .pnty-list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 64px;
  }

  .pnty-list li {
    width: 100%;
    padding: 0;
    margin: 0 0 0 0;
  }
}

.single-pnty_job .elementor-location-header > div {
  background: #fff;
  padding-bottom: 10px;
}

