/* Ensure the row behaves correctly */
#moduloeventosfrontpage {
    background-color: #f4f4f4;
}

/* Ensure the row behaves correctly */
#moduloeventosfrontpage .sppb-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem; /* Optional spacing between events */
}

/* Remove unnecessary margins/gutters */
#moduloeventosfrontpage .col-4, 
#moduloeventosfrontpage .row, 
#moduloeventosfrontpage .col, 
#moduloeventosfrontpage li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Make the UL a proper row */
#moduloeventosfrontpage ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
    list-style: none;
    gap: 1rem; /* Adds a uniform gap between event items */
    /*justify-content: space-between; /* Distribute items across the full width */
}

/* Each event should occupy 1/4 of the row */
#moduloeventosfrontpage li {
    flex: 0 0 calc(25% - 1rem); /* Shrink width slightly */
    max-width: calc(25% - 1rem); /* Prevent overflow */
    /*  border: 1px solid #0078c1; */
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Slight shadow effect */  
}

@media (max-width: 768px) { /* Adjust breakpoint as needed */

    #moduloeventosfrontpage ul {
        display: flex;
        flex-direction: column;
        align-items: center; /* Centers the list items */
    }
  
    #moduloeventosfrontpage li {
        flex: 0 0 90%; /* Each item takes full width */
        max-width: 90%;
        position: relative;
        padding-bottom: 1rem; /* Push content up slightly */    
        margin-bottom: 2rem; /* Push content up slightly */        
    }

}

/* Ensure article structure remains full width */
#moduloeventosfrontpage article {
    width: 100%;
    background-color:#ffffff;
}

/* Image takes full width inside its 1/4 section */
#moduloeventosfrontpage .upfrontpagenewsphoto {
    order: -1;
    width: 100%;
    height: 200px; /* Adjust height as needed */
    overflow: hidden;
}

#moduloeventosfrontpage .upfrontpagenewsphoto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom; /* Ensures the image fills the lower half */
}



/* Date container */
#moduloeventosfrontpage .datadoeventocontainer {
    display: flex;
    width: 100%;
    text-align: left;
    background-color: #fff;
    padding-top: 5px;
    padding-left:1em;
    font-weight: bold;
    color: #0078c1;
    justify-content: left;
    gap: 8px;
    align-items: center;
}

/* Event details */
#moduloeventosfrontpage .upfrontpagenewsdetails {
    order: -1;   
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 10px;
}

/* Title styling */
#moduloeventosfrontpage h4.mod-articles-title {
    /* font-size: 1.125em; */
    font-weight: bold;
    text-align: left;
    margin: 0;
    overflow: hidden;
    padding: 1em;
    order: -1;
}

/***********************************************************/
.upsiteanuncios ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    list-style: none;
    /*border-top: 1px solid #333; /* Top border for the list */
    /*border-bottom: 1px solid #333; /* Bottom border for the list */
}

.upsiteanuncios ul li {
    flex: 1 1 100%; /* Each item takes 100% width */
    box-sizing: border-box;
    padding: 10px;
    text-align: left; /* Align text to the left */
    border-top: 1px solid #333; /* Horizontal line between items */
    border-bottom: 1px solid #333; /* Horizontal line between items */
    padding-left: 8px; /* Small left padding for text */
    width: 100%;
}

/* Remove the gap between items */
.upsiteanuncios ul li + li {
    border-top: none; /* Remove top border from all items except the first one */
}

/* Remove the bottom border from the last item */
.upsiteanuncios ul li:last-child {
    border-bottom: none; /* Remove bottom border from the last item */
}

/* Ensure links are displayed properly */
.upsiteanuncios ul li a {
    display: block;
    font-weight: bold;
    text-decoration: none;
    color: #333;
}

@media (max-width: 768px) { /* Adjust breakpoint as needed */
    .upsiteanuncios ul {
        display: flex;
        flex-direction: column;
        align-items: center; /* Centers the list items */
    }
  
    .upsiteanuncios ul li {
        flex: 0 0 90%; /* Each item takes full width */
        max-width: 90%;
        position: relative;
        padding-bottom: 1rem; /* Push content up slightly */    
        /*margin-bottom: 2rem; /* Push content up slightly */        
    }
}


//Pagina epecifica de eventos



.blogpaginadeventos .row-1 {
  display: flex;
  flex-wrap: wrap;
}

/* Title stays full width */
.blogpaginadeventos .row-1 > .col-lg-12 {
  width: 100%;
}


/* Target the internal .article layout */
.blogpaginadeventos .article {
  display: flex;
  flex-wrap: wrap;
  background-color: #f4f4f4;
}

/* Body gets 7/12 on large screens, 100% on mobile */
.blogpaginadeventos .article-body {
  width: 100%;
  order: 2;
}

@media (min-width: 992px) {
  .blogpaginadeventos .article-body {
    width: 58.333333%; /* 7 columns */
    order: 1;
    padding-right: 1rem;
  }
}

/* Image container styling */
.blogpaginadeventos .article-intro-image {
  width: 100%;
  order: 3;
  padding-top: 1rem;
}

@media (min-width: 992px) {
  .blogpaginadeventos .article-intro-image {
    width: 41.666667%; /* 5 columns */
    order: 2;
    padding-top: 0;
    padding-left: 1rem;
  }
}

/* Make sure image scales inside its container */
.blogpaginadeventos .article-intro-image img {
  width: 80%;
  height: auto;
  display: block;
  object-fit: cover;
}


.event-block {
    font-size: 0.9rem;
    font-weight: 500;
    color: #0078c1;
    text-align: left;
    padding-left: 1em;
    padding-right: 1em;
}

.month-text {
    color: #0078c1;
    font-weight: 600;
    vertical-align: middle;  
}

.date-day-range,
.time-text,
.location-text {
    vertical-align: middle;
    font-weight: 600;  
}

.blogpaginadeventos .article-introtext {
  display: none;
}

.blogpaginadeventos .article-intro-image {
  order: -1;
}


.blogpaginadeventos .article-body {
  padding:40px;
}

.blogpaginadeventos dl, .blogpaginadeventos ol, .blogpaginadeventos ul, .paginadeventos dl, .paginadeventos ol, .paginadeventos ul{
    list-style:none;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    padding-left: 1em;
    padding-right: 1em; 
}

.blogpaginadeventos dl li, .blogpaginadeventos ol li, .blogpaginadeventos ul li, .paginadeventos dl li, .paginadeventos ol li, .paginadeventos ul li{
   line-height: 1.5rem;
  vertical-align: middle;
  margin-bottom: 0.5em;    
}

.blogpaginadeventos .article-list .article .article-intro-image, .blogpaginadeventos .article-list .article .article-featured-video, .blogpaginadeventos .article-list .article .article-featured-audio, .blogpaginadeventos .article-list .article .article-feature-gallery,
.paginadeventos .article-list .article .article-intro-image, .paginadeventos .article-list .article .article-featured-video, .paginadeventos .article-list .article .article-featured-audio, .paginadeventos .article-list .article .article-feature-gallery{
    margin: 0px;
    border-radius: 3px 3px 0 0;
    border-bottom: 1px solid #f5f5f5;
    overflow: hidden;
}

.blogpaginadeventos .article-list .article .article-intro-image img, .blogpaginadeventos .article-list .article .article-featured-video img, .blogpaginadeventos .article-list .article .article-featured-audio img, .blogpaginadeventos .article-list .article .article-feature-gallery img,
.paginadeventos .article-list .article .article-intro-image img, .paginadeventos .article-list .article .article-featured-video img, .paginadeventos .article-list .article .article-featured-audio img, .paginadeventos .article-list .article .article-feature-gallery img{
    margin: 0 auto;
}


.blogpaginadeventos .data-do-fim,
.blogpaginadeventos .data-do-evento,
.paginadeventos .data-do-fim,
.paginadeventos .data-do-evento{
  display: inline-block;
}

/* Ensure datafim appears before datainicio on the same line */
.blogpaginadeventos .data-do-fim,
.paginadeventos .data-do-fim{
  margin-right: 1em;
}

/* hora always appears on its own line */
.blogpaginadeventos .hora-de-inicio,
.paginadeventos .hora-de-inicio{
  display: block;
  align-items: center;
  gap: 0.4em; /* spacing between icon and text */  
}

.blogpaginadeventos .data-do-fim::before,
.paginadeventos .data-do-fim::before{
  content: " - ";
}

.blogpaginadeventos .hora-de-inicio::before,
.paginadeventos .hora-de-inicio::before{
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url("https://up.ac.mz/images/template/clock-circle-svgrepo-com.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  transform: translateY(1px); /* nudges icon downward */  
  margin-right: 0.4em;
}

.paginaunidadeorganica {
    display: grid;
}

.paginaunidadeorganica .article-details .article-full-image {
    order: 1;
}

.paginaunidadeorganica dl, .paginaunidadeorganica ol, .paginaunidadeorganica ul{
    list-style:none;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    padding-left: 1em;
    padding-right: 1em; 
}

.paginaunidadeorganica li.field-entry.website {
  margin-top:1em;
  text-align: center;
}

body.paginaunidadeorganica #sp-main-body {
    padding: 0;
}

.paginaunidadeorganica ul.fields-container:nth-of-type(2) {        
  order: 2;
}


.paginaunidadeorganica ul.fields-container:last-of-type::before {
  content: "Contactos e Endereço";
  display: block;                /* make it block so it behaves like a heading */
  font-size: 1.75rem;            /* same size as h3 */
  font-weight: bold;             /* optional, to look like a heading */
  margin-top: 0.5em;
  margin-bottom: 0.5em;          /* spacing below */
  font-family: inherit;          /* keep your site's font */
  color: inherit;                /* inherit color or set a specific one */
}

.paginaunidadeorganica .sp-module-title {
  padding-left: 0.5em;
}

@media (min-width: 992px) {
  .paginaunidadeorganica .sp-page-title .sp-page-title-heading {
     width: 40%;
   }
}
