/**
 * Responsive Portfolio Gallery v1.1 - 4 July, 2025
 * Made by Realwebcare - https://www.realwebcare.com/
 * Under Standard License
 * https://www.realwebcare.com/billing/licenses.php
 */

/* Base reset for plugin scope */
.rpgal_content * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.6;
}

.rpgal_content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #333;
    position: relative;
    /* Positioning context for .og-expander */
}

/* Navigation menu (portfolio categories) */
.rpgal_content .wagwep-container #porfolio-nav {
    margin-bottom: 2rem;
    background: #fff;
    border-bottom: 2px solid #ededed;
    padding: 1rem 0 0.5rem;
}

.rpgal_content ul#portfolio-filter {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    padding: 0;
    list-style: none;
    border-bottom: none;
}

.rpgal_content ul#portfolio-filter li {
    background: none;
    margin: 0;
    padding: 0;
}

.rpgal_content ul#portfolio-filter a {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    color: #555;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 6px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.rpgal_content ul#portfolio-filter a:hover {
    background: #f1f1f1;
    color: #222;
}

.rpgal_content ul#portfolio-filter li.current a {
    background: #007bff;
    color: #fff;
    font-weight: 600;
}

/* Grid layout for portfolio thumbnails */
.rpgal_content .og-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    list-style: none;
    padding: 1rem 0;
    justify-content: left;
}

.rpgal_content .og-grid li {
    background: none;
    margin: 0;
    padding: 0;
    /* position: relative; */
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rpgal_content .og-grid .og-details ul,
.rpgal_content .og-grid .og-details ol {
    list-style: disc;
    margin: 0;
    padding-left: 30px;
}

.rpgal_content .og-grid .og-details li {
    border-radius: 0;
    box-shadow: none;
    list-style-type: disc;
    overflow: visible;
    line-height: 20px;
}

/* .rpgal_content .og-grid li:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
} */

.rpgal_content .og-grid li.hidden {
    display: none;
}

/* Video */
.rpgal_content .og-grid li .video_overlay {
    transition: all .5s ease 0s;
    background: rgba(51, 51, 51, 0.2);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 998
}

.rpgal_content .og-grid li:hover .video_overlay {
    opacity: 0
}

.rpgal_content .og-grid li .youtube_icon,
.rpgal_content .og-grid li .vimeo_icon {
    opacity: 0.8;
    transition: all .5s ease 0s;
    color: #FFFFFF;
    font-size: 16px;
    left: 50%;
    width: 32px;
    height: 32px;
    margin-left: -17.5px;
    margin-top: -17.5px;
    position: absolute;
    text-align: center;
    top: 50%;
    z-index: 999
}

.rpgal_content .og-grid li .youtube_icon {
    background: url(../images/rpgal-buttons.png) no-repeat -1px -153px
}

.rpgal_content .og-grid li .vimeo_icon {
    background: url(../images/rpgal-buttons.png) no-repeat -1px -115px
}

.rpgal_content .og-grid li:hover .youtube_icon,
.rpgal_content .og-grid li:hover .vimeo_icon {
    opacity: 0;
    transition: all .5s ease 0s
}
/* // Video */

.rpgal_content .og-grid li>a,
.rpgal_content .og-grid li>a img {
    border: 0;
    outline: 0;
    display: block;
    position: relative;
    margin: 0;
}

.rpgal_content .og-grid li a {
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.rpgal_content .og-grid li a.unhoverdir {
    overflow: visible
}

.rpgal_content .og-grid li a img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.rpgal_content .og-grid li:hover a img {
    transform: scale(1.05);
}

.rpgal_content .og-grid li a figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rpgal_content .og-grid li a figure span {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    padding: 0 1rem;
}

.rpgal_content .og-grid li:hover a figure {
    opacity: 1;
}

/* Animation */
.og-grid.effect-fadeIn li.animate {
    opacity: 0.1;
    -webkit-animation: fadeIn 1.65s ease forwards;
    -moz-animation: fadeIn 1.65s ease forwards;
    animation: fadeIn 1.65s ease forwards
}

@-webkit-keyframes fadeIn {
    to {
        opacity: 1
    }
}

@-moz-keyframes fadeIn {
    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    to {
        opacity: 1
    }
}

.og-grid.effect-moveUp li.animate {
    opacity: 0.1;
    -webkit-transform: translateY(200px);
    -moz-transform: translateY(200px);
    transform: translateY(200px);
    -webkit-animation: moveUp 1.25s ease forwards;
    -moz-animation: moveUp 1.25s ease forwards;
    animation: moveUp 1.25s ease forwards
}

@-webkit-keyframes moveUp {
    to {
        -webkit-transform: translateY(0);
        opacity: 1
    }
}

@-moz-keyframes moveUp {
    to {
        -moz-transform: translateY(0);
        opacity: 1
    }
}

@keyframes moveUp {
    to {
        transform: translateY(0);
        opacity: 1
    }
}

/* Animation: Zoom Fade Stagger */
.og-grid.effect-zoomFade li.animate {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-animation: zoomFade .75s ease-in-out forwards;
    -moz-animation: zoomFade .75s ease-in-out forwards;
    animation: zoomFade .75s ease-in-out forwards
}

@-webkit-keyframes zoomFade {
    to {
        -webkit-transform: scale(1);
        opacity: 1
    }
}

@-moz-keyframes zoomFade {
    to {
        -moz-transform: scale(1);
        opacity: 1
    }
}

@keyframes zoomFade {
    to {
        transform: scale(1);
        opacity: 1
    }
}

.og-grid.effect-fallInPer {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px
}

.og-grid.effect-fallInPer li.animate {
    opacity: 0.1;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translateZ(400px) translateY(300px) rotateX(-90deg);
    -moz-transform: translateZ(400px) translateY(300px) rotateX(-90deg);
    transform: translateZ(400px) translateY(300px) rotateX(-90deg);
    -webkit-animation: fallPerspective 1s ease-in-out forwards;
    -moz-animation: fallPerspective 1s ease-in-out forwards;
    animation: fallPerspective 1s ease-in-out forwards
}

@-webkit-keyframes fallPerspective {
    100% {
        -webkit-transform: translateZ(0) translateY(0) rotateX(0);
        opacity: 1
    }
}

@-moz-keyframes fallPerspective {
    100% {
        -moz-transform: translateZ(0) translateY(0) rotateX(0);
        opacity: 1
    }
}

@keyframes fallPerspective {
    100% {
        transform: translateZ(0) translateY(0) rotateX(0);
        opacity: 1
    }
}

.og-grid.effect-flyInRotate {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px
}

.og-grid.effect-flyInRotate li.animate {
    opacity: 0.1;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform-origin: 50% 50% -300px;
    -moz-transform-origin: 50% 50% -300px;
    transform-origin: 50% 50% -300px;
    -webkit-transform: rotateX(-180deg);
    -moz-transform: rotateX(-180deg);
    transform: rotateX(-180deg);
    -webkit-animation: fly 1s ease-in-out forwards;
    -moz-animation: fly 1s ease-in-out forwards;
    animation: fly 1s ease-in-out forwards
}

@-webkit-keyframes fly {
    100% {
        -webkit-transform: rotateX(0);
        opacity: 1
    }
}

@-moz-keyframes fly {
    100% {
        -moz-transform: rotateX(0);
        opacity: 1
    }
}

@keyframes fly {
    100% {
        transform: rotateX(0);
        opacity: 1
    }
}

.og-grid.effect-flipUp {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px
}

.og-grid.effect-flipUp li.animate {
    opacity: 0.1;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotateX(-80deg);
    -moz-transform: rotateX(-80deg);
    transform: rotateX(-80deg);
    -webkit-animation: flip 1s ease-in-out forwards;
    -moz-animation: flip 1s ease-in-out forwards;
    animation: flip 1s ease-in-out forwards
}

@-webkit-keyframes flip {
    100% {
        -webkit-transform: rotateX(0);
        opacity: 1
    }
}

@-moz-keyframes flip {
    100% {
        -moz-transform: rotateX(0);
        opacity: 1
    }
}

@keyframes flip {
    100% {
        transform: rotateX(0);
        opacity: 1
    }
}

.og-grid.effect-helixSpin {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px
}

.og-grid.effect-helixSpin li.animate {
    opacity: 0.1;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: rotateY(-180deg);
    -moz-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
    -webkit-animation: helix 1s ease-in-out forwards;
    -moz-animation: helix 1s ease-in-out forwards;
    animation: helix 1s ease-in-out forwards
}

@-webkit-keyframes helix {
    100% {
        -webkit-transform: rotateY(0);
        opacity: 1
    }
}

@-moz-keyframes helix {
    100% {
        -moz-transform: rotateY(0);
        opacity: 1
    }
}

@keyframes helix {
    100% {
        transform: rotateY(0);
        opacity: 1
    }
}

.og-grid.effect-popUp {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px
}

.og-grid.effect-popUp li.animate {
    opacity: 0.1;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: scale(0.4);
    -moz-transform: scale(0.4);
    transform: scale(0.4);
    -webkit-animation: popUp 1s ease-in forwards;
    -moz-animation: popUp 1s ease-in forwards;
    animation: popUp 1s ease-in forwards
}

@-webkit-keyframes popUp {
    70% {
        -webkit-transform: scale(1.1);
        opacity: .8;
        -webkit-animation-timing-function: ease-out
    }
    100% {
        -webkit-transform: scale(1);
        opacity: 1
    }
}

@-moz-keyframes popUp {
    70% {
        -moz-transform: scale(1.1);
        opacity: .8;
        -moz-animation-timing-function: ease-out
    }
    100% {
        -moz-transform: scale(1);
        opacity: 1
    }
}

@keyframes popUp {
    70% {
        transform: scale(1.1);
        opacity: .8;
        animation-timing-function: ease-out
    }
    100% {
        transform: scale(1);
        opacity: 1
    }
}

/* Animation: Slide Rotate Right */
.og-grid.effect-slideRight li.animate {
    opacity: 0.1;
    -webkit-transform: translateX(-100%) rotate(-180deg);
    -moz-transform: translateX(-100%) rotate(-180deg);
    transform: translateX(-100%) rotate(-180deg);
    opacity: 0;
    -webkit-animation: slideRotateRight .75s ease-in-out forwards;
    -moz-animation: slideRotateRight .75s ease-in-out forwards;
    animation: slideRotateRight .75s ease-in-out forwards
}

@-webkit-keyframes slideRotateRight {
    to {
        -webkit-transform: translateX(0) rotate(0);
        opacity: 1
    }
}

@-moz-keyframes slideRotateRight {
    to {
        -moz-transform: translateX(0) rotate(0);
        opacity: 1
    }
}

@keyframes slideRotateRight {
    to {
        transform: translateX(0) rotate(0);
        opacity: 1
    }
}

/* Animation: Rotate Right Reveal */
.og-grid.effect-rotateRight li.animate {
    opacity: 0.1;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
    -webkit-animation: rotateRight .7s ease-in-out forwards;
    -moz-animation: rotateRight .7s ease-in-out forwards;
    animation: rotateRight .7s ease-in-out forwards
}

@-webkit-keyframes rotateRight {
    to {
        -webkit-transform: rotate(0);
        opacity: 1
    }
}

@-moz-keyframes rotateRight {
    to {
        -moz-transform: rotate(0);
        opacity: 1
    }
}

@keyframes rotateRight {
    to {
        transform: rotate(0);
        opacity: 1
    }
}

/* Animation: slideInLeft */
.og-grid.effect-slideInLeft li.animate {
    opacity: 0.1;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-animation: slideInLeft .7s ease-out forwards;
    -moz-animation: slideInLeft .7s ease-out forwards;
    animation: slideInLeft .7s ease-out forwards
}

@-webkit-keyframes slideInLeft {
    to {
        -webkit-transform: translateX(0);
        opacity: 1
    }
}

@-moz-keyframes slideInLeft {
    to {
        -moz-transform: translateX(0);
        opacity: 1
    }
}

@keyframes slideInLeft {
    to {
        transform: translateX(0);
        opacity: 1
    }
}

/* Animation: slideInRight */
.og-grid.effect-slideInRight li.animate {
    opacity: 0.1;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-animation: slideInRight .7s ease-out forwards;
    -moz-animation: slideInRight .7s ease-out forwards;
    animation: slideInRight .7s ease-out forwards
}

@-webkit-keyframes slideInRight {
    to {
        -webkit-transform: translateX(0);
        opacity: 1
    }
}

@-moz-keyframes slideInRight {
    to {
        -moz-transform: translateX(0);
        opacity: 1
    }
}

@keyframes slideInRight {
    to {
        transform: translateX(0);
        opacity: 1
    }
}

/* Animation: zoomIn */
.og-grid.effect-zoomIn li.animate {
    -webkit-transform: scale(0.2);
    -moz-transform: scale(0.2);
    transform: scale(0.2);
    -webkit-animation: zoomIn .6s ease-in-out forwards;
    -moz-animation: zoomIn .6s ease-in-out forwards;
    animation: zoomIn .6s ease-in-out forwards
}

@-webkit-keyframes zoomIn {
    50% {
        -webkit-transform: scale(1.1);
        opacity: 0.7
    }
    100% {
        -webkit-transform: scale(1);
        opacity: 1
    }
}

@-moz-keyframes zoomIn {
    50% {
        -moz-transform: scale(1.1);
        opacity: 0.7
    }
    100% {
        -moz-transform: scale(1);
        opacity: 1
    }
}

@keyframes zoomIn {
    50% {
        transform: scale(1.1);
        opacity: 0.7
    }
    100% {
        transform: scale(1);
        opacity: 1
    }
}

/* Animation: rotateIn */
.og-grid.effect-rotateIn li.animate {
    opacity: 0.1;
    -webkit-transform: rotate(90deg) scale(0.5);
    -moz-transform: rotate(90deg) scale(0.5);
    transform: rotate(90deg) scale(0.5);
    -webkit-animation: rotateIn .7s ease-in-out forwards;
    -moz-animation: rotateIn .7s ease-in-out forwards;
    animation: rotateIn .7s ease-in-out forwards
}

@-webkit-keyframes rotateIn {
    to {
        -webkit-transform: rotate(0) scale(1);
        opacity: 1
    }
}

@-moz-keyframes rotateIn {
    to {
        -moz-transform: rotate(0) scale(1);
        opacity: 1
    }
}

@keyframes rotateIn {
    to {
        transform: rotate(0) scale(1);
        opacity: 1
    }
}

/* Animation: bounceIn */
.og-grid.effect-bounceIn li.animate {
    opacity: 0.1;
    -webkit-transform: scale(0.3);
    -moz-transform: scale(0.3);
    transform: scale(0.3);
    -webkit-animation: bounceIn .8s ease-out forwards;
    -moz-animation: bounceIn .8s ease-out forwards;
    animation: bounceIn .8s ease-out forwards
}

@-webkit-keyframes bounceIn {
    0% {
        -webkit-transform: scale(0.3);
        opacity: 0
    }
    50% {
        -webkit-transform: scale(1.2);
        opacity: 0.7
    }
    70% {
        -webkit-transform: scale(0.9);
        opacity: 0.9
    }
    100% {
        -webkit-transform: scale(1);
        opacity: 1
    }
}

@-moz-keyframes bounceIn {
    0% {
        -moz-transform: scale(0.3);
        opacity: 0
    }
    50% {
        -moz-transform: scale(1.2);
        opacity: 0.7
    }
    70% {
        -moz-transform: scale(0.9);
        opacity: 0.9
    }
    100% {
        -moz-transform: scale(1);
        opacity: 1
    }
}

@keyframes bounceIn {
    0% {
        transform: scale(0.3);
        opacity: 0
    }
    50% {
        transform: scale(1.2);
        opacity: 0.7
    }
    70% {
        transform: scale(0.9);
        opacity: 0.9
    }
    100% {
        transform: scale(1);
        opacity: 1
    }
}

/* Animation: swingIn */
.og-grid.effect-swingIn li.animate {
    opacity: 0.1;
    -webkit-transform-origin: top center;
    -moz-transform-origin: top center;
    transform-origin: top center;
    -webkit-transform: rotateX(-90deg);
    -moz-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
    -webkit-animation: swingIn 1.25s ease-in-out forwards;
    -moz-animation: swingIn 1.25s ease-in-out forwards;
    animation: swingIn 1.25s ease-in-out forwards
}

@-webkit-keyframes swingIn {
    0% {
        -webkit-transform: rotateX(-90deg);
        opacity: 0
    }
    50% {
        -webkit-transform: rotateX(20deg);
        opacity: 0.8
    }
    100% {
        -webkit-transform: rotateX(0);
        opacity: 1
    }
}

@-moz-keyframes swingIn {
    0% {
        -moz-transform: rotateX(-90deg);
        opacity: 0
    }
    50% {
        -moz-transform: rotateX(20deg);
        opacity: 0.8
    }
    100% {
        -moz-transform: rotateX(0);
        opacity: 1
    }
}

@keyframes swingIn {
    0% {
        transform: rotateX(-90deg);
        opacity: 0
    }
    50% {
        transform: rotateX(20deg);
        opacity: 0.8
    }
    100% {
        transform: rotateX(0);
        opacity: 1
    }
}

/* Animation: slideInUpScale */
.og-grid.effect-slideInUpScale li.animate {
    opacity: 0.1;
    -webkit-transform: translateY(150px) scale(0.8);
    -moz-transform: translateY(150px) scale(0.8);
    transform: translateY(150px) scale(0.8);
    -webkit-animation: slideInUpScale .65s ease-in-out forwards;
    -moz-animation: slideInUpScale .65s ease-in-out forwards;
    animation: slideInUpScale .65s ease-in-out forwards
}

@-webkit-keyframes slideInUpScale {
    to {
        -webkit-transform: translateY(0) scale(1);
        opacity: 1
    }
}

@-moz-keyframes slideInUpScale {
    to {
        -moz-transform: translateY(0) scale(1);
        opacity: 1
    }
}

@keyframes slideInUpScale {
    to {
        transform: translateY(0) scale(1);
        opacity: 1
    }
}

/* Animation: fadeInSkew */
.og-grid.effect-fadeInSkew li.animate {
    opacity: 0.1;
    -webkit-transform: skewX(20deg);
    -moz-transform: skewX(20deg);
    transform: skewX(20deg);
    -webkit-animation: fadeInSkew .6s ease-out forwards;
    -moz-animation: fadeInSkew .6s ease-out forwards;
    animation: fadeInSkew .6s ease-out forwards
}

@-webkit-keyframes fadeInSkew {
    to {
        -webkit-transform: skewX(0);
        opacity: 1
    }
}

@-moz-keyframes fadeInSkew {
    to {
        -moz-transform: skewX(0);
        opacity: 1
    }
}

@keyframes fadeInSkew {
    to {
        transform: skewX(0);
        opacity: 1
    }
}

/* Animation: popInRotate */
.og-grid.effect-popInRotate li.animate {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: scale(0.5) rotateX(45deg);
    -moz-transform: scale(0.5) rotateX(45deg);
    transform: scale(0.5) rotateX(45deg);
    -webkit-animation: popInRotate .8s ease-in-out forwards;
    -moz-animation: popInRotate .8s ease-in-out forwards;
    animation: popInRotate .8s ease-in-out forwards
}

@-webkit-keyframes popInRotate {
    60% {
        -webkit-transform: scale(1.1) rotateY(-90deg);
        opacity: 0.8
    }
    100% {
        -webkit-transform: scale(1) rotateY(0);
        opacity: 1
    }
}

@-moz-keyframes popInRotate {
    60% {
        -moz-transform: scale(1.1) rotateY(-90deg);
        opacity: 0.8
    }
    100% {
        -moz-transform: scale(1) rotateY(0);
        opacity: 1
    }
}

@keyframes popInRotate {
    60% {
        transform: scale(1.1) rotateY(-90deg);
        opacity: 0.8
    }
    100% {
        transform: scale(1) rotateY(0);
        opacity: 1
    }
}

/* Animation: Back In Down */
.og-grid.effect-backInDown {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px
}
.og-grid.effect-backInDown li.animate {
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translateY(-100px) translateZ(200px);
    -moz-transform: translateY(-100px) translateZ(200px);
    transform: translateY(-100px) translateZ(200px);
    opacity: 0;
    -webkit-animation: backInDown .75s ease-in-out forwards;
    -moz-animation: backInDown .75s ease-in-out forwards;
    animation: backInDown .75s ease-in-out forwards
}

@-webkit-keyframes backInDown {
    0% {
        -webkit-transform: translateY(-100px) translateZ(200px);
        opacity: 0
    }
    60% {
        -webkit-transform: translateY(20px) translateZ(50px);
        opacity: 0.7
    }
    100% {
        -webkit-transform: translateY(0) translateZ(0);
        opacity: 1
    }
}

@-moz-keyframes backInDown {
    0% {
        -moz-transform: translateY(-100px) translateZ(200px);
        opacity: 0
    }
    60% {
        -moz-transform: translateY(20px) translateZ(50px);
        opacity: 0.7
    }
    100% {
        -moz-transform: translateY(0) translateZ(0);
        opacity: 1
    }
}

@keyframes backInDown {
    0% {
        transform: translateY(-100px) translateZ(200px);
        opacity: 0
    }
    60% {
        transform: translateY(20px) translateZ(50px);
        opacity: 0.7
    }
    100% {
        transform: translateY(0) translateZ(0);
        opacity: 1
    }
}

/* Expanding preview pointer */
.rpgal_content .og-pointer {
    position: relative;
    top: auto;
    left: auto;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #ffffff;
    margin: 0 auto;
    pointer-events: none;
    z-index: 1002;
}

/* Expanding preview box */
.rpgal_content .og-expander {
    position: absolute;
    top: auto;
    /* JavaScript sets vertical position */
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1200px;
    /* Match .rpgal_content */
    background: #fff;
    height: 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    transition: height 0.4s ease;
    z-index: 1001;
}

.rpgal_content .og-expander-inner {
    padding: 2rem;
    display: flex;
    gap: 2rem;
    height: 100%;
}

/* Close button */
.rpgal_content .og-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 28px;
    height: 28px;
    background: #ff4d4d;
    border-radius: 50%;
    box-shadow: 1px 1px 3px rgb(51 51 51 / 40%);
    cursor: pointer;
    z-index: 1003;
    -webkit-transition: all .5s ease;
    -o-transition: all .5s ease;
    -moz-transition: all .5s ease;
    transition: all .5s ease;
}

.rpgal_content .og-close::before,
.rpgal_content .og-close::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 3px;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.rpgal_content .og-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.rpgal_content .og-close:hover {
    background: #e60000;
    box-shadow: inset 1px 1px 3px rgba(32, 32, 32, 0.4);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

/* Left side: Image/Video */
.rpgal_content .og-fullimg {
    width: 50%;
    height: auto;
    overflow: hidden;
    border-radius: 8px;
}

.rpgal_content .og-fullimg img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

.rpgal_content .og-fullimg iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 8px;
}

.rpgal_content .og-fullimg .og-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid #007bff;
    border-top: 4px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* Right side: Content and Carousel */
.rpgal_content .og-details {
    width: 50%;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* WebKit (Chrome, Edge, Safari) */
.rpgal_content .og-details::-webkit-scrollbar {
    width: 4px;
}

.rpgal_content .og-details::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 8px;
}

.rpgal_content .og-details::-webkit-scrollbar-thumb {
    background-color: #333;
    border-radius: 8px;
    border: 1px solid #000; /* Creates padding around the thumb */
}

.rpgal_content .og-details::-webkit-scrollbar-thumb:hover {
    background-color: #a8a8a8;
}

.rpgal_content .og-details h1 {
    font-size: 2rem;
}

.rpgal_content .og-details h2 {
    font-size: 1.6rem;
}

.rpgal_content .og-details h3 {
    font-size: 1.3rem;
}

.rpgal_content .og-details h4 {
    font-size: 1.1rem;
}

.rpgal_content .og-details h5 {
    font-size: 1rem;
}

.rpgal_content .og-details h6 {
    font-size: .875rem;
}

.rpgal_content .og-details h1,
.rpgal_content .og-details h2,
.rpgal_content .og-details h3,
.rpgal_content .og-details h4,
.rpgal_content .og-details h5,
.rpgal_content .og-details h6 {
    font-weight: 700;
    color: #222;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
}

.rpgal_content .og-details p {
    font-size: 1rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 0.5rem;
}

/* Style all common HTML tags for user content */
.rpgal_content .og-details p h1,
.rpgal_content .og-details p h2,
.rpgal_content .og-details p h3,
.rpgal_content .og-details p h4,
.rpgal_content .og-details p h5,
.rpgal_content .og-details p h6 {
    font-weight: 600;
    color: #222;
    margin: 0.5rem 0;
}

.rpgal_content .og-details p h1 {
    font-size: 1.8rem;
}
.rpgal_content .og-details p h2 {
    font-size: 1.6rem;
}
.rpgal_content .og-details p h3 {
    font-size: 1.4rem;
}
.rpgal_content .og-details p h4 {
    font-size: 1.2rem;
}
.rpgal_content .og-details p h5 {
    font-size: 1rem;
}
.rpgal_content .og-details p h6 {
    font-size: 0.9rem;
}

.rpgal_content .og-details p a {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.rpgal_content .og-details p a:hover {
    color: #0056b3;
    text-decoration: underline;
}

.rpgal_content .og-details p a.rpgal-more {
    display: inline-block;
    padding: 0.125rem .875rem;
    margin: 0 0.5rem;
    vertical-align: middle;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
    color: white;
    border-radius: 10px;
    border: 0px;
    font-weight: 700;
    box-shadow: 0px 0px 14px -7px #f09819;
    background-image: linear-gradient(45deg, #FF512F 0%, #F09819 51%, #FF512F 100%);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

.rpgal_content .og-details p a.rpgal-more:hover {
    background-position: right center;
    /* change the direction of the change here */
    color: #fff;
    text-decoration: none;
}

.rpgal_content .og-details p a.rpgal-more:active {
    transform: scale(0.95);
}

.rpgal_content .og-details p ul,
.rpgal_content .og-details p ol {
    margin: 0.5rem 0 0.5rem 1.5rem;
    font-size: 1rem;
    color: #555;
}

.rpgal_content .og-details p ul li,
.rpgal_content .og-details p ol li {
    margin-bottom: 0.5rem;
}

.rpgal_content .og-details p blockquote {
    border-left: 4px solid #007bff;
    padding-left: 1rem;
    margin: 1rem 0;
    font-style: italic;
    color: #444;
}

.rpgal_content .og-details p code,
.rpgal_content .og-details p pre {
    background: #f8f9fa;
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
    font-family: 'Consolas', monospace;
    font-size: 0.9rem;
}

.rpgal_content .og-details p pre {
    padding: 1rem;
    overflow-x: auto;
}

.rpgal_content .og-details p table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
}

.rpgal_content .og-details p th,
.rpgal_content .og-details p td {
    border: 1px solid #ddd;
    padding: 0.5rem;
    text-align: left;
}

.rpgal_content .og-details p th {
    background: #f1f1f1;
    font-weight: 600;
}

.rpgal_content .og-details .infosep {
    border-bottom: 1px solid #e5e5e5;
    margin: 0;
    padding: 0;
}

/* Buttons in content */
.rpgal_content .og-details .buttons-list a.link-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 1rem 0.5rem 1rem 0;
    padding: 0.5rem 1.5rem;
    appearance: none;
    background-image: radial-gradient(100% 100% at 100% 0, #5adaff 0, #5468ff 100%);
    border: 0;
    border-radius: 6px;
    box-shadow: rgba(45, 35, 66, .4) 0 2px 4px, rgba(45, 35, 66, .3) 0 7px 13px -3px, rgba(58, 65, 111, .5) 0 -3px 0 inset;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    height: 36px;
    line-height: 1;
    list-style: none;
    overflow: hidden;
    position: relative;
    text-align: left;
    text-decoration: none;
    transition: box-shadow .15s, transform .15s;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    white-space: nowrap;
    will-change: box-shadow, transform;
    font-size: 16px;
}

.rpgal_content .og-details .buttons-list a.link-button:focus {
    box-shadow: #3c4fe0 0 0 0 1.5px inset, rgba(45, 35, 66, .4) 0 2px 4px, rgba(45, 35, 66, .3) 0 7px 13px -3px, #3c4fe0 0 -3px 0 inset;
}

.rpgal_content .og-details .buttons-list a.link-button:hover {
    box-shadow: rgba(45, 35, 66, .4) 0 4px 8px, rgba(45, 35, 66, .3) 0 7px 13px -3px, #3c4fe0 0 -3px 0 inset;
    transform: translateY(-2px);
}

.rpgal_content .og-details .buttons-list a.link-button:active {
    box-shadow: #3c4fe0 0 3px 3px inset;
    transform: translateY(2px);
}

/* .rpgal_content .og-details .buttons-list a.link-button:hover {
    background: #218838;
} */

/* Carousel */
.rpgal_content .rpgalslide-wrapper {
    background: #ebedef;
    border-radius: 8px;
    padding: 1rem;
    position: relative;
    margin-top: 1rem;
    -webkit-box-shadow: inset 0 0 6px rgba(78, 78, 78, 0.3);
    box-shadow: inset 0 0 6px rgba(78, 78, 78, 0.3);
}

.rpgal_content .rpgalslide-carousel {
    overflow: hidden;
}

.rpgal_content .rpgalslide-carousel ul.rpgalslide-list {
    display: flex;
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    transition: transform 0.3s ease;
}

.rpgal_content .rpgalslide-carousel ul.rpgalslide-list li {
    flex: 0 0 auto;
    margin: 0 0.5rem;
    max-width: 120px;
}


.rpgal_content .rpgalslide-carousel ul li a.og-selected {
    overflow: visible;
}

.rpgal_content .rpgalslide-carousel ul li a.og-selected::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 15px);
    background: rgba(0, 0, 0, 0.4);
    border: 2px solid #333333;
    z-index: 2;
}

.rpgal_content .rpgalslide-carousel ul.rpgalslide-list li a img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: border-color 0.3s ease;
}

/* .rpgal_content .rpgalslide-carousel ul.rpgalslide-list li a img.selected {
    border-color: #007bff;
} */

.rpgal_content .rpgalslide-wrapper nav span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: #007bff url(../images/nav.png) no-repeat 4px 4px;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.3s ease;
    font-size: 1rem;
    text-indent: -9000px;
}

.rpgal_content .rpgalslide-wrapper nav span:hover {
    opacity: 1;
}

.rpgal_content .rpgalslide-wrapper nav span.rpgalslide-prev {
    left: 0.5rem;
}

.rpgal_content .rpgalslide-wrapper nav span.rpgalslide-next {
    right: 0.5rem;
    background-position: 4px -16px;
}

/**
* Simple Bar
* Reinstate scrolling for non-JS clients
*/
.simplebar-content-wrapper {
    scrollbar-width: auto;
    -ms-overflow-style: auto;
}
.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
    display: initial;
    width: initial;
    height: initial;
}
/* Scrollable content in .og-details */
[data-simplebar] {
    overflow: auto;
    max-height: 100%;
    padding-right: 5px;
}
.simplebar-scrollbar::before {
    background-color: #999;
    width: 3px;
}

/* Template Page */
.rpgal_single_items {
    display: inline-block;
    width: 100%;
    padding-left: 32px;
    padding-right: 32px
}

.rpgal_single_items .rpgal-content {
    display: block;
    float: left;
    max-width: 100%;
}

.rpgal_single_items .rpgal_media {
    display: block;
    margin-bottom: .5em
}

.rpgal_single_items .rpgal_media .entry-thumbnail {
    display: inline-block
}

.rpgal_single_items .rpgal-single-portfolio-title {
    font-weight: 900;
    font-style: normal;
    font-size: 30px;
    text-transform: none;
    line-height: 40px;
    display: inline-block;
    margin: 0 0 2px
}

.rpgal_single_items .rpgal-header {
    margin-bottom: 2em
}

.rpgal_single_items .rpgal-header .rpgal-meta {
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1.5
}

.rpgal_single_items .rpgal-header .rpgal-meta li {
    display: inline-block;
    margin-right: 5px;
    font-size: 13px;
    color: #676767
}

.rpgal_single_items .rpgal-header .rpgal-meta li a {
    color: #999;
    text-decoration: none
}

.rpgal_single_items .rpgal-header .rpgal-meta li a:hover {
    color: #666
}

.rpgal_single_items .rpgal-entry-content {
    font-size: 16px
}

.rpgal_single_items .rpgal-author-info {
    position: relative;
    border: 1px solid #e6e6e6;
    margin: 3.75em auto;
    padding: 30px 20px;
    background-color: #f1f1f1;
    -webkit-border-radius: 3px;
    border-radius: 3px
}

.rpgal_single_items .rpgal-author-info .rpgal-author-avatar {
    width: 80px;
    float: left
}

.rpgal_single_items .rpgal-author-info .rpgal-author-avatar img {
    -webkit-border-radius: 3px;
    border-radius: 3px
}

.rpgal-author-description {
    overflow: hidden;
    padding-left: 20px;
    min-height: 80px
}

h2.rpgal-author-title {
    color: #000;
    font-size: 18px;
    text-transform: none;
    line-height: 24px;
    margin: 0 0 .45em;
    padding: 0;
    border: none
}

p.rpgal-author-bio {
    margin: 0
}

.rpgal_single_items h3 {
    font-size: 48px;
    margin: 33px 0
}

/* .rpgal-screen-reader {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important
} */

.rpgal_single_items .rpgal-gallery-container {
    list-style: none;
    padding: 20px 0 !important;
    margin: 0 auto;
    text-align: center;
    width: 100%
}

.rpgal-gallery-container .rpgal {
    display: inline-block;
    margin: 0;
    padding: 0
}

.rpgal-gallery-container .rpgal-portfolio-gallery {
    background: 0 0 !important;
    display: inline-block;
    margin: 10px 0 5px;
    padding: 0 !important;
    vertical-align: top
}

.rpgal-gallery-container .rpgal-portfolio-gallery .rcmig-media {
    display: block;
    position: relative
}

.rpgal-gallery-container .rpgal-portfolio-gallery .rcmig-media:hover img {
    transition: transform .35s
}

.rpgal-gallery-container .rpgal_overlay {
    position: relative;
    overflow: hidden
}

.rpgal-gallery-container .rpgal_overlay .rcmig-media::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 10px;
    right: 10px;
    bottom: 10px;
    display: block;
    opacity: 0;
    z-index: 2;
    backface-visibility: hidden;
    transition: opacity .35s;
    background-color: #fff
}

.rpgal-gallery-container .rpgal_overlay:hover .rcmig-media::before {
    opacity: 1
}

.rpgal-gallery-container .rpgal_overlay figcaption {
    position: absolute;
    top: 50%;
    left: 0;
    text-align: center;
    z-index: 4;
    width: 100%;
    font-size: 13px;
    line-height: 1.5;
    transform: translateY(-50%);
    padding: 0 15px
}

.rpgal-gallery-container .rpgal_overlay h5 {
    font-size: 20px;
    margin: 10px 0;
    color: #000
}

.rpgal-gallery-container .rpgal_overlay .rpgal-title {
    opacity: 0;
    transform: translate(0, 90px);
    transition: opacity .35s, transform .35s
}

.rpgal-gallery-container .rpgal_overlay:hover .rpgal-title {
    opacity: 1;
    transform: translate(0, 0)
}

.rpgal-gallery-container .rpgal_overlay .rpgal-caption,
.rpgal-gallery-container .rpgal_overlay .rpgal-more {
    display: block;
    opacity: 0;
    font-size: 13px;
    margin: 10px 0;
    color: #676767;
    transform: translate(0, 100px);
    transition: opacity .35s, transform .35s
}

.rpgal-gallery-container .rpgal_overlay .rpgal-more {
    border: 2px solid #c95a3c;
    display: inline-block;
    margin: 5px auto;
    padding: 3px 10px;
    text-decoration: none;
    font-size: 14px;
    color: #b92902
}

.rpgal-gallery-container .rpgal_overlay:hover .rpgal-caption,
.rpgal-gallery-container .rpgal_overlay:hover .rpgal-more {
    opacity: 1;
    transition-delay: .1s;
    transform: translate(0, 0)
}

/* Portfolio Archive Grid - Base Styles */
.rpgal_single_items .gallery-archive {
    display: grid;
    grid-template-columns: repeat(var(--rpgal-columns, 3), 1fr);
    gap: var(--rpgal-gap, 30px);
    align-items: stretch;
}

.rpgal_single_items .rpgal-gallery-container.gallery-archive .rpgal {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: auto;
    margin: 0 auto;
    border: none;
    background: transparent;
}

.gallery-archive .rpgal-portfolio-thumbnail {
    overflow: hidden;
    border-radius: 8px 8px 0 0;
    aspect-ratio: 4/3;
}

.gallery-archive .rpgal-portfolio-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.gallery-archive .rpgal-portfolio-content {
    padding: 20px;
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    flex-grow: 1;
    /* This makes the content area grow to fill space */
    display: flex;
    flex-direction: column;
}

.gallery-archive .rpgal-categories {
    font-size: 0.8em;
    color: #666;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gallery-archive .rpgal-title {
    margin: 0 0 10px;
    font-size: 1.2em;
}

.gallery-archive .rpgal-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.gallery-archive .rpgal-description {
    color: #666;
    margin-bottom: 15px;
    font-size: 0.9em;
    line-height: 1.5;
    flex-grow: 1;
    /* This makes description take remaining space */
}

.gallery-archive .rpgal-more-button {
    display: inline-block;
    padding: 8px 15px;
    background: #2c3e50;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.8em;
    transition: background 0.2s;
    margin-top: auto;
    align-self: flex-start;
}

/* Center alignment button adjustment */
.gallery-archive.rpgal-align-center .rpgal-more-button {
    align-self: center;
}

/* Right alignment button adjustment */
.gallery-archive.rpgal-align-right .rpgal-more-button {
    align-self: flex-end;
}

/* Hover Effects */
.gallery-archive .rpgal-portfolio-thumbnail:hover img {
    transform: scale(1.03);
}

.gallery-archive .rpgal-title a:hover {
    color: #3498db;
}

.gallery-archive .rpgal-more-button:hover {
    background: #3498db;
}

/* Archive Nav */
/* Main Pagination Container */
.rpgal_single_items .rpgal-paging-navigation {
    margin: 40px 0;
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

/* Navigation Links Container */
.rpgal_single_items .rpgal-nav-links {
    display: flex;
    justify-content: center;
}

/* Page Numbers List */
.rpgal_single_items .page-numbers {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}

/* Individual Page Items */
.rpgal_single_items .page-numbers li {
    margin: 0;
    padding: 0;
}

/* Page Number Links */
.rpgal_single_items .page-numbers a,
.rpgal_single_items .page-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    color: #555;
    transition: all 0.3s ease;
    border: 1px solid #e0e0e0;
    background-color: #f9f9f9;
}

/* Current Page */
.rpgal_single_items .page-numbers .current {
    background-color: #3a3a3a;
    color: white;
    border-color: #3a3a3a;
}

/* Hover Effects */
/* .rpgal_single_items .page-numbers a:hover {
    background-color: #e0e0e0;
    color: #222;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
} */

/* Next/Previous Buttons */
.rpgal_single_items .page-numbers .next,
.rpgal_single_items .page-numbers .prev {
    width: auto;
    padding: 0 15px;
    border-radius: 21px;
    background-color: #3a3a3a;
    color: white;
    border: none
}

.rpgal_single_items .page-numbers .next:hover,
.rpgal_single_items .page-numbers .prev:hover {
    background-color: #555;
    /* transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */
}

/* Dots */
.rpgal_single_items .page-numbers .dots {
    border: none;
    background: transparent;
    width: auto;
    pointer-events: none;
}

/* Screen Reader Text */
.rpgal_single_items .rpgal-screen-reader {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
/* // Archive Nav */

/* Alignment Classes */
.rpgal_single_items .rpgal-align-left {
    text-align: left;
}
.rpgal_single_items .rpgal-align-center {
    text-align: center;
}
.rpgal_single_items .rpgal-align-right {
    text-align: right;
}

/* Center alignment specific adjustments */
.rpgal_single_items .rpgal-align-center .rpgal-portfolio-content {
    align-items: center;
}
.rpgal_single_items .rpgal-align-center .rpgal-description {
    text-align: center;
    width: 100%;
}

/* Related Projects Styles */
.rpgal-portfolio-navigation-wrapper {
    margin: 80px 0;
    padding: 50px 0;
    background-color: #f9f9f9;
}

.rpgal-related-title {
    text-align: center;
    font-size: 28px;
    margin-bottom: 50px;
    color: #2c3e50;
    position: relative;
    font-weight: 600;
}

.rpgal-related-projects {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.rpgal-related-project {
    position: relative;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

.rpgal-related-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.rpgal-related-thumbnail {
    position: relative;
    overflow: hidden;
    height: 200px;
}

.rpgal-related-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.rpgal-related-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.1) 50%, transparent 100%);
    opacity: 0.8;
}

.rpgal-related-content {
    padding: 20px;
    position: relative;
}

.rpgal-related-project-title {
    font-size: 18px;
    margin: 0 0 10px;
    color: #2c3e50;
    transition: color 0.3s ease;
}

.rpgal-related-excerpt {
    font-size: 14px;
    line-height: 1.5;
    color: #7f8c8d;
    margin-bottom: 15px;
}

.rpgal-related-more {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #3498db;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

/* Hover Effects */
.rpgal-related-project:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.rpgal-related-project:hover .rpgal-related-thumbnail img {
    transform: scale(1.1);
}

.rpgal-related-project:hover .rpgal-related-project-title {
    color: #3498db;
}

.rpgal-related-project:hover .rpgal-related-more {
    color: #2980b9;
}

/* Notification Box */
.rpgal_notice {
    margin: 0;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 10px;
    background-color: #f0f0f0;
    border: 1px solid #dddddd;
    color: #333333;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px
}
.rpgal_notice a {
    color: #007bff;
    text-decoration: none !important
}
.rpgal_notice.success {
    background-color: #e5f9e0;
    border-color: #80c780;
    color: #378037
}
.rpgal_notice.info {
    background-color: #e7f4fd;
    border-color: #5da4ff;
    color: #007bff
}
.rpgal_notice.warning {
    background-color: #fff3d1;
    border-color: #e6b800;
    color: #b58c00
}
.rpgal_notice.error {
    background-color: #f9d4d4;
    border-color: #e66464;
    color: #b63737
}
h3.rpgal_notice {
    font-size: 16px
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .rpgal_content .og-expander {
        overflow: auto;
    }
    .rpgal_content .og-expander-inner {
        flex-direction: column;
        padding: 1.5rem;
    }
    .rpgal_content .og-fullimg,
    .rpgal_content .og-details {
        width: 100%;
    }
    .rpgal_content .og-fullimg {
        overflow: visible;
    }
    .rpgal_content .og-details {
        padding: 0;
        margin-top: 1rem;
    }
    .rpgal-related-projects {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .rpgal_content .og-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1rem;
    }
    .rpgal_content ul#portfolio-filter a {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
    .rpgal_content .og-details h3 {
        font-size: 1.5rem;
    }
    .rpgal_content .og-details p {
        font-size: 0.9rem;
    }
    .rpgal_content .rpgalslide-wrapper {
        margin-bottom: 1rem;
    }
    .rpgal-rpgal-paging-navigation {
        grid-template-columns: 1fr;
    }

    .rpgal-nav-post {
        margin-bottom: 30px;
    }

    .rpgal-nav-post:last-child {
        margin-bottom: 0;
    }
}

@media (max-width: 600px) {
    .rpgal-related-projects {
        grid-template-columns: 1fr;
    }

    .rpgal-related-thumbnail {
        height: 250px;
    }
}

@media (max-width: 480px) {
    .rpgal_content .og-grid {
        grid-template-columns: 1fr;
    }
    .rpgal_content .wagwep-container #porfolio-nav {
        padding: 0.5rem;
    }
    .rpgal_content ul#portfolio-filter {
        flex-direction: column;
        gap: 0.25rem;
    }
    .rpgal_content ul#portfolio-filter a {
        width: 100%;
        text-align: center;
    }
    .rpgal_content .og-expander-inner {
        padding: 1rem;
        gap: 0;
    }
    .rpgal_content .rpgalslide-carousel ul.rpgalslide-list li {
        max-width: 100px;
    }
    .rpgal_single_items .page-numbers {
        gap: 4px;
    }
    .rpgal_single_items .page-numbers a,
    .rpgal_single_items .page-numbers span {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
    .rpgal_single_items .page-numbers .next,
    .rpgal_single_items .page-numbers .prev {
        padding: 0 12px;
    }
}

@media only screen and (max-width:320px) {
    .og-expander p {
        line-height: 16px
    }
}