#ipor-header-one { 

}

#ipor-header-one .ipor-logo {
	text-align: initial;
}

#ipor-header-two .elementor-widget-wrap {
	padding-bottom: 0;
}

#quadmenu .quadmenu-text {
    padding-right: auto;
    font-family: "Roboto", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: none;
	text-align: center;
}
#quadmenu .quadmenu-caret:before {
    font-size: 16px;
    margin: -8px 0 0 0 !important;
}
#quadmenu .quadmenu-dropdown-menu {
	padding: 25px 20% 0 20% !important;
	background: #EFEFEF !important;
	border-top: 5px solid #9c231b !important;
}
#quadmenu .widget_nav_menu ul {
	margin: 1rem 4rem 0 1rem !important;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 1px 5px !important;
}
#quadmenu .topmenu-centro-de-lingua .widget_nav_menu ul {
    margin: 1rem 4rem 0 1rem !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1px 5px !important;
}

#quadmenu .widget_nav_menu ul li a {
	font-size: 14px !important;
  text-decoration: none;
  position: relative;
  padding-bottom: 5px; /* Space for the line */
  display: inline;
}
#quadmenu .widget_nav_menu ul li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px; /* Thickness of the line */
  background-color: #9c231b; /* Color of the line */
  transition: width 0.3s ease;
}
#quadmenu .widget_nav_menu ul li a:hover::after {
  width: 100%; /* Line expands to full width on hover */
}
#quadmenu .widget_media_image img {
	height: 250px !important;
	object-fit: cover;
}

#quadmenu .topmenu-o-instituto .widget_media_image img, 
#quadmenu .topmenu-centro-de-lingua .widget_media_image img, 
#quadmenu .topmenu-biblioteca .widget_media_image img, 
#quadmenu .topmenu-atividades-eventos .widget_media_image img, 
#quadmenu .topmenu-noticias .widget_media_image img, 
#quadmenu .topmenu-loja .widget_media_image img {
	width: 100% !important;
	height: auto !important;
}
/* CUSTOM CSS BY PAGE */
body.home h1.entry-title {
	display: none;
}

body.home #ipor-homepage-what-we-do .elementor-icon {
	padding: 5px;
}

body.home #ipor-homepage-what-we-do .elementor-widget-image, 
body.home #ipor-homepage-what-we-do .elementor-widget-image .elementor-widget-container, 
body.home #ipor-homepage-what-we-do .elementor-widget-image .elementor-widget-container img {
    height: 100%;
}

/* CUSTOM CSS TITLES */
.title-one div:before {
	content: "";
	display: block;
	border-top: solid 2px #9C231B;
	width: 50px;
	height: 1px;
	position: absolute;
	top: 50%;
}

.title-one h6 {
	margin-left: 55px;
	display: inline;
	background: transparent;
	padding: 0 20px;
	position: relative;
}

.title-two div:before {
	content: "";
	display: block;
	border-top: solid 1px #cccccc;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
}

.title-two h6 {
	display: inline;
	background: #fff;
	padding: 0 20px;
	position: relative;
}

/* HOMEPAGE BLOG SHORTCODE - START */
.homepage-blog-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.homepage-blog-item {
  padding: 20px;
  background: #fff;
  box-shadow: 0 0 40px 5px #0000000d;
  transition: all 0.5s ease-in-out;
}

.homepage-blog-item-img {
  overflow: hidden;
  position: relative;
}

.homepage-blog-item-img img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	transition: all 0.3s ease-out 0s;
}

.homepage-blog-item:hover .homepage-blog-item-img img {
  transform: scale(1.1);
}

.homepage-blog-item-info {
  padding: 15px 0 0 0;
}

.homepage-blog-title {
  margin-bottom: 15px;
}

.homepage-blog-item-info h4 a {
  font-size: 22px;
  font-weight: 600;
  color: #9C231B;
  font-weight: 700;
  text-decoration: none;
  text-transform: capitalize;
  transition: all 0.3s ease-out 0s;
}

.homepage-blog-item-info h4 a:hover {
  color: #751913;
}

.homepage-blog-item-info .homepage-blog-meta {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: #777;
}
.homepage-blog-categories a {
	color: #9C231B;
	transition: all 300ms linear;
}
.homepage-blog-categories a:hover {
	text-decoration: none;
}
.homepage-blog-item-info p {
	margin-bottom: 16px;
	font-size: 16px;
	font-weight: 400;
	color: #757f95;
	line-height: 1.8;
	padding: 10px 0;
}

.homepage-blog-item-info .theme-btn {
  margin-top: 13px;
  font-size: 16px;
  color: #fff;
  padding: 14px 27px;
  transition: all 0.5s;
  text-transform: capitalize;
  position: relative;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
  border: none;
  background: #9C231B;
  box-shadow: 0 0 40px 5px #0000000d;
  text-decoration: none;
  display: inline-block;
  z-index: 1;
}

.theme-btn i {
  margin-left: 8px;
  transform: rotate(-40deg);
  transition: all 0.5s;
}
.theme-btn:hover i {
  transform: rotate(0deg);
}

.theme-btn::before {
  content: "";
  height: 300px;
  width: 300px;
  background: #751913;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%) scale(0);
  transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: -1;
}

.theme-btn:hover::before {
  transform: translateY(-50%) translateX(-50%) scale(1);
}

@media only screen and (max-width: 768px) {
  .wrapper {
    padding: 0px 15px;
    flex-direction: column;
    gap: 20px;
  }
}
/* HOMEPAGE BLOG SHORTCODE - END */

/* FOOTER */
footer .ipor-logo img {
	max-width: 200px;
}

footer h5 {
	font-size: 16px;
	font-weight: 600;
	color: white;
}

footer ul {
	font-size: 14px;
	color: white;
	list-style: none;
	padding-left: 0;
}

footer ul li a {
	color: white;
	transition: all linear 250ms;
}

footer ul li a:hover {
	color: white;
	padding-left: 15px;
}