/*! Place your custom styles here */

/*Frank New font*/
@import url("https://use.typekit.net/zgi2nem.css");

body {
  font-family: "new-frank", sans-serif;
  font-style: normal;
  font-weight: normal;
}
.color--primary {color:#1597D5 !important;}
.color--primary-1 {color:#000000 !important;}
.color--primary-2 {color:#002D62 !important;}
.border-primary{border-color:#f3f3f3 !important;}

.card ul.bullets {
    font-size: 1.18em;
}


.dropdown .dropdown__content {
	padding: 1em;
}
ul.menu-vertical{padding: 0;}

ol.lead li:not(:last-child) {
    margin-bottom: 1em;
}
.modal-content .lead, .modal-content {
  color: #ffffff;
}
.feature h4 + p {
  max-width: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-family:"new-frank", sans-serif;
  font-weight: bold;
  color: #091e3e;
}
.display-text--large {
  font-size: 1.5rem;
}

h1.program-banner-title {
  font-family: Helvetica, sans-serif;
  margin: 0.5em 0;
  font-size: 2.5rem;
  font-weight: bold;
}

.btn.modal-trigger,.btn.btn-01  {
  border-radius: 2rem;
  border-color: #091e3e;
  border-width: 2px;
  font-size: 1.25rem;
  padding: 0.15rem 1.75rem;
}

.btn.btn-01-white  {
  border-radius: 2rem;
  border-color: #fff !important;
  border-width: 2px;
  font-size: 1.25rem;
  padding: 0.15rem 1.75rem;
  color: #fff !important;
}

.color-76fbfd{color: #76fbfd;}


.gradient-01{/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#76faf9+0,9be391+52,f2ce48+100 */
background: linear-gradient(to right,  #76faf9 0%,#9be391 50%,#f2ce48 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}

/*energized media styles*/
.energized-media {
  z-index:1;
  position:relative;
  display:inline-block;
  float:none !important;
  clip-path:polygon(40px 100%, 70% 100%, 70% calc(100% - 10px), 100% calc(100% - 10px), 100% 40px, calc(100% - 70px) 40px, calc(100% - 70px) 10px, 55% 10px, 55% 0%, 0% 0%, 0 calc(100% - 40px), 40px calc(100% - 40px));
  transform:translate(0, 0)
}
.energized-media:before {
  content:"";
  display:inline-block;
  border:10px solid;
  width:100%;
  height:100%;
  border-right:0;
  position:absolute;
  transform:translate(0, 0);
  z-index:1
}
.energized-media:after {
  content:"";
  border:10px solid;
  position:absolute;
  bottom:0;
  left:0;
  background-color:rgba(0,0,0,0);
  height:50px;
  width:50px;
  border-bottom:0;
  border-left:0;
  transform:translate(-1px, 1px);
  z-index:1
}
.energized-media.right {
  clip-path:polygon(0% 40px, 0% calc(100% - 10px), 30% calc(100% - 10px), 30% 100%, calc(100% - 40px) 100%, calc(100% - 40px) calc(100% - 40px), 100% calc(100% - 40px), 100% 0%, 45% 0%, 45% 10px, 70px 10px, 70px 40px)
}
.energized-media.right:before {
  border:10px solid;
  border-left:0
}
.energized-media.right:after {
  right:0;
  left:auto;
  border:10px solid;
  border-right:0;
  transform:translate(1px, 1px)
}
.energized-media.magenta:before {
  border-image:radial-gradient(circle at bottom left, #FFCC00 10%, #D92D8A 55%, #FFCC00 75%) 1
}
.energized-media.magenta:after {
  border-image:radial-gradient(circle at top right, #D92D8A 0, #FFCC00 56%) 1
}
.energized-media.magenta.right:before {
  border-image:radial-gradient(circle at bottom right, #FFCC00 10%, #D92D8A 55%, #FFCC00 75%) 1
}
.energized-media.magenta.right:after {
  border-image:radial-gradient(circle at top left, #D92D8A 0, #FFCC00 56%) 1
}
.energized-media.cyan:before {
  border-image:radial-gradient(circle at bottom left, #00FFFF 10%, #FFCC00 55%, #00FFFF 75%) 1
}
.energized-media.cyan:after {
  border-image:radial-gradient(circle at top right, #FFCC00 0, #00FFFF 56%) 1
}
.energized-media.cyan.right:before {
  border-image:radial-gradient(circle at bottom right, #00FFFF 10%, #FFCC00 55%, #00FFFF 75%) 1
}
.energized-media.cyan.right:after {
  border-image:radial-gradient(circle at top left, #FFCC00 0, #00FFFF 56%) 1
}

@media (min-width: 641px) {
  .display-text--large {
    font-size: 1.7rem;
  }
}

.imageblock__content .background-image-holder {
  background-position: 50% 10% !important;
}



.fiu-background-blue {
  background:#081e3f
}

#banner {
  height: 600px !important;
}

#banner.banner-flex,
#banner-video.banner-flex {
  position:relative;
  height:auto
}

#banner.banner-flex.short,
#banner-video.banner-flex.short {
  height:auto
}
#banner.banner-flex.short .content-flex,
#banner-video.banner-flex.short .content-flex {
  min-height:300px
}
@media(min-width: 1025px) {
  #banner.banner-flex.short .content-flex,
  #banner-video.banner-flex.short .content-flex {
    min-height:450px
  }
}
#banner.banner-flex .content-flex,
#banner-video.banner-flex .content-flex {
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  min-height:300px
}
@media(min-width: 641px)and (max-width: 1024px) {
  #banner.banner-flex .content-flex,
  #banner-video.banner-flex .content-flex {
    min-height:400px
  }
}
@media(min-width: 1025px) {
  #banner.banner-flex .content-flex,
  #banner-video.banner-flex .content-flex {
    min-height:550px
  }
}
#banner.banner-flex .content-flex .display-text--large,
#banner.banner-flex .content-flex .display-text--x-large,
#banner-video.banner-flex .content-flex .display-text--large,
#banner-video.banner-flex .content-flex .display-text--x-large {
  line-height:1.2
}
#banner.banner-flex .content-flex .content,
#banner-video.banner-flex .content-flex .content {
  padding:4rem 0;
  width:80%;
  /*max-width:70ch*/
}
@media(min-width: 641px) {
  #banner.banner-flex .content-flex .content,
  #banner-video.banner-flex .content-flex .content {
    padding:2rem
  }
}
#banner.banner-flex span.headline,
#banner-video.banner-flex span.headline {
  font-family:"frank-new","new-frank",Helvetica,Arial,sans-serif;
  font-size:2rem;
  padding:0;
  margin:0;
  color:#fff;
  line-height:1.2
}

.banner-container {
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  height:300px;
  position:relative
}
@media (min-width:641px) and (max-width:1024px) {
  .banner-container {
    height:350px
  }
}
@media (min-width:1025px) {
  .banner-container {
    height:400px
  }
}
.banner-container.short {
  height:200px
}
@media (min-width:641px) {
  .banner-container.short {
    height:250px
  }
}
@media only screen and (min-width:1441px) {
  .banner-container.short {
    height:400px
  }
}

.headline-container {
  height:100%;
  background-color:rgba(0,0,0,0.60)
}
.headline-container>.row {
  display:table;
  height:100%;
  width:100%
}

h2.program-banner-title{
color: #fff !important;
font-size: 4.5rem;
line-height: 1;
margin-bottom: 0;
font-weight: 600;
}

h2.program-banner-title .display-text--large{
color: #fff !important;
font-size: 2.25rem;
margin: .1rem 0 .7rem 0;
}

section.border--bottom:not([data-gradient-bg]) {
  border-bottom: 0 !important;
}
section.space--xxs, footer.space--xxs {
  padding-top: 3em;
  padding-bottom: 3em;
}

#banner.energize,
#banner-video.energize,
.banner.energize {
  z-index:1;
  position:relative
}
@media(min-width: 1025px) {
  #banner.energize,
  #banner-video.energize,
  .banner.energize {
    z-index:0
  }
}
#banner.energize:before,
#banner-video.energize:before,
.banner.energize:before {
  z-index:1
}
#banner.energize.cyan,
#banner-video.energize.cyan,
.banner.energize.cyan {
  border-top:solid 10px aqua;
  border-left:solid 10px aqua;
  border-right:0;
  border-bottom:0;
  border-image:radial-gradient(ellipse at top left, #fc0 0, #00FFFF 40%) 1
}
#banner.energize.cyan:after,
#banner-video.energize.cyan:after,
.banner.energize.cyan:after {
  border-top:10px solid aqua;
  border-left:0;
  border-right:0;
  border-bottom:0;
  border-image:radial-gradient(ellipse at top left, #00FFFF 0, #fc0 70%) 1
}
#banner.energize.cyan,
#banner-video.energize.cyan,
.banner.energize.cyan {
  border:solid 10px aqua;
  border-image:radial-gradient(ellipse at top left, #00FFFF 0, #fc0 calc(70% - 200px)) 1;
  border-bottom:0;
  border-left:0;
  border-right:0
}
#banner.energize.cyan:before,
#banner-video.energize.cyan:before,
.banner.energize.cyan:before {
  content:"";
  background:#081e3f;
  width:200px;
  height:60px;
  position:absolute;
  top:-10px;
  right:0;
  border:10px solid aqua;
  border-top:0;
  border-right:0;
  border-image:radial-gradient(ellipse at bottom left, #00FFFF 0, #fc0 50%) 1
}
#banner.energize.cyan:after,
#banner-video.energize.cyan:after,
.banner.energize.cyan:after {
  right:0;
  left:auto;
  bottom:-10px;
  border:10px solid aqua;
  border-image:radial-gradient(ellipse at bottom right, cyan 10px, #fc0 70%) 1;
  height:calc(100% - 40px);
  border-left:0;
  border-top:0;
  width:100px
}
#banner.energize.magenta,
#banner-video.energize.magenta,
.banner.energize.magenta {
  border-top:solid 10px #d92d8a;
  border-left:solid 10px #d92d8a;
  border-bottom:0;
  border-right:0;
  border-image:radial-gradient(ellipse at top left, #fc0 0, #D92D8A 40%) 1
}
#banner.energize.magenta:after,
#banner-video.energize.magenta:after,
.banner.energize.magenta:after {
  border-top:10px solid #d92d8a;
  border-left:0;
  border-right:0;
  border-bottom:0;
  border-image:radial-gradient(ellipse at top left, #D92D8A 0, #fc0 70%) 1
}
#banner.energize.magenta,
#banner-video.energize.magenta,
.banner.energize.magenta {
  border:solid 10px #d92d8a;
  border-image:radial-gradient(ellipse at top left, #D92D8A 0, #fc0 calc(70% - 200px)) 1;
  border-bottom:0;
  border-left:0;
  border-right:0
}
#banner.energize.magenta:before,
#banner-video.energize.magenta:before,
.banner.energize.magenta:before {
  content:"";
  background:#081e3f;
  width:200px;
  height:60px;
  position:absolute;
  top:-10px;
  right:0;
  border:10px solid #d92d8a;
  border-top:0;
  border-right:0;
  border-image:radial-gradient(ellipse at bottom left, #D92D8A 0, #fc0 50%) 1
}
#banner.energize.magenta:after,
#banner-video.energize.magenta:after,
.banner.energize.magenta:after {
  right:0;
  left:auto;
  bottom:-10px;
  border:10px solid aqua;
  border-image:radial-gradient(ellipse at bottom right, #D92D8A 10px, #fc0 70%) 1;
  height:calc(100% - 40px);
  border-left:0;
  border-top:0;
  width:100px
}
#banner.energize:after,
#banner-video.energize:after,
.banner.energize:after {
  display:block;
  content:"";
  bottom:-10px;
  left:-10px;
  position:absolute;
  width:300px;
  width:40%
}
@media(min-width: 1126px) {
  #banner.energize:after,
  #banner-video.energize:after,
  .banner.energize:after {
    width:calc((100% - 1024px)/2);
    bottom:0;
    left:0
  }
}




.multimedia-bg {
  z-index: 0;
  padding: 0;
  position: relative;
  width: 100%;
  min-height: 600px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.multimedia-bg.dark .video-wrapper::before {
  background-color: rgba(0,0,0,.75);
}
.multimedia-bg .video-wrapper::before {
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  content: " ";
}


.content-block.stats.blue .columns *, .content-block.stats.fiu-background-blue .columns * {
  color: #00ffff !important;
}

.content-block.stats .display-text--x-large {
  font: 700 5em/1.2 'Furore', 'futura', sans-serif;
  margin-bottom: 0;

}

.content-block.stats p:first-child + p {
  line-height: 1.5;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0;
}

.content-block.stats.fiu-background-blue .columns .source {
  color: #fff !important;
  font-size: 1rem;
  font-style: italic;
}


@media (min-width: 768px) {
  #r1,#r3,#r5{border-right: 1px solid #00ffff;}
  
}

@media (min-width: 992px) {
  
  #r2,#r4{border-right: 1px solid #00ffff;}
  #r3{border:0;}
}

@media (max-width: 767px) {
  .bar.bar--mobile-sticky[data-scroll-class*="fixed"].pos-fixed {
    top: 0;
  }
}


/*2025 Report*/

.banner-model2.img-fluid {
  max-height: initial!important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

iframe .embed #footer {
  padding: 0!important;
}

:root{
  --fiu-blue: #081E3F;
  --fiu-bright-gold:#fc0; 
  --fiu-cyan: #00B7D5;
  --white: #ffffff;
  --axis: rgba(255, 255, 255, 0.5);

  --font-primary: "proxima-nova", sans-serif;
  --font-secondary: "new-frank", sans-serif;
  --font-tertiary: 'Furore', 'futura', sans-serif; /*FIU Business Font*/
}

body{
  font-size: 16px !important;
}

.logo{
  height: 6rem;
}

.text-fiu-blue{
  color: var(--fiu-blue) !important;
}

.text-fiu-cyan{
  color: var(--fiu-cyan) !important;
}

.bg-fiu-blue{
  background-color: var(--fiu-blue) !important;
}

.bg-light-blue {
  background-color: rgb(174,210,234);
}

.bg-light-gray{
  background-color: rgb(229,229,229);
}

.text-fiu-bright-gold{
  color: var(--fiu-bright-gold) !important;
}

.font-primary {
  font-family: var(--font-primary) !important;
}

.font-secondary {
  font-family: var(--font-secondary) !important;
}

.font-tertiary {
  font-family: var(--font-tertiary) !important;
}

.letter-space-5 {
  letter-spacing: 5px;   /* Adjust space between letters */
}

.fw-900{
  font-weight: 900 !important;
}

.fs-x-large {
  font-size: x-large;
}

.mb-4px{
  margin-bottom: 4px !important;
}


.line-height-3 {
  line-height: 3rem;
}

.line-height-1-5 {
  line-height: 1.5rem;
}


.title-1 {
  margin-bottom: 0 !important;
  font-size: 3rem !important;
}

.title-2 {
  font-size: 6rem !important;
  margin-top: -1.3rem;
  padding-bottom: 2rem;
}

.text-decoration-underline{
  text-decoration: underline !important;
}

/*MENU SECTION*/
.bar {
    padding: 1rem 1.2rem 1.5rem !important;
}

#menu1 a{
  color: #fff !important;
  text-transform: capitalize !important;
  font-weight: bold;
  font-size: 1rem;
  font-family: var(--font-secondary);
}

#menu1 a:hover{
  color: var(--fiu-bright-gold) !important;
  text-decoration: underline;
}

.menu-horizontal > li:not(:hover) > a, .menu-horizontal > li:not(:hover) > span, .menu-horizontal > li:not(:hover) > .modal-instance > .modal-trigger {
    opacity: 1 !important;
}

/*DEAN'S LETTER SECTION*/

.bg-gradient-gray-right{
  background: 
    linear-gradient(to bottom, rgba(128, 128, 128, 0.2), rgba(128, 128, 128, 0)), /* Gray gradient top → bottom */
    #ffffff; /* White background base */
  background-repeat: no-repeat;
  background-size: 20% 100%;    /* Gradient covers 20% of width (right side) */
  background-position: right top;
}

.text-overlay-white {
  background-color: rgba(255, 255, 255, 0.8); /* White with 80% opacity */
  padding: 1rem;         /* Adds space around the text */
  display: inline-block; /* Ensures background only wraps the text */
}

/* Plain, smooth, no borders */
.letter { max-width: 70ch; margin: 0 auto; line-height: 1.6; }
.more-btn {
  appearance: none; border: 0; background: none; padding: 0;
  font: inherit; color: #0b63c7; cursor: pointer; text-decoration: underline;
}
.more-btn:focus { outline: 2px solid #0b63c7; outline-offset: 3px; }

/* Smooth reveal container */
.letter-rest {
  overflow: hidden;
  max-height: 0;                /* collapsed */
  transition: max-height 320ms ease;
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .letter-rest { transition: none; }
}

/* Author block (optional styling) */
.letter-author { margin-top: 1rem; }
.letter-author .sig { display: block; max-width: 220px; height: auto; }
.letter-author .name { font-weight: 600; margin-top: .5rem; }
.letter-author .title { color: #555; font-size: .95rem; }

.dean-signature{
  height: 3rem !important; 
}

.btn-read-more{
  font-size: 1rem !important;
}

.modal-container .modal-content > .modal-close-cross {
  top: 0em !important;
  text-align: end !important;
}

.one-of-the-largest-biz-schools{
    padding-top: 3rem;
    padding-right: 5rem;
    padding-bottom: 5rem;
    padding-left: 25rem;
    border: 10px solid var(--fiu-bright-gold);
    background-color: rgba(255, 255, 255, 0.8);   
    position: absolute;
}

.hero-section {
  background: url('../img/no-panther-bg.jpg') no-repeat center center;
  background-size: cover;
  position: relative;
  width: 100%;
  height: 400px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  /*gap: 2rem;  adds space between panther and text */
  padding: 1rem;
  overflow: hidden;
  padding-bottom: 0;
}

/* Panther image always at the bottom */
.panther-img {
  height: 80%;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
}

/* Text overlay block */
.text-overlay {
  background-color: rgba(255, 255, 255, 0.8);
  border: 8px solid var(--fiu-bright-gold);

  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  /*fix on mobile*/
  padding: 3rem 4rem 2rem 10rem;
  margin-bottom: 8rem;
  margin-left: -150px;
}

/* Text content sits above overlay */
.text-content {
  position: relative;
  z-index: 2;
  text-align: start;

  /*fix on mobile*/
  padding-left: 2rem;
}

  /*ENROLLMENT SECTION*/
  .enrollment-hd {
    font-family: var(--font-tertiary);
    font-weight: 300;
    color: #fff;
    letter-spacing: 2px;
    margin-top: 3rem;
    margin-bottom: 0;
  }

  .chart-section{
    align-items: center;
    margin: 0rem 3rem 0rem 3rem;
  }

  .chart-info{
    padding: 1rem 2rem 3rem;
  }

  .chart-hd{
    color: var(--fiu-bright-gold) !important;
    font-size: 2rem;
    font-weight: bold;
    text-align: left;
    margin-bottom: 1rem;
  }

  .chart-legend{
    font-size: 1.5rem;
    color: #fff;
  }

  .chart-legend ul{
    padding-left: 0;
    line-height: 1.6rem;
  }

  .chart-legend span{
    color: var(--fiu-bright-gold);
    padding-left: .4rem;
    font-weight: bold !important;
  }

  .line {
  position: relative;
  height: 3px;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

.line::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  width: clamp(60px, 70vw, 45vw); /* min, fluid, max */
  background-color: var(--fiu-cyan);
}


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

  .title-2 {
    line-height: 6rem;
    margin-top: 1rem;
  }

  .bar{
    background-color: var(--fiu-blue);
    color: #fff;
  }

  [class^="stack-"]:before, [class*=" stack-"]:before {
    color: #fff !important;
  }

  .bar.bar--mobile-sticky[data-scroll-class*="fixed"].pos-fixed {
        top: 0;
        background-color: var(--fiu-blue);
  }

  /*PANTHER SECTION*/
  .hero-section {
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
  }

  .panther-img {
    position: absolute;
    bottom: 0;
    z-index: 1;
  }

  .text-overlay {
    padding: 3rem 2rem;
    margin-left: 0px;
  }

  .text-content {
    text-align: center;
    padding-left: 0;
  }

  .text-content :nth-child(2){
    font-size: xx-large;
    margin-bottom: 0;
  }

  .bg-gradient-gray-right{  
    background-size: 30% 100%;    /* Gradient covers 30% of width (right side) */  
  }

  /*PIE CHARTS SECTION*/
  .chart-legend{
    font-size: 1.6rem;
    line-height: 1rem;
  }

  .pie-chart-w{
    width: 110% !important;
    max-width: 110% !important;
    margin-left: -2rem;
  }

  .gap-right-4px {
   padding: 4px 0px 2px 0 !important;
  }

  .gap-left-4px {
    padding: 2px 0 4px 0px !important;
  }

  .image-caption-yellow h4{
    line-height: 1.7rem !important;
  }

  .programs-numbers-section h2{
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 768px) {
    .w-sm-75{
      width: 75% !important;
    }

    .pie-chart-w{
      width: 84% !important;
    }

    .gap-right-4px {
      padding: 4px 2px 4px 0 !important;
    }

    .gap-left-4px {
      padding: 4px 0 4px 2px !important;
    }
}

@media screen and (min-width: 992px) {
  .programs-numbers-section h2{
    margin-bottom: 0;
  }
}

@media screen and (max-width: 992px){
  .mb-7 {
    margin-bottom: 5rem !important;
  }
}

.image-caption-yellow{
    background-color: var(--fiu-bright-gold);
    color: var(--fiu-blue);
    font-family: var(--font-secondary);
    text-align: center;
    font-weight: bold;
    padding: 1rem;
    line-height: 1rem;
  }

.no-padding {
  padding: 0 !important;
}

.no-margin {
  margin: 0 !important;
}

.go-top-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: var(--fiu-bright-gold); /* FIU gold */
  color: white;
  border: none;
  border-radius: 50%;
  width: 70px;
  height: 70px;
  font-size: 24px;
  text-align: center;
  cursor: pointer;
  display: none; /* hidden by default */
  z-index: 999;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
}

/*PROGRAM NUMBERS SECTION*/
.programs-numbers-section img{
  margin-bottom: 2rem;
  height: 90px;
}

.programs-numbers-section p{
  margin-bottom: 0.2rem;
  color: var(--fiu-blue);
  font-size: var(--font-secondary);
  font-weight: bold;
  line-height: 1.5rem;
  font-size: 1.5rem;
}

.exceptional-value{
  background-color: rgb(229,229,229);
}

.exceptional-value p,
.exceptional-value strong{
  color: var(--fiu-blue);
}

.exceptional-value strong{
  font-size: 1.35em;
}

/*RANKING SECTION*/
.ranking{
  display:flex;
  align-items:flex-start;
  gap:14px;
  max-width:700px;
  margin: 1rem 3rem 3rem;

  /* make the cyan line span the full row */
  padding-bottom:2rem;
  border-bottom:2px solid var(--fiu-cyan);
  margin-bottom:2rem;
}

.rank-left{
  display:flex;
  align-items:baseline;
  gap:6px;
  color:var(--fiu-cyan);
  font-weight:500;
  line-height:1;
  white-space:nowrap;
  font-family: var(--font-tertiary);
  font-size: 2.2rem;
}

.rank-left .rank-label{
  letter-spacing:.04em;
}

.rank-left .rank-number{
  font-size: 2.2rem;    /* adjust to taste */
}

.rank-right{
  flex:1 1 auto;
}

.rank-title{
  margin:0 0 2px 0;
  color:var(--fiu-blue);
  font-weight:800;
  font-size:1.8rem;
  letter-spacing:.02em;
  line-height: 1.8rem;
}

.rank-source{
  margin:0 0 10px 0;
  color:var(--fiu-blue);
  font-size:1.2rem;
}

/* Optional: no line under the last item */
.ranking:last-child{ border-bottom:none; margin-bottom:2rem; }

/* Small screens */
@media (max-width:520px){
  .ranking{gap:10px;}
  .rank-title{font-size:1.5rem;}
  .rank-source{font-size:1.5rem;}
}

/*STUDENT SUCCESS SECTION*/
#success{
  background-color: rgb(229,229,229);
}

@media screen and (min-width: 992px) {
  .text-and-photo-block-title{
    line-height: 2.3rem;
    margin-bottom: 1rem !important;
  }
  
  .text-and-photo-block-copy{
    line-height: 1.8rem;
    margin-bottom: 2rem;
  }  
}

.text-and-photo-block-button{
  text-align: left !important;
}

/*FOUR YEARS SECTION LAYOUT */
.grad-rate {
  background: var(--fiu-blue);
  color: var(--white);
  padding: 4rem 3rem 5rem;
  font-family: Arial, sans-serif;
}

.wrap {
  max-width: 300px;
  margin: auto;
}

.barchart-wrap{
  max-width: 350px;
}

.barchart-title-wrap {
  max-width: 500px;
}

.barchart-caption-wrap {
  max-width: 400px;
}

.title {
  text-align: center;
  margin-bottom: 20px;
  font-family: var(--font-tertiary);
  color: var(--fiu-bright-gold);
  font-weight: 300;
  letter-spacing: 2px;
  margin-bottom: 4rem;
}

.chart-container {
  display: flex;
  gap: 10px;
}

/* Y-axis labels */
.y-axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 250px;
  margin-right: 10px;
  font-size: 14px;
}

.y-axis span {
  position: relative;
}

.y-axis span::after {
  content: "";
  position: absolute;
  left: 40px;
  top: 50%;
  width: 100%; /* extend across chart */
  height: 2px;
  background: var(--axis);
  transform: translateY(-50%);
}

/* Chart bars */
.chart-bar.highlight {
  background: var(--fiu-bright-gold);
}

/* Legend */
.legend {
  margin-top: 15px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.box {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
}

.box.white {
  background: #fff;
}

.box.gold {
  background: var(--fiu-bright-gold);
}

.caption {
  margin-top: 5rem;
  text-align: center;
  color: var(--fiu-bright-gold);
  font-weight: bold;
  font-size: large;
  line-height: 2rem;
}


/* Fixes axis line overflow 
Y-axis labels */
.y-axis {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:250px;
  margin-right:10px;
  font-size:14px;
  min-width:40px;              /* keep labels readable */
}

/* remove the line that was overflowing */
.y-axis span::after { content:none; }

/* Chart bars + grid lines */
.chart{
  position:relative;
  display:flex;
  align-items:flex-end;
  gap:10px;
  height:250px;
  flex:1;

  /* 5 horizontal lines at 0/20/40/60/80% that always fit the chart width */
  background-image:
    linear-gradient(var(--axis), var(--axis)),
    linear-gradient(var(--axis), var(--axis)),
    linear-gradient(var(--axis), var(--axis)),
    linear-gradient(var(--axis), var(--axis)),
    linear-gradient(var(--axis), var(--axis));
  background-size:
    100% 2px, 100% 2px, 100% 2px, 100% 2px, 100% 2px;
  background-position:
    left 100%,  /* 0% */
    left 75%,   /* 20% */
    left 50%,   /* 40% */
    left 25%,   /* 60% */
    left 0%;    /* 80% */
  background-repeat:no-repeat;
}

.chart-bar{
  position:relative;           /* for the year label */
  flex:1;
  background:var(--white);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  cursor: default;
}

/* Year under each bar */
.chart-bar-label{
  margin-bottom: -30px;

  position:absolute;
  left:50%;
  transform:translateX(-50%);
  font-size:14px;
  color:#fff;
  white-space:nowrap;
}/*

/* small-screen spacing */
@media (max-width:520px){
  .chart{ gap:8px; }
  .chart-bar-label{font-size:13px; }
}

/* bubble */
.chart-bar::after{
  content: attr(data-value);      /* e.g., "53%" */
  position: absolute;
  bottom: calc(100% + 8px);       /* sits above the bar top */
  left: 50%;
  transform: translateX(-50%) scale(.95);
  background: rgba(0,0,0,.75);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 2;
}

/* arrow */
.chart-bar::before{
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(0,0,0,.75);
  margin-bottom: 2px;
  opacity: 0;
  transition: opacity .15s ease;
}

/* show on hover and keyboard focus */
.chart-bar:hover::after, .bar:focus::after,
.chart-bar:hover::before, .bar:focus::before{
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

/* visible focus ring for accessibility */
.chart-bar:focus{
  outline: 2px solid var(--fiu-bright-gold);
  outline-offset: 2px;
}

/* Community Engagement */
#engagement{
  background-color: rgb(229,229,229);
}