/* ==========================================================================
   GYC Gallery page clone
   Location: hello-elementor-child/gallery/css/gyc-gallery.css

   This stylesheet scopes itself to .gyc-gallery-page, so it rebuilds only the
   Gallery page body and does not touch the site's global header/footer.
   ========================================================================== */

.gyc-gallery-page {
    --gyc-primary: #F8BF5A;
    --gyc-filter-active: #F7B92F;
    --gyc-secondary: #262626;
    --gyc-text-white: #FFFFFF;
    --gyc-muted: #4D4D4D;
    --gyc-section-bg: #CDCDDD1F;
    --gyc-container-width: 1140px;
    margin: 0;
    background: var(--gyc-section-bg);
    font-family: "Alice", serif;
}

.gyc-gallery-page,
.gyc-gallery-page * {
    box-sizing: border-box;
}

.gyc-gallery-page a:hover {
    text-decoration: initial !important;
}

.gyc-gallery-page .page-content {
    margin: 0;
    padding: 0;
}

.gyc-gallery-page .elementor-2437 {
    width: 100%;
    color: var(--gyc-secondary);
    font-family: "Alice", serif;
}

.gyc-gallery-page .e-con-inner {
    width: 100%;
    max-width: var(--gyc-container-width);
    margin: 0 auto;
}

.gyc-gallery-page .elementor-widget-container {
    width: 100%;
}

.gyc-gallery-page .elementor-heading-title {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

/* ---------------------------------------------------------------------- */
/* Hero / page title section — reference Elementor element 569767d3        */
/* ---------------------------------------------------------------------- */

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-569767d3 {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    padding: 180px 0;
    overflow: hidden;
    background-image: var(--gyc-gallery-hero-bg, url("/wp-content/uploads/2026/06/gulsanbanner.jpg"));
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-569767d3::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-3a790069 {
    text-align: end;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-3a790069 > .elementor-widget-container {
    margin: 0;
    padding: 0 140px 0 0;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-3a790069 .elementor-heading-title {
    color: var(--gyc-text-white);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 35px;
    font-weight: 600;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-6bc58520 {
    text-align: end;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-6bc58520 .elementor-heading-title {
    color: var(--gyc-primary);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 45px;
    font-weight: 900;
}

/* ---------------------------------------------------------------------- */
/* Section wrappers — reference Elementor elements                         */
/* ---------------------------------------------------------------------- */

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-7b33cca,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-772940c,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-95b10a2 {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    background: var(--gyc-section-bg);
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-7b33cca {
    padding: 100px 0 80px;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-772940c,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-95b10a2 {
    padding: 0 0 80px;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-widget-heading {
    width: 100%;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-d635317,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-9f8c666,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-69bea03,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-669ec8f,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-0800fa2,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-a542ac7 {
    text-align: center;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-d635317 .elementor-heading-title,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-69bea03 .elementor-heading-title,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-0800fa2 .elementor-heading-title {
    color: var(--gyc-secondary);
    font-family: "Trebuchet MS", Arial, sans-serif;
    font-size: 32px;
    font-weight: 600;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-9f8c666 .elementor-heading-title,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-669ec8f .elementor-heading-title,
.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-a542ac7 .elementor-heading-title {
    color: var(--gyc-secondary);
    font-family: auto;
    font-size: 18px;
    font-weight: 400;
    line-height: 3.2;
}

/* ---------------------------------------------------------------------- */
/* Basketball divider                                                      */
/* ---------------------------------------------------------------------- */

.gyc-gallery-page .elementor-widget-divider {
    width: 100%;
}

.gyc-gallery-page .elementor-widget-divider .elementor-widget-container {
    margin: 0;
    padding: 0;
}

.gyc-gallery-page .elementor-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    min-width: 260px;
    margin: 8px auto 20px;
    text-align: center;
}

.gyc-gallery-page .elementor-divider-separator {
    position: relative;
    display: block;
    width: 100%;
    border-top: 4px solid var(--gyc-primary);
}

.gyc-gallery-page .elementor-divider__element {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 24px;
    color: var(--gyc-secondary);
    background: #f8f8fb;
    transform: translate(-50%, -50%);
}

.gyc-gallery-page .elementor-divider__element svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* ---------------------------------------------------------------------- */
/* Shortcode / gallery filter nav                                          */
/* ---------------------------------------------------------------------- */

.gyc-gallery-page .elementor-shortcode {
    width: 100%;
}

.gyc-gallery-page .portfolio-items ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    text-align: center;
}

.gyc-gallery-page .portfolio-items ul li {
    display: inline-block;
    padding: 10px 12px;
}

.gyc-gallery-page .portfolio-items ul li a {
    display: inline-block;
    color: #000 !important;
    font-family: "Trebuchet MS", Arial, sans-serif;
    line-height: 1.2;
    text-decoration: none;
}

.gyc-gallery-page .portfolio-items ul li a:hover {
    text-decoration: none;
}

.gyc-gallery-page .filter.active {
    background-color: var(--gyc-filter-active);
    color: #fff !important;
    padding: 12px 15px;
    border-radius: 8px;
}

/* ---------------------------------------------------------------------- */
/* Main gallery and Community Services image grid                          */
/* ---------------------------------------------------------------------- */

.gyc-gallery-page .Portfolio_Gallery,
.gyc-gallery-page .community_gallery {
    width: 100%;
    overflow: hidden;
}

.gyc-gallery-page .Portfolio_Gallery .row,
.gyc-gallery-page .community_gallery .row {
    display: block;
    margin: 0;
}

.gyc-gallery-page .Portfolio_Gallery .row::after,
.gyc-gallery-page .community_gallery .row::after {
    content: "";
    display: table;
    clear: both;
}

.gyc-gallery-page .photo_items {
    position: relative;
    width: 33.33%;
    float: left;
}

.gyc-gallery-page .photo_items img {
    border-radius: 17px;
    max-width: 100%;
    margin: 5px 0;
    height: 270px;
    padding: 8px;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.gyc-gallery-page .photo_items img:hover {
    opacity: 0.8;
}

.gyc-gallery-page .photo_items a:not(:first-child) {
    display: none;
}

.gyc-gallery-page .gyc-gallery-empty {
    margin: 0;
    padding: 40px 0 0;
    color: var(--gyc-muted);
    font-family: "Alice", serif;
    text-align: center;
}

/* ---------------------------------------------------------------------- */
/* Video Gallery / Elementor loop-style grid                               */
/* ---------------------------------------------------------------------- */

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-1001ead {
    width: 100%;
}

.gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-1001ead > .elementor-widget-container {
    margin: 0;
    padding: 0;
}

.gyc-gallery-page .elementor-loop-container.elementor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    margin: 0;
}

.gyc-gallery-page .elementor-3505,
.gyc-gallery-page .elementor-3505 .e-con-inner,
.gyc-gallery-page .elementor-3505 .elementor-widget-container {
    width: 100%;
    max-width: none;
}

.gyc-gallery-page .elementor-3505 .elementor-element.elementor-element-46468fc {
    display: flex;
    width: 100%;
}

.gyc-gallery-page .elementor-3505 .elementor-element.elementor-element-d71791a > .elementor-widget-container {
    overflow: hidden;
    border-radius: 15px;
}

.gyc-gallery-page .elementor-3505 .elementor-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border-radius: 15px;
    background: #000;
}

.gyc-gallery-page .elementor-3505 .elementor-wrapper iframe,
.gyc-gallery-page .elementor-3505 .elementor-wrapper .elementor-video {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0;
}

.gyc-gallery-page .e-load-more-spinner {
    display: none;
}

/* ---------------------------------------------------------------------- */
/* Fancybox reference controls                                             */
/* ---------------------------------------------------------------------- */

.fancybox-container {
    z-index: 999999 !important;
}

.fancybox-is-open .fancybox-bg {
    opacity: 0.95;
}

/* Thumbnail strip/side rail is intentionally disabled for both the
   main Gallery and Community Services lightboxes. Removing it also returns
   the full viewport width to the image area. */
.fancybox-container .fancybox-thumbs,
.fancybox-container .fancybox-button--thumbs,
.fancybox-container [data-fancybox-thumbs] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.fancybox-container.fancybox-show-thumbs .fancybox-inner,
.fancybox-container.gyc-fancybox-no-thumbs .fancybox-inner,
.fancybox-container.fancybox-show-thumbs .fancybox-stage,
.fancybox-container.gyc-fancybox-no-thumbs .fancybox-stage {
    right: 0 !important;
    width: 100% !important;
}

.fancybox-container.fancybox-show-thumbs .fancybox-caption,
.fancybox-container.gyc-fancybox-no-thumbs .fancybox-caption {
    right: 0 !important;
}

/* ---------------------------------------------------------------------- */
/* Responsive                                                              */
/* ---------------------------------------------------------------------- */

@media (max-width: 1200px) {
    .gyc-gallery-page .e-con-inner {
        max-width: calc(100% - 40px);
    }
}

@media (max-width: 1024px) {
    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-569767d3 {
        min-height: 280px;
    }

    .gyc-gallery-page .elementor-loop-container.elementor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-569767d3 {
        padding: 40px 0;
        background-position: center right;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-3a790069 > .elementor-widget-container {
        margin: 0;
        padding: 0;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-3a790069,
    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-6bc58520 {
        text-align: center;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-3a790069 .elementor-heading-title {
        font-size: 28px;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-6bc58520 .elementor-heading-title {
        font-size: 33px;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-7b33cca,
    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-772940c {
        padding: 40px 20px 50px;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-95b10a2 {
        padding: 40px 10px;
    }

    .gyc-gallery-page .e-con-inner {
        max-width: 100%;
    }

    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-d635317 .elementor-heading-title,
    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-69bea03 .elementor-heading-title,
    .gyc-gallery-page .elementor-2437 .elementor-element.elementor-element-0800fa2 .elementor-heading-title {
        font-size: 28px;
    }

    .gyc-gallery-page .elementor-divider {
        width: 70%;
        min-width: 0;
    }

    .gyc-gallery-page .photo_items {
        width: 100%;
        float: none;
    }

    .gyc-gallery-page .portfolio-items ul li {
        padding: 6px 8px;
    }

    .gyc-gallery-page .elementor-loop-container.elementor-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------------------- */
/* Fancybox zoom button + image cursor fix                                 */
/* ---------------------------------------------------------------------- */

/* Custom toolbar zoom button. It is inserted into Fancybox's original
   toolbar as the first button, so it keeps the same upper-right placement as
   the reference site. */
.fancybox-toolbar .gyc-fancybox-zoom-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    line-height: 1 !important;
    cursor: pointer !important;
    vertical-align: top !important;
    opacity: 0.75 !important;
}

.fancybox-toolbar .gyc-fancybox-zoom-button:hover,
.fancybox-toolbar .gyc-fancybox-zoom-button:focus {
    opacity: 1 !important;
    background: rgba(30, 30, 30, 0.6) !important;
    outline: none !important;
}

/* Draw icon inside our custom button. */
.fancybox-toolbar .gyc-fancybox-zoom-button::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 22px !important;
    height: 22px !important;
    transform: translate(-50%, -50%) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 22px 22px !important;
    pointer-events: none !important;
}

/* Zoomed-out state: magnifier with plus. */
.fancybox-toolbar .gyc-fancybox-zoom-button::before,
.fancybox-toolbar .gyc-fancybox-zoom-button.gyc-zoom-is-out::before,
.fancybox-container.gyc-fancybox-unzoomed .gyc-fancybox-zoom-button::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.75' cy='10.75' r='6.75'/%3E%3Cpath d='M15.7 15.7 21 21'/%3E%3Cpath d='M10.75 7.35v6.8'/%3E%3Cpath d='M7.35 10.75h6.8'/%3E%3C/svg%3E") !important;
}

/* Zoomed-in state: magnifier with minus. */
.fancybox-toolbar .gyc-fancybox-zoom-button.gyc-zoom-is-in::before,
.fancybox-container.gyc-fancybox-zoomed .gyc-fancybox-zoom-button::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.75' cy='10.75' r='6.75'/%3E%3Cpath d='M15.7 15.7 21 21'/%3E%3Cpath d='M7.35 10.75h6.8'/%3E%3C/svg%3E") !important;
}

/* Hide any stock/native Fancybox zoom button if an older toolbar template is
   still cached. The custom GYC zoom button above is the only button that
   should control zoom. */
.fancybox-toolbar .fancybox-button--zoom:not(.gyc-fancybox-zoom-button),
.fancybox-toolbar [data-fancybox-zoom]:not(.gyc-fancybox-zoom-button) {
    display: none !important;
}

/* Cursor on image when it can be zoomed in. */
.fancybox-container.gyc-fancybox-unzoomed .fancybox-slide--current.fancybox-slide--image .fancybox-content,
.fancybox-container.gyc-fancybox-unzoomed .fancybox-slide--current.fancybox-slide--image .fancybox-image,
.fancybox-container:not(.gyc-fancybox-zoomed) .fancybox-slide--current.fancybox-slide--image .fancybox-content,
.fancybox-container:not(.gyc-fancybox-zoomed) .fancybox-slide--current.fancybox-slide--image .fancybox-image {
    cursor: zoom-in !important;
    cursor: -webkit-zoom-in !important;
}

/* Cursor after zooming in. */
.fancybox-container.gyc-fancybox-zoomed .fancybox-slide--current.fancybox-slide--image .fancybox-content,
.fancybox-container.gyc-fancybox-zoomed .fancybox-slide--current.fancybox-slide--image .fancybox-image,
.fancybox-container.fancybox-can-pan .fancybox-slide--current.fancybox-slide--image .fancybox-content,
.fancybox-container.fancybox-can-pan .fancybox-slide--current.fancybox-slide--image .fancybox-image {
    cursor: grab !important;
    cursor: -webkit-grab !important;
}

/* Cursor while dragging the zoomed image. */
.fancybox-container.gyc-fancybox-dragging .fancybox-slide--current.fancybox-slide--image .fancybox-content,
.fancybox-container.gyc-fancybox-dragging .fancybox-slide--current.fancybox-slide--image .fancybox-image,
.fancybox-container.fancybox-is-grabbing .fancybox-slide--current.fancybox-slide--image .fancybox-content,
.fancybox-container.fancybox-is-grabbing .fancybox-slide--current.fancybox-slide--image .fancybox-image {
    cursor: grabbing !important;
    cursor: -webkit-grabbing !important;
}

/* Actual manual zoom layer. This is what makes the image visibly zoom even
   when Fancybox's native zoom decides not to scale the current image. */
.fancybox-container.gyc-manual-zoom .fancybox-slide--current.fancybox-slide--image .fancybox-content {
    overflow: visible !important;
}

.fancybox-container.gyc-manual-zoom .fancybox-slide--current.fancybox-slide--image .fancybox-image {
    transform: translate3d(var(--gyc-pan-x, 0px), var(--gyc-pan-y, 0px), 0) scale(var(--gyc-zoom-scale, 1.85)) !important;
    transform-origin: center center !important;
    transition: transform 250ms ease !important;
    will-change: transform !important;
}

.fancybox-container.gyc-fancybox-dragging .fancybox-slide--current.fancybox-slide--image .fancybox-image {
    transition: none !important;
}

.fancybox-caption,
.fancybox__caption,
.fancybox-caption-wrap {
    display: none !important;
}
