/* Graduates page specific margin-top */
[data-page=Graduates] main {
  margin-top: 35px;
}

@media (min-width: 768px) {
  [data-page=Graduates] main {
    margin-top: 70px;
  }
}

@media (min-width: 1024px) {
  [data-page=Graduates] main {
    margin-top: 100px;
  }
}

@media (min-width: 768px) {
  section[data-section] {
    margin: 0 0 120px 0;
  }

  /* Remove left/right margins from hero section */
  section[data-section="hero"] {
    margin: 0 0 120px 0;
  }
}

.ppsection {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .ppsection {
  margin-bottom: 70px;
} }

.ns-Content_center_noalign {
  align-items: center;
}

/* Remove 15px margins from all sections on Graduate pages for consistent width */
[data-page="Graduate"] .ns-Content .sections .section {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  margin-bottom: 45px;
}

/* Default h3 size for Graduate pages - applies to main section headings */
[data-page="Graduate"] .ns-Content .sections .section h3.section-title {
    font-size: clamp(1.25rem, 1.1111rem + 0.6944vw, 1.625rem);
    margin-bottom: 13px;
}

/* Ensure all sections in Graduate pages have consistent container width */
[data-page="Graduate"] .ns-Content .sections {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Add padding to gl-GridList on Graduate pages to prevent bullet points from being cut off */
[data-page="Graduate"] .gl-GridList {
  padding-left: 25px;
  padding-right: 15px;
}

/* Ensure gl-GridList items have proper positioning for bullet points */
[data-page="Graduate"] .gl-GridList > div {
  position: relative;
}

.ns-ContentBlockGrey ul:last-child {
  margin-bottom: 0px;
}

.ppul {
  list-style-type: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 35px;
  margin-bottom: 50px;
}

.ppul:last-child {
  margin-bottom: 0px;
}

.ppli {
  position: relative;
  font-family: AvenirNext-Regular;
  font-size: clamp(1.125rem, 0.8559rem + 1.1041vw, 1.5625rem);
  line-height: 1.4375;
}

.ppli:before {
  content: "";
  position: absolute;
  top: 13px;
  left: -20px;
  width: 8px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #48dbac;
}
@media (min-width: 950px) {
  li:before {
    left: -23px;
    width: 8px;
  }
}

.form {
  margin-bottom: 45px;
}

.form > div {
  width: 100%;
}

.form label {
  display: block;
  padding: 0 20px;
  margin-bottom: 10px;
  font-family: AvenirNext-Regular;
  font-size: 1.25rem;
  color: #282828;
  letter-spacing: 0;
}

.form input {
  appearance: none;
  border: 0;
  border-bottom: 1px solid transparent;
  width: 100%;
  height: 50px;
  outline: 0;
  padding: 0 15px;
  font-size: 15px;
  line-height: 20px;
  color: #282828;
  font-family: inherit;
  text-transform: capitalize;
}

.form .input-group span {
  color: black;
  z-index: 1;
  pointer-events: none;
  font-family: "AvenirNext-Medium", sans-serif;
  font-size: 15px;
  line-height: 20px;
}

.form p {
  grid-column: 1/3;
  margin-bottom: 45px;
  font-size: 1rem;
}

.input-group-2 {
  grid-column: 1/2;
  margin-bottom: 25px;
}

.input-group-2 + .input-group-2 {
  grid-column: 2/3;
}

.form input[type=file] {
  display: none;
}

.upload-btn {
  width: 100%;
  background: #ffffff;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  font-family: AvenirNext-DemiBold;
  font-size: 15px;
  color: #666666;
  line-height: 20px;
  height: 100px;
  border: 0;
  transition: background-color 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  gap: 5px;
  text-align: left;
}

.upload-btn span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
}

.file-name {
  font-family: "AvenirNext-Regular", sans-serif;
  margin-top: 10px;
  font-size: 14px;
  color: slategray;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ss */
.form input {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  height: 55px;
  border-radius: 8px;
  padding-left: 20px;
  padding-right: 20px;
  text-transform: initial;
}

.form select {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  height: 55px;
  border-radius: 8px;
  padding-left: 20px;
  padding-right: 20px;
  font-family: AvenirNext-DemiBold;
  font-size: 18px;
  color: #282828;
  letter-spacing: 0;
  line-height: 20px;
}

.form .upload-btn {
  display: block;
  width: 100%;
  border: 1px solid #CCCCCC;
  height: 75px;
  padding-left: 20px;
  padding-right: 20px;
}

.form .ui-PlayButtonGreen {
  width: 100%;
}

.form p {
  font-family: AvenirNext-Medium;
  font-size: clamp(0.75rem, 0.5913rem + 0.7937vw, 1.0625rem);
  color: #737373;
  text-align: center;
}

.validation-message {
  display: none;
}

p > a {
  color: #189970;
  text-decoration: none;
}
p > a:hover {
  text-decoration: underline;
}

.ui-PrimaryLink,
.ui-PrimaryLink:visited {
  position: relative;
  font-family: AvenirNext-DemiBold;
  position: relative;
  font-size: clamp(1.125rem, 0.888rem + 0.9722vw, 1.5625rem);
  color: #189970;
  text-decoration: none;
}
.ui-PrimaryLink:after,
.ui-PrimaryLink:visited:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 2px solid #189970;
  border-radius: 2px;
  transform: scaleY(0);
}
.ui-PrimaryLink:hover:after,
.ui-PrimaryLink:visited:hover:after {
  transform: scaleY(1);
}

.ui-LinkGhostRounded {
  height: 65px;
  background: #ffffff;
  border: 1px solid #d4d4d4;
  border-radius: 38px;
  font-family: AvenirNext-Regular;
  font-size: 20px;
  color: #282828;
  letter-spacing: 0;
  line-height: 25px;
  padding: 20px 30px;
  cursor: pointer;
  width: 100%;
  max-width: 460px;
  text-align: left;
  text-decoration: none;
  background-image: url(../Assets/Icons/UI/Chevron-Right.svg);
  background-repeat: no-repeat;
  background-position: center right 20px;
  transition: 0.15s ease-out background-position;
}
.ui-LinkGhostRounded b {
  font-family: AvenirNext-Bold;
}
.ui-LinkGhostRounded:hover {
  border-color: #189970;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  background-position: center right 25px;
}
.ui-LinkGhostRounded:hover b {
  color: #189970;
}

.ui-LinkGhostRounded + .ui-LinkGhostRounded {
  margin-top: 25px;
}

[data-country=UK] [data-country=UK] a:after,
[data-country=Malta] [data-country=Malta] a:after,
[data-country=Australia] [data-country=Australia] a:after,
[data-country=Gibraltar] [data-country=Gibraltar] a:after,
[data-country=US] [data-country=US] a:after,
[data-country=Bulgaria] [data-country=Bulgaria] a:after,
[data-country=Colombia] [data-country=Colombia] a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 2px solid #189970;
  border-color: color(display-p3 0.7647 0.2039 0.6549);
  border-radius: 2px;
}

[data-country=UK]:not([data-city=Manchester]) [data-city=Stoke-on-Trent] a:after,
[data-country=UK][data-city=Manchester] [data-city=Manchester] a:after,
[data-country=Australia]:not([data-city=Sydney]) [data-city=Brisbane] a:after,
[data-country=Australia][data-city=Sydney] [data-city=Sydney] a:after,
[data-country=US]:not([data-city=Denver]) [data-city="New Jersey"] a:after,
[data-country=US][data-city=Denver] [data-city=Denver] a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 2px solid #189970;
  border-radius: 2px;
}

button {
  appearance: none;
}

.ui-PlayButtonGreen {
  flex: 0 0 auto;
  position: relative;
  font-family: AvenirNext-DemiBold;
  font-size: clamp(1rem, 0.9196rem + 0.3297vw, 1.1875rem);
  background-color: rgba(24, 153, 112, 0.9);
  backdrop-filter: invert(1);
  border: 0;
  color: #ffffff;
  text-align: center;
  min-width: 200px;
  height: 50px;
  border-radius: 25px;
  padding-left: 30px;
  padding-right: 25px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  text-decoration: none;
}
.ui-PlayButtonGreen:hover {
  background-color: #00bb89;
}

.ui-PlayButtonGreen[data-story-video]:before {
  display: none;
}
[data-page=Graduates] .ui-PlayButtonGreen[data-story-video]:before, [data-page=Academies] .ui-PlayButtonGreen[data-story-video]:before, [data-page="Early Careers"] .ui-PlayButtonGreen[data-story-video]:before {
  display: none;
}

header {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: start;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: white;
  background-color: hsla(0, 0%, 100%, 0.75);
  backdrop-filter: blur(4px);
}
@media (min-width: 768px) {
  header {
    position: relative;
    background-color: transparent;
    backdrop-filter: unset;
    height: 135px;
  }
}

header .ns-Content {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  height: 70px;
  max-width: 1280px;
}
@media (min-width: 768px) {
  header .ns-Content {
    height: 100px;
  }
}
@media (min-width: 768px) {
  header .ns-Content {
    background-color: transparent;
  }
}

.ns-HeaderLogo {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  width: auto;
  text-decoration: none;
  height: 100%;
}

.ns-HeaderLogo img {
  display: block;
  width: 85px;
  pointer-events: none;
}

@media (min-width: 768px) {
  .ns-HeaderLogo img {
    width: 113px;
  }
}
.ns-HeaderLogo span {
  font-family: AvenirNext-Medium;
  font-size: 21px;
  line-height: 1;
  color: #1e1e1e;
  display: flex;
  align-items: center;
  pointer-events: none;
}

@media (min-width: 768px) {
  .ns-HeaderLogo span {
    font-size: 28px;
  }
}

header button {
  width: 70px;
  width: 70px;
  height: 70px;
  background-color: rgba(255, 255, 255, 0);
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(20px);
  cursor: pointer;
}

@media (min-width: 768px) {
  header button {
    display: none;
  }
}
.navicon {
  position: relative;
  height: 18px;
  width: 27px;
  visibility: visible;
}

.nav-toggle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999999;
  padding: 8px 0;
  cursor: pointer;
}

.nav-toggle span {
  content: "";
  position: absolute;
  display: block;
  width: 27px;
  height: 0px;
  cursor: pointer;
  transition: 0.25s ease-out;
  pointer-events: none;
}
[data-nav-open=true] .nav-toggle span {
  transform: scaleX(-1);
}

.nav-toggle span:after,
.nav-toggle span:before {
  content: "";
  position: absolute;
  display: block;
  width: 27px;
  height: 2px;
  background: #000;
  cursor: pointer;
  transform-origin: center;
  transition: 0.25s ease-out;
  pointer-events: none;
}

.nav-toggle span:before {
  top: -6px;
}

.nav-toggle span:after {
  bottom: -6px;
}

[data-nav-open=true] .nav-toggle span:before {
  top: 0;
  transform: rotate(45deg);
}

[data-nav-open=true] .nav-toggle span:after {
  top: 4px;
  transform: translatey(-4px) rotate(-45deg);
}

@media (max-width: 767px) {
  [data-nav-open=true] main,
  [data-nav-open=true] footer {
    display: none;
  }
}
footer {
  position: relative;
  width: 100%;
  background-color: #f7f7f7;
  padding: 55px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ns-FooterLogo {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  width: auto;
  text-decoration: none;
  height: 100%;
}

.ns-FooterLogo img {
  display: block;
  width: 85px;
  pointer-events: none;
}

@media (min-width: 768px) {
  .ns-FooterLogo img {
    width: 113px;
  }
}
.ns-FooterLogo span {
  font-family: AvenirNext-Medium;
  font-size: 21px;
  line-height: 1;
  color: #1e1e1e;
  display: flex;
  align-items: center;
  pointer-events: none;
}

@media (min-width: 768px) {
  .ns-FooterLogo span {
    font-size: 28px;
  }
}
footer h4 {
  font-family: AvenirNext-DemiBold;
}

footer svg {
  display: block;
}

.FooterLinks {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .FooterLinks {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 55px;
  }
}
footer a {
  font-family: AvenirNext-Regular;
  font-size: 14px;
  color: #282828;
  text-decoration: none;
}

footer a:hover {
  color: #189970;
}

footer ul {
  list-style-type: none;
}

.FooterLinks > ul {
  width: 100%;
}

@media (min-width: 414px) {
  .FooterLinks > ul {
    display: grid;
    flex-wrap: wrap;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 600px) {
  .FooterLinks > ul {
    display: grid;
    flex-wrap: wrap;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .FooterLinks > ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1024px) {
  .FooterLinks > ul {
    grid-template-columns: repeat(6, 1fr);
  }
}
footer li a {
  display: flex;
  align-items: center;
  font-size: 15px;
  height: 60px;
}

.FooterLinks > ul > li {
  border-bottom: 1px solid #d8d8d8;
  display: flex;
  flex-direction: column;
}

.FooterLinks > ul > li:last-child {
  border-bottom: 0;
}

@media (min-width: 768px) {
  .FooterLinks > ul > li {
    border-bottom: 0;
    padding-bottom: 0px;
  }
}
@media (min-width: 1024px) {
  .FooterLinks > ul > li:nth-child(5),
  .FooterLinks > ul > li:nth-child(6) {
    grid-row: 1;
    grid-column: 5/6;
  }
  .FooterLinks > ul > li:nth-child(6) {
    margin-top: 100px;
  }
}
footer li h4 a {
  font-family: AvenirNext-DemiBold;
  font-size: 15px;
  color: #282828;
  letter-spacing: 0;
}

footer ul ul {
  flex: 0 0 auto;
}

footer ul ul a {
  font-family: AvenirNext-Regular;
  height: 40px;
}

footer p,
footer p a {
  font-family: AvenirNext-Regular;
  font-size: 10px;
  line-height: 2;
  color: #282828;
  letter-spacing: 0;
  text-align: center;
  max-width: 800px;
}

@media (min-width: 1024px) {
  footer p,
  footer p a {
    font-size: 11px;
  }
}
.ns-FooterLanguageSelect {
  color: #126e51;
}

.ns-FooterLanguageSelect:after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 12px;
  height: 7px;
  background-image: url("../Assets/Icons/icon-InputChevronDown-green.svg");
  background-repeat: no-repeat;
  background-size: 12px 7px;
  margin-left: 8px;
}

.ns-FooterTerms {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 768px) {
  .ns-FooterTerms {
    padding-top: 15px;
    border-top: 1px solid rgba(104, 104, 104, 0.1);
  }
}
@media (max-width: 413px) {
  footer ul ul {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.6s;
  }

  footer ul ul li {
    overflow: hidden;
  }
}

/* High specificity override for early careers navigation alignment */
[data-page="Graduates"] .gsm-GenericScrollingMenu .gsm-GenericMenu a,
[data-page="Graduate"] .gsm-GenericScrollingMenu .gsm-GenericMenu a,
[data-page="Early Careers"] .gsm-GenericScrollingMenu .gsm-GenericMenu a {
  justify-content: flex-start !important;
}

/* High specificity override for early careers navigation span alignment */
[data-page="Graduates"] .gsm-GenericScrollingMenu .gsm-GenericMenu span,
[data-page="Graduate"] .gsm-GenericScrollingMenu .gsm-GenericMenu span,
[data-page="Early Careers"] .gsm-GenericScrollingMenu .gsm-GenericMenu span {
  justify-content: flex-start !important;
}

[data-graduate-view=Technology] a[href="#Technology"] span,
[data-graduate-view=Operations] a[href="#Operations"] span,
[data-graduate-view=Marketing] a[href="#Marketing"] span,
[data-graduate-view=Trading] a[href="#Trading"] span,
[data-graduate-view=Tax] a[href="#Tax"] span,
[data-graduate-view=Finance] a[href="#Finance"] span {
  color: #126e51;
}

[data-academy-view=Technical-Services] a[href="#Technical-Services"] span,
[data-academy-view=Software-Testing] a[href="#Software-Testing"] span,
[data-academy-view=Marketing-Content] a[href="#Marketing-Content"] span {
  color: #126e51;
}

/* Remove CSS-generated chevrons from application journey cards since we have explicit chevron images */
.ApplicationJourneyCards .ic-IconCard,
.ApplicationJourneyCards .ic-IconCard::after,
.ApplicationJourneyCards .ic-IconCard::before {
  background-image: none !important;
  content: none !important;
}

.ApplicationJourneyCards.ApplicationJourneyCards .ic-IconCard.ic-IconCard .ic-Card.ic-Card span.ic-HeadingSmall,
.ApplicationJourneyCards.ApplicationJourneyCards .ic-IconCard.ic-IconCard .ic-Card.ic-Card span {
  font-family: AvenirNext-DemiBold !important;
  font-size: clamp(1rem, 0.9365rem + 0.3175vw, 1.125rem) !important;
}

.ApplicationJourneyCards.ApplicationJourneyCards [grid] {
  padding-left: 15px !important;
  padding-right: 15px !important;
}


[data-page=Benefits] .pc-PhotoCard, [data-page=Teams] .pc-PhotoCard, [data-page="Who We Are"] .pc-PhotoCard, [data-page=Graduates] .pc-PhotoCard, [data-page=Academy] .pc-PhotoCard, [data-page=Academies] .pc-PhotoCard {
  aspect-ratio: unset;
  max-height: unset;
}

[data-page=Graduates] .pc-PhotoCard {
  aspect-ratio: 800/670;
  max-height: unset;
}

@media (min-width: 768px) {
  .pc-PhotoCard {
    aspect-ratio: 1100/675;
    max-height: 675px;
    border-radius: 20px;
  }
}

@media (max-width: 767px) {
  [data-page="Who We Are"] .pc-Image, [data-page=Benefits] .pc-Image, [data-page=Teams] .pc-Image, [data-page=Graduates] .pc-Image, [data-page=Academies] .pc-Image {
    grid-row: 2/3;
  }
}
@media (min-width: 768px) {
  .pc-Image {
    grid-row: 1/3;
  }
}

@media (max-width: 767px) {
  [data-page="Who We Are"] .pc-Image:after, [data-page=Benefits] .pc-Image:after, [data-page=Teams] .pc-Image:after, [data-page=Graduates] .pc-Image:after, [data-page=Academy] .pc-Image:after, [data-page=Academies] .pc-Image:after {
    display: block;
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    height: 63%;
    background: linear-gradient(to bottom, rgba(247, 247, 247, 0.95), transparent);
  }
}
@media (min-width: 768px) {
  .pc-Image:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(100deg, rgba(247, 247, 247, 0.95) 30%, rgba(247, 247, 247, 0.75) 35%, transparent 45%);
  }
  .right .pc-Image:after {
    transform: scaleX(-1);
  }
  .pc-Grid .pc-Image:after {
    display: none;
  }
}

#small-pc {
  width: 100%;
  height: 140%;
  object-fit: cover;
  object-position: center 25%;
  position: absolute;
  bottom: 0;
}


.pc-Heading {
  font-family: AvenirNext-Bold;
  font-size: clamp(2rem, 1.2698rem + 3.6508vw, 3.4375rem);
  color: #282828;
}

/* Academies page specific heading size override */
[data-page="Academies"] .pc-Heading {
  font-size: clamp(1.75rem, 1.5278rem + 1.1111vw, 2.1875rem);
  margin-bottom: 15px; /* Mobile default */
}

/* Tablet and desktop margin for headings */
@media (min-width: 768px) {
  [data-page="Academies"] .pc-Heading {
    margin-bottom: 30px;
  }
}


.pc-PhotoCard .pc-Text {
  font-family: AvenirNext-Regular;
  font-size: clamp(1.1875rem, 0.997rem + 0.9524vw, 1.5625rem);
  color: #282828;
}

/* Academies page specific text size override */
[data-page="Academies"] .pc-PhotoCard .pc-Text {
  font-size: clamp(1.0625rem, 0.8983rem + 0.792vw, 1.375rem);
}

.pc-PhotoCards.pc-PhotoCardVariant {
  max-width: 950px;
}

.pc-PhotoCardVariant .pc-PhotoCard {
  max-width: inherit;
  max-height: 600px;
}

@media (min-width: 768px) {
  .pc-PhotoCardVariant .pc-PhotoCard {
    aspect-ratio: 950/600;
    max-height: 600px;
  }
}

@media (min-width: 768px) {
  [data-page="Job Search"] .container ul#job-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  [data-page="Job Search"] .container ul#job-list {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.ns-JobCard {
  position: relative;
  display: block;
  width: 100%;
  background: #f7f7f7;
  box-shadow: 0 2px 4px 0 rgba(183, 144, 144, 0.1);
  border-radius: 14px;
  padding: 20px;
  text-decoration: none;
  height: 100%;
  display: flex;
  flex-direction: column;
  max-width: 800px;
  cursor: pointer;
  background-size: 100% auto;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-image: none !important;
}


.ns-JobCard_Title {
  font-family: AvenirNext-DemiBold;
  font-size: 23px;
  line-height: 1.2962962963;
  color: #3f3f3f;
  margin-bottom: 20px;
  pointer-events: none;
}

.ns-JobCard_Locations {
  display: flex;
  align-items: center;
  gap: 10px 10px;
}

.ns-JobCard_Location,
.ns-JobCard_Location + span {
  font-family: AvenirNext-Regular;
  font-size: 16px;
  line-height: 18px;
  color: #3f3f3f;
  background: #f7f7f7;
  border-radius: 19.2px;
  padding: 6px 12px;
}

.ns-JobCard_Location {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
}

.ns-JobCard_Location:hover {
  border-color: #d8d8d8;
}

.ns-JobCard_Location span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ns-JobCard_Team {
  font-family: AvenirNext-Regular;
  font-size: 16px;
  line-height: 18px;
  color: #3f3f3f;
  background: #ffffff;
  border: 2px solid #efefef;
  border-radius: 19.2px;
  padding: 6px 12px;
  text-decoration: none;
}

.ns-JobCard_Team:hover {
  border-color: #d8d8d8;
}

.ns-JobCard_Tags {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 25px;
  pointer-events: none;
}

.ns-JobCard_Tag {
  font-family: AvenirNext-Medium;
  font-size: 14px;
  line-height: 22.77px;
  color: #3f3f3f;
}

.ns-JobCard_Intro {
  font-family: AvenirNext-Regular;
  font-size: 15px;
  color: #3f3f3f;
  line-height: 18px;
  margin-bottom: 25px;
}

[data-page="Job Search"] .ns-JobCard_Intro {
  display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ns-JobCard_Date {
  font-family: AvenirNext-Regular;
  font-size: 14px;
  color: #3f3f3f;
  line-height: 16.26px;
  margin-top: auto;
}

[data-page="Job Search"] .ns-JobCard_Tags + div {
  margin-top: auto;
}

.lc-LocationCarousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  overflow-x: scroll;
  display: flex;
  flex-wrap: nowrap;
  justify-content: start;
  scroll-snap-type: x mandatory;
  margin-bottom: 45px;
}
.lc-LocationCarousel::-webkit-scrollbar {
  display: none;
}

.lc-Locations {
  padding-left: 15px;
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  justify-content: start;
  gap: 15px;
  padding: 5px 0;
  margin: 0 auto;
}

.clc-CarouselLocationCard {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 0 0 auto;
  background-color: #f7f7f7;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  padding: 1px;
  scroll-snap-align: center;
}

.ns-LocationCard {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: #f7f7f7;
  border-radius: 8px;
  padding: 0 20px;
  text-decoration: none;
  height: 100%;
  width: 218px;
  aspect-ratio: 218/303;
}
[data-page=Locations] .ns-LocationCard {
  transition: transform 0.83s cubic-bezier(0.17, 0.17, 0.05, 1);
}
.clc-CarouselLocationCard:hover .ns-LocationCard {
  background-color: rgba(255, 255, 255, 0);
  background-image: linear-gradient(white, transparent);
}
@media (min-width: 768px) {
  .ns-LocationCard {
    aspect-ratio: 288/393;
    width: 288px;
    padding: 0 35px;
  }
}

.ns-LocationName {
  display: block;
  font-family: AvenirNext-DemiBold;
  color: #282828;
  text-align: center;
  font-size: clamp(1.25rem, 0.869rem + 1.9048vw, 2rem);
  line-height: 1.6;
  white-space: nowrap;
}

.ns-LocationCountry {
  font-family: AvenirNext-Regular;
  color: #282828;
  font-size: clamp(0.875rem, 0.8115rem + 0.3175vw, 1rem);
  line-height: 1.4285714286;
  text-align: center;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .ns-LocationCountry {
    margin-bottom: 15px;
  }
}

.ns-LocationTime {
  font-family: AvenirNext-DemiBold;
  color: #282828;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  text-align: center;
  background: #e6e6e6;
  border-radius: 17px;
  padding: 0 15px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .ns-LocationTime {
    margin-bottom: 25px;
  }
}

.ns-LocationImage {
  position: relative;
  background-color: #d8d8d8;
  border-radius: 8px;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 218/183;
}

.ns-LocationImage img {
  position: absolute;
  inset: 0;
  width: 100%;
  object-fit: cover;
  transition: transform 0.25s;
  transition: transform 0.83s cubic-bezier(0.17, 0.17, 0.05, 1);
  transform-origin: center;
}
.ns-LocationCard:hover .ns-LocationImage img {
  transform: scale(1.05);
}

/*
[data-section="locations"] .ns-AnimationSVG {
    position: absolute;
    top: 150px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 1343px;
    width: 1343px;
    z-index: -1;
}
*/
/* horizontal infinite loop "scroller" */
/* work in progress. some styles here may be behind design */
.ill-InfiniteLoopListComponent {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 45px;
  margin-bottom: 45px;
}

.ill-InfiniteLoopListWrapper {
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: 15px;
}
@media (min-width: 768px) {
  .ill-InfiniteLoopListWrapper {
    gap: 20px;
  }
}

.ill-InfiniteLoopList {
  list-style-type: none;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  animation: loop 40s linear infinite;
  animation-play-state: paused;
}
@media (min-width: 768px) {
  .ill-InfiniteLoopList {
    gap: 20px;
  }
}

[data-carousel-playing=true] .ill-InfiniteLoopList {
  animation-play-state: running;
}

.mjc-MiniJobCard {
  position: relative;
  padding: 4px;
  border-radius: 10px;
  background-color: #f7f7f7;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
  text-decoration: none;
  width: 224px;
  height: 110px;
}
@media (min-width: 768px) {
  .mjc-MiniJobCard {
    width: 337px;
    height: 145px;
    border-radius: 12px;
  }
}

.mjc-JobCard {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 100%;
  background-color: #f7f7f7;
  color: #282828;
  border-radius: 10px;
  padding: 10px;
  text-decoration: none;
  transition: transform 0.6s ease;
}
@media (min-width: 768px) {
  .mjc-JobCard {
    border-radius: 12px;
  }
}
.mjc-MiniJobCard:hover .mjc-JobCard {
  background-color: rgba(255, 255, 255, 0);
  background-image: linear-gradient(white, transparent);
}

.ill-InfiniteLoopListWrapper:first-child {
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .ill-InfiniteLoopListWrapper:first-child {
    margin-bottom: 20px;
  }
}

.ill-InfiniteLoopListWrapper:nth-child(even) .ill-InfiniteLoopList {
  transform: translateX(calc(-100% - 15px));
  animation: loop-reverse 30s linear infinite;
  animation-play-state: paused;
}
@media (min-width: 768px) {
  .ill-InfiniteLoopListWrapper:nth-child(even) .ill-InfiniteLoopList {
    transform: translateX(calc(-100% - 20px));
  }
}

[data-carousel-playing=true] .ill-InfiniteLoopListWrapper:nth-child(even) .ill-InfiniteLoopList {
  animation-play-state: running;
}

@keyframes loop {
  to {
    transform: translateX(calc(-100% - 15px));
  }
}
@keyframes loop-reverse {
  to {
    transform: translateX(0);
  }
}
.ill-InfiniteLoopListComponent:hover .ill-InfiniteLoopListWrapper:nth-child(even) .ill-InfiniteLoopList,
.ill-InfiniteLoopListComponent:hover .ill-InfiniteLoopList {
  animation-play-state: paused;
}

.ill-InfiniteLoopList h3 {
  flex: 0 0 auto;
  font-weight: normal;
  font-family: AvenirNext-Medium;
  /* 17 @950= 24 */
  font-size: clamp(1.0625rem, 0.8403rem + 1.1111vw, 1.5rem);
  line-height: 1.3529411765;
  color: #126e51;
  text-align: center;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

.ill-InfiniteLoopList span {
  flex: 0 0 auto;
  font-family: AvenirNext-Regular;
  /* 14 @950= 16 */
  font-size: clamp(0.875rem, 0.8115rem + 0.3175vw, 1rem);
  line-height: 1.7142857143;
  color: #2c2c2c;
  text-align: center;
}

.ic-ShriyaLocationCardsScroller {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  overflow-x: scroll;
  display: flex;
  flex-wrap: nowrap;
  justify-content: start;
  margin-top: 45px;
  margin-bottom: 45px;
  scroll-snap-type: x mandatory;
}
@media (min-width: 950px) {
  .ic-ShriyaLocationCardsScroller {
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 5%, #000 20%, #000 80%, rgba(0, 0, 0, 0) 95%);
  }
}

.ic-ShriyaLocationCardsScroller::-webkit-scrollbar {
  display: none;
}

.ic-ShriyaLocationCards {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  justify-content: start;
  gap: 20px;
  padding: 0 15px;
  /* animation: ShriyaLocationCardInfiniteScroll linear infinite;
          animation-duration: 20s; */
}

/*
        @keyframes ShriyaLocationCardInfiniteScroll {
          to {
            transform: translateX(-106.48%);
          }
        } */
@media (min-width: 768px) {
  .ic-ShriyaLocationCards {
    gap: 20px;
  }
}
.ic-ShriyaLocationCards a.ic-IconCard,
.ic-ShriyaLocationCards div.ic-IconCard {
  flex: 0 0 auto;
  aspect-ratio: 237/324;
  max-width: 237px;
  scroll-snap-align: center;
  transform: none;
}

.ic-ShriyaLocationCards a.ic-IconCard:hover .ic-Card {
  background-color: #f7f7f7;
  background-image: none;
}

@media (max-width: 1023px) {
  .ic-ShriyaLocationCards .ic-IconCard:empty {
    display: none;
  }
}
.ic-Card.ic-ShriyaLocationCard {
  justify-content: space-between;
  text-align: center;
  aspect-ratio: inherit;
}

.ic-ShriyaLocationCard_Content {
  flex: 0 0 auto;
  padding: 30px 0 0;
}

.ic-ShriyaLocationCard h3 {
  margin-bottom: 5px;
  font-family: AvenirNext-Bold;
  font-size: 15px;
  line-height: 28px;
  color: #282828;
  letter-spacing: 0.13px;
  text-align: center;
  text-transform: uppercase;
}

.ic-ShriyaLocationCard .ns-LocationCountry {
  margin-bottom: 25px;
}

.ic-ShriyaLocationCard_Stats {
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 30px;
}

.ic-ShriyaLocationCard_Image {
  width: 100%;
  flex: 1 1 auto;
  overflow: hidden;
}

.ic-ShriyaLocationCard_Image img {
  display: block !important;
  max-height: unset;
  object-fit: cover;
  height: 100%;
}

.ic-ShriyaLocationCard_Stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 5px;
}

.ic-ShriyaLocationCard_Stat_Stat {
  font-family: AvenirNext-Regular;
  font-size: 48px;
  line-height: 1;
  color: #126e51;
}

.ic-ShriyaLocationCard_Stat_Label {
  font-family: AvenirNext-DemiBold;
  font-size: 14px;
  line-height: 26px;
  color: #126e51;
  text-align: center;
  line-height: 26.04px;
}
.ic-ShriyaLocationCard_Stat_Label:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 9px;
  background-image: url(../Assets/Icons/UI/Chevron-Right-green.svg);
  background-repeat: no-repeat;
  background-size: cover;
  margin-left: 5px;
}
.ic-IconCard:hover .ic-ShriyaLocationCard_Stat_Label {
  text-decoration: underline;
}

.ic-ShriyaLocationCard_Content a {
  font-family: "AvenirNext-DemiBold";
  font-size: 13px;
  line-height: 45px;
  color: #126E51;
  font-weight: 600;
  opacity: 1;
  text-align: center;
  vertical-align: top;
  margin-right: 10px;
  display: flex;
  border-radius: 13px;
  background-color: #FFFFFF;
  border: 1px solid #CFCFCF;
  opacity: 1;
  width: 156px;
  height: 45px;
  justify-content: center;
  text-decoration: none;
  align-items: center;
}
.ic-ShriyaLocationCard_Content a:hover {
  background-color: #FFFFFF;
  outline: 1px solid #CFCFCF;
}
.ic-ShriyaLocationCard_Content a span {
  flex: 0;
  font-size: 20px;
  line-height: 46px;
  color: #158561;
}

.sl-StepList {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 15px;
  max-width: 1100px;
  margin-top: 45px;
  margin-bottom: 45px;
}

.sl-StepListItem {
  transition: 0.83s cubic-bezier(0.17, 0.17, 0.05, 1);
}

.sl-StepListItem:nth-child(1) {
  margin-top: 132px;
}

.sl-StepListItem:nth-child(2) {
  margin-top: 66px;
}

.sl-StepListItem:nth-child(3) {
  margin-top: 0px;
}
@media (max-width: 767px) {
  .sl-StepListItem:nth-child(3) {
    display: none;
  }
}

.sl-StepList_descending .sl-StepListItem:nth-child(3) {
  margin-top: 132px;
}
.sl-StepList_descending .sl-StepListItem:nth-child(2) {
  margin-top: 66px;
}
.sl-StepList_descending .sl-StepListItem:nth-child(1) {
  margin-top: 0px;
}

.ns-NewHeroBox {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 45px;
  width: 100%;
}

@media (min-width: 768px) {
  .ns-NewHeroBox {
    gap: 20px;
  }
}
.ns-NewHeroBox_Box {
  display: block;
  flex: 1 1 50%;
  aspect-ratio: 220/335;
  max-width: 220px;
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  background-color: #F7F7F7;
}
@media (min-width: 768px) {
  .ns-NewHeroBox_Box {
    max-width: unset;
    border-radius: 15px;
  }
}

.ns-NewHeroBox_Box:nth-child(1) {
  margin-bottom: 45px;
}
@media (min-width: 768px) {
  .ns-NewHeroBox_Box:nth-child(1) {
    margin-bottom: unset;
    margin-top: 45px;
  }
}

@media (max-width: 767px) {
  .ns-NewHeroBox_Box:nth-child(3) {
    display: none;
  }
}

.ns-NewHeroBox_Box:nth-child(2) {
  margin-top: 45px;
}
@media (min-width: 768px) {
  .ns-NewHeroBox_Box:nth-child(2) {
    margin-top: 0px;
    margin-bottom: 45px;
  }
}

.ns-NewHeroBox_Box:nth-child(3) {
  margin-top: 45px;
}
@media (min-width: 768px) {
  .ns-NewHeroBox_Box:nth-child(3) {
    margin-top: -45px;
    margin-bottom: 90px;
  }
}

.ns-NewHeroBox_Box img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ns-NewHeroBox_Box img {
  grid-row: 1/2;
  grid-column: 1/2;
}

.ns-NewHeroBox_Box:nth-child(3) img:nth-child(1) {
  animation: 15s hey1 infinite;
}

.ns-NewHeroBox_Box:nth-child(3) img:nth-child(2) {
  animation: 15s hey2 infinite;
}

.ns-NewHeroBox_Box:nth-child(3) img:nth-child(3) {
  animation: 15s hey3 infinite;
}

/* box 2 */
.ns-NewHeroBox_Box:nth-child(2) img:nth-child(1) {
  animation: 15s 0.2s hey1 infinite;
}

.ns-NewHeroBox_Box:nth-child(2) img:nth-child(2) {
  animation: 15s 0.2s hey2 infinite;
}

.ns-NewHeroBox_Box:nth-child(2) img:nth-child(3) {
  animation: 15s 0.2s hey3 infinite;
}

/* box 3 */
.ns-NewHeroBox_Box:nth-child(1) img:nth-child(1) {
  animation: 15s 0.4s hey1 infinite;
}

.ns-NewHeroBox_Box:nth-child(1) img:nth-child(2) {
  animation: 15s 0.4s hey2 infinite;
}

.ns-NewHeroBox_Box:nth-child(1) img:nth-child(3) {
  animation: 15s 0.4s hey3 infinite;
}

@keyframes hey1 {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  66.66666666667% {
    opacity: 1;
  }
  93.3333333334% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes hey2 {
  0% {
    opacity: 0;
  }
  26.6666666667% {
    opacity: 0;
  }
  33.3333333333% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  66.66666666667% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes hey3 {
  0% {
    opacity: 1;
  }
  26.6666666667% {
    opacity: 1;
  }
  33.3333333333% {
    opacity: 0;
  }
  93.3333333334% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.gl-GridList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 30px;
  width: 100%;
  max-width: 800px;
  margin-bottom: 60px;
}

@media (min-width: 768px) {
  .gl-GridList:not(.grid-columns-1) {
    grid-template-columns: 1fr 1fr !important;
  }
}
.gl-GridList:last-child {
  margin-bottom: 0;
}
.gl-GridList.grid-columns-1 {
  grid-template-columns: 1fr;
}

.grid-columns-2 {
  grid-template-columns: 1fr 1fr;
}

/* Mobile: Override grid-columns-2 to single column */
@media (max-width: 767px) {
  .grid-columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 950px) {
  .gl-GridList {
    margin-bottom: 95px;
  }
}

.gl-GridList > div {
  position: relative;
  display: flex;
  align-items: center;
  gap: 15px;
  margin-right: 20px;
}

.gl-GridList > div:last-child p {
  margin-bottom: 0;
}

@media (min-width: 950px) {
  .gl-GridList.grid-columns-2 > div:nth-last-child(2) p {
    margin-bottom: 0;
  }
}
.gl-GridList img {
  width: 45px;
  height: 45px;
}

.gl-GridList > div:before {
  content: "";
  position: absolute;
  top: 10px;
  left: -20px;
  width: 5px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #48dbac;
}

.gl-GreyBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 45px;
}

.gl-GreyBox > div {
  flex: 1 1 calc(50% - 10px);
  background: #f7f7f7;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  font-family: AvenirNext-DemiBold;
  font-size: 20px;
  line-height: 24px;
  color: #282828;
  letter-spacing: 0;
  text-align: center;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media (min-width: 950px) {
  .grid-columns-3 > div {
    flex: 1 1 calc(33.33333333% - 13.3333333333px);
    white-space: nowrap;
  }
  .grid-columns-4 > div {
    flex: 1 1 calc(25% - 15px);
  }
}
.gl-GreyBox p {
  margin-bottom: 0;
  font-size: 1.25rem;
  font-family: AvenirNext-DemiBold
}

.dam-Grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 20px;
  margin-top: 45px !important;
  margin-left: 20px;
  margin-right: 20px;
}

@media (min-width: 768px) {
  .dam-Grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.dam-Grid > div {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 5px;
}

.dam-Grid > div span:first-child {
  position: relative;
  width: 100%;
  font-family: AvenirNext-DemiBold;
  font-size: clamp(1.25rem, 0.6151rem + 3.1746vw, 2.5rem);
  line-height: 1.375;
  color: #189970;
  letter-spacing: 0;
  text-align: center;
}

.dam-Grid > div span:last-child {
  width: 100%;
  font-family: AvenirNext-Medium;
  font-size: clamp(0.75rem, 0.496rem + 1.2698vw, 1.25rem);
  color: #282828;
  letter-spacing: 0;
  text-align: center;
}

.dam-Grid > div span:first-child svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 55px;
}

.ns-Video {
  position: relative;
  margin-bottom: 45px;
  width: 100%;
  display: flex;
  justify-content: center;
  max-width: 1100px;
  overflow: hidden;
  border-radius: 15px;
}
@media (min-width: 1024px) {
  .ns-Video {
    border-radius: 15px;
  }
}

.ns-Video video {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #282828;
  object-fit: cover;
  max-width: 1100px;
}

.icon-VideoPlayButton {
  position: absolute;
  inset: 0;
  background-image: url("../Assets/Icons/icon-VideoPlayButton.webp"), url("../Assets/Homepage/Homepage-Video-Placeholder.jpg");
  background-repeat: no-repeat;
  background-size: clamp(4.0625rem, 3.2688rem + 3.9683vw, 5.625rem) auto, cover;
  background-position: center;
  transition: 0.6s ease;
}
.icon-VideoPlayButton.noposter {
  background-image: url("../Assets/Icons/icon-VideoPlayButton.webp");
}

[data-video-playing=true] + .icon-VideoPlayButton {
  opacity: 0;
  pointer-events: none;
}

.acc-Accordions {
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: 10px;
}
@media (min-width: 950px) {
  .acc-Accordions {
    gap: 20px;
  }
}

.acc-Accordion {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: min-content 0fr;
  justify-content: start;
  border: 1px solid #cccccc;
  border-radius: 15px;
  overflow: hidden;
  transition: grid-template-rows 0.3s;
}
.acc-Accordion.active {
  grid-template-rows: min-content 1fr;
}

.acc-Accordion_Toggle {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-family: AvenirNext-Regular;
  font-size: clamp(1rem, 0.7143rem + 1.4286vw, 1.5625rem);
  min-height: 70px;
  padding: 20px;
  color: #444444;
  cursor: pointer;
  user-select: none;
}

.acc-Accordion_Toggle:after {
  content: "";
  width: 15px;
  height: 9px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background-image: url("../Assets/Icons/icon-ChevronDown2.svg");
  background-repeat: no-repeat;
  background-size: 15px 9px;
  background-position: center;
  transition: 0.3s;
}
.active .acc-Accordion_Toggle:after {
  transform: translateY(-50%) scaleY(-1);
}

.acc-Accordion_Toggle span {
  max-width: 600px;
}

.acc-Accordion_Panel {
  overflow: hidden;
}

.acc-Accordion_Body {
  padding: 20px;
}

.os-OriginStories {
  display: flex;
  flex-direction: column;
}

.os-OriginStory {
  max-width: 400px;
  margin-bottom: 120px;
}
@media (min-width: 950px) {
  .os-OriginStory {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 70px;
    max-width: 900px;
  }
  .os-OriginStory.center {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 0;
  }
}

.os-OriginStory_Asset {
  display: flex;
  justify-content: center;
  overflow: hidden;
}
@media (min-width: 950px) {
  .os-OriginStory.center .os-OriginStory_Asset {
    order: unset;
  }
}

.os-OriginStory_Asset img {
  object-fit: cover;
}

.os-OriginStory_Text {
  display: flex;
  flex-direction: column;
}
[data-origin="2013"] .os-OriginStory_Text {
  align-items: center;
  order: 1;
  margin-top: -150px;
}
@media (min-width: 950px) {
  .os-OriginStory.left .os-OriginStory_Text {
    text-align: right;
    align-items: end;
  }
  .os-OriginStory.center .os-OriginStory_Text {
    text-align: center;
  }
  .os-OriginStory.right .os-OriginStory_Text {
    order: 2;
    align-items: start;
  }
}

.os-Year {
  background-image: linear-gradient(45deg, color(display-p3 0.7647 0.2039 0.6549), color(display-p3 0.5725 0.3529 0.6431), color(display-p3 0.1804 0.6471 0.5922) 50%, color(display-p3 0.1975 0.7216 0.549) 90%);
  background-size: 100%;
  background-repeat: repeat;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-flex;
  font-family: AvenirNext-Bold;
  font-size: 61px;
  line-height: 83px;
  color: #1e1e1e;
  letter-spacing: 0;
}
[data-origin="2013"] .os-Year {
  -webkit-text-fill-color: #282828;
  font-size: 30px;
  line-height: unset;
}

[data-origin="2013"] .os-Text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

[data-origin="2013"] .os-Text p {
  text-align: center;
}

[data-origin="2013"] .os-Text span {
  display: block;
  font-size: 50px;
  background-image: linear-gradient(45deg, color(display-p3 0.7647 0.2039 0.6549), color(display-p3 0.5725 0.3529 0.6431), color(display-p3 0.1804 0.6471 0.5922) 50%, color(display-p3 0.1975 0.7216 0.549) 90%);
  background-size: 100%;
  background-repeat: repeat;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: AvenirNext-Bold;
}

/* Slider container styling */
.ig-ImageGallery {
  position: relative;
  width: 100%;
  max-width: 800px;
  aspect-ratio: 800/455;
  border-radius: 15px;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.1);
}

/* Individual images styling */
.ig-Image {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}

/* Active class to show the image */
.ig-Image.active {
  opacity: 1;
}

.ig-Image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Pagination dots container */
.ig-Pagination {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}

/* Pagination dots styling */
.ig-Pagination_Dot {
  position: relative;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

.ig-Pagination_Dot:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-color: #dedede;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}

/* Active dot styling */
.ig-Pagination_Dot.active:after {
  background-color: #48dbac;
}

.ns-EmployeePerksList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 45px;
}

@media (min-width: 950px) {
  .ns-EmployeePerksList {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
}
.ns-EmployeePerksList li {
  display: flex;
  align-items: start;
  justify-content: start;
  gap: 10px;
}

.ns-EmployeePerksList li img {
  flex: 0 0 35px;
  aspect-ratio: 1/1;
}

.ns-EmployeePerksList li p {
  padding-top: 2px;
  margin-bottom: 0;
  font-size: clamp(1.125rem, 0.998rem + 0.6349vw, 1.375rem);
}

.parallax-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1100px;
  max-height: 600px;
  margin-top: 45px;
  margin-bottom: 45px;
  margin-left: auto;
  margin-right: auto;
  will-change: transform;
  animation: g linear forwards;
  animation-timeline: view();
  animation-range: entry 0 contain;
  animation-range: entry 0;
  transform-origin: center;
}

.parallax-container > div {
  position: relative;
}

.parallax-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes g {
  from {
    transform: translateY(25%);
  }
  to {
    transform: translateY(0%);
  }
}
.overlapping-images {
  width: 100%;
  position: relative;
  min-height: 300px;
  max-width: 1350px;
  aspect-ratio: 1009/467;
}

.image {
  width: 78.73%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .image {
    width: 100%;
  }
}
.image img {
  width: 100%;
  display: block;
}
.image.back-image {
  left: 0;
  bottom: 0;
  transform: translate(0, -17.5%);
}
.image.front-image {
  right: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .image.front-image {
    width: 57.14%;
    width: 100%;
  }
}

.image-wrapper {
  transform: scale(1.2);
  transform-origin: center;
  height: 100%;
}
.image-wrapper img {
  height: 100%;
  object-fit: cover;
}

.svgAnimationBox span,
.svgAnimationHeroBox span {
  position: absolute;
  white-space: nowrap;
  top: 0;
  left: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(4px);
  color: deeppink;
  font-family: monospace;
  font-size: 3rem;
  transform: translate(-50%, -100%);
}

.triggered.svgAnimationBox span,
.triggered.svgAnimationHeroBox span {
  color: blue;
}

.ns-SVGAnimationWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

[data-section=safeguard] .ns-SVGAnimationWrapper {
  position: relative;
  height: 250px;
}
@media (min-width: 768px) {
  [data-section=safeguard] .ns-SVGAnimationWrapper {
    height: 350px;
  }
}
@media (min-width: 1024px) {
  [data-section=safeguard] .ns-SVGAnimationWrapper {
    height: 450px;
  }
}

#svg-Umbrella {
  position: relative;
  left: 50%;
  display: block;
  transform: translate(-65%, 0px);
  width: 1000px;
}
@media (min-width: 768px) {
  #svg-Umbrella {
    transform: translate(-60%, 0px);
    width: 1500px;
  }
}
@media (min-width: 1024px) {
  #svg-Umbrella {
    width: 2000px;
    transform: translate(-50%, 0px);
  }
}

#Umbrella-Line {
  stroke-dasharray: 3206.0451660156;
  stroke-dashoffset: 3206.0451660156;
}
.animate #Umbrella-Line {
  animation: strokeDashoffsetZero 4s ease both;
}

#Umbrella #Fill-Left {
  opacity: 0;
}
.animate #Umbrella #Fill-Left {
  animation: shadow 0.5s 1.5s ease both;
}

#Umbrella #Fill-Right {
  opacity: 0;
}
.animate #Umbrella #Fill-Right {
  animation: shadow 0.5s 1.5s ease both;
}

#Umbrella-Shadow {
  opacity: 0;
}
.animate #Umbrella-Shadow {
  animation: shadow 0.4s ease both;
}

#Umbrella #Rain {
  opacity: 0;
  transition: opacity 0.4s;
}

.animate #Umbrella #Rain {
  opacity: 1;
}

#Umbrella #Rain path {
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
}

.animate #Umbrella #Rain path {
  animation: animateUmbrellaRain 1.25s linear infinite, fadeInUmbrellaRain 1.25s infinite ease;
}

.animate #Umbrella #Rain path:nth-child(odd) {
  animation: animateUmbrellaRain 1.25s 0.625s linear infinite, fadeInUmbrellaRain 1.25s 0.625s infinite ease;
}

#Umbrella-Inside-Line {
  stroke-dasharray: 139.9897155762;
  stroke-dashoffset: -139.9897155762;
}

.animate #Umbrella-Inside-Line {
  animation: drawUmbrellaLine 0.3s 1.5s ease forwards;
}

@keyframes drawUmbrellaLine {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes animateUmbrellaRain {
  0% {
    transform: translateX(100px) translateY(-50px) rotate(10deg);
  }
  100% {
    transform: translateX(0px) translateY(50px) rotate(10deg);
  }
}
@keyframes fadeInUmbrellaRain {
  100% {
    opacity: 1;
  }
}
@keyframes strokeDashoffsetZero {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes shadow {
  100% {
    opacity: 1;
  }
}
@keyframes transformMe {
  100% {
    transform: translate(0px) scale(1);
  }
}
@keyframes shadowScale {
  100% {
    transform: scale(1) translateX(0px);
  }
}
.SkylineSVGBox {
  position: relative;
  width: 1000px;
  --scrollProgress: 0%;
}

@media (min-width: 768px) {
  .SkylineSVGBox {
    width: 1500px;
  }
}
@media (min-width: 1024px) {
  .SkylineSVGBox {
    width: 2000px;
  }
}
.SkylineSVGBox svg {
  display: block;
  width: 100%;
  animation: popUpSkylineScale 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transform: translateX(0%) scale(0.75);
  transform-origin: bottom center;
  /* opacity: 0.5; */
}

.SkylineSVGBox g.soren,
.SkylineSVGBox #Export > g {
  transform-box: fill-box;
  transform-origin: bottom center;
  transition: 0.3s ease-out;
  transform: translateY(var(--scrollProgress));
  animation: popUpSkyline 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes popUpSkyline {
  0% {
    transform: translateY(100%) scale(0.5);
  }
  100% {
    transform: translateY(0%) scale(1);
  }
}
@keyframes popUpSkyline2 {
  100% {
    transform: translateY(var(--scrollProgress)) scale(1);
  }
}
@keyframes popUpSkylineScale {
  100% {
    transform: translateX(0%) scale(1);
  }
}
@keyframes rotateMe {
  to {
    transform: rotate(1turn);
  }
}
.loadin {
  transform: translate3d(0%, 25%, 0) scale(0.5);
}
[grid-large-cards] .loadin {
  transform: none;
  opacity: 0;
}

/**
* Easter eggs
*/
.letter-container {
  display: flex;
  font-family: inherit;
}

.letter {
  display: inline-block;
  font-family: inherit;
  outline: 0;
}

.letter span {
  display: inline-block;
  font-family: inherit;
  transform-origin: center;
  outline: 0;
}

.letter:hover span {
  transform: translateY(0px) rotateY(180deg);
  color: #c33da7;
}

.letter:nth-child(2):hover span,
.letter:nth-child(4):hover span {
  transform: translateY(5px) rotateX(180deg) rotateY(180deg);
}

.letter:nth-child(even):hover span {
  color: #32b88c;
}

.letter:nth-child(6):hover span {
  background-color: transparent;
  transition: none;
}

.soren-location-image {
  animation: fadeImageIn 0.6s ease-out forwards;
}

@keyframes fadeImageIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.slider {
  position: relative;
  width: 100%;
  max-width: 1350px;
  overflow: hidden;
}

.slides {
  display: flex;
  width: 600%;
  /* 5 original images + 1 duplicate */
  transition: transform 0.6s ease-in-out;
  margin-bottom: 25px;
}

.slides img {
  width: 16.666%;
  /* 5 original images + 1 duplicate */
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
}

.pagination .dot {
  transition: background-color 0.3s;
  display: inline-block;
  background-color: rgba(154, 154, 154, 0.3);
  width: 14px;
  height: 14px;
  border-radius: 100%;
  text-indent: -9999px;
}

.pagination .dot.active {
  background-color: #48dbac;
}

[data-dev-mode] section,
[data-dev-mode] .ns-Content,
[data-dev-mode] [grid],
[data-dev-mode] .section,
[data-dev-mode] .gsm-GenericScrollingMenu,
[data-dev-mode] .hn-HeaderSubNavList {
  background-color: rgba(105, 90, 205, 0.1);
}

[data-dev-mode] .ic-Card > *,
[data-dev-mode] .mjc-JobCard > * {
  outline: 1px solid rgba(105, 90, 205, 0.25);
}

#academyContent > div,
#graduateContent > div,
#teamContent > div {
  opacity: 0;
  animation: fadeInAcademy 0.6s 0.15s forwards;
}

@keyframes fadeInAcademy {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.ns-LocationTeams {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, auto);
  gap: 10px;
  flex-wrap: wrap;
}
@media (min-width: 414px) {
  .ns-LocationTeams {
    grid-template-columns: repeat(2, auto);
    gap: 10px 25px;
  }
}
@media (min-width: 768px) {
  .ns-LocationTeams {
    grid-template-columns: repeat(3, auto);
    gap: 25px 45px;
  }
}

.ns-LocationTeam {
  text-decoration: none;
}

.ns-LocationTeams_Image {
  display: flex;
  align-items: center;
  gap: 15px;
  gap: 10px;
}

.ns-LocationTeams_Image img {
  aspect-ratio: 1/1;
}

.ns-LocationTeam span {
  font-family: AvenirNext-Medium;
  color: #2d2d2d;
  text-transform: uppercase;
}

.ns-LocationTeam:hover span {
  color: rgb(24, 153, 112);
}

.ContentTable {
width: 100%;
    height: auto;
    margin-bottom: 30px;
    border-collapse: collapse;

}

.ContentTable tr:nth-child(odd) {
    background-color: #F7F7F7;

}

.ContentTable th:first-child, .ContentTable td:first-child {
    font-family: "AvenirNext-DemiBold";

}

.ContentTable th, .ContentTable td {
    font-family: "AvenirNext-Regular", "-apple-system", "BlinkMacSystemFont", "Roboto", "Segoe UI", "Helvetica Neue", "Open Sans", sans-serif;
    font-size: clamp(0.8125rem, 0.3125rem + 2.5vw, 1.5625rem);
    line-height: 1.36;
    color: #282828;
    padding-bottom: 20px;
    vertical-align: top;
    height: contain;
    width: 33%;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid #979797;
    text-align: left;
    padding-bottom: 15px;
    padding-top: 15px; }


    @media (min-width: 768px) {
      .ContentTable td {
        padding: 15px
      }
    }





/*# sourceMappingURL=styles.css.map */


/* CRITICAL: Override inline styles that constrain Ashley photo card */
[data-page="Graduates"] .ns-Content[style*="maxWidth"] {
  max-width: none !important;
  width: 100% !important;
}

/* CRITICAL: Ashley photo card fix - highest priority at end of file */
html body [data-page="Graduates"] a.pc-PhotoCard.right[style*="aspect-ratio"] {
  width: 800px !important;
  height: 670px !important;
  max-width: 800px !important;
  max-height: 670px !important;
  aspect-ratio: 800/670 !important;
}

html body [data-page="Graduates"] a.pc-PhotoCard.right .pc-Image:after {
  display: none !important;
  background: none !important;
}

/* Testimonials page specific h2 styling for graduate programme cards */
[data-page="Testimonials"] .ns-ContentBlockGrey h2 {
  font-size: clamp(1.5rem, 1.1512rem + 1.744vw, 2.1875rem) !important;
  margin-bottom: 0 !important;
  padding-bottom: 15px !important;
}

@media (min-width: 768px) {
  [data-page="Testimonials"] .ns-ContentBlockGrey h2 {
    margin-bottom: 0 !important;
    padding-bottom: 15px !important;
  }
}
