:root {
  --carousel-partners-page-items: 4;
}
section.carousel-partners {
  position: relative;
  overflow: hidden;
}
section.carousel-partners .section-bkgd {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -100;
}
section.carousel-partners .section-content {
  /* width: var(--content-width); */
  width: min(100%, var(--content-width));
  margin: 0 auto;
  padding: 70px 0 85px 0;
}
section.carousel-partners .section-content-heading {
  margin-bottom: 0;
}
section.carousel-partners .section-content-text {
  margin-top: 30px;
}
section.carousel-partners .carousel-inner {
  overflow: hidden; /* TODO: Remove if we like the override below */

  overflow: visible;
}
section.carousel-partners .carousel-scroll-container {
  overflow: hidden;
  overflow-x: scroll;
  -ms-overflow-style: none;  /* Internet Explorer 10+ */
  scrollbar-width: none;  /* Firefox, Chrome, Safari */
  /* scroll-behavior: smooth; /* Only set/unset this during the pagination functions to get smooth scrolls. Otherwise, a more crisp scroll behavior is preferred touch/wheel scrolling */
  scroll-snap-type: x proximity;
  /* scroll-padding-left: 15px; */
  margin: 30px -15px 0 -15px; /* TODO: Remove if we like the override below */
  margin: 30px 0 0 0;
  padding: 0;
}
section.carousel-partners .carousel-scroll-container::-webkit-scrollbar { 
  display: none;  /* Chrome and Safari older versions */
}
section.carousel-partners .carousel-grid {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: start;
  gap: 0 45px;
  /* overflow: hidden; */
  width: max-content;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
section.carousel-partners .carousel-grid.grid {
  /* Display grid-style instead of carousel style */
  width: 100%;
  flex-wrap: wrap;
  gap: 55px 45px;
}
section.carousel-partners .carousel-grid-item {
  position: relative;
  width: calc((var(--content-width) - ((var(--carousel-partners-page-items) - 1) * 45px)) / var(--carousel-partners-page-items));
  flex: 0 0 auto;
  padding: 0;
  border-radius: 15px 15px 0 0;
  scroll-snap-align: start;
}
section.carousel-partners .carousel-grid-item .carousel-grid-item-inner {
  position: relative;
  height: 100%;
  padding: 0 0 70px 0; /* TODO: Remove if we like the override below */

  padding: 0;
}
section.carousel-partners .carousel-grid-item .partner-name-img-link {
  text-decoration: none;
}
section.carousel-partners .carousel-grid-item figure {
  overflow: hidden;
  aspect-ratio: 1/1;
  margin: 0 0 20px 0;
  border-radius: 15px;
}
section.carousel-partners .carousel-grid-item figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.carousel-partners .carousel-grid-item .partner-name {
  display: block;
  width: calc(100% - 120px);
  margin: 0 0 10px 0;
  text-decoration: none;
}
section.carousel-partners .carousel-grid-item .partner-name:hover,
section.carousel-partners .carousel-grid-item .partner-name:focus,
section.carousel-partners .carousel-grid-item .partner-name:active {
  /* text-decoration: none; */
}
section.carousel-partners .carousel-grid-item .partner-name h3 {
  display: inline;
  color: var(--color-blue-brand-light);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.1;
}
section.carousel-partners .carousel-grid-item .partner-title {
}
section.carousel-partners .carousel-grid-item .partner-title p {
  font-size: 1.375rem;
}
section.carousel-partners .carousel-grid-item .partner-excerpt {
  margin-top: 18px;
}
section.carousel-partners .carousel-grid-item .partner-excerpt p {
}
section.carousel-partners .carousel-grid-item .button {
  position: absolute;
  bottom: 0;
  z-index: 2;
}
section.carousel-partners .carousel-more-button {
  margin: 35px 0 0 0; /* TODO: Remove if we like the override below */

  margin: 55px 0 0 0;
}
section.carousel-partners .carousel-no-items-container {
}
section.carousel-partners .carousel-no-items-message {
}
section.carousel-partners .carousel-no-items-message h3 {
  color: var(--color-blue-brand-light);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.1;
}

@media only screen and (max-width: 1024px) {
  :root {
    --carousel-partners-page-items: 2;
  }
}

@media only screen and (max-width: 990px) {
}

@media only screen and (max-width: 880px) {
}

@media only screen and (max-width: 786px) {
}

@media only screen and (max-width: 660px) {
  :root {
    --carousel-partners-page-items: 1;
  }  
}