/*——————————————————————————————————————————————
  Global keyboard focus styles

  GOV.UK-inspired focus style for normal text links/buttons.
——————————————————————————————————————————————*/
:where(
  a,
  button,
  summary,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  input[type="image"]
):focus-visible {
  outline: 3px solid transparent !important;
  color: #0B0C0C !important;
  background-color: #FFDD00 !important;
  box-shadow:
    0 -2px #FFDD00,
    0  4px #0B0C0C !important;
  text-decoration: none !important;
 transition: none !important;
}

/* Text-entry fields retain a white interior. The yellow outer outline
   communicates focus while the inset black shadow strengthens the field
   boundary without changing its dimensions. */
:where(
  input:not([type]),
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  select,
  textarea
):focus-visible {
  outline: 3px solid #FFDD00 !important;
  outline-offset: 0 !important;
  color: #0B0C0C !important;
  background-color: #FFFFFF !important;
  border-color: #0B0C0C !important;
  box-shadow: inset 0 0 0 2px #0B0C0C !important;
  transition: none !important;
}

/* Native compact form controls need a ring rather than a filled background. */
:where(
  input[type="checkbox"],
  input[type="radio"],
  input[type="file"],
  input[type="range"],
  input[type="color"]
):focus-visible {
  outline: 3px solid #FFDD00 !important;
  outline-offset: 3px !important;
  background-color: initial !important;
  box-shadow: 0 0 0 2px #0B0C0C !important;
  transition: none !important;
}

/* The linked header logo needs a ring around the complete brand mark. */
.header_wrapper .logo a:focus-visible {
  color: inherit !important;
  background-color: transparent !important;
  outline: 3px solid #FFDD00 !important;
  box-shadow: 0px -2px #FFDD00,
              2px  8px #0B0C0C,
             -2px  8px #0b0c0c !important;
  text-decoration: none !important;
  transition: none !important;
}

/* Full-width mobile flyout section controls. */
.mobile-dropdown-section-toggle:focus-visible,
.mobile-dropdown-section-toggle--dark:focus-visible {
  outline: 3px solid transparent !important;
  color: #0B0C0C !important;
  background-color: #FFDD00 !important;
  box-shadow:
    0 -2px #FFDD00,
    0 4px #0B0C0C !important;
  text-decoration: none !important;
}

.tulane-hamburger-menu-icon_wrapper,
.search-close,
.ribbon-submenu-toggle,
.sub-navigation-toggle,
.primary-navigation-toggle {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Independent compact disclosure buttons beside navigational links. */
/* Must come after the base state. */
:where(
  .tulane-hamburger-menu-icon_wrapper,
  .search-close,
  .ribbon-submenu-toggle,
  .sub-navigation-toggle,
  .primary-navigation-toggle
):focus-visible {
  outline: 3px solid transparent !important;
  color: #0B0C0C !important;
  background-color: #FFDD00 !important;
  box-shadow:
    0 -2px #FFDD00,
    0 4px #0B0C0C !important;
  text-decoration: none !important;
  transition: none !important;
}

.block-type-system-breadcrumb-block
nav[aria-label="Breadcrumb"]
ol li > a {
  display: inline-block;
}

/* Reveal the skip link over the page without shifting the layout. */
.skip-link.visually-hidden.focusable:is(:focus, :focus-visible) {
  position: fixed !important;
  inset-block-start: calc(var(--drupal-displace-offset-top, 0px) + 5.5rem);
  inset-inline-start: 50%;
  z-index: 10000;

  width: max-content;
  max-width: calc(100vw - 2rem);
  height: auto;
  padding: 0.5rem 0.75rem;
  overflow: visible;
  clip: auto;
  clip-path: none;
  transform: translateX(-50%);
  white-space: normal;
  text-align: center;

  color: #0B0C0C !important;
  background-color: #FFDD00 !important;
  outline: 3px solid transparent;
  box-shadow: 0 0 0 3px #0B0C0C;
  text-decoration: none;
}

/*——//——*/

/* Safari 11+ */
@media not all and (min-resolution:.001dpcm) {
  @supports (-webkit-appearance:none) and (stroke-color:transparent) {
    nav [type=button] {
      -webkit-appearance: button-bevel;
    }
  }
}

/* substitue menu titles */
@media(max-width: 64em) {
  .collapse-close:after,
  .collapse-open:after {
    position: relative;
    float: right;
    margin-right: 15%;
  }
}

/* Layout builder modal */
#layout-builder-modal {
  padding-bottom: 75px;
}

/*——————————————————————————
  Search
——————————————————————————*/

.search-box-overlay
:is(.site-search-submit, .search-close):hover {
  background-color: rgb(255 255 255 / 12%) !important;
}

.search-box-overlay
:is(.site-search-submit, .search-close):focus-visible {
  color: #0B0C0C !important;
  background-color: #FFDD00 !important;
  outline: 3px solid transparent !important;
  box-shadow: 0 0 0 3px #0B0C0C !important;
}

/* Override the global yellow-fill input treatment only in this overlay. */
.search-box-overlay
.form-search[type="search"]:focus-visible {
  color: #FFFFFF !important;
  background-color: transparent !important;
  outline: 2px solid #0B0C0C !important;
  outline-offset: 0 !important;
  box-shadow: 0 0 0 5px #FFDD00 !important;
}

.search-box-overlay
.form-search[type="search"]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: brightness(0) invert(0.65);
  opacity: 1;
  transform: scale(0.75);
  transform-origin: center;
}
.search-block-form #edit-keys::placeholder {
  color: #ffffff;
  opacity: 1;
}

/*——————————————————————————
  Header
——————————————————————————*/
/* Preserve stronger white header text rendering on dark green backgrounds. */
.header_wrapper {
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

header a img.w-52 {
  min-width: 12.5rem;
}

@media(max-width: 360px) {
  header .search-hamburger-bar {
    margin-top: -8px;
    margin-left: auto;
  }

  header .flex.tulane-menu-divider {
    display: none !important;
  }

  header .flex {
    display: block !important;
  }
}

.image-text-elements-wrapper.bg-skin-fill:not(
  .image-text-elements-wrapper.content-tainted-green.bg-skin-fill
) {
  color: white;
}

.image-text-elements-wrapper.bg-skin-fill .btn-transparent-border-white:not(
  .image-text-elements-wrapper.content-tainted-green.bg-skin-fill .btn-transparent-border-white,
  .image-text-elements-wrapper.bg-skin-fill .btn-transparent-border-white:hover
) {
  --tw-border-opacity: 1;
  border-color: white ;
  background-color: transparent;
  --tw-text-opacity: 1;
  color: white;
}

.image-text-elements-wrapper.bg-skin-fill .btn-transparent-border-white:hover {
  --tw-border-opacity: 1;
  border-color: white ;
  background-color: white;
  --tw-text-opacity: 1;
  color: #255C4E;
}

/* Underline Audience and Tactical Navigation links on genuine hover devices. */
@media (hover: hover) and (pointer: fine) {
  :where(
    .tulane-menu-audience__nav,
    .tulane-desktop-tactical-navigation,
    .tulane-tactical-menu__nav
  ) a:hover:not(:focus-visible) {
    text-decoration-line: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
    text-decoration-skip-ink: auto;
  }
}

/*——————————————————————————
  Statistics
——————————————————————————*/
.statistics-wrapper,
.statistics-wrapper li {
  list-style: none !important;
}

.statistics-wrapper li .statistic-item__number {
  display: block;
}
/*——//——*/

.layout ul li a:not(
  .views-exposed-form ul li a,
  nav ul li a
),
.layout ol li a  {
  color: #00558C;
  font-weight: 700;
  font-size: 20px;
}

.paragraph--type--accordion {
  margin-top: 80px;
}

.paragraph--type--accordion button {
  color: #00558C;
}

.paragraph--type--accordion button:after {
  --tw-content: '+';
  content: var(--tw-content);
  float: right;
  margin-right: 10%;
}

.paragraph--type--accordion button.hide-plus:after {
  content: "-";
}

.paragraph--type--accordion ul {
  font-size: 20px;
  display: block;
  float: left;
}

.paragraph--type--accordion .border-b.mt-5.border-tu-green-official-100 {
  overflow: hidden;
}

.paragraph--type--accordion p {
  display: block;
  overflow: hidden;
  float: none;
  min-width: 100%
}

.paragraph--type--accordion ul  {
  width: 100%
}

.paragraph--type--accordion ul ul {
  margin-left: 25px;
}

.paragraph--type--accordion ul ul li {
  list-style: circle;
}

/*——————————————————————————
  Accordion
——————————————————————————*/
.accordion {
  margin-bottom:2rem;
}

.accordion__content {
  overflow: hidden;
  padding-bottom: 10px;
}

.accordion__content .button a:hover {
  color: white !important;
}

.accordion__item {
  border-top:0.0625rem solid #1e6344;
}
.accordion__item:last-child {
  border-bottom: 0.0625rem solid #1e6344;
}
.accordion .accordion__item > p {
  margin: 0
}

.accordion__toggle {
  display:block;
  padding:0.5rem 0;
  font-size:1.1rem;
  line-height:1.3;
  color:#55812b;
}

.accordion__toggle {
  display:block;
  padding:0.5rem 0;
  font-size:1.5rem;
  line-height:1.6;
  color:#55812b;
}

.accordion__toggle:hover {
  color:#1e6344;
}

.accordion__toggle:after {
  --tw-content: '+';
  content: var(--tw-content);
  float: right;
  margin-right: 10%;
}

.accordion__toggle__icon {
  float:right;
  width:1.25rem;
  margin-left:2rem;
  margin-top:1rem;
}

.accordion__item--active .accordion__toggle__icon {
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}

.accordion__item--active .accordion__content {
  height:auto;
}

.accordion__interior a:not(.button, .btn-tulane) {
  color: #245588 !important;
}

.block-type-accordion .accordion-section > div > div:first-child {
  padding-top: 20px
}

.block-type-accordion .accordion-section .border-b {
  clear: both;
}

.accordion-section ul,
.paragraph--type--accordion ul {
  margin-left: 30px;
  list-style: disc;
  margin-bottom: 15px;
}
/*——///——*/

@media (max-width: 50em) {
  main .-mx-4 {
    min-width: 80% !important;
    margin: 0 !important;
  }
}

.node-type-full-width-template article a,
.node-type-universal-landing article a,
.node-type-academic-programs-page article a,
.node-type-universal article a:not(a.accordion__toggle) {
  font-weight: 500;
}

.node-content figure {
  display: table;
}

.node-type-universal .layout-content figure figcaption {
  background-color: #eee;
  padding: 5px;
}

.node-type-full-width-template article p,
.node-type-universal-landing article p,
.node-type-academic-programs-page article p,
.node-type-universal article p {
  font-variant: JIS04;
  margin: 20px 0;
  line-height: 1.5;
  font-size: 20px;
}

.node-type-alert .layout-content ul,
.node-type-rich-text-widget .layout-content ul,
.node-type-full-width-template .layout-content ul,
.node-type-universal-landing .layout-content ul,
.node-type-academic-programs-page .layout-content ul,
.node-type-universal .layout-content ul {
  list-style: disc;
  font-size: 20px;
  margin-left: 30px;
}
.paragraph ol {
  margin-left: 30px;   
}

.node-type-alert .layout-content ul li ul,
.node-type-rich-text-widget .layout-content ul li ul,
.node-type-full-width-template .layout-content ul li ul,
.node-type-universal-landing .layout-content ul li ul,
.node-type-academic-programs-page .layout-content ul li ul,
.node-type-universal .layout-content ul li ul {
  list-style: circle;
}

body .layout-content #block-tulane-tailwindcss-local-tasks ul {
  list-style: none;
  font-size: inherit;
  margin-left: 0;
}


.node-type-full-width-template article table.border,
.node-type-universal-landing article table.border,
.node-type-academic-programs-page article table.border,
.node-type-universal article table.border {
  border: 1px solid rgb(40, 92, 77);
}

table[align="center"] {
  margin-left: auto;
  margin-right: auto;
}

.node-type-full-width-template article table.border th,
.node-type-universal-landing article table.border th,
.node-type-academic-programs-page article table.border th,
.node-type-universal article table.border th {
  font-size: 20px;
  text-align: left;
  color: white;
  background-color: rgb(40, 92, 77);
}
.node-type-universal .node-content .tabled__caption {font-size: 20px; margin-bottom: 10px;}
.node-type-universal .node-content table td {font-size: 20px;}

.node-type-full-width-template aside {
  display: none;
}

.node-type-full-width-template .main_wrapper article .grid div {
  margin: 0 !important;
}

/*——————————————————————————————
  Academic Programs page
——————————————————————————————*/
.node-type-academic-programs-page .layout--twocol-section {
  display: flex;
  flex-wrap: wrap;
}

.node-type-academic-programs-page .layout--twocol-section .layout__region,
.layout--twocol-section .layout__region {
  overflow: hidden;
}

.node-type-academic-programs-page .layout--twocol-section .layout__region,
.layout--twocol-section .layout__region {
  padding: 20px;
}

.node-type-academic-programs-page .layout__region--second {
  margin: 10px 0 0 0;
}

/* Questionable style ???
   ––––––––––––––––––––––
   No Sidebars—-sidebar menus—-on Academic Programs pages? */
.node-type-academic-programs-page aside {
  display: none;
}

@media screen and (min-width: 40em) {
  .node-type-academic-programs-page .layout--twocol-section.layout--twocol-section--25-75 > .layout__region--second,
  .node-type-academic-programs-page .layout--twocol-section.layout--twocol-section--75-25 > .layout__region--first {
    flex: 0 1 75%;
  }
}

@media screen and (min-width: 40em) {
  .node-type-academic-programs-page .layout--twocol-section.layout--twocol-section--25-75 > .layout__region--first,
  .node-type-academic-programs-page .layout--twocol-section.layout--twocol-section--75-25 > .layout__region--second {
    flex: 0 1 25%;
  }
}

.node-type-academic-programs-page .action-buttons a:hover {
  text-decoration: none;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(33 84 63 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

.node-type-academic-programs-page .action-buttons a {
  --tw-border-opacity: 1;
  border-color: rgb(33 84 63/var(--tw-border-opacity));
  background-color: initial;
  --tw-text-opacity: 1;
  color: rgb(33 84 63/var(--tw-text-opacity));
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
  padding: 0.75rem 1.25rem;
  display: inline-block;
  min-width: 250px;
  text-align: center;
  margin: 10px 0 0 0;
  float: left;
  position: relative;
}
/*——///——*/

main .layout__region--content ol,
article ol {
  font-size: 20px !important;
  text-align: left !important;
  margin: 20px 20px 20px 25px !important;
}

main ol li:not(
  .block-type-system-breadcrumb-block ol li,
  nav ol li
) {
  list-style: decimal;
  font-size: inherit;
  text-align: left;
}

.paragraph ul:not(nav ul), main ol li:not(
  .block-type-system-breadcrumb-block ol li,
  nav ol li
) {
font-size: 20px;
margin-left: 30px;
}

article .block-type-system-breadcrumb-block ol li {
  list-style: none !important;
  font-size: 16px !important;
}

main .layout__region--content > ul li :not(
  .contextual-links, em, a),
  article > ul > li :not(
    .contextual-links,
    em,
    a
  ) {
    list-style: disc !important;
    font-size: 18px;
    text-align: left !important;
}

main .layout__region--content > ul > ul {
  list-style: circle;
}

/* Questionable ? */
.main_wrapper .layout-content p:not(
  .node-type-tulane-people .main_wrapper .layout-content p,
  .node-type-academic-programs-page .main_wrapper .layout-content p,
  .block-type-masonry-grid p
) {
  overflow: inherit;
}
/* Attempt at cleaner version of above style */
body:not(.node-type-tulane-people):not(.node-type-academic-programs-page)
  .main_wrapper .layout-content p:not(.block-type-masonry-grid p) {
  overflow: inherit;
}

.main_wrapper .layout-content p:not(.accordion__item p) {
  margin-bottom: 15px;
}

.text-align-center span,
.text-align-center a {
  float: none;
}

.text-align-center {
  text-align: center;
  margin: auto;
  float: none;
}

.text-align-center p, .text-align-center:not(
  .paragraph--type--hero .text-align-center,
  .text-align-center
) {
  margin-left: 0 !important;
}

@media (min-width: 80em) {
  .main_wrapper .layout-content p {
    overflow: visible;
  }
}

@media (min-width: 640px) {
  p {
    line-height: 26px;
  }

  .image-content__title p {
    line-height: 30px;
  }
}

/* social icons module */
.block.layout .block-social-media-links ul li:first-child {
  margin-left: 0;
}

.fab, .fa {
  -webkit-text-fill-color: #255C4E;
}

/*
.fab.fa-2x,
.fa.fa-2x {
  font-size: 1.5em !important;
}

.fab.fa-3x,
.fa.fa-3x {
  font-size: 3em !important;
}

.fab.fa-4x,
.fa.fa-4x {
  font-size: 4em !important;
}

.fab.fa-5x,
.fa.fa-5x {
  font-size: 5em !important;
}
*/

#vidbutton {
  float: right;
  margin-top: -20%;
  z-index: 10;
  position: relative;
  max-width: 50px;
  opacity: 0.8;
}

/* temp padding for multi-column layouts */
.layout__region {
  box-sizing: border-box;
/*  margin: 10px 0; removed 01-06-23 */
}

.layout__region--top {
  margin-top: 0;
}

.layout__region--bottom {
  margin-bottom: 0;
}

[class*="layout__region--first"] {
  padding-right: 15px;
}

[dir="rtl"] [class*="layout__region--first"] {
  padding-right: 0;
  padding-left: 15px;
}

[class*="layout__region--second"] {
  padding-left: 15px;
}

[dir="rtl"] [class*="layout__region--second"] {
  padding-right: 15px;
  padding-left: 0;
}

.layout__region--third {
  padding-left: 30px;
}

[dir="rtl"] .layout__region--third {
  padding-right: 30px;
  padding-left: 0;
}

@media screen and (max-width: 40em) {
  .layout__region {
    padding: 0;
  }
}

.content-tainted-green.layout {
  background-color: #E6F6FC;
}

.bg-white {
  background-color: white;
}

.bg-tu-green-official.container .block-type-image-content-grid h3,
.bg-tu-green-official.container .block-type-image-content-grid h4,
.bg-tu-green-official.container .block-type-image-content-grid p {
  color: white;
}

.accordion-section ul li,
.layout--onecol ul li:not(
  .block-type-quick-links ul li,
  ul li ul li
),
section ul li, .accordion__interior ul li,
.block.layout div ul li:not(
  nav ul li,
  .no-disc li, ul li ul li, .social-media-links--platforms li
) {
  margin-left: 30px;
  list-style: disc;
}

.bg-tu-green-official .btn-tulane {
  color: white;
  border: 1px solid white;
}

.bg-tu-green-official .btn-tulane:hover {
  background-color: white;
  color: #21543f;
}

.btn-tulane.btn-transparent.transition-all:hover:not(
  .bg-skin-fill .btn-tulane.btn-transparent.transition-all:hover,
  .bg-tu-green-official .btn-tulane:hover
) {
  border-color: var(--color-white);
  color: var(--color-white);
  background-color: #255c4e;
}

.bg-tu-green-official.white {
  color: white;
}

.accordion-section ul li ul li,
.layout--onecol ul li ul li {
  margin-left: 30px;
  list-style: circle;
}

.paragraph--view-mode--two-columns-no-overlay .image-content__item_wrapper,
.paragraph--view-mode--three-columns-no-overlay .image-content__item_wrapper,
.paragraph--view-mode--four-columns-no-overlay .image-content__item_wrapper {
  border: 1px solid gray;
  padding: 5px;
  border-radius: 3px;
}

.paragraph--type--quick-links ul li:first-child {
  margin-left: 0;
}

.quicklinks-items__wrapper ul li {
  /* padding: 1rem; */
}

@media (min-width: 64em) {
  .quicklinks-items__wrapper ul li {
    padding: 0 .25rem;
  }
}

.block-type-content-block .btn-tulane {
  margin: 5px;
}

p .btn-tulane {
  font-size: 16px;
}

article .block a:not(
  .btn-tulane, .btn-green,
  .btn-tulane a,
  .block-type-system-breadcrumb-block ol li a
) {
  color: #00558C;
  font-weight: 700;
}

/* FIXED: Removed min-width 100% on layout links which was shattering sentences */
article .layout a:not(
  .views-row a,
  .news-title a,
  .btn-tulane,
  .btn-green,
  .btn-tulane a,
  .block-type-system-breadcrumb-block ol li a,
  .button--full a,
  .news-home img,
  .a2a_kit a
) {
  min-width: auto;
}

/* FIXED: Removed negative margins and flex logic that broke sentence flow */
.layout div p a:not(
  .paragraph--type--expert-media-appearances a,
  .btn-tulane,
  .btn-green,
  .btn-tulane a,
  .block-type-system-breadcrumb-block ol li a,
  .image-content__title a,
  .accordion .accordion__item a.accordion__toggle, 
  .bg-tu-green-official .paragraph--type--image-content-grid .image-description a
) {
  color: #00558C;
  margin: 0;
}
.bg-tu-green-official .paragraph--type--image-content-grid a {
    color: #F0EBDB ;
    font-weight: 600;
    padding: 0;
}
.accordion .accordion__item a.accordion__toggle {
  color: #00558C;
  font-weight: 500;
  font-size: 22px;
}

.rollover-description p a {
  color: white !important;
}

.bg-skin-fill a:not(
  .button,
  .btn-tulane,
  .content-tainted-green a,
  .tag-news a
) {
  color: #5FB5D4 !important
}

.news-feature .hover-img,
.news-feature .hover-img > a {
  min-height: 100% !important;
  display: flex;
}

.news-feature .hover-img img {
  width: auto;
  object-fit: cover;
}

article .block a:hover:not(.btn-tulane) {
  text-decoration: underline;
}

article .layout a:hover:not(.btn-tulane) {
  text-decoration: underline;
}

.layout div p a:hover:not(
  .btn-tulane,
  .button
) {
  text-decoration: underline;
}

.float-img-right img {
  max-width: 400px;
  float: right;
  margin: 10px 20px;
}

.text-align-center img {
  text-align: center;
  margin: auto;
}

.align-center img {
  margin: auto !important;
}

.text a:not(.btn-transparent) {
  text-decoration: underline;
}

.text a.btn-transparent {
  text-decoration: none;
}

.block-type-carousel figcaption a {
  color: #BBDAEB !important;
}

.table-auto {
  border: 1px solid #D3D3D3;
  border-bottom: 4px solid #D3D3D3;
}

.table-auto tr td  {
  padding: 14px;
  border-bottom: 1px solid #D3D3D3;
}

.table-auto thead {
  background-color: #E6F6FC;
}

.table-auto thead th {
  padding: 14px;
  border-bottom: 1px solid #D3D3D3;
}

.table-auto tr th {
  background-color: rgb(40, 92, 77);
  color: white;
  font-size: 20px;
}

.webform-submission-form input {
  padding: 10px;
  margin: 10px;
}

.webform-submission-form textarea {
  border: 1px solid gray;
  margin-left: 10px;
  margin-top: 5px;
}

.webform-submission-form .captcha {
  padding: 10px;
}

.webform-submission-form .form-required:after {
  content: " *";
  color: #f00;
}

.webform-submission-form .js-form-type-select  {
  padding-top: 6px;
}

.webform-submission-form .js-form-type-select select {
  min-height: 47px;
}

.webform-confirmation {
  margin-top: 100px;
}

.webform-submission-form .form-type-checkbox {
  display: flex  !important;
  flex-direction: column  !important;
}

.webform-submission-form .form-type-checkbox label {
  border-bottom: 1px solid #ddd;
  min-width: 400px !important;
  max-width: 400px;
  margin-left: 50px;
  float: left;
  margin-top: -30px;
  padding-bottom: 10px;
}

.webform-submission-form .form-type-checkbox input {
  min-width: 20px;
  max-width: 20px;
  float: left;
}

.button:hover:not(
  .node-type-universal .button:hover,
  .node-type-universal-landing .button:hover,
  .image-text-elements-wrapper.bg-skin-fill .btn-transparent-border-white:hover, 
  .bg-tu-green-official .button:hover 
) {
  --tw-border-opacity: 1;
  border-color: rgb(33 84 63/var(--tw-border-opacity)) !important;
  background-color: rgb(33 84 63/var(--tw-text-opacity)) !important;
  --tw-text-opacity: 1;
  color: rgb(33 84 63/var(--tw-text-opacity)) !important;
  color: white !important;
}

/* FIXED: Buttons now use inline-block and auto margins for safe centering without forcing float-left */
.button:not(.paragraph--type--hero .button, .bg-tu-green-official .button, .cta-wrapper .button) {
    --tw-border-opacity: 1;
    border-color: rgb(33 84 63/var(--tw-border-opacity)) ;
    background-color: initial;
    --tw-text-opacity: 1;
    color: rgb(33 84 63/var(--tw-text-opacity));
    border-width: 1px;
    border-style: solid;
    cursor: pointer;
    padding: 0.75rem 1.25rem;
    display: inline-block !important;
    min-width: 250px;
    text-align: center;
    margin: 10px auto;
    position: relative;
    float: none !important;
}

.button.js-hide {
  display: none !important;
}

.node-type-universal .main_wrapper main > div > div > div > div > div ul li {
  list-style: disc;
  margin-left: 20px;
}
.node-type-universal .node-content ul, .node-type-universal .node-content ol {margin-bottom: 20px;}

.email-link, .node-type-universal .main_wrapper a:not(.button, .btn-tulane, .btn-tulane a) {
    color: #00558C;
}
/* Questionable styles ???
   ———————————————————————
   What are these classes for exactly? */
.small {
  display: block;
}

.large {
  display: none;
}

@media(min-width: 64em) {
  .small {
    display: none;
  }

  .large {
    display: block !important;
  }
}

.node-type-universal .main_wrapper .layout-content div p img,
.node-type-universal-landing .main_wrapper .layout-content div p img {
  padding: 10px;
}

.node-type-universal .main_wrapper .layout-content a:not(
  .button,
  .btn-tulane,
  .btn-tulane a
) {
  color: #00558C;
}

.node-type-tulane-news .main_wrapper .layout-content a:not(
  .button,
  .btn-tulane,
  .btn-tulane a
) {
  color: #00558C;
  font-weight: 700;
}

.node-type-tulane-news .main_wrapper .layout-content a:hover:not(
  .button,
  .btn-tulane,
  .btn-tulane a
) {
  text-decoration: underline;
}

.node-type-tulane-news .main_wrapper .layout-content ul {
  margin-left: 20px;
  margin-bottom: 20px;
}

.node-type-tulane-news .main_wrapper .layout-content ul:not(.block-type-local-tasks-block ul) {
  font-size: 20px;
  list-style: disc;
}

.node-type-tulane-news .main_wrapper .layout-content ul li:not(.block-type-local-tasks-block ul li) {
  font-size: 20px;
  list-style: disc;
}

.node-type-universal .video-embed-field-responsive-video::after {
  padding-bottom: 0 !important;
}

.node-type-universal .video-embed-field-responsive-video iframe {
  width: unset !important;
  height: unset !important;
}

.node-type-universal h1 {
  margin-top: 100px !important;
  margin-bottom: 20px !important;
  font-size: 40px !important;
  line-height: 42px !important;
}

@media (min-width: 64em) {
  .node-type-universal h1 {
    font-size: 50px !important;
    line-height: 52px !important;
  }
}

main > div > div > div > div .views-element-container form,
.views-element-container h1 {
  margin-top: 100px;
}

.views-element-container .views-exposed-form .form-actions {
  min-width: 33% !important;
}

.views-element-container .views-exposed-form .form-actions {
  margin-top: 0;
}

.views-element-container .tag-news a {
  color: #BBDAEB !important;
}

.views-element-container .pager__items li {
  list-style: none !important;
}

.bg-gradient-cover {
  background: rgb(0, 0, 0, 0.5);
}

.bg-gradient-cover p {
  color: rgb(243 244 246);
}

.views-element-container .md\:grid-cols-2 .hover-img img {
  min-width: 100%;
}

.node-type-universal .button:hover {
  text-decoration: none;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(33 84 63 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity)) !important;
}

.node-type-universal .button a:hover {
  text-decoration: none;
  color: white !important;
}

p {
  padding-bottom: 1px;
}

/* default site styling for macs
b, strong {
  font-family: freight-sans-pro__bold !important;
}
*/

nav ul.font-freight-bold {
  font-family: freight-sans-pro !important;
}

.block-type-menu-block\:menu-primary-navigation .menu-item-icon-wrapper span {
  margin-right: -4%;
}

@media (min-width: 48em) {
  aside {
    padding-top: 330px;
  }
}

aside img {
  padding-bottom: 40px;
}

aside nav .text-xl {
  font-size: 16px !important;
/*line-height: 40px;*/
}

aside nav .block {
  margin-bottom: 0.1rem;
}

aside nav ul li {
  /* border-bottom: 1px solid grey; */
}

aside nav ul li a {
  font-weight: 500;
}

aside nav ul li ul li {
  border-bottom: 0;
  padding-left: 20px;
}

aside nav ul li ul li a {
  font-weight: 500;
}

.node-content > ul li:not(.no-disc li) {
  list-style: disc !important;
}

.node-type-tulane-people h3:not(
  .block-type-field-block\:node\:tulane-people\:field-people-sub-title-1 h3
) {
  text-align: left;
  border-bottom: 2px solid rgb(33 84 63);
}

.node-type-tulane-people aside {
  display: none;
}

.layout--onecol div .block-type-basic {
  padding: 0 5%;
}

.block-type-field-block\:node\:tulane-people\:field-people-linkedin-url,
.block-type-field-block\:node\:tulane-people\:field-people-website,
.block-type-field-block\:node\:tulane-people\:field-people-gscholar_url,
.block-type-field-block\:node\:tulane-people\:field-people-facebook_url,
.block-type-field-block\:node\:tulane-people\:field-people-twitter-url {
  float: left;
  position: relative;
  min-width: 45px;
  display: block;
}

.tu-people-social {
  margin: 5px;
}

.node-type-tulane-people .main_wrapper section div ul {
  margin-left: 0;
}
.node-type-tulane-people  .main_wrapper a {font-weight: 600;}
@media (min-width: 640px) {
  .node-type-tulane-people .main_wrapper section div ul {
    margin-left: 20px;
  }
}

.block-type-basic ul,
.block-type-basic p {
  margin-left: 0;
  font-size: 20px;
}

@media (min-width: 640px) {
  .block-type-basic ul,
  .block-type-basic p {
    margin-left: 20px;
  }
}

.block-type-basic > div > ul > li {
  list-style: disc;
  margin-left: 30px;
}

.block-type-basic > div > ul > li > ul > li {
  list-style: circle;
}

/* events block */
@media(min-width:48em) {
  .views-element-container .event-article {
    min-height: 250px;
  }
}

.event-block  .event-article {
  box-sizing:         border-box;
  -moz-box-sizing:    border-box;
  -webkit-box-sizing: border-box;
  border: 2px solid #E6F6FC;
}

.event-block a {
  line-height: 26px;
  opacity: 1.0
}

.event-block a:hover:not(.btn-tulane) {
  color: #00558C;
}

.event-block .event-article:hover {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 2px solid #255C4E;
}

.views-element-container .event-date span {
  display: block;
}

.event-block footer {
  grid-column-end:   1;
  grid-column-start: 1;
}

@media(min-width:48em) and (max-width:64em) {
  .event-block footer {
    grid-column-end: 3;
    grid-column-start: 1;
  }
}

@media(min-width:64em) {
  .event-block footer {
    grid-column-end:   4;
    grid-column-start: 2;
  }
}

/*———————————————————————————————
  Legacy Footer Blocks
———————————————————————————————*/
.footer-bottom-links a {
  font-size: 18px;
}

footer .social-media-links--platforms .fab,
footer .social-media-links--platforms .fa {
  -webkit-text-fill-color: #fff;
}

footer .tulane-logo-svg-text-block .col-span-2 img {
  margin-top: 34px;
}

footer #block-footerleft .tulane-logo-svg-text-block .font-bold {
  font-weight: 500;
  font-size: 22px;
}

/*———————————————————————————————
  Ribbon Footer
———————————————————————————————*/
/*
@media (max-width: 30em) {
  footer .tulane-logo-svg-text-block.grid .col-span-1 {
    grid-column: span 2 / span 1 !important;
  }
}

footer .tulane-logo-svg-text-block .col-span-2 {
  grid-column: span 2 / span 2;
}

footer .tulane-logo-svg-text-block {
  margin-top: -42px !important;
}

.footer-bottom .tulane-logo-svg-text-block .order-1 {
  margin-top:     16px;
  margin-bottom: -16px;
}

.tulane-social-icons {
  margin-top: -20px;
}

@media (min-width:768px) {
  .tulane-social-icons {
    margin-top: 40px;
  }
}

.footer-bottom {
  display: block !important;
  background-color: #54585A;
}

.footer1 .tulane-social-icons {
  display: none;
}
/*——///——*/

.event-block .btn-tulane {
  max-width: 200px;
}

@media (min-width: 64em) {
  .views-element-container .events-page {
    margin-right: -25%;
    max-width: 1000px;
    margin-left: 20%;
  }
}

.events-page h3 {
  margin-top: 50px;
  background-color: #00558C;
  padding: 20px;
  color: white;
}

.events-page h4 {
  margin-top: 20px;
}

.events-page a {
  color: #00558C;
}

.events-page a:hover {
  text-decoration: underline;
}

.node-type-event div div p {
  margin-top: 20px;
}

.node-type-event .node-content div img {
  padding: 30px 0;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

/*————————————————————————————————————
  Admin theme styles > when logged in
————————————————————————————————————*/
.layout-builder-discard-changes.confirmation {
  margin-top: 100px;
}

.entity-view-display-layout-builder-form {
  margin: 80px 0;
}

/* Main Edit toolbar for nodes
#block-tulane-tailwindcss-local-tasks {
  margin-top: 100px;
}
*/

.node-layout-builder-form input {
  padding: 5px 7px;
}

.node-layout-builder-form #edit-submit {
  background-color: greenyellow;
}

.node-layout-builder-form #edit-discard-changes {
  background-color: red;
  color: white;
}

.node-layout-builder-form #edit-revert {
  background-color: yellow;
}

.ui-dialog-content {
  overflow: visible;
}

.toolbar-tray-open .layout-builder-block {
  max-width: 1200px;
}

.form-actions.js-form-wrapper.form-wrapper {
  display: block;
}

.media-library-views-form__rows .media-library-item--grid .media-library-widget-modal .media-library-item__click-to-select-trigger {
  min-height: 100px;
}

.media-library-views-form__rows .media-library-item--grid .field-content.media-library-item__content {
  min-height: 100px;
}

.media-library-views-form__rows .media-library-item--grid .contextual-region {
  min-height: 80px;
}

.media-library-views-form__rows .media-library-item--grid .media-library-item__name {
  font-size: 12px;
  margin-top: -8px;
}

.media-library-views-form__rows .media-library-item--grid .media-library-item__preview {
  min-height: 100px;
  display: block;
  overflow: hidden;
}

.layout-content div[data-drupal-messages] {
    position: relative;
}

/* Page update message
body:not(.node-type-article) .layout-content div[role="contentinfo"],
body:not(.node-type-article) .layout-content div[aria-label="Status message"] {
  position: absolute;
  top: 13rem;
}
 */
 
@media (max-width: 64em) {
  button.visually-hidden {
    display: block !important;
  }

  .layout-builder-block ul {
    display: block !important;
  }

  .ui-widget.ui-widget-content {
    max-width: 600px;
  }
}

/*———————————————————————————————
  Webform
———————————————————————————————*/
.js-form-item h1 {
  margin-top: 100px !important;
  margin-bottom: 20px !important;
  font-size: 62px !important;
  line-height: 62px !important;
}

#block-webform {
  display: block;
  overflow: hidden;
}

.webform-submission-form select {
  border: 1px solid gray;
  margin: 4px;
  padding: 2px;
}

.webform-submission-form .js-form-item {
  min-width: 100%;
  float: left;
  margin: 10px 0;
}

.webform-submission-form .js-form-type-select select {
  float: left;
  clear: both;
}

.webform-submission-form .js-form-item  label {
  font-weight: bold;
  min-width: 100%;
  float: left;
}

.webform-submission-form .js-form-type-select label,
.js-form-type-select .description {
  min-width: 100%;
  float: left;
}

.webform-submission-form ul,
.webform-submission-form li {
  list-style: disc;
  margin-left: 12px;
}

.webform-submission-form p a {
  color: #245588;
  font-weight: 700;
}

.webform-submission-form p a:hover {
  text-decoration: underline;
}

/*——————————————————————————————————————
  Image and Text block type component
——————————————————————————————————————*/
/*
@media (min-width: 64em) {
  .image-text__image_container iframe {
    margin:auto;
    min-height: 350px;
    min-width: 550px;
  }
}*/

.image-text__image_container div {
  width: 100%; /* Full width of the parent */
  aspect-ratio: 16 / 9; /* Automatically calculates the height */
 /* overflow: hidden; */
}

.image-text__image_container div iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

@media (min-width: 64em) {
  .image-text__image_container div{
    width: 120%; /* Full width of the parent */
    aspect-ratio: 16 / 9; /* Automatically calculates the height */
   /* overflow: hidden; */
  }
}

/*——————————————————————————————
  Columns
——————————————————————————————*/
.layout--fourcol-section .layout__region,
.layout--threecol-section .layout__region {
  padding: 5px;
}

@media screen and (min-width: 40em) {
  .layout--threecol-section--33-34-33 > .layout__region--second {
    flex: 0 1 33% !important;
  }
}

/*——————————————————————————————
  Old grid
——————————————————————————————*/
article .grid div ul {
  text-align: left;
}

.grid__item {
  min-width: 100%;
}

/*——————————————————————————————
  Local Events
——————————————————————————————*/
.node-type-event .block-type-system-breadcrumb-block nav {
  padding-top: 20px;
  margin-top: 10px;
}

.node-type-event h1 {
  font-size: 30px; line-height: 32px;
}

.node-type-event .layout__region--content ol {
  margin: 20px 0 30px 0 !important;
}

.node-type-event main ul li {
  font-size: 20px;
}

/* FLAG FOR DELETION

——————————————————————————————
  Breadcrumbs
——————————————————————————————
body:not(.node-type-article) .page-wrapper-alpine #block-breadcrumbs > nav {
  padding-top: 2.5rem;
}*/

/*——————————————————————————————
  Article
——————————————————————————————*/
/*
.node-type-article .node-content {
  padding-top: 78px;
}

.node-type-article.toolbar-fixed .node-content {
  padding-top: 0;
}
*/

.node-type-article .tulane-alert-wrapper {
  margin-top: 80px;
}

.node-type-universal .tulane-alert-wrapper {
  margin-bottom: -2.5rem;
}

/* Removed/commented out the broad universal-page sidebar hiding rule below.
   The page template already renders sidebar regions conditionally. The previous
   selector hid the only <aside> in the universal page layout, which prevented
   legitimate right-sidebar blocks from displaying. Sidebar styling should target
   explicit region classes like .layout-sidebar--first or .layout-sidebar--second instead of
   generic selectors like aside:first-of-type. */
/*
.node-type-universal main div aside:first-of-type {
  display: none;
}
*/

@media (min-width: 64em) {
  .node-type-article .tulane-alert-wrapper {
    margin-bottom: -80px;
  }
}
  .paragraph--type--hero section.header.h-screen .background-image-section,
  .paragraph--type--hero section.header.h-screen, 
  .paragraph--view-mode--herovideo section
  {
    max-height: 1280px;
	overflow: hidden;
  }
.node-type-article .block-type-system-breadcrumb-block .border-t {
  border-top-width: 0;
}

.node-type-article .block-type-system-breadcrumb-block {
  margin-top: 30px !important;
  margin-bottom: 50px;
  margin-left: 5%;
  display: inline-block;
  min-width: 100%;
  margin-top: -30px;
}

@media (max-width: 48em) {
  .block-type-hero .paragraph--view-mode--hero1 section .text {
    background: rgba(40, 92, 77, 0.8);
    color: white;
  }

  .paragraph--type--hero h3 {
    font-size: 18px;
  }
}

.bg-fixed {
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: revert;
}

@media (min-width: 64em) {
  .bg-fixed {
    background-attachment: fixed;
  }
}

.block-type-standalone-text ul {
  margin-left: 30px;
  list-style-type: disc;
}

.block-type-standalone-text ul li {
  list-style: disc;
}

/*——————————————————————————————
  Image align code
——————————————————————————————*/
.block-type-standalone-image img {
  margin: auto;
}

.node-content article.align-left div img,
.node-content figure.align-left article div img {
  margin: 0.5rem 2rem 0.5rem 0;
}

@media (min-width: 39em) {
  .node-content article.align-right div img,
  .node-content figure.align-right article div img {
    margin: 0.5rem 0rem 0.5rem 2rem;
  }
}

.node-content article.align-center div img,
.node-content figure.align-center article div img {
  margin: 0.5rem auto;
}

.node-content figure.align-center article div img,
.node-content figure.align-left article div img,
.node-content figure.align-right article div img {
  margin-bottom: 0;
}

.node-content figure figcaption:not(
  .paragraph--type--carousel figure figcaption,
  .node-type-universal .node-content figure figcaption,
  .node-content .quote-wrapper figcaption
) {
  text-align: center;
  font-style: italic;
  font-size: 1.4rem;
  padding: 0.35rem 0 0;
  margin-bottom: 1.5rem;
}

.node-type-universal .node-content figure figcaption {
  font-style: italic;
}

/* Edit form styles for figcaption element when caption is enabled */
html .cke_editable drupal-media > figure > figcaption.cke_widget_editable {
  background-color: initial;
  border: 1px solid #ccc;
  text-align: center;
  font-style: italic;
}

/* Making Embedded Videos From Media Manager Responsive
- https://www.drupal.org/project/drupal/issues/3060968#comment-13959443 */
.field--name-field-media-oembed-video {
  position: relative;
  overflow: hidden;
  width: 100%;
  /* padding-top: 56.25%;  16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  aspect-ratio: 16 / 9;
}

.video-embed-field-responsive-video {
  position: relative;
  width: 100%;
  /* Set the padding-bottom to maintain a 16:9 aspect ratio (56.25%) */
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-embed-field-responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  min-width: 100% !important;
  border: 0;
}

.block-type-basic video {
  margin: auto;
}

/* Then style the iframe to fit in the container div with full height and width */
/* iframe responsive code */
.iframe-container {
  min-height: 600px;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
}

.responsive-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*——///——*/

@media (min-width:768px) {
  .sm\:col-span-1 {
    grid-column:span 1/span 1!important
  }
}

@media (min-width:768px) {
  .md\:col-span-1{
    grid-column:span 1/span 1!important
  }

  .md\:col-span-2{
    grid-column:span 2/span 2!important
  }

  .md\:pt-0 {
    padding: 0;
  }
}

@media (min-width:1024px) {
  .lg\:col-span-1 {
    grid-column:span 1/span 1!important
  }

  .lg\:col-span-2 {
    grid-column:span 2/span 2!important
  }
}

@media (max-width: 48em) {
  .col-span-5 {
    grid-column: span 5 / span 5;
  }
}

/* respnsive table styles
   ——see https://registrar/student-data/third-party-information-requests  */
td {
  border-bottom: 0;
}

th {
  border-bottom: 2px solid rgba(0, 0, 0, .1);
}

@media (max-width:640px) {
  article table th {
    font-size: 18px !important;
  }

  table th,
  table td {
    min-height: 60px;
    max-height: 60px;
  }
}

@media (min-width:640px) {
  table {
    display: inline-table !important;
  }

  thead tr:not(:first-child) {
    display: none;
  }

  .sm\:inline-block {
    display:inline-block
  }

  .sm\:inline {
    display:inline
  }

  .sm\:flex {
    display:flex
  }

  .sm\:inline-flex {
    display: inline-flex
  }

  .sm\:grid {
    display: grid
  }

  .sm\:table {
    display: table
  }

  .sm\:table-caption {
    display: table-caption
  }

  .sm\:table-cell {
    display: table-cell
  }

  .sm\:table-column {
    display: table-column
  }

  .sm\:table-column-group {
    display: table-column-group
  }

  .sm\:table-footer-group {
    display: table-footer-group
  }

  .sm\:table-header-group {
    display: table-header-group
  }

  .sm\:table-row-group {
    display: table-row-group
  }

  .sm\:table-row {
    display: table-row
  }

  .sm\:hidden{
    display: none
  }

  .sm\:flex-row {
    flex-direction: row
  }

  .sm\:flex-row-reverse {
    flex-direction: row-reverse
  }

  .sm\:flex-col {
    flex-direction: column
  }

  .sm\:flex-col-reverse {
    flex-direction: column-reverse
  }

  .sm\:flex-wrap {
    flex-wrap: wrap
  }

  .sm\:flex-wrap-reverse {
    flex-wrap: wrap-reverse
  }

  .sm\:flex-no-wrap {
    flex-wrap: nowrap
  }
}

/* Layout Builder section background colors */
.bg-tu-blue-official {
  background-color: #F1F7F4;
}

.bg-tu-grey-official {
  background-color: #EEE;
}

.bg-tu-charcoal-official {
  background-color: #333;
}

.bg-tu-charcoal-official h2 {
  color: #fff;
}

.bg-tu-green-official div.text-tu-green-official h2 {color: white;}

.bg-black\/\[\.65\] {
  background-color: rgb(0 0 0 / .65);
}

/*——————————————————————————————
  Tulane News Node type
——————————————————————————————*/
/* handling field--media template files */
.node-type-tulane-news .node {
  margin-top: 7.5rem;
}

.node-type-tulane-news h1 {
  font-size: 32px;
  line-height: 36px;
}
@media(min-width: 64em){
  .node-type-tulane-news h1 {
    font-size: 46px;
    line-height: 48px;
  }
}
.node-type-universal main div .media-embed-resized .field-media-image img {
  width: 95%;
}

.node-type-tulane-news .field-media-image {
  margin: 10px 0 0 0;
}

.align-left .field-media-image img {
  margin-right: 1rem;
}

.align-left .field-media-image {
  margin-right: 1.5rem;
}

.align-right .field-media-image {
  margin-left: 1rem;
}

.align-center .field-media-image img {
  margin: auto;
}

@media (min-width:64em) {
  .node-type-tulane-news h1 {
    font-size: 62px !important;
    line-height: 62px !important;
  }
}

.node-type-tulane-news .media-oembed-content {
  position: relative !important;
  width: unset !important;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
}

.node-type-tulane-news .bottom-image-or-video-section .bottom-image .bottom-media-image .field-media-image img {
  width: 100%;
  margin-left:  auto;
  margin-right: auto;
}

.node-type-tulane-news .banner-image-wrapper .field-media-image,
.node-type-tulane-news .bottom-image-wrapper .field-media-image {
  margin: 0 !important;
}

.node-type-tulane-news .banner-image-or-video-section .banner-image-or-video .banner-image-or-video-caption,
.node-type-tulane-news .bottom-image-or-video-section .bottom-image-or-video .bottom-image-or-video-caption,
.node-type-tulane-news .inset-image-section .inset-image-or-video-caption,
.node-type-tulane-news .banner-image-or-video-section .image-media-caption,
.node-type-tulane-news .bottom-image-or-video-section .image-media-caption,
.node-type-tulane-news .inset-image-section .image-media-caption {
  width: 100%;
  text-align: center;
  padding: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity));
  margin-left: auto;
  margin-right: auto;
}

.node-type-tulane-news .banner-image-or-video-section .banner-remote-video-wrapper .field-media-remote-video,
.node-type-tulane-news .bottom-image-or-video-section .bottom-remote-video-wrapper .field-media-remote-video {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  margin-left:  auto;
  margin-right: auto;
}

.node-type-tulane-news .bottom-image-or-video-section .bottom-video-file-wrapper .field-media-video-file,
.node-type-tulane-news .bottom-image-or-video-section .bottom-image-or-video .bottom-media-image .field-media-image img {
  margin-left:  auto;
  margin-right: auto;
}

.node-type-tulane-news .banner-image-or-video-section .banner-remote-video-wrapper .field-media-video-file,
.node-type-tulane-news .bottom-image-or-video-section .bottom-remote-video-wrapper .field-media-video-file {
  width: 100%;
}

.node-type-tulane-news .bottom-image-or-video-section .banner-video-file-wrapper .field-media-video-file video,
.node-type-tulane-news .bottom-image-or-video-section .bottom-video-file-wrapper .field-media-video-file video {
  width: 100%;
}

.node-type-tulane-news .banner-image-or-video-section .banner-remote-video-wrapper .field-media-remote-video iframe,
.node-type-tulane-news .bottom-image-or-video-section .bottom-remote-video-wrapper .field-media-remote-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(15 23 42);
}

@media (min-width: 1024px) {
  .node-type-tulane-news .bottom-image-or-video-section .field-media-image img,
  .node-type-tulane-news .bottom-image-or-video-section .field-media-image .image-media-caption,
  .node-type-tulane-news .bottom-image-or-video-section .bottom-image-or-video .bottom-image-or-video-caption {
    width: 83.333333%;
  }

  .node-type-tulane-news .bottom-image-or-video-section .bottom-video-file-wrapper .field-media-video-file {
    width: 83.333333%;
  }

  .node-type-tulane-news .bottom-image-or-video-section .bottom-remote-video-wrapper .field-media-remote-video {
    width: 83.333333%;
    padding-top: 46.87%;
    background-color: rgb(15 23 42);
  }
}

.node-type-tulane-news .inset-float-right {
  float:right;
  max-width:250px;
  margin: 10px 0 10px 10px;
}

.node-type-tulane-news .inset-float-left {
  float:left;
  max-width:250px;
  margin: 10px 10px 10px 0;
}

.node-type-tulane-news .inset-float-right figcaption {
  background-color: rgb(226 232 240);
  padding: 14px 5px 5px 5px;
  margin: -10px 10px 5px 10px;
  line-height: 20px;
}

.node-type-tulane-news .inset-float-left figcaption {
  background-color: rgb(226 232 240);
  padding: 14px 5px 5px 5px;
  margin: -10px 10px 5px 10px;
  line-height: 20px;
}

.node-type-tulane-news figure figcaption:not(#inset-image-section figure figcaption) {
  background-color: rgb(226 232 240);
  padding: 10px 5px;
}

.node-type-tulane-news figure {
  margin-bottom: 10px;
}

/* removing flex item from tulane-news node type so that widths behave appropriately */
.node-type-tulane-news .main_wrapper .container > .md\:flex {
  display: initial;
}
/*——/ reduce container padding on mobile when added as a layout builder style to section containing quicklinks  /——*/
@media (max-width: 48rem) {
  .container.px-10.layout:has(.quicklinks-wrapper) {
    padding-left: 0;
    padding-right: 0;
  }
}
.block-type-content-block h2 {
  z-index: 9;
  position: relative;
}

.block-type-content-block p {
  font-size: 22px;
}

/* fixing a recent font-size issue */
.node-type-universal .node-content p,
.node-type-universal .node-content ul li {
  font-size: 20px;
}

.node-type-universal h2 {
  font-family: Bookmania, serif;
  font-weight: 700;
  margin-bottom: 20px;
}
.node-type-universal h3 { margin-top: 10px;}

.node-type-universal .node-content ul li:not(
  .node-type-universal .node-content ul li ul li
) {
  list-style: disc !important;
}

/*
.block-type-colorbox-image-gallery img {
  max-width: 90%;
  min-width: 90%;
  padding: 5px;
  margin: auto;
  float: none;
  margin: auto;
}

@media (min-width: 38em) {
  .block-type-colorbox-image-gallery img {
    min-width: 50%;
    max-width: 50%;
    float: left;
  }
}

@media (min-width: 48em) {
  .block-type-colorbox-image-gallery img {
    min-width: 33%;
    max-width: 33%;
    float: left;
  }
}

@media (min-width: 64em) {
  .block-type-colorbox-image-gallery img {
    min-width: 25%;
    max-width: 25%;
    float: left;
  }
}
*/

span.anchor {
  margin-top: -150px;
  display: block;
  padding-bottom: 150px;
}

.ck-anchor {
  scroll-margin-top: 100px;
}

p .ck-anchor {
  margin-top: -150px !important;
  display: block;
  padding-bottom: 150px !important;
}

@media (max-width: 48em) {
  .block-type-quote-images .quote-wrapper .absolute {
    position: relative;
  }

  .block-type-quote-images blockquote,
  .block-type-quote-images  figcaption {
    min-width: 99%;
  }

  figure blockquote {
    font-weight: normal !important;
  }
}

@media (max-width: 88em) {
  .quote-wrapper blockquote.w-6\/12,
  .quote-wrapper figcaption.w-6\/12 {
    width: 90%
  }
}

.quote-wrapper blockquote, .quote-wrapper figcaption {
  background-color: rgb(38, 87, 69, 0.7);
}

.quote-wrapper figcaption:not(.block-type-quote-images .quote-wrapper figcaption) {
  padding-bottom: 10px !important
}

.image-content-grid-text-wrapper > div > div p {
  font-size: 20px
}

.video-embed-field-launch-modal:hover {
  cursor: pointer;
}

.video-embed-field-launch-modal {
  display: inline-block;
  position: relative;
}

.video-embed-field-launch-modal img {
  max-width: 100%;
}

.video-embed-field-launch-modal:after {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 76px;
  height: 76px;
  background: url('/themes/custom/tulane_tailwindcss/img/imgplaybutton3.png');
  background-size: cover;
  content: '';
}

/* wysiwyg image caption float left/right */
figure.align-left, figure.align-right, figure.align-center {
  display: table;        /* Shrink-wraps the figure to the image width */
  clear: both;           /* Prevents weird float overlaps */
}

figure figcaption:not(
  .paragraph--type--carousel figure figcaption,
  .banner-image-or-video-section figure figcaption,
  #inset-image-section figure figcaption
) {
  display: table-caption; /* Ensures the caption behaves like a table caption */
  caption-side: bottom;   /* Keeps it below the image */
  line-height: 1.4;
}

figure.align-left  figcaption {
  margin:10px 40px 0 0;
}

figure.align-right figcaption {
  margin:10px 0 0 10px;
}

/* alt hero styles. Also in patternlab */
.p-hero h2 {
  display: none;
}

.p-16 {
  padding: 4rem;
}

.p-hero-left {
  min-height: 430px;
  padding: 10px;
}

.p-hero-top {
  min-height: 100px;
  padding: 30px 10px 10px 10px;
  background-color: #D0DEBB;
}

.p-hero-top h3 {
  padding-left: 20px;
}

.p-hero-right {
  padding: 10px;
  min-height: 330px;
}

.p-hero-left h3,
.p-hero-left p,
.p-hero-right h3,
.p-hero-right p {
  background-color: rgb(38, 87, 69, 0.7) ;
  padding: 20px 0 20px 20px;
}

.p-hero-left a,
.p-hero-right a {
  color: white !important;
}

.p-hero p a::after {
  content: " →";
  margin-left: 5px;
  font-weight: bold;
}

.block-type-hero-selectable-elements p {
  padding-left: 20px !important;
}

.block-type-hero-selectable-elements p a {
  margin-left: -22px !important;
}

/* styles for Tulane People accordion layout */
.views-element-container .ui-accordion .ui-accordion-header {
  overflow: hidden;
}

.views-element-container .ui-accordion .ui-icon-triangle-1-e {
  background-position: -32px -16px;
}

.views-element-container .ui-accordion p a {
  color: #00558C;
}

.views-element-container .ui-accordion .views-row {
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
}

.views-element-container .ui-accordion .views-row .views-field-title {
  font-weight: 700;
  font-size: 22px;
}

.views-element-container .ui-accordion .views-row h3 {
  border: none !important;
  background: none;
  border-radius: 0;
  margin-bottom: 8px !important;
  z-index: 2;
}

.views-element-container .ui-accordion .views-row h3 div {
  font-family: freight-sans-pro;
  font-weight: 700 !important;
  font-size: 20px !important;
  width: 80%;
  float: left;
  margin-right: 20px;
  line-height: 22px;
  color: #00558C;
}

.views-element-container .ui-accordion .views-row img {
  margin: auto;
}

/* Slate form css */
.slate-form-container textarea,
.slate-form-container select,
.slate-form-container button {
  border: 1px solid gray;
}

.slate-form-container button {
  padding: 4px 8px;
}

div#sliding-popup,
div#sliding-popup .eu-cookie-withdraw-banner,
.eu-cookie-withdraw-tab {
  background: #005aa0 !important;
}

/*—————————————————————————————————
  Photogrid block type component
—————————————————————————————————*/
.photogrid-description > p {
  margin: 0;
}

.photogrid-description > p:only-child {
  display: inline;
}

/*—————————————————————————————————————————————
  Mobile Header Dropdown Menu > Section Toggles/Carets
—————————————————————————————————————————————*/
.dropdown_wrapper .mobile-dropdown-section-toggle {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-transform: inherit;
}

@media (hover: hover) and (pointer: fine) {
  .dropdown_wrapper .mobile-dropdown-section-toggle:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
  }
}

/*——————————————————————————————————————————————————
  Primary Navigation —— menu--menu-primary-navigation
——————————————————————————————————————————————————*/
/* Global Primary Navigation styles menu--menu-primary-navigation */
@media (hover: hover) and (pointer: fine) {
  .primary-navigation .primary-navigation-link:hover,
  .primary-navigation .primary-navigation-submenu-link:hover {
    color: #255C4E !important;
    text-decoration-color: color-mix(in oklab, #255C4E 75%, transparent);
  }
}

/*——————————————————————————————————————————————————
  Primary Nav in Header Flyout (dropdown) specific styles
——————————————————————————————————————————————————*/
/* When prim nav is in flyout */
.dropdown_wrapper .menu-block--title.primary-nav-menu-block--title {
  color: #fff;
  margin-top: 0 !important;
}

.dropdown_wrapper .primary-nav-menu-block--nav .primary-navigation-menu .primary-navigation-item .primary-navigation-submenu {
  margin-left:  calc(var(--spacing) * 4) !important;
}

.dropdown_wrapper .primary-navigation-submenu {
  border-color: color-mix(in oklab, #6FC5E8 50%, #ffffff);
}

@media (hover: hover) and (pointer: fine) {
  .dropdown_wrapper .primary-navigation .primary-navigation-link:hover,
  .dropdown_wrapper .primary-navigation .primary-navigation-submenu-link:hover {
    color: #fff!important;
    text-decoration-color: color-mix(in oklab, #6FC5E8 50%, #fff);
  }
}

@media (min-width: 1024px) {
/* Desktop flyout section headings reuse the mobile accordion button markup.
   On desktop, these sections are forced open and their buttons are disabled /
   removed from the tab order so they are not presented as interactive controls.
   Preserve the normal heading appearance instead of allowing browser disabled
   button styles to dim the text. */
  .dropdown_wrapper .mobile-dropdown-section-toggle:disabled {
    opacity: 1;
    color: inherit;
    cursor: default;
  }
}

/* Primary Navigation inside the header flyout:
   indent only when its visible block title is displayed. */
/* H3 title exists + nav immediately follows it = indent the top-level UL */
.dropdown_wrapper
  .primary-nav-menu-block.menu-block--has-visible-title
  > .primary-nav-menu-block--nav
  > .primary-navigation
  > .primary-navigation-menu {
  padding-left: 0.3125rem;
}

/* Spacing for if and when mutliple blocks are present in prim nav region */
.dropdown_wrapper
.tulane-main-menu__content
.menu-block + .menu-block {
  margin-top: 1.5rem;
}

.dropdown_wrapper
.tulane-main-menu__content
.menu-block + .menu-block:before {
  content: "";
  display: block;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: color-mix(in oklab, #255C4E 70%, #000000); /* approx. #13362D */
  width: 100%;
  margin: auto;
  padding-bottom: 2rem;
}

/*——————————————————————————————————————————————
  RIBBON (Dropdown) Menu:
——————————————————————————————————————————————*/
/* Keep the ribbon wrappers full-width; */
.primary-ribbon-navigation,
.primary-ribbon-navigation__inner {
  width: 100%;
}

/*——————
 Ribbon stacking safeguard:
   Keep the primary ribbon navigation above page-level content such as heroes,
   article imagery, and highlighted bands, while still allowing the fixed header
   to remain the highest-level navigation element. The submenu keeps its own
   higher z-index separately; this ladder protects the main ribbon bar itself
   from being visually covered by following page content. */
.primary-ribbon-region-wrapper[data-primary-ribbon-navigation] {
  position: relative;
  z-index: 30;
}

.primary-ribbon-menu-block {
  position: relative;
  z-index: 31;
}

.primary-ribbon-navigation {
  position: relative;
  z-index: 32;
}

.ribbon-menu {
  position: relative;
  z-index: 33;
}

@media (hover: hover) and (pointer: fine) {
  .primary-ribbon-navigation .ribbon-menu-link:hover,
  .primary-ribbon-navigation .ribbon-submenu-link:hover {
   color: #255C4E !important;
  text-decoration-color: color-mix(in oklab, #255C4E 75%, transparent);
  }
}

/*——————————————————————————————————————————————————
  Sub-navigation component
  menu--menu-sub-navigation.html.twig
——————————————————————————————————————————————————*/
@media (hover: hover) and (pointer: fine) {
  .sub-navigation-link:hover,
  .sub-navigation-submenu-link:hover {
    color: #255C4E;
    text-decoration-color: color-mix(in oklab, #255C4E 75%, transparent);
  }
}
.sub-navigation-item a {color: #255C4E;}
/*——————————————————————————————————————————————————
  SIDEBAR
  menu--menu-sub-navigation Dropdown menu:
——————————————————————————————————————————————————*/
.layout-sidebar .menu-block--title,
/* Sidebar primary-nav menu block title */
.layout-sidebar .sidebar-menu-title.menu-block--title {
  font-family: 'Freight Sans Pro';
  font-size:   20px!important; /* !needed to overwrite `.main_wrapper h3 {font-size:30px!important;}` */
  line-height: 1.15;
  --tw-tracking: var(--tracking-widest);
  letter-spacing: var(--tracking-widest);
  color: #255C4E;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0;
  margin: 0 0 0.875rem 0!important; /* !needed to overwrite `.main_wrapper h2, h3 {margin-top:30px!important;}` */
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2.5px;
  border-color:
    color-mix(in oklab, #6FC5E8 50%, transparent);
}

/* Sidebar region visibility safeguard:

  Restore rendered theme sidebar regions when site-level injected CSS hides
  generic asides, e.g. `aside.p-4 { display: none !important; }`.

  The page template still controls whether sidebar regions are printed. This
  rule only restores normal display for theme-owned sidebar regions that are
  already present in the markup. */
.main_wrapper aside.layout-sidebar {
  display: block !important;
}

/* Sub Navigation inside a page sidebar:
   indent only when its visible block title is displayed. */
.layout-sidebar
  .menu-block--has-visible-title
  > .menu-block--nav
  > .sub-navigation
  > .sub-navigation-menu {
  padding-left: 0.3125rem;
}

/* Sidebar region layout: */
.layout-sidebar,
.layout-sidebar .menu-block {
  padding-top: 0;
}

/* Sidebar menu block separation. */
.layout-sidebar .menu-block {
  margin-bottom: 2.75rem;
}

.layout-sidebar .menu-block:last-child {
  margin-bottom: 0.5rem;
}

/* Overwrite——resets a `line-height: 40px` style so the
   sub-navigation component owns spacing */
.layout-sidebar .menu-block--nav > .sub-navigation > .sub-navigation-menu {
  line-height: normal;
  /* Subtly nest the first-level menu list under the block title. */
  padding-left: 0.3125rem; /* 5px */
}

/* Legacy override:
   Some older site CSS targets nested sidebar menu items generically, e.g.
   `aside nav ul li ul li`, adding unwanted left padding. Reset padding on the
   structural sub-navigation item and let the submenu panel own indentation. */
.layout-sidebar .sub-navigation-item {
  margin-bottom: calc(var(--spacing) * 2);
  padding-block: calc(var(--spacing) * 2);
  padding-left: 0;
}

/* Overly specific legacy override:
   Targeting a generic rule above: `aside nav ul li ul li {pl-[20px]}` */
.layout-sidebar .menu-block--nav .sub-navigation-menu > .sub-navigation-item,
.layout-sidebar .menu-block--nav .sub-navigation-menu > .sub-navigation-item > .sub-navigation-submenu > .sub-navigation-item {
  padding-left: 1.5px; /* slight nudge */
}

.layout-sidebar .sub-navigation-menu > li:first-child {
  margin-top: calc(var(--spacing) * 4);
}

/* Overwriting the set tailwind classes styles for the submenu's li only, instead of 2, 1.5 */
.layout-sidebar .sub-navigation-submenu > .sub-navigation-item {
  padding-block: calc(var(--spacing) * 1.5);
  margin-bottom: calc(var(--spacing) * 1.5);
}

.layout-sidebar .sub-navigation-submenu > .sub-navigation-item:first-child {
  padding-top: calc(var(--spacing) * 1);
}

.layout-sidebar .sub-navigation-submenu > .sub-navigation-item:last-child {
  padding-bottom: calc(var(--spacing) * 1);
  margin-bottom:  calc(var(--spacing) * 0.5);
}
/*——///——*/

/*——————————————————————————
  User login form
——————————————————————————*/
.user-login-form {
  width: 100%;
  max-width: 34rem;
  margin: 0 auto;
  padding: 0 2rem 2rem 0;
}

.user-login-form .form-item {
  width: 100%;
  margin: 0 0 1.5rem;
}

.user-login-form label {
  display: block;
  margin-bottom: 0.5rem;
  color: #1f2933;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
}

.user-login-form .form-required::after {
  content: " *";
  color: #b42318;
}

.user-login-form input[type="text"],
.user-login-form input[type="password"] {
  display: block;
  width: 100%;
  min-height: 3.25rem;
  margin: 0;
  padding: 0.75rem 1rem;
  color: #17211d;
  font-family: inherit;
  font-size: 1.125rem;
  line-height: 1.4;
  background-color: #fff;
  border: 2px solid #69756f;
  border-radius: 0.25rem;
  box-shadow: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease;
}

.user-login-form input[type="text"]:hover,
.user-login-form input[type="password"]:hover {
  border-color: #255c4e;
}

.user-login-form input[type="text"]:focus,
.user-login-form input[type="password"]:focus {
  border-color: #0b0c0c;
}

/*
 * Both login actions use the same dimensions.
 * The SSO link is the emphasized action.
 */
.user-login-form .simplesamlphp-auth-login-link,
.user-login-form input[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0 !important;
  min-height: 3.25rem;
  margin: 0;
  padding: 0.75rem 1.25rem;
  font-family: inherit;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  border: 2px solid #255c4e;
  border-radius: 0.25rem;
  cursor: pointer;
  transition:
    color 150ms ease,
    background-color 150ms ease,
    border-color 150ms ease;
}


.user-login-form .form-actions {
  display: block;
  width: 100%;
  margin: 0.75rem 0 0;
  padding: 0;
}

.user-login-form input[type="submit"] {
	color: #fff !important;
  background-color: #255c4e !important;
  box-shadow: none !important;
}

.user-login-form input[type="submit"]:hover:not(:focus-visible) {
  color: #fff !important;
background-color: #173e34 !important;
  border-color: #255c4e !important;
  border-color: #173e34 !important;
}

/* Secondary action: Tulane SSO login. */
.user-login-form .simplesamlphp-auth-login-link {
  margin-top: 0.75rem;
  color: #255c4e;
  background-color: #fff;
}

.user-login-form .simplesamlphp-auth-login-link:hover:not(:focus-visible) {
  color: #fff;
  background-color: #255c4e;
  border-color: #255c4e;
  text-decoration: none;
}
}


/* Preserve the site's high-visibility keyboard focus treatment. */
.user-login-form
:is(
  input[type="text"],
  input[type="password"],
  input[type="submit"],
  .simplesamlphp-auth-login-link
):focus-visible {
  outline: 3px solid #ffdd00 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #0b0c0c !important;
}

/* Prevent browser autofill from introducing unreadable colors. */
.user-login-form input:-webkit-autofill,
.user-login-form input:-webkit-autofill:hover,
.user-login-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #17211d;
  box-shadow: 0 0 0 1000px #fff inset !important;
}

/* Keep the form comfortable on narrow screens. */
@media (max-width: 40rem) {
  .user-login-form {
    margin: 2rem auto;
    padding: 1.5rem;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

/* Align the login form with the main content column. */
.block-type-system-main-block > .user-login-form {
  width: min(100%, 34rem);
  max-width: none;
  margin: 0 0 3rem;
}

/*—————————————————————————————————————————————————————–––––
  Full-height page shell
  Allows the page wrapper to push the footer to the bottom
——————————————————————————————————————————————————————————*/

html {
  background-color: #54585A; /* dark-gray institutional footer color */
}

body {
  background-color: #FFFFFF;
}

.page-wrapper-alpine {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.page-wrapper-alpine > .main_wrapper {
  flex: 1 0 auto;
}

.page-wrapper-alpine > .site-footer {
  margin-top: auto;
}
