:root {
  --icje-light-gold: #f4e1a4;
  --icje-gold: #ddb725;
  --icje-dark-gold: #b69a1f;
  --icje-darker-gold: #8c7319;
  --icje-light-blue: #cce0f4;
  --icje-pale-blue: #e0f7fa;
  --icje-blue: #003472;
  --icje-dark-blue: #002147;
  --icje-light-gray: #f0f0f0;
  --icje-gray: #d4d4d4;
  --icje-dark-gray: #a0a0a0;
}

* {
  box-sizing: border-box;
}
html {
  font-size: 125% !important;
}
body {
  margin: 0;
  background-color: var(--icje-light-gray);
  /* font-size: 1.5rem; */
}
table {
  border-collapse: collapse;
  border: 1px solid black;
}

.roboto {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.file-list {
  border-collapse: collapse;
}

.file-list th,
.file-list td {
  padding: 8px 12px;
  border: 1px solid #ddd;
}

.file-list th {
  background-color: #f4f4f4;
  text-align: center;
}

.file-list tr:nth-child(even) {
  background-color: #f9f9f9;
}

.file-list .icon {
  width: 10px;
  text-align: center;
  font-size: 2rem;
  -webkit-user-select: none;
  user-select: none;
}

.file-list .label {
  font-weight: bold;
}

.file-list .extensions {
  text-align: center;
}

.file-list .size,
.file-list .uploaded-date {
  text-align: right;
}

.court-list {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1.5rem;
  margin: 0 auto;
  box-sizing: border-box;
  box-shadow: inset 0 0 5px rgba(0,0,0,0.5);
  background-color: #f0f0f0;
  width: 100%;
}

body.portals header h1 {
  font-size: 2rem;
  margin: 0;
}

.court-list h2 {
  text-align: center;
  margin: 0;
}

.court-list-constraint {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  max-width: 1024px;
  width: 100%;
  flex-wrap: wrap;
}

.court-section {
  /* border: 1px solid black; */
  padding: 0.5rem;
  min-width: 300px;
  min-height: 200px;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.3),
    0 2px 4px rgba(0,0,0,0.1),
    0 3px 8px rgba(0,0,0,0.1);
  background-color: white;
}

.court-section ul li {
  text-align: center;
}

.portal-list {
  list-style-type: none;
  padding: 0;
}

.portal-list li {
  margin-bottom: 8px;
}

.portal-description {
  font-size: 0.9em;
  color: #666;
}

.portal-doorway {
  font-weight: bold;
  text-decoration: none;
  padding: 1rem;
  text-align: center;
  margin: 0 auto;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
  border: none;
}

.portal-doorway h1 {
  margin: 0;
}

.warning-note {
  color: orangered;
  font-weight: bold;
}

.faq-item {
  padding: 0.5rem;
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 1rem;
}

.faq-item .question {
  font-style: italic;
}

.faq-item .question:hover {
  color: blue;
}

.faq-item:open ::marker{
  color: red;
}

.faq-item .question {
  font-weight: bold;
  font-size: 2rem;
  cursor: pointer;
}

.faq-item .answer {
  padding: 1rem;
  margin: 0;
  font-weight: normal;
}

.staff-assignments {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 900px;
}

.assignment {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  padding-top: 1.75rem;
  text-align: center;
  box-shadow: 
    inset 0 1px 2px rgba(0,0,0,0.3), 
    inset 0 2px 4px rgba(0,0,0,0.1), 
    inset 0 3px 8px rgba(0,0,0,0.1);
  background-color: #c4c4c4;
  background: linear-gradient(145deg,var(--icje-gold), var(--icje-light-gold));
  border-bottom: 1px solid rgba(255,255,255,0.85);
  min-width: 216px;
}

.assignment .quick-buttons{
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.assignment .quick-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border: 1px solid transparent;
  border-radius: 4px;
  transition: background-color 0.3s;
  text-decoration: none;
}

.assignment .quick-buttons a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.assignment .details .name {
  font-weight: bold;
  font-size: 1.2rem;
}

.staff-assignments-section {
  padding: 1rem;
  padding-top: 0;
  background-color: var(--icje-light-gold);
}

.page-title{
  text-align: center;
  font-size: 2rem;
  margin: 1rem 0;
}

.staff-photo {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,0.25);
  background-color: rgb(202, 202, 202);
}

.staff-photo-container{
  padding-bottom: 1rem;
}

.downloads-table {
  border-collapse: collapse;
  margin: 0 auto;
}

.downloads-table th,
.downloads-table td {
  padding: 8px 12px;
  border: 1px solid #ddd;
}

.introduction {
  text-align: center;
  margin: 1rem auto;
  max-width: 800px;
}

.status.hidden {
  display: none;
}

.status.shown {
  display: block;
}

header {
  text-align: center;
  margin: 1rem 0;
}

#upcoming_events{
  margin: 1rem auto;
  max-width: 800px;
  width: 100%;
  /* overflow: auto; */
  /* height: 250px; */
}

.upcoming-events-section{
  padding: 1rem;
  background-color: var(--icje-light-blue);
}

#events-list {
  /* overflow: auto; */
  /* max-height: 250px; */
  /* padding: 0.5rem; */
  /* border: inset 4px white; */
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  /* border: 1px solid black; */
}

#events-list .course {
  padding: 1rem;
  padding-top: 0;
  /* border: 1px solid black; */
  border-top: 1px solid white;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
  background-color: var(--icje-pale-blue);
}

#events-list .course .button-wrapper {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

#events-list .course .register-button{
  padding: 0.5rem 1rem;
  /* border: 1px solid black; */
  border-radius: 4px;
  background-color: var(--icje-gold);
  text-decoration: none;
  cursor: pointer;
  color: black;
  font-weight: bold;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
}

#events-list .course .register-button:hover {
  background-color: var(--icje-light-gold);
}

.places {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1rem;
  max-width: 1000px;
  margin: 0 auto;
}

.place {
  width: 300px;
  box-shadow:
    0 1px 1px rgba(0,0,0,0.3);
  text-align: center;
}

.place a {
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
  font-weight: bold;
  padding: 1rem;
  min-height: 175px;
  background-color: var(--icje-pale-blue);
}

.place a:focus {
  background: var(--icje-light-gold);
}

.place a:hover {
  background: linear-gradient(145deg, var(--icje-pale-blue), var(--icje-light-gold));
}
.place a:active {
  background: linear-gradient(145deg, var(--icje-light-gold), var(--icje-light-blue));
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,0.3),
    inset 0 2px 4px rgba(0,0,0,0.1),
    inset 0 3px 8px rgba(0,0,0,0.1);
}

.place:hover {
  box-shadow:
    0 1px 2px rgba(0,0,0,0.3),
    0 2px 4px rgba(0,0,0,0.1),
    0 3px 8px rgba(0,0,0,0.1);
}

.place:active {
  box-shadow: none;
}

section.places-section {
  padding: 1rem;
  padding-top: 0;
  background-color: var(--icje-light-blue);
}

.material-symbols-outlined {
  font-size: 3rem;
}

footer {
  text-align: center;
  padding: 1rem;
  background-color: transparent;
  /* min-height: 200px; */
}

.status {
  text-align: center;
}

.status.left {
  text-align: left;
}

#events-loading{
  border: 1px dashed black;
}

#events-error {
  color: red;
  text-align: center;
  font-weight: bold;
  margin: 1rem auto;
  max-width: 800px;
}

.event {
  padding: 1rem;
  background-color: #e0f7fa;
}

/* .event:nth-child(even) {
  background-color: #d1d1d1;
}
.event:nth-child(odd) {
  background-color: #f1f1f1;
} */

.event a {
  font-weight: bold;
}

.event.no-events {
  text-align: center;
  font-style: italic;
}

.no-faqs {
  text-align: center;
  font-style: italic;
  color: #666;
  margin: 1rem auto;
}

main.faqs{
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem;
}

nav.portal-nav {
  background-color: #333;
  padding: 0.5rem;
  /* margin-bottom: 1rem; */
}

nav.portal-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

nav.portal-nav ul li {
  margin: 0 1rem;
}

nav.portal-nav ul li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
}

main.portal-page {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 1rem;
  background-color: white;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.3),
    0 2px 4px rgba(0,0,0,0.1),
    0 3px 8px rgba(0,0,0,0.1);
}

.center {
  text-align: center;
}

main.doorway {
  max-width: 600px;
  margin: 0 auto;
  padding: 1rem;
  /* height: 75dvh;
  display: flex;
  align-items: center;
  justify-content: center; */
}

nav.index {
  background-color: var(--icje-blue);
}

nav.index ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

body.index ul li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  padding: 0.5rem 1rem;
  display: inline-block;
}

body.index ul li a:hover {
  background-color: black;
  color: white;
}

main.index {
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem;
  padding-top: 0;
  text-align: left;
  font-size: 1.2rem;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
}

footer.index {
  background-color: #2e2e2e;
  color: white;
  padding: 1rem;
  min-height: 200px;
}

body.index {
  background-color: #f9f9f9;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.spacer {
  flex-grow: 1;
}

.logo-container {
  padding-left: 1rem;
  text-align: center;
  padding-right: 1rem;
}

nav.index ul.submenu {
  position: absolute;
  list-style: none;
  margin: 0;
  background-color: white;
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 0;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
}

nav.index ul.submenu li {
  margin: 0;
  width: 100%;
}

nav.index ul.submenu li a {
  display: block;
}

/* nav ul.submenu li a:hover {
  background-color: #f0f0f0;
} */

/* Main menu styling */
body.index ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

/* Main menu items */
body.index li {
    position: relative;
    display: inline-block; /* Makes menu items horizontal */
}

/* Main menu links */
nav.index > ul > li > a {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: white;
    background-color: var(--icje-blue);
    /* border-right: 1px solid #ddd; */
    /* transition: background-color 0.3s ease; */
}

nav.index  ul.submenu > li > a {
  color: black;
}

nav.index  ul > li > a:hover {
  background-color: var(--icje-dark-blue);
  color: white;
}

/* Submenu styling */
.submenu {
    position: absolute;
    top: 100%; /* Position below parent */
    left: 0;
    /* min-width: 250px; Ensure submenu is wide enough */
    background-color: white;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    /* border: 1px solid #ddd; */
    z-index: 1000;
    
    /* Hide submenu by default */
    opacity: 0;
    visibility: hidden;
    /* transform: translateY(-10px); */
    /* transition: all 0.3s ease; */
}

/* Show submenu on hover - only direct children */
li:hover > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Submenu items */
.submenu li {
    display: block; /* Stack submenu items vertically */
    width: 100%;
}

.submenu li a {
    padding: 12px 30px 12px 16px; /* Extra right padding for arrow */
    border-right: none;
    /* border-bottom: 1px solid #eee; */
    white-space: nowrap;
    color: #555;
    position: relative; /* For absolute positioned arrow */
}

.submenu li:last-child a {
    border-bottom: none;
}

.submenu li a:hover {
    background: var(--icje-blue);
    color: black;
}

/* Menu label styling (for items with submenus) */
.menu-label {
    position: relative;
}

/* Removed conflicting ::after arrow - using HTML spans instead */

/* Multi-level submenu support */
.has-submenu {
    position: relative;
}

/* Arrow indicators for menu items */
.submenu-arrow {
    font-size: 0.8em;
    margin-left: 8px; /* Restored to original spacing for root menu items */
    display: inline-block;
    /* Removed distracting transition animation */
}

/* All arrows inherit text color - simple and elegant */
.submenu-arrow {
    color: currentColor; /* Inherit the text color automatically */
}

/* Make arrows more interactive when they control submenu toggling */
.menu-link.has-submenu .submenu-arrow {
    cursor: pointer;
    border-radius: 2px;
    transition: background-color 0.15s ease;
}

.menu-link.has-submenu .submenu-arrow:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Ensure menu-link items with submenus also get proper styling */
.menu-link.has-submenu {
    position: relative;
}

/* Nested level arrows (flyout) - positioning only, color inherited */
.submenu .submenu-arrow {
    position: absolute;
    right: 4px; /* Even closer to the edge for maximum space from text */
    top: 50%;
    transform: translateY(-50%) rotate(-90deg); /* Point right (►) and center vertically */
    margin-left: 0;
    margin-right: 0;
    /* color: currentColor; - already inherited from base rule */
}

/* Arrow hover states - no longer needed! currentColor handles this automatically */



/* Level-specific submenu positioning */
.submenu.level-1 {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
}

.submenu.level-2,
.submenu.level-3,
.submenu.level-4 {
    position: absolute;
    top: 0;
    left: 100%;
    min-width: 200px;
}

/* Removed conflicting ::after arrow - using HTML spans instead */

/* Show nested submenus on hover */
.submenu li:hover > .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* JavaScript-controlled menu visibility */
.submenu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Click-to-toggle functionality */
.menu-toggle {
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
}

.menu-toggle.active .submenu-arrow {
    transform: rotate(180deg);
}

/* Responsive adjustments */
@media screen and (max-width: 820px) {
    li {
      display: block; /* Stack main menu items vertically on mobile */
      margin:0
    }

    nav.index ul {
      gap: 0;
    }
    
    nav.index ul li {
      margin: 0 !important;
    }

    nav.index ul li a {
      padding: 0.5rem 1rem !important;
    }

    nav.index ul.submenu {
        position: relative;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        margin-left: 0; /* Level 1 should be flush left */
        background: rgba(255,255,255,0.95); /* Slight background for clarity */
    }
    
    /* Nuclear option - force ALL submenu elements visible */
    nav.index ul.submenu,
    nav.index .submenu,
    nav.index .submenu ul,
    nav.index .submenu li,
    nav.index .submenu a,
    ul.submenu,
    ul.submenu li,
    ul.submenu li a,
    .menu-item .submenu,
    .menu-item .submenu li,
    .menu-item .submenu li a {
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        max-height: none !important;
        height: auto !important;
        transform: none !important;
    }
    
    /* Style nested levels with proper hierarchical indentation */
    /* Use multiple selectors to ensure they work regardless of template structure */
    nav.index .submenu.level-1,
    nav.index ul.submenu.level-1,
    .menu-item .submenu.level-1 { 
        margin-left: 0 !important; 
    }
    
    nav.index .submenu.level-2,
    nav.index ul.submenu.level-2,
    .menu-item .submenu.level-2 { 
        margin-left: 20px !important; 
    }
    
    nav.index .submenu.level-3,
    nav.index ul.submenu.level-3,
    .menu-item .submenu.level-3 { 
        margin-left: 40px !important; 
    }
    
    /* Fallback indentation based on nesting structure */
    .submenu .submenu { margin-left: 20px; }
    .submenu .submenu .submenu { margin-left: 40px; }
    
    /* Hide arrows on mobile since everything is flat */
    .submenu-arrow {
        display: none !important;
    }
    
    /* Override desktop hover behavior - show all submenus always */
    li:hover > .submenu, li > .submenu {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    
    /* Remove any transforms that might hide content */
    .submenu, .submenu li, .submenu a {
        transform: none !important;
    }
    
    /* Target the specific classes we use in templates */
    .menu-item.level-0 .submenu.level-1,
    .menu-item.level-1 .submenu.level-2,
    .level-1, .level-2, .level-3 {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: relative !important;
    }
    
    /* Also target items that might have JavaScript show/hide classes */
    .submenu.show, .submenu:not(.show) {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* CRITICAL: Reset positioning that moves items off-screen */
    .submenu.level-2,
    .submenu.level-3,
    .submenu.level-4,
    .submenu .submenu {
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        min-width: auto !important;
    }

    nav.index ul {
      flex-direction: column;
      align-items: center;
    }
    nav.index ul li {
      margin: 0.25rem 0;
      width: 100%;
    }
    nav.index ul li a {
      padding: 0.25rem 0.5rem;
      width: 100%;
    }
}

.page-content table {
  width: 100%;
  margin: 1rem auto;
}

.page-content table th,
.page-content table td {
  padding: 8px 12px;
  border: 1px solid #ddd;
}

.page-content table tbody tr:nth-child(even) {
  background-color: var(--icje-gray);
}

.page-content img {
  max-width: 100%;
  height: auto;
}

main.index {
  padding: 1rem;
  background-color: white;
  flex-grow: 1;
  margin: 1rem auto;
}

main.index h1 {
  margin-top: 0;
}

main.index p {
  text-align: justify;
}

body.index {
  background-color: var(--icje-gray);
}

.logo-container-container {
  background-color: white;
}

.logo-container.center {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.logo-container img {
  max-width: 100%;
  height: auto;
  max-height: 150px;
}

body.portals {
  display: flex;
  flex-direction: column;
  background-color: var(--icje-gray);
}

body.doorway {
  display: flex;
  flex-direction: column;
  background-color: var(--icje-gray);
}

body.portal {
  display: flex;
  flex-direction: column;
  background-color: var(--icje-gray);
}

body.downloads {
  display: flex;
  flex-direction: column;
  background-color: var(--icje-gray);
}

body.portal-page {
  display: flex;
  flex-direction: column;
  background-color: var(--icje-gray);
}

body.faqs {
  display: flex;
  flex-direction: column;
  background-color: var(--icje-gray);
}

.portal-header {
  /* padding: 1rem; */
  background-color: var(--icje-light-gold);
  margin: 0;
  padding: 1rem;
}

section.introductory-content:not(:empty) {
  padding: 0 1rem;
}

section.introductory-content .intro-content {
  text-align: center;
  margin-bottom: 1rem;
  max-width: 800px;
  margin: 1rem auto;
}

section.introductory-content .intro-content p {
  text-align: left;
  font-size: 0.85rem;
  margin-bottom: 1rem;
}

section.introductory-content .intro-content table {
  border: 1px solid black;
  border-collapse: collapse;
  width: 100%;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

section.introductory-content .intro-content table th,
section.introductory-content .intro-content table td {
  border: 1px solid black;
  padding: 0.25rem 0.5rem;
}
/* section.introductory-content .intro-content table tbody tr:nth-child(even) {
  background-color: rgba(0,0,0,0.25);
}
section.introductory-content .intro-content table tbody tr:nth-child(odd) {
  background-color: rgba(0,0,0,0.1);
} */

section.introductory-content .intro-content table tbody tr td:nth-child(1) {
  font-weight: bold;
  text-align: left;
}

section.introductory-content .intro-content table tbody tr td:nth-child(2) {
  text-align: right;
}

section.introductory-content{
  background-color: var(--icje-gold);
  color: black;
}

.cmp-footer {
  margin-top: 1.5rem;
}

.cmp-footer {
  background: url("https://www.law.uga.edu/themes/local/lawful/dist/background-arch.37ac1a16.jpg") center center/cover no-repeat #000;
  font-family: "Merriweather",serif;
  box-sizing: border-box;
  border-top: 0.5rem solid #ba0c2f;
  padding: 2rem 0;
  color: #b3b3b3;
}

.cmp-footer__container {
  margin-left: auto;
  margin-right: auto;
  max-width: 75rem;
  width: 80%;
}

@supports (display:grid) {
  .obj-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
  }
}

.obj-grid {
  display: flex;
  flex-wrap: wrap;
}

.cmp-footer {
  font-family: "Merriweather",serif;
  color: #b3b3b3;
}

@media (min-width: 60rem) {
  @supports (display:grid) {
    .obj-grid .obj-grid__quarter\@lg, .obj-grid .obj-grid__3-12\@lg {
      width: auto;
      grid-column: span 3;
    }
  }
}
@media (min-width: 60rem) {
  .obj-grid .obj-grid__quarter\@lg, .obj-grid .obj-grid__3-12\@lg {
    float: left;
    width: 25%;
  }
}
@media (min-width: 50rem) {
  @supports (display:grid) {
    .obj-grid .obj-grid__third\@md, .obj-grid .obj-grid__4-12\@md {
      width: auto;
      grid-column: span 4;
    }
  }
}
@media (min-width: 50rem) {
  .obj-grid .obj-grid__third\@md, .obj-grid .obj-grid__4-12\@md {
    float: left;
    width: 33.3333333333%;
  }
}
@supports (display:grid) {
  .obj-grid .obj-grid__full, .obj-grid .obj-grid__12-12 {
    width: auto;
    grid-column: span 12;
  }
}
.obj-grid .obj-grid__full, .obj-grid .obj-grid__12-12 {
  float: left;
  width: 100%;
}

@media (min-width: 60rem) {
  @supports (display:grid) {
    .obj-grid .obj-grid__three-quarter\@lg, .obj-grid .obj-grid__three-quarters\@lg, .obj-grid .obj-grid__9-12\@lg {
      width: auto;
      grid-column: span 9;
    }
  }
}
@media (min-width: 60rem) {
  .obj-grid .obj-grid__three-quarter\@lg, .obj-grid .obj-grid__three-quarters\@lg, .obj-grid .obj-grid__9-12\@lg {
    float: left;
    width: 75%;
  }
}
@media (min-width: 50rem) {
  @supports (display:grid) {
    .obj-grid .obj-grid__two-third\@md, .obj-grid .obj-grid__two-thirds\@md, .obj-grid .obj-grid__8-12\@md {
      width: auto;
      grid-column: span 8;
    }
  }
}
@media (min-width: 50rem) {
  .obj-grid .obj-grid__two-third\@md, .obj-grid .obj-grid__two-thirds\@md, .obj-grid .obj-grid__8-12\@md {
    float: left;
    width: 66.6666666667%;
  }
}
@supports (display:grid) {
  .obj-grid .obj-grid__full, .obj-grid .obj-grid__12-12 {
    width: auto;
    grid-column: span 12;
  }
}
.obj-grid .obj-grid__full, .obj-grid .obj-grid__12-12 {
  float: left;
  width: 100%;
}
.uga-law-footer-links-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
[class*="obj-grid__"] {
  box-sizing: border-box;
}
* {
  box-sizing: border-box;
}
.cmp-footer {
  font-family: "Merriweather",serif;
  color: #b3b3b3;
}

.uga-law-footer-links {
  display: block;
}
@supports (display:grid) {
  .obj-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
  }
}
.obj-grid {
  display: flex;
  flex-wrap: wrap;
}

.upcoming-events-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  gap: 1rem;
}

.upcoming-events-section .event {
  width: 100%;
  max-width: 700px;
  text-align: center;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
}

.register-for-training{
  text-align: center;
  margin: 1rem auto;
  padding: 1rem;
  max-width: 800px;
  background-color: var(--icje-light-blue);
}

.register-button {
  padding: 0.5rem 1rem;
  /* border: 1px solid black; */
  border-radius: 4px;
  background-color: var(--icje-gold);
  text-decoration: none;
  cursor: pointer;
  color: black;
  font-weight: bold;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1), 0 3px 8px rgba(0,0,0,0.1);
}