html{min-height:100%; overflow-y: auto;}
body {background: linear-gradient(#bab6a0,#9b9885); font: normal 16px/150% Arial, Helvetica, sans-serif; min-height: 100vh; display: flex; flex-direction: column; overflow-y: auto;}


header { display:block; background:#7E072A; position:relative; height:85px; width: 80%; margin: 0 auto;}
#header { display:block; background:#900028; position:relative; height:85px; width: 80%; margin: 0 auto;}
#logo {  display: block;  position: relative;  background: none;  text-indent: 0;  float: none;  height: 85px;  width: 80%;  margin: 5px 40px 0 10px;  border: 0px;  color: white;}
#enviro{  display: block;  position: absolute;  top:0;  left:0;  background: rgba(144,0,40,.5);  text-indent: 0;  text-align: center;  float: none;  height: 85px;  width: 300px;  border: 0px;  color: #00FF00;  font-size: 40px;}
#course_docs_resp { position:absolute; right:10px; bottom:10px; }
#course_docs_resp a {    color: #fff;  text-decoration: none;    font-size: 16px;}


/* main is an added ID */
#main {background: #fff; /*url(/images/bgs/bg6-32029c11db80ad6f2c44a7413c228c9b.jpg)*/ background-repeat: no-repeat; background-position: center ; max-width:none; width: 80%;  background-size: cover; overflow: visible; margin: 0 auto; padding:0; padding-bottom: 2rem; flex: 1;}

#alertmsg-on { font-size: 1.5em; line-height:1.2em; margin-bottom: 2em; background:#FFDF00; color:#000;  }

footer {display:block; background:#7E072A; position:relative; height: auto; color: #fff; line-height:1em; width: 80%; margin: 0 auto; flex-shrink: 0;}
#footer {display:block; background:#900028; position:relative; height: auto; color: #fff; line-height:1em; width: 80%; margin: 0 auto;}
#footerbox { padding: 10px;  }
#footerbox h2 { font-family: "Times New Roman", Times, serif; font-variant-caps: small-caps; margin-top: 0 }
#footerbox dl { font-size: .7em; }
#footerbox ul { margin: 0;padding: 0;}
#footerbox li { list-style: none; padding:.02em}

/* contentblock is an added ID */
#contentblock {   font:400 12px/12px "Helvetica Neue", Helvetica, Arial, sans-serif;  border-radius:1.2em;  background:rgba(255,255,255,.8);  padding:25px;  text-align:center;  position:relative;  min-width:600px; max-width:600px;  margin-top: 40px;  margin-left: 40px;  margin-bottom: 80px;  width:33%; min-height:600px}
#contentblock  .accesskey { font:400 20px/12px "Helvetica Neue", Helvetica, Arial, sans-serif;  text-transform: capitalize; }

/* Reset CSS from cas css */
#contentblock .card{ background: none; border:none; max-width: none; width: 100%}
#contentblock .btn-submit:hover {background: #c03058 ; color:#fff}
#contentblock .btn-submit {background: #900028; color:#fff}
#contentblock .fa,#contentblock .fas {color: #900028;}
#contentblock a {color: #900028;}

#contentblock .login-section {  border-right:none; border-bottom:none; padding:0 0 0 0; }
/* Fix nested card-body overlap - remove padding from outer card-body */
/* Target section with both login-section and card-body classes */
section#loginForm.login-section.card-body,
#contentblock section.login-section.card-body,
#contentblock .login-section.card-body { 
    padding: 0 !important; 
}
#contentblock .login-section .card { 
    margin: 0; 
    border: none;
    box-shadow: none;
}
#contentblock .login-section .card .card-body { 
    padding: 1.25rem; 
}

#username, #password { text-align: center; margin: .8em 0; }
#contentblock input[type="text"], #contentblock input[type="email"], #contentblock input[type="password"], #contentblock input[type="url"], #contentblock textarea {  border:1px solid #CCC;  background:#FFF;  margin:.4em 0;  text-align:center;}

.kurogo-rm { display:none; border: 2px solid red;}
.kurogo-rm {display: block !important;border: none;}
#duo_iframe{ width: 100%; border-radius: 10px; }

/* For Help and Duo Fragments */
#loginduohelp, #loginhelp {width: 100%;}

.help, .duohelp {       font-size: 1.25em;  line-height: 1.1em;}
.help a, .duohelp a{    font-weight: bold;}
.help div , .duohelp div{       padding: 5px 0;}
.help ul li {   display: inline-block; padding: 3px 8px;}
.help ul  {     margin: 0; padding: 0;}

.duohelp {  text-align: left;}
.duohelp .dl-buttons  ul li {  display: inline-block; width: 30%; padding-top: 10px; text-align: center;}
.duohelp .dl-buttons  ul  {  margin: 0; padding: 0;}
.duohelp .dl-buttons  ul li img{  width:90%; height:auto;}

.duo {padding-top:20px;}

.tooltip {    position: relative;    display: inline-block;}
.tooltip .tooltiptext {    visibility: hidden;    width: 140px;    background-color: white;    color: #0099ff;    text-align: center;    border-radius: 6px;    padding: 5px;    position: absolute;    z-index: 1;    top: 150%;    left: 40%;    margin-left: -60px;    font-size: 13px;}
.tooltip .tooltiptext::after {    content: "";    position: absolute;    bottom: 100%;    left: 40%;    margin-left: -5px;    border-width: 5px;    border-style: solid;    border-color: transparent transparent white transparent;}
.tooltip:hover .tooltiptext {    visibility: visible;}

.clear {        clear:  both;}
.clearfix:before, .clearfix:after {     content: "";    display: table;}
.clearfix:after {       clear: both;}
.clearfix {     zoom: 1;}

/* For Test Enviro Animation */
.flashy{   animation-name: flash;  animation-duration: 0.2s;  animation-timing-function: linear;  animation-iteration-count: infinite;  animation-direction: alternate;  animation-play-state: running; font-size: 14px;}

@keyframes flash {    from {color: #00ff00;}    to {color: #900028;}}

.banner-danger h1:before,
.banner-danger h2:before,
.banner-danger h3:before,
.banner-danger h4:before,
.banner-danger h5:before {
    content: " ";
}
 
@media only screen
and (max-width : 1024px) {

  body { padding-top:0;}
  #main, header, footer { width: 100%; max-width: 100%; }
  #logo {  margin-top: 0;}
  #contentblock {       min-width:0;    max-width:none; margin-top: 25px;       margin-left: auto;      margin-right: auto;     margin-bottom: 0;       width:90%;}

}

/* iPhone (portrait) ----------- */

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

  body { 
    display: flex !important;
    flex-direction: column !important;
  }

  header { height:auto; text-align: center;}
  header h1{ margin-left: 0}
  #course_docs_resp { position:relative; right:auto; top:auto; display: block; }
  #main{background: #fff !important; background-size: cover; overflow: visible !important; min-height: auto !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
  #logo {  display: block;  background: none;  text-indent: 0;  float: none;  height: 85px;  text-align: center;  width: 100%;  border: 0px;  color: white;}
  #enviro{  display: block;  position: absolute;  top:0;  left:0;  background: rgba(144,0,40,.5);  text-indent: 0;  text-align: center;  float: none;  height: 85px;  width: 100%;  border: 0px;  color: #00FF00;  font-size: 40px; }
  #contentblock {       padding:5%;     margin-top: 0;  margin-bottom: 0; width:90%;}
  
  footer {
    position: relative !important;
    margin-top: 0 !important;
  }

}

/* NEW FOOTER */

.inner__footer, .inner__widget {
  display: none
}
.inner__footer-social {
  margin: 0 -2rem
}
.inner__footer, .inner__widget {
 display: block
}
.general-content blockquote footer {
  font-style: italic
}
.js .footer {
  opacity: 0
}
.js.js-ready .footer {
  opacity: 1
}
.footer {
  background-color: #7e072a;

  margin-top: 0rem
}
.footer__container {
  padding: 2rem 5rem
}
.footer__col--primary {
  display: flex;
  flex-direction: column;
  justify-content: space-between
}
.footer__col--tertiary {
  display: none
}
.footer__logo {
  display: block;
  min-width: 225px;
  max-width: 320px;
  height: auto;
  margin-top: .5rem;
  margin-bottom: 1rem;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden
}
.footer__logo > img {
  width: 100%;
  height: auto
}
.footer__social, .footer__tagline {
  color: #fff !important
}
.footer__social__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer__social__item {
  margin-left: .75rem;
  margin-right: .75rem;
  list-style: none;
}
.footer__social__item:first-child {
  margin-left: 0
}
.footer__social__item--show-more > a {
  padding-top: .25rem;
  padding-bottom: .25rem
}
.footer__social__link {
  padding: .5rem 0;
  color: #fff !important
}
.footer__social__link__text {
  font-size: .75rem;
  line-height: 1.4;
  letter-spacing: .07rem;
  text-transform: uppercase;
  font-weight: 600
}
.footer__social__link > img {
  width: 2rem
}
.footer__social__link > svg {
  fill: #fff
}
.footer__link-widget {
  color: #fff !important;
  display: flex
}
.footer__link-widget__col:first-child {
  margin-left: auto;
  margin-right: 5rem
}
.footer__link-widget__item {
  padding-top: .25rem;
  padding-bottom: .25rem
}
.footer__link-widget__item--title {
  border-bottom: 2px solid #DD3224;
  margin-bottom: 1rem
}
.footer__link-widget__link {
  color: #fff !important
}
.footer__link-widget__link-title {
  display: block;
  font-weight: 700;
  letter-spacing: -.025rem
}
@media (max-width:1199px) {
  .footer__container {
    padding: 2rem
  }
  .footer__logo {
    margin-top: 0
  }
  .footer__col--primary {
    display: block;
    flex-direction: row;
    justify-content: normal;
    margin-bottom: 1rem
  }
  .footer__col--tertiary {
    display: block
  }
  .footer__social--desktop {
    display: none
  }
  .footer__social--mobile {
    margin-top: 1rem
  }
  .footer__link-widget__col:first-child {
    margin-left: 0
  }
}
@media (max-width:575px) {
  .footer__logo {
    min-width: auto;
    max-width: 225px
  }
  .footer__link-widget {
    display: block
  }
  .footer__link-widget__col:first-child {
    margin-right: 0
  }
  .footer__social__item:nth-of-type(5) {
    margin-right: 3rem
  }
  .footer__social__item--show-more {
    margin-left: 0;
    margin-top: 2rem
  }
}

.footer__link-widget__col li a {
  color: #fff;
}
.footer__link-widget__col li a:hover {
  color: #fff;
}
.footer__link-widget__col li {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.footer__social__item--show-more a:hover,
.video-panel__block:hover .video-panel__block__link,
.carousel__slide__block__link:hover,
.banner-img-txt-alt__block__link:hover,
.banner-img-txt__block__link:hover {
  text-decoration: none;
}
.footer__social__item--show-more a span:hover,
.video-panel__block:hover .video-panel__block__link span,
.carousel__slide__block__link:hover span,
.banner-img-txt-alt__block__link:hover span,
.banner-img-txt__block__link:hover span {
  text-decoration: underline;
}

/* === Mobile layout correction: keep logo first, links second, social at bottom (added 2025-08-15 17:24:27) === */
@media (max-width: 767.98px) {
  /* Column order at the row level */
  .footer__col--primary  { order: 1; }  /* logo first */
  .footer__col--secondary{ order: 2; }  /* link columns next */

  /* Fallback: if we can't flatten, at least push social to the end of the primary column */
  .footer__col--primary { display: flex; flex-direction: column; }
  .footer__social--desktop { order: 99; margin-top: 1rem; }

  /* Preferred: flatten primary so its children (logo + social) become row siblings */
  @supports (display: contents) {
    .footer__col--primary { 
      display: contents !important;  /* drops the wrapper box, keeps children */
    }
    .footer__logo__container {
      order: 1;
      flex: 0 0 100%;
      max-width: 100%;
    }
    .footer__col--secondary {
      order: 2;
      flex: 0 0 100%;
      max-width: 100%;
    }
    .footer__social--desktop {
      order: 3;                   /* place social at bottom */
      display: block;             /* ensure visible on mobile */
      flex: 0 0 100%;
      max-width: 100%;
      margin-top: 1rem;
    }
  }
}

/* Extra-small tuning (iPhone 12-ish) */
@media (max-width: 400px) {
  .footer__social__list {
    justify-content: center;
    gap: .5rem;
  }
}

/* === Social icons single-row on extra-small screens (added 2025-08-15 17:37:38) === */
@media (max-width: 400px) {
  .footer__social__list {
    display: flex;
    flex-wrap: nowrap;           /* force one line */
    justify-content: space-between;
    align-items: center;
    gap: .35rem;                  /* tighter spacing */
    padding-left: 0;
    margin: 0;
    width: 100%;
    list-style: none;
  }
  .footer__social__list li { flex: 0 0 auto; margin: 0; }
  .footer__social__list a,
  .footer__social__list img,
  .footer__social__list svg {
    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;
  }
}
/* Even narrower devices (≤360px): shrink a bit more to avoid wrapping */
@media (max-width: 360px) {
  .footer__social__list {
    gap: .25rem;
  }
  .footer__social__list a,
  .footer__social__list img,
  .footer__social__list svg {
    width: 24px;
    height: 24px;
    max-width: 24px;
    max-height: 24px;
  }
}

/* === Place "More on social media" on its own line on small screens (added 2025-08-15 17:46:33) === */
@media (max-width: 400px) {
  /* Allow wrapping within the list, but keep icons together */
  .footer__social__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
  }
  /* Icons: stay on one row */
  .footer__social__item:not(.footer__social__item--show-more) {
    flex: 0 0 auto;
  }
  /* "More on social media": force to next line and full width */
  .footer__social__item--show-more {
    flex: 0 0 100%;
    order: 99;
    margin-top: .5rem;
    text-align: left;
  }
  /* Slightly trim icon size so 5 fit comfortably on 390px devices */
  .footer__social__list img,
  .footer__social__list svg {
    max-width: 26px;
    max-height: 26px;
  }
}

/* OneTrust Cookie Consent Banner - Mobile Responsive */
@media only screen and (max-width: 896px) {
  #onetrust-consent-sdk #onetrust-banner-sdk {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
  }
  
  #onetrust-consent-sdk #onetrust-policy-text,
  #onetrust-consent-sdk #onetrust-policy-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  
  #onetrust-consent-sdk #onetrust-button-group-parent {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  
  #onetrust-consent-sdk #onetrust-button-group button {
    width: 100% !important;
    margin: 5px 0 !important;
    padding: 10px !important;
  }
  
  #onetrust-consent-sdk #onetrust-pc-sdk {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100vh !important;
  }
}

/* Footer Styles from fordham_footer.css */
.js .footer {
  opacity: 0
}


.js.js-ready .footer {
  opacity: 1
}


.footer {
  background-color: #7e072a;
  margin-top: 0
}


.footer__container {
  padding: 2rem 5rem
}


.footer__col--primary {
  display: flex;
  flex-direction: column;
  justify-content: space-between
}


.footer__col--tertiary {
  display: none
}


.footer__logo {
  display: block;
  min-width: 225px;
  max-width: 320px;
  height: auto;
  margin-top: .5rem;
  margin-bottom: 1rem;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden
}


.footer__logo > img {
  width: 100%;
  height: auto
}


.footer__social, .footer__tagline {
  color: #fff !important
}


.footer__social__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}


.footer__social__item {
  margin-left: .75rem;
  margin-right: .75rem
}


.footer__social__item:first-child {
  margin-left: 0
}


.footer__social__item--show-more > a {
  padding-top: .25rem;
  padding-bottom: .25rem
}


.footer__social__link {
  padding: .5rem 0;
  color: #fff !important
}


.footer__social__link__text {
  font-size: .75rem;
  line-height: 1.4;
  letter-spacing: .07rem;
  text-transform: uppercase;
  font-weight: 600
}


.footer__social__link > img {
  width: 2rem
}


.footer__social__link > svg {
  fill: #fff
}


.footer__link-widget {
  color: #fff !important;
  display: flex
}


.footer__link-widget__col:first-child {
  margin-left: auto;
  margin-right: 5rem
}


.footer__link-widget__item {
  padding-top: .25rem;
  padding-bottom: .25rem
}


.footer__link-widget__item--title {
  border-bottom: 2px solid #DD3224;
  margin-bottom: 1rem
}


.footer__link-widget__link {
  color: #fff !important
}


.footer__link-widget__link-title {
  display: block;
  font-weight: 700;
  letter-spacing: -.025rem
}


@media (max-width:1199px) {
  .footer__container {
    padding: 2rem
  }


  .footer__logo {
    margin-top: 0
  }


  .footer__col--primary {
    display: block;
    flex-direction: row;
    justify-content: normal;
    margin-bottom: 1rem
  }


  .footer__col--tertiary {
    display: block
  }


  .footer__social--desktop {
    display: none
  }


  .footer__social--mobile {
    margin-top: 1rem
  }


  .footer__link-widget__col:first-child {
    margin-left: 0
  }


@media (max-width:575px) {
  .footer__logo {
    min-width: auto;
    max-width: 225px
  }


  .footer__link-widget {
    display: block
  }


  .footer__link-widget__col:first-child {
    margin-right: 0
  }


  .footer__social__item:nth-of-type(5) {
    margin-right: 3rem
  }


  .footer__social__item--show-more {
    margin-left: 0;
    margin-top: 2rem
  }


@media (max-width:480px) {
  .footer__social__item:nth-of-type(5) {
    margin-right: .75rem
  }

