@font-face {
  font-family: "NYUPerstare";
  src: url(https://webstatic.nyu.edu/fonts/NYUPerstare-VF.woff2) format("woff2");
  font-style: normal;
  font-stretch: normal;
  font-synthesis: none;
}
html {
  height: 100%;
  width: 100%;
}

body {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  font-family: "NYUPerstare", Arial, Helvetica, sans-serif;
  font-synthesis: none;
}

main {
  width: 100%;
}

div, img, footer {
  position: relative;
}

hr {
  width: 100%;
  border: 1px solid;
  color: #E4E4E4;
  padding: 0;
  margin: 0;
}

h1 {
  font-weight: 900;
}

h2 {
  font-weight: 700;
  font-size: 36px;
  margin-bottom: 2rem;
  margin-top: 0;
  padding: 0;
}

h3 {
  font-weight: 500;
  font-size: 20px;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

a, .gn-backlink {
  color: white;
}
a:focus-visible, .gn-backlink:focus-visible {
  outline-color: #F7F7F7;
  outline-width: 2px;
  outline-offset: 1px;
  outline-style: solid;
}

.page-wrapper {
  width: 100%;
}

.gradient-bg {
  background: linear-gradient(#330662, #57068C, #8900E1 80%);
  width: 100%;
  height: 900px;
}

.aem-grid {
  width: 100%;
}

.h1-spacer {
  letter-spacing: 0.1rem;
  display: inline-block;
}

.gn-skiplink {
  z-index: 10;
  position: absolute;
  left: -99999px;
}
.gn-skiplink:focus {
  z-index: 1;
  background-color: #8900E1;
  border-radius: 3px;
  inset-block: 0.625rem;
  left: 0.625rem;
  top: 45px;
  white-space: nowrap;
  padding: 10px;
  text-decoration: none;
  outline-color: #8900E1;
  outline-width: 2px;
  outline-offset: 1px;
  outline-style: solid;
  height: 20px;
}

.study-abroad-locations {
  list-style: none;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 450px;
  padding-left: 0;
  margin-left: 0;
  gap: 4px 20px;
}

.sa-location {
  display: flex;
  align-items: center;
}
.sa-location a {
  width: 100%;
  background: linear-gradient(to right, #8900e1 50%, #f7f7f7 50%);
  align-items: center;
  display: flex;
  justify-content: space-between;
  color: #0B0B0B;
  font-size: 16px;
  letter-spacing: -0.5%;
  text-decoration: none;
  height: 2rem;
  padding: 0.75rem;
  border-radius: 4px;
  line-height: 140%;
  text-transform: uppercase;
  transition-property: all ease;
  transition-duration: 350ms;
  background-position: right;
  background-size: 250% 125%;
}
.sa-location a:hover {
  background-position: left;
  color: white;
}
.sa-location a:focus-visible {
  transition-property: none;
  outline-color: #8900E1;
  outline-width: 2px;
  outline-offset: 1px;
  outline-style: solid;
}

.sa-location a:hover svg > path {
  stroke: white;
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.sa-location a:hover svg {
  transform: translateX(-12px);
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.location-name {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nyu-locations {
  position: relative;
  margin-top: 2rem;
  top: 1rem;
}
.nyu-locations ul {
  list-style: none;
}
.nyu-locations .desktop-map {
  max-width: 100%;
  top: 0.5rem;
  position: relative;
  margin: 0;
  padding: 0;
}
.nyu-locations .map-point {
  cursor: pointer;
  outline: none;
  z-index: 0;
  position: absolute;
  background: none;
  border: none;
}
.nyu-locations .map-point .map-point-triangle {
  display: none;
}
.nyu-locations .map-point .content {
  display: none;
  border-radius: 2px;
  transition-property: width;
  transition-duration: 400ms ease;
}
.nyu-locations .map-point:active, .nyu-locations .map-point:focus, .nyu-locations .map-point:hover {
  z-index: 1;
  border-radius: unset;
  width: auto;
  height: auto;
}
.nyu-locations .map-point:active .map-point svg circle, .nyu-locations .map-point:focus .map-point svg circle, .nyu-locations .map-point:hover .map-point svg circle {
  fill: #57068C;
}
.nyu-locations .map-point:active .map-point-triangle, .nyu-locations .map-point:focus .map-point-triangle, .nyu-locations .map-point:hover .map-point-triangle {
  display: block;
  height: 100%;
  width: 100%;
  transform: translate(0, -34px);
}
.nyu-locations .map-point:active .content, .nyu-locations .map-point:focus .content, .nyu-locations .map-point:hover .content {
  display: flex;
  width: 100%;
  height: 2.2rem;
  justify-content: center;
}
.nyu-locations .map-point:active .content .location-name, .nyu-locations .map-point:focus .content .location-name, .nyu-locations .map-point:hover .content .location-name {
  white-space: nowrap;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nyu-locations .map-point:active .content .location-name p, .nyu-locations .map-point:focus .content .location-name p, .nyu-locations .map-point:hover .content .location-name p {
  background: #57068c;
  color: white;
  width: 100%;
  padding: 10px;
  border-radius: 2px;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(0px, -74px);
}
.nyu-locations .campus {
  cursor: pointer;
  outline: none;
  z-index: 0;
  position: absolute;
  background: none;
  border: none;
}
.nyu-locations .campus .map-point-triangle {
  display: none;
}
.nyu-locations .campus .content {
  display: none;
  border-radius: 2px;
  transition-property: width;
  transition-duration: 400ms ease;
}
.nyu-locations .campus:active .map-point-triangle, .nyu-locations .campus:focus .map-point-triangle, .nyu-locations .campus:hover .map-point-triangle {
  display: block;
  height: 100%;
  width: 100%;
  transform: translate(0, -52px);
}
.nyu-locations .campus:active .content, .nyu-locations .campus:focus .content, .nyu-locations .campus:hover .content {
  display: flex;
  width: 100%;
  height: 2.2rem;
  justify-content: center;
}
.nyu-locations .campus:active .content .location-name, .nyu-locations .campus:focus .content .location-name, .nyu-locations .campus:hover .content .location-name {
  white-space: nowrap;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nyu-locations .campus:active .content .location-name p, .nyu-locations .campus:focus .content .location-name p, .nyu-locations .campus:hover .content .location-name p {
  background: #57068c;
  color: white;
  width: 100%;
  padding: 10px;
  border-radius: 2px;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(0px, -92px);
}

.gn-page-content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.gn-page-content .sec-1 {
  width: 100%;
  background: #57068c;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.gn-page-content .sec-1 .sec-1-content {
  color: white;
  max-width: 1040px;
  margin: 50px 40px;
}
.gn-page-content .sec-1 .sec-1-content h2 {
  height: 82px;
  margin: 0;
}
.gn-page-content .sec-1 .sec-1-content .boxes {
  display: flex;
  flex-direction: row;
  gap: 24px;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper {
  display: flex;
  flex-direction: column;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper a {
  text-decoration: none;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper a:hover .campus-wrapper .campus-title-chevron {
  margin-left: 1px;
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper a:hover .campus-img-wrapper::after {
  opacity: 1;
  width: 100%;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper .campus-img-wrapper::after {
  opacity: 0;
  width: 50%;
  height: 0.375rem;
  content: "";
  transition-property: all;
  background-color: #fff;
  transform: translate(0, 0.125rem);
  transition-duration: 350ms;
  position: absolute;
  bottom: 0.375rem;
  left: 0;
  transition-timing-function: 0.4, 0, 0.2, 1;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper .campus-img {
  max-width: 100%;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper .campus-wrapper {
  display: flex;
  align-items: center;
  margin: 1rem 0;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper .campus-wrapper svg {
  margin-right: 8px;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper .campus-wrapper .campus-title-chevron {
  margin-left: 4px;
  margin-bottom: 1px;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  padding: 0;
}
.gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper p {
  font-size: 14px;
}
.gn-page-content .sec-2 {
  width: 100%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
}
.gn-page-content .sec-2 .sec-2-content {
  color: #0B0B0B;
  width: 1040px;
  max-width: 1040px;
  margin: 50px 40px;
}
.gn-page-content .sec-2 .sec-2-content h2 {
  padding: 0;
  margin: 0;
}
.gn-page-content .sec-2 .sec-2-content p {
  padding: 12px 0;
  margin-top: 0;
  font-size: 20px;
}
.gn-page-content .sec-3 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("/svg/city-grid.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top 0 right 0;
  background-color: white;
}
.gn-page-content .sec-3 .sec-3-content {
  width: 1040px;
  max-width: 1040px;
  margin: 50px 40px;
}
.gn-page-content .sec-3 .sec-3-content h2 {
  margin-bottom: 22px;
}
.gn-page-content .sec-3 .sec-3-content ul, .gn-page-content .sec-3 .sec-3-content p {
  padding: 0;
  margin: 0;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  column-gap: 15px;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper ul li {
  text-wrap: balance;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper ul li a {
  flex: 1;
  color: #57068C;
  font-size: 14px;
  text-decoration: none;
  line-height: 150%;
  position: relative;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper ul li a::after {
  width: 0;
  height: 1px;
  content: "";
  transition-property: all;
  background-color: #57068C;
  transform: translate(0, 0.125rem);
  transition-duration: 200ms;
  position: absolute;
  bottom: 0;
  left: 0;
  transition-timing-function: 0.4, 0, 0.2, 1;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper ul li a:hover::after {
  width: 100%;
}
.gn-page-content .sec-3 .sec-3-content .schools-wrapper ul li a:focus-visible {
  outline-color: #8900E1;
  outline-width: 2px;
  outline-offset: 1px;
  outline-style: solid;
}

.top-section {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.top-section .top-content {
  color: white;
  width: 100%;
  max-width: 1040px;
}
.top-section .top-content h1 {
  padding: 0;
  margin: 0;
  font-size: 48px;
  letter-spacing: -1.5%;
  text-transform: uppercase;
  line-height: 120%;
  text-wrap: balance;
}
.top-section .top-content p {
  width: 100%;
  text-wrap: balance;
}
.top-section .top-content p a {
  text-decoration-color: rgba(255, 255, 255, 0.6);
}
.top-section .top-content p a:hover {
  text-decoration-color: white;
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.top-bar {
  display: flex;
  justify-content: space-between;
  margin: 0 79px;
  padding: 46px 0;
}
.top-bar button {
  background: transparent;
  box-shadow: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  display: flex;
  justify-content: space-between;
  padding: 0;
}
.top-bar a, .top-bar button {
  color: white;
  font-size: 16px;
  font-weight: 400;
  display: flex;
  align-items: center;
  text-decoration-color: rgba(255, 255, 255, 0.6);
}
.top-bar a:hover, .top-bar a:active, .top-bar button:hover, .top-bar button:active {
  text-decoration-color: white;
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.top-bar a svg, .top-bar button svg {
  margin-right: 6px;
}
.top-bar img {
  height: 30px;
}

@media (max-width: 600px) {
  .gradient-bg {
    background: linear-gradient(#330662 10%, #680CC8 50%, white 50%);
    position: absolute;
  }
  .top-bar {
    margin: 0 17px;
    padding: 17px 0;
  }
  .top-section {
    max-height: 139px;
    display: flex;
    justify-content: flex-start;
  }
  .top-section .top-content {
    margin: 17px;
  }
  .top-section .top-content h1 {
    font-size: 24px;
  }
  .top-section .top-content p {
    font-size: 14px;
    width: 100%;
  }
  .nyu-locations {
    display: none;
  }
  .mobile-map {
    width: 100%;
    min-height: 100%;
    margin-top: 50px;
  }
  .gn-page-content .sec-1 .sec-1-content {
    max-width: 1040px;
    margin: 34px 17px;
  }
  .gn-page-content .sec-1 .sec-1-content h2 {
    font-size: 24px;
    letter-spacing: -1%;
    height: unset;
    margin: 0;
  }
  .gn-page-content .sec-1 .sec-1-content .boxes {
    flex-direction: column;
    justify-content: center;
    top: 17px;
  }
  .gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper {
    width: 100%;
  }
  .gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper a {
    margin: 7px 0;
    text-decoration: none;
  }
  .gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper:last-child {
    margin-bottom: 24px;
  }
  .gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper .campus-wrapper {
    height: 47px;
    margin: 0;
    padding: 0;
  }
  .gn-page-content .sec-1 .sec-1-content .boxes .box-content-wrapper p {
    line-height: 150%;
    margin: 0;
    padding: 0;
  }
  .gn-page-content .sec-2 {
    width: 100%;
  }
  .gn-page-content .sec-2 .sec-2-content {
    margin: 34px 17px;
  }
  .gn-page-content .sec-2 .sec-2-content h2 {
    font-size: 24px;
    line-height: 125%;
  }
  .gn-page-content .sec-2 .sec-2-content p {
    padding: 10px 0;
  }
  .gn-page-content .sec-2 .sec-2-content .study-abroad-locations {
    flex-direction: column;
    flex-wrap: nowrap;
    max-height: 100%;
  }
  .gn-page-content .sec-2 .sec-2-content .study-abroad-locations li {
    padding: 0;
    width: 100%;
  }
  .gn-page-content .sec-3 {
    width: 100%;
    background-image: none;
  }
  .gn-page-content .sec-3 .sec-3-content {
    max-width: 100%;
    margin: 34px 17px;
  }
  .gn-page-content .sec-3 .sec-3-content h2 {
    font-size: 24px;
    line-height: 125%;
    margin-bottom: 17px;
  }
  .gn-page-content .sec-3 .sec-3-content .schools-wrapper {
    flex-direction: column;
  }
  .gn-page-content .sec-3 .sec-3-content .schools-wrapper ul {
    flex-direction: column;
    flex-wrap: nowrap;
    max-height: 100%;
    line-height: 100%;
  }
  .gn-page-content .sec-3 .sec-3-content .schools-wrapper ul:not(:first-child) {
    padding-top: 10px;
  }
  .gn-page-content .sec-3 .sec-3-content .schools-wrapper ul li {
    max-width: 100%;
  }
}
@media (min-width: 601px) {
  .top-bar {
    margin: 0 40px;
    padding: 32px 0;
  }
  .nyu-locations .desktop-map {
    width: 100%;
  }
  .mobile-map {
    display: none;
  }
  .top-section {
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .top-section .top-content {
    margin: 32px 40px;
    max-width: 1040px;
  }
}