@charset "UTF-8";
/* CSS Document */
/* Main Didot Font */
@import url("https://use.typekit.net/pzh3hia.css");
/* NYU's font */
@font-face {
  font-family: "Perstare";
  src: url(/assets/fonts/NYUPerstare-VF.woff2);
}
@font-face {
  font-family: "Perstare";
  src: url(/assets/fonts/NYUPerstare-Italic-VF.woff2);
  font-style: italic;
}
@font-face {
  font-family: "linotype-didot-headline";
  src: url("/assets/fonts/DidotItalic.otf");
  font-style:italic;
}
html * {}
a.skip-main {
	font-family: "Perstare", Arial, Helvetica, sans-serif;
	position: absolute;
	left: -999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: -999;
}
a.skip-main:focus, a.skip-main:active {
	background: #000;
	color: #fff;
	font-family: "Perstare", Arial, Helvetica, sans-serif;
	font-weight: 300;
	height: 62px;
	left: 15rem;
	overflow: auto;
	width: 15rem;
	line-height: 3.75rem;
padding-left: 1.5rem;
	text-decoration: none;
	top: 0;
	z-index: 9999;
	-webkit-transition: all 300ms cubic-bezier(0.3, -0.01, 0.57, 1);
	transition: all 300ms cubic-bezier(0.3, -0.01, 0.57, 1);
	transform: translateX(-100%);
	outline: none;
}

body {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  text-shadow: 0 0 0 black;
  box-shadow: 0 0 0 white;
  font-size: 18px;
  color: #000;
  background-color: #fff;
  font-kerning: normal;
}

table {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  text-shadow: 0 0 0 black;
  box-shadow: 0 0 0 white;
  font-size: 18px;
  font-weight: 300;
  color: #000;
  background-color: #fff;
  font-kerning: normal;
}
nav {
  z-index: 1;
}
a {
  color: #000;  
     text-decoration-thickness: 1px;
     text-underline-offset: 3px;
}

.visuallyhidden {
    display:none;
}
.subnav {
  text-decoration: none;
  padding: 0;
  font-weight: 300;
  font-size: 1.02em;
  color: #000 !important;
}
.ifaul {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-weight: 300;
  line-height: 1.6em;
  font-size: 18px !important;
}
.ifali {
  list-style: square;
  padding: .1vw;
}

.ifali2 {
  list-style:outside;
  padding: .1vw;
}


.ifali a {
    text-decoration-thickness: 1px;
     text-underline-offset: 3px;
}
ul {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-weight: 300;
  line-height: 1.3em;
  /*  font-size: 18px !important;*/
}
li {
  list-style: none;
  padding: .1vw;
}
p {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-weight: 300;
  line-height: 1.5em;
  font-size: 18px !important;
}

figcaption {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-weight: 300;
  line-height: 1.5em;
  font-size: 14px !important;
}
.accordion {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-weight: 300;
  line-height: 1.5em;
  font-size: 18px !important;
}
.accordion-button {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-weight: 400;
  line-height: 1.5em;
  font-size: 20px !important;
}
strong {
  font-weight: 450 !important;
}

.text-secondary {
    color: #505459 !important;
}
.topLogo {
        height: 35px !important;
}
.IFAdrop-shadow {
  filter: drop-shadow(1px 1px 0px #000);
}
.facItem {
  font-weight: 400;
  color: #fff !important;
  font-size: 2.5vw !important;
  text-decoration: none !important;
  line-height: .6em !important;
}
.facItem:hover {
  opacity: 0.4;
}
.IFAborderimg {
  border: 1px solid black;
}
/* Navigation */
/* Begin menu drawer */
.container-fluid {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.navbar {
  margin-bottom: 0px;
  background-color: #f8f9fa !important;
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
}
.navbar .d-flex {
  flex-grow: 0;
}
.navbar-toggler {
  font-size: 1em;
  padding: 0 3px;
  border: none;
  background: none;
  text-decoration: none !important;
}

.image-preview-container {
  width: 45%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  overflow: hidden;
  padding: 0 !important;
  margin: 0 !important;
}
.image-preview-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
}
#hoverImage {
  z-index:100;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.5s ease-in-out, visibility 0s 0.5s ease-in-out; /* Matches JS transitions */
}
.secondary-list {
  display: block;
}
.secondary-list .nav-item {
  display: block; 
  width: 100%; /* Ensure full width */
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#newsEventsMenu {
  position: relative;
  top: 2em;
}
#studyMenu {
  position: relative;
  top: 4.1em;
}
#supportMenu {
  position: relative;
  top: 6.1em;
}
#searchbar {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  text-align: left;
  margin-left: auto;
  /* width: auto; */
  z-index: 10;
  transform: translateY(60vh) !important;
  border-radius: 25px;
  border: 1px solid #000;
  background-color: transparent;
}
.offcanvas-backdrop.show {
  opacity: 1;
  background-color: rgba(0, 0, 0, .4);
  backdrop-filter: blur(8px);
}
/* End menu drawer */
.subnav-link {
  text-decoration: none;
  padding: 0;
  font-weight: 300;
  font-size: 1.02em;
  color: #000 !important;
}
.subnav-link:hover {
  padding: 0px 10px 0px 10px !important;
  color: #fff !important;
  background-color: #000 !important;
  transition: background-color 0.3s ease, padding 0.3s ease; /*Add a smooth transition*/
  border-radius: 30px;
}

.sidebar-link {
  padding: 0;
  font-weight: 300;
  font-size: 1.02em;
  color: #000 !important;
}

.sidebar-link:hover  {
  text-decoration: underline;
  font-weight: 400;
  transition: font-weight 0.3s ease, text-decoration 0.3s ease;
  border-radius: 100px;
}
.bg {
  background-image: url('../graphics/gate-bg.webp');
  background-size: 100% auto;
  background-color: #fff;
  background-repeat: repeat-y;
}
.logo {
  position: relative;
  padding: 11vw 5vw 0vw 4vw;
  width: 80%;
  margin: auto !important;
  filter: drop-shadow(1px 1px 0px #000);
}
.bgimage p {
  padding: 2.5vw;
  font-size: 4vw !important;
  color: #fff !important;
  font-family: "linotype-didot-headline", serif;
  font-style: italic;
  text-align: center;
  line-height: 1em !important;
}
.bgimage h1 {
  padding: 2.5vw;
  font-size: 6vw !important;
  color: #fff !important;
  font-family: "linotype-didot", serif;
  text-align: center;
  line-height: 1em !important;
}
.bgimage a {
  text-decoration: none;
}
.jumbotron {
  margin-bottom: 1px;
}
/* Grid alterations */
/*
.faculty-grid-col {

   
     border: 1px solid black;
    font-weight: bold !important;
    color: #fff !important; 
    
}

.faculty-grid-col:hover {
  background-color: #002fa7;
  color: #fff !important;
}
*/
/* IFA Carousel with pause btn */
#imageCarousel {
  width: 100%;
  height: 80vh;
  position: relative;
  background-color: #666;
}
.carousel-inner, .carousel-item {
  height: 100%;
}
.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.carousel.carousel-fade .carousel-item {
  transition: opacity 1s ease-in-out;
}
#infoButton {
  z-index: 110;
  position: absolute;
  bottom: 10px;
  right: 50px;
  width: 35px;
  height: 35px;
  align-items: center;
  justify-content: center;
  font-size: 20px !important;
  background-color: white;
  border: 1px solid black;
  border-radius: 40px;
  color: black;
  transition: background-color 0.3s ease-in-out, border 0.3s ease-in-out, color 0.3s ease-in-out;
}

#pauseCarousel {
  z-index: 110;
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 35px;
  height: 35px;
  align-items: center;
  justify-content: center;
  font-size: 20px !important;
  background-color: white;
  border: 1px solid black;
  border-radius: 40px;
  color: black;
  transition: background-color 0.3s ease-in-out, border 0.3s ease-in-out, color 0.3s ease-in-out;
}
#pauseCarousel:hover, #infoButton:hover {
  background-color: #000;
  border: 1px solid #000;
  color: white !important;
}
#pauseCarousel:active, #infoButton:active {
  outline: none !important;
  box-shadow: none !important;
  background-color: #000 !important;
  border-color: 1px white !important;
  color: black !important;
}
.featurette-heading {
  font-family: "Didot", serif;
  font-size: 5cqw !important;
}
.featurette-card {
  font-family: "Didot", serif;
  font-size: 4vw !important;
}
.featurette-subheading {
  font-family: "Didot", serif;
  letter-spacing: -.01em;
  font-size: 2.8em !important;
}
h3.featurette-subheading {
  font-family: "Didot", serif;
  font-weight: 100;
  letter-spacing: -.01em;
  font-size: 1.3em !important;
}
.featurette-headingSmaller {
  font-family: "linotype-didot", serif;
  font-size: 2.2vw !important;
  padding-top: 1vw;
  padding-bottom: 1vw;
}
.featurette-category {
  font-family: "linotype-didot-headline", serif;
  font-size: 4cqw  !important;
  color: #000;
  font-weight: 500;
  padding-top: 2vw;
    font-style: normal !important;
}

.featurette-category a {
  text-decoration: none !important;
}

.featurette-categorySmaller {
  font-family: "linotype-didot", serif;
  font-size: 3cqw !important;
  color: #000;
 line-height: 1.2em !important;
}

.featurette-categoryEvenSmaller {
  font-family: "linotype-didot-headline", serif;
  font-size: 1.7em !important;
  color: #000;
  font-weight: 300;
}


.featuretteText {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-size: 3vw !important;
  font-weight: 200 !important;
  padding: 2vw;
  line-height: 1.4em;
}
.featuretteSmallerText {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-size: 2vw !important;
  font-weight: 300 !important;
    line-height: 1.4em;
}
.featuretteEvenSmallerText {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-size: 1.7vw !important;
  font-weight: 100 !important;
  line-height: 1.4em;
}
.eventsCal {
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-feature-settings: "ss01";
  font-size: 5vw !important;
  color: #000;
  font-weight: 300 !important;
  margin: 4vw 0 2vw 0;
}
.drop-shadow1 {
  box-shadow: 6.2px 12.5px 12.5px hsl(0deg 0% 0% / 0.31);
}
/* Alterations to Bootstrap's accordian */
/* Remove focus and highlight effects */
.ifa1 .accordion-button:focus, .btn:focus, .list-group-item:focus {
  /*
      box-shadow: none !important;
      outline: none !important;
*/
}
/* Remove background highlight when active */
.accordion-button:not(.collapsed), .list-group-item.active {
  background-color: transparent !important;
  color: inherit !important;
}
/* Remove hover effects */
.btn-link {
  color: inherit;
  text-decoration: none;
}
.btn-link:hover {
  color: inherit;
  text-decoration: none;
}

/* Remove default Bootstrap accordion button styles */
.accordion-button {
  background-color: transparent !important;
  color: inherit !important;
  text-decoration: none !important;
  font-size: 1em !important;
  font-weight: 300 !important;
}
/* Remove padding from accordion button to keep a clean look */
.accordion-button {
  padding: 10px 0 !important;
}
.list-group-item {
  border: none !important;
  /* Removes the grey line */
}
.accordion-item {
  border: none !important;
  /* Remove all borders */
  background-color: transparent !important;
  /* Make background transparent */
}
.accordion-button {
  border: none !important;
  box-shadow: none !important;
  /* Remove any shadow effects */
}
.accordion-body {
  padding: 5px 10px !important;
  /* Reduce padding inside expanded sections */
}
.list-group {
  padding: 0 !important;
  /* Remove unnecessary padding from list group */
}
.list-group-item {
  padding: 5px 10px !important;
  /* Reduce padding inside list items */
}
/* Remove Bootstrap's default caret */
.accordion-button::after {
  font-family: "bootstrap-icons";
  /* Use Bootstrap Icons */
  font-size: 1rem;
  transition: transform 0.3s ease-in-out;
  margin-left: 8px;
  /* Move closer to text */
}
/* Rotate arrow when expanded */
.accordion-button:not(.collapsed)::after {
  transform: rotate(180deg);
}
.accordion-button {
  /*      padding: 0px 0px !important;*/
  /* Adjust top/bottom and left/right padding */
}
nav.navbar {
  /*  position: relative;*/
  z-index: 101;
}

/* Video */

.fullscreen-video-container {
    position: relative; 
    margin: 0;
    padding: 0; 
    overflow: hidden;
}

.fullscreen-video-container video {
  position: absolute;
    width: 100cqw; 
    height: 50cqh;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: -1;  
}

.fullscreen-video-content {
  background-color: rgba(0,0,0,0.1);
  padding: 7vw;
  border-radius: 5px;
}

/* COLORS */
.gradient {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .8)), url("../images/event-example2.webp") no-repeat center left;
  background-size: cover;
}
.card {
  border: 0;
  background: transparent;
}
/* buttons to change inherit Bootstrap styles */
.btn {
  padding: .55vw .85vw .55vw .85vw;
  border-radius: 40px;
  background-color: #fff !important;
  border: 1px solid #000 !important;
  font-family: Perstare, Helvetica, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: .08em;
}
.btn:hover {
  background-color: #000 !important;
  color: #fff !important;
}
.btn svg:hover {
  fill: #fff !important;
}
.btn:active {
  background-color: #000 !important;
  top: 2px;
  left: 2px;
}
/*
.DropdownBtn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
*/
.btnIcon {
  color: #fff !important;
}
.btnIcon svg:hover {
  fill: #ccc !important;
}

.btn-group {
  padding: .55vw .85vw .55vw .85vw;
 
}
.enlarge {
  transition: transform .2s;
}
.enlarge:hover {
  transform: scale(1.02);
  cursor: pointer !important;
}
.enlarge a {
  text-decoration: none;
  cursor: pointer;
}
hr.category {
  border-top: 1px solid #8A8A8A;
  margin: 2vw;
}
.hrNAV {
  border-left: .5px solid #9F9F9F;
}
.hrNAVr {
  border-right: .5px solid #9F9F9F;
}
.hrNAVb {
  border-bottom: 0px solid #9F9F9F;
}
.hrNAVt {
  border-top: .5px solid #9F9F9F;
}
hr {
  border: .5px solid #9F9F9F;
}
/* Interior Pages */
#interior-main .featurette {
  display: flex;
  align-items: flex-start;
}
#interior-main .col-lg-8, #interior-main .col-lg-4 {
  margin-bottom: 0.5rem !important;
  padding-left: 2rem; /* Adjust for larger spacing */
  padding-right: 2rem;
}
#interior-main .col-lg-8 p {
  font-size: 30px !important;
  font-weight: 100;
  font-family: Perstare, Helvetica, Arial, sans-serif;
  /*    font-family: "montserrat-alternates", sans-serif;*/
  /*    font-family: "montserrat", sans-serif;*/
  /* font-family: "ebony", sans-serif; */
  margin-bottom: 0;
}
#interior-main .col-lg-4 ul {
  display: flex;
  flex-direction: column; /* Stack items vertically */
  margin-left: auto;
}
#interior-main .col-lg-4 .nav-item {
  transform: translateY(0px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  text-align: left !important;
}
#interior-main .col-lg-4 .nav-item .nav-link {
  text-align: left; /* Left-align the text within the link */
  display: inline-block; /* Prevent link text from expanding */
}
/* Footer styles */
ul.footer {
  padding-top: 0 !important;
}
.nyufooter {
  font-size: .9em !important;
}
/* ---RESPONSIVE CSS--- */

@media (max-width: 1500px) {
  #hoverImage {
    z-index:100;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    width: 85%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.5s ease-in-out, visibility 0s 0.5s ease-in-out; /* Matches JS transitions */
  }
}

@media (max-width: 1200px) {
  /* .primary-menu, .secondary-menu {
    font-size: 2.5vw !important;
    width: 225px;
  } */

  .image-preview-container img {
    display: none !important;
    pointer-events: none;
  }

  /* #newsEventsMenu {
    position: relative;
    top: 2.1em;
  }
  #studyMenu {
    position: relative;
    top: 4.3em;
  }
  #supportMenu {
    position: relative;
    top: 6.4em;
  } */
    
 .featurette-headingSmaller {
  font-weight: bold;
}
    .featuretteSmallerText {
  font-weight: 400 !important;
}
}
@media (max-width: 992px) {
    
    .topLogo {
        height: 25px !important;
}
    
  .btn {
    padding: 2vw 2.5vw 2vw 2.5vw !important;
      font-size: .8em;
  }
  .globe {
    display: none;
  }
  .offcanvas-logo {
    display: none !important;
  }
  #hoverImage {
    z-index:100;
    display: none !important;
    pointer-events: none;
  }

  .primary-menu, .secondary-menu {
    font-size: clamp(22px, 25px, 28px) !important;  
  }

  .primary-menu {
    min-width: 48%;
    /* font-size: 2.5vw !important; */
    font-weight: 400;
  }
  .secondary-menu {
    min-width: 225px;
    /* font-size: 2.5vw !important; */
    font-weight: 400;
  }
  .featuretteText {
    font-size: 5vw !important;
  }
    
      .featurette-categorySmaller {
/*    padding-top: 2vw !important;*/
     font-family: "linotype-didot", serif;
     font-size: 3.25cqw !important;
     font-weight: bold !important;
  }
    
     
  .hrNAV {
    border-left: 0px solid #000;
  }
  .hrNAVr {
    border-right: 0px solid #000;
  }
  .hrNAVt {
    border-top: 0px solid #000;
  }
  .featurette-heading {
    margin-top: 3vw !important;
    font-size: 6vw !important;
  }
  .featurette-card {
    font-family: "linotype-didot-headline", serif;
    font-size: 6vw !important;
  }
  .featurette-headingSmaller {
    font-size: 7vw !important;
      font-weight: bold;
  }
    


  .eventsCal {
    font-size: 6vw !important;
    padding: 1vw;
  }
  .featuretteDidot {
    font-size: 6vw !important;
    padding: 8vw !important;
  }
  .logo {
    width: 100%;
    padding: 0vw 0vw;
  }
  .bgimage h1 {
    padding-top: 10px;
    line-height: 1.1em !important;
    font-size: 8vw !important;
  }
  .bgimage p {
    padding-top: 10px;
    line-height: 1.1em !important;
    font-size: 7vw !important;
      font-weight: bold;
  }
  .featuretteSmallerText {
    font-size: 5vw !important;
    /* font-weight: 200 !important; */
   font-weight: 400 !important;
}
  .featuretteEvenSmallerText {
    font-size: 3.5vw !important;
    font-weight: 100 !important;
  }
  h2 {
    font-size: 1.2em !important;
  }
  ul.secondary-nav {
    text-align: center !important;
  }
  footer {
    font-size: 3vw !important;
  }
}

@media (max-width: 680px) {
  .primary-menu, .secondary-menu {
    min-width: 225px;
  }
    
    .topLogo {
        height: 20px !important;
    }
    
    .featurette-category {
  font-size: 8cqw  !important;
}
    
      .featurette-categorySmaller {
    /*padding-top: 2vw !important;*/
    font-family: "linotype-didot", serif;
    font-size: 5.5cqw !important;
    font-weight: bold !important;
  }
    
    .navbar-toggler {
  font-size: .8em;
  padding: 0 3px;
  border: none;
  background: none;
  text-decoration: none !important;
}
    
#infoButton {
  right: 40px; 
  width: 27px;
  height: 27px;
  font-size: 12px !important;
          border-radius: 20px;
 
}
    

#pauseCarousel {
  width: 27px;
  height: 27px;
  font-size: 12px !important;
 
}
    
  
}