.elementor-16 .elementor-element.elementor-element-33e4dbc{--display:flex;--min-height:clamp(540px, 70vh, 680px);--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.6;--overlay-mix-blend-mode:multiply;}.elementor-16 .elementor-element.elementor-element-33e4dbc:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-33e4dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://frg.iandpdev.com/wp-content/uploads/2025/04/portfolio-frg-bg.webp");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-16 .elementor-element.elementor-element-33e4dbc::before, .elementor-16 .elementor-element.elementor-element-33e4dbc > .elementor-background-video-container::before, .elementor-16 .elementor-element.elementor-element-33e4dbc > .e-con-inner > .elementor-background-video-container::before, .elementor-16 .elementor-element.elementor-element-33e4dbc > .elementor-background-slideshow::before, .elementor-16 .elementor-element.elementor-element-33e4dbc > .e-con-inner > .elementor-background-slideshow::before, .elementor-16 .elementor-element.elementor-element-33e4dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-16 .elementor-element.elementor-element-b7fef52 .elementor-heading-title{font-family:var( --e-global-typography-e37cb06-font-family ), Sans-serif;font-size:var( --e-global-typography-e37cb06-font-size );font-weight:var( --e-global-typography-e37cb06-font-weight );text-transform:var( --e-global-typography-e37cb06-text-transform );line-height:var( --e-global-typography-e37cb06-line-height );letter-spacing:var( --e-global-typography-e37cb06-letter-spacing );color:#FFFFFF;}.elementor-16 .elementor-element.elementor-element-bfe3f47 > .elementor-widget-container{margin:0rem 0rem 0rem 0rem;}.elementor-16 .elementor-element.elementor-element-bfe3f47 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:clamp(2rem, 2.75vw, 4rem);font-weight:300;text-transform:uppercase;letter-spacing:2px;color:#FFFFFF;}.elementor-16 .elementor-element.elementor-element-3bfa61a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-16 .elementor-element.elementor-element-ee6cddb{--display:flex;}.elementor-16 .elementor-element.elementor-element-42f3d52 > .elementor-widget-container{margin:0rem 0rem 2rem 0rem;}@media(max-width:1024px){.elementor-16 .elementor-element.elementor-element-b7fef52 .elementor-heading-title{font-size:var( --e-global-typography-e37cb06-font-size );line-height:var( --e-global-typography-e37cb06-line-height );letter-spacing:var( --e-global-typography-e37cb06-letter-spacing );}}@media(max-width:767px){.elementor-16 .elementor-element.elementor-element-b7fef52{text-align:center;}.elementor-16 .elementor-element.elementor-element-b7fef52 .elementor-heading-title{font-size:var( --e-global-typography-e37cb06-font-size );line-height:var( --e-global-typography-e37cb06-line-height );letter-spacing:var( --e-global-typography-e37cb06-letter-spacing );}.elementor-16 .elementor-element.elementor-element-3bfa61a{--gap:2rem 2rem;--row-gap:2rem;--column-gap:2rem;--padding-top:4rem;--padding-bottom:4rem;--padding-left:5%;--padding-right:5%;}}/* Start custom CSS for template-element, class: .elementor-element-47a435f */.portfolio-items {
  display: block !important;
  position: relative !important;
}

.portfolio-sizer, .portfolio-item {
  width: calc(33.333%);
  float: left;
  box-sizing: border-box;
}

.portfolio-item {
float: left; /* important */
position: relative;
overflow: hidden;
padding: 10px;
}

.portfolio-item a:nth-child(1) {
height: calc(100%);
width: calc(100%);
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}

/* Hover Overlay */
.portfolio-item .overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: all 0.5s ease;
  margin: 10px;
}

.portfolio-item:hover .overlay {
  opacity: 1;
}

.portfolio-item .info {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 3rem;
  bottom: 3rem;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.5s ease;
  z-index: 3;
}

.portfolio-item:hover .info {
  opacity: 1;
  transform: translateY(0);
}

.portfolio-item .info .title {
  font-family: "Bebas Neue", Sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 2.25rem;
}

.portfolio-item .info .elementor-button {
  padding: 1rem !important;
  font-size: 0.85rem;
  cursor: pointer;
}

/* Maintain widths for Masonry layout */
.portfolio-item.style-square {
  width: calc(33.333%);
  aspect-ratio: 1 / 1;
}

.portfolio-item.style-rectangle {
  width: calc(66.666%);
  aspect-ratio: 2 / 1;
}

.portfolio-item.style-vertical-rectangle {
  width: calc(33.333%);
  aspect-ratio: 1 / 2;
}

/* Ensure images fill their box */
.portfolio-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Text items */
.portfolio-item.type-text {
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: 10px;
  text-align: center;
  font-weight: 400;
}

.portfolio-item.type-text .wrapper {
padding: 40px 60px;
display: flex;
justify-content: center;
align-items: center;
}

.portfolio-item.type-text strong {
  font-weight: 600;
}

.portfolio-item.type-text.magenta .wrapper {
  background: var(--e-global-color-primary);
  color: #fff !important;
}

.portfolio-item.type-text.green .wrapper {
  background: var(--e-global-color-accent);
  color: #fff !important;
}

.portfolio-item.type-text.orange .wrapper {
  background: #F26422;
  color: #fff !important;
}

a {
  display: block;
}

/* Responsive fixes */
@media (max-width: 991px) {
  .portfolio-item.style-square,
  .portfolio-item.style-rectangle, .portfolio-item.style-vertical-rectangle {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .portfolio-items {
    display: block;
  }
}/* End custom CSS */