/*==============================================
  Gallery One
===============================================*/
.gallery-one {
   position: relative;
   display: block;
   padding: 0px 0 120px;
   z-index: 1;
}

.gallery-one .auto-container {
   position: static;
   max-width: 1850px;
   width: 100%;
   padding: 0px 15px;
   margin: 0 auto;
}

.gallery-one__inner {
   position: relative;
   display: block;
}

.gallery-one__list {
   position: relative;
   display: flex;
   align-items: center;
   margin-left: -15px;
   margin-right: -15px;
}

.gallery-one__list li {
   position: relative;
   display: block;
   padding: 0px 15px 0px;
}

.gallery-one__single {
   position: relative;
   display: block;
   border-radius: 30px;
   overflow: hidden;
   z-index: 1;
}

.gallery-one__single::before {
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   background: rgba(var(--donatix-primary-rgb), 0.85);
   mix-blend-mode: multiply;
   -webkit-transform: scale(0.95);
   transform: scale(0.95);
   -webkit-transition: all .8s ease;
   transition: all .8s ease;
   border-radius: 30px;
   opacity: 0;
   content: "";
   z-index: 1;
}

.gallery-one__single:hover::before {
   -webkit-transform: scale(1);
   transform: scale(1);
   opacity: 1;
}

.gallery-one__single img {
   width: 100%;
}

.gallery-one__single-icon {
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 5;
}

.gallery-one__single-icon a {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 65px;
   height: 65px;
   background: var(--donatix-base);
   mix-blend-mode: normal;
   border-radius: 50%;
   -webkit-transform: scale(1.2);
   transform: scale(1.2);
   opacity: 0;
   -webkit-transition: all .8s ease;
   transition: all .8s ease;
   color: var(--donatix-white);
   z-index: 5;
}

.gallery-one__single:hover .gallery-one__single-icon a {
   -webkit-transform: scale(1);
   transform: scale(1);
   opacity: 1;
}

.gallery-one__single-icon a:hover {
   background: var(--donatix-secondary);
}

.gallery-one__single-icon a span::before {
   position: relative;
   display: inline-block;
   color: var(--donatix-white);
   font-size: 30px;
   line-height: 30px;
   font-weight: 700;
}

/*==============================================
  Gallery Page
===============================================*/
.gallery-page {
   position: relative;
   display: block;
   background: var(--donatix-white);
   padding: 120px 0px 90px;
   z-index: 1;
}

.gallery-page .auto-container {
   position: static;
   max-width: 1740px;
   width: 100%;
   padding: 0px 15px;
   margin: 0 auto;
}

.gallery-page__single {
   position: relative;
   display: block;
   margin-bottom: 30px;
}

.gallery-page__single-img {
   position: relative;
   display: block;
   border-radius: 30px;
   overflow: hidden;
   z-index: 1;
}

.gallery-page__single-img::before {
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   background: rgba(var(--donatix-primary-rgb), 0.85);
   mix-blend-mode: multiply;
   -webkit-transform: scale(0.95);
   transform: scale(0.95);
   -webkit-transition: all .8s ease;
   transition: all .8s ease;
   border-radius: 30px;
   opacity: 0;
   content: "";
   z-index: 1;
}

.gallery-page__single:hover .gallery-page__single-img::before {
   -webkit-transform: scale(1);
   transform: scale(1);
   opacity: 1;
}

.gallery-page__single-img img {
   width: 100%;
}






.gallery-page__single-icon {
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   z-index: 5;
}

.gallery-page__single-icon a {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 50px;
   height: 50px;
   background: transparent;
   border: 1px solid var(--donatix-white);
   mix-blend-mode: normal;
   border-radius: 50%;
   -webkit-transform: scale(1.2);
   transform: scale(1.2);
   opacity: 0;
   -webkit-transition: all .8s ease;
   transition: all .8s ease;
   color: var(--donatix-white);
   z-index: 5;
}

.gallery-page__single:hover .gallery-page__single-icon a {
   -webkit-transform: scale(1);
   transform: scale(1);
   opacity: 1;
}

.gallery-page__single-icon a:hover {
   background: var(--donatix-secondary);
   border-color: var(--donatix-secondary);
}

.gallery-page__single-icon a span::before {
   position: relative;
   display: inline-block;
   color: var(--donatix-white);
   font-size: 22px;
   line-height: 22px;
}

.gallery-modal {position:fixed; inset:0; background:rgba(0,0,0,.75); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:.4s ease; z-index:9999;}
.gallery-modal.show {opacity:1; pointer-events:auto;}
.gallery-box {background:#fff; padding:20px; border-radius:16px; max-width:900px; width:90%;}
.gallery-grid {display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.gallery-grid img {width:100%; border-radius:12px; cursor:pointer; transition:.4s ease;}
.gallery-grid img:hover {transform:scale(1.05);}
.gallery-close {text-align:right; margin-bottom:10px;}
.gallery-close button {background:none; border:none; font-size:1.5rem; cursor:pointer;}

@media(max-width:768px) {
.gallery-grid {grid-template-columns:1fr;}
}


.gallery {background:#fff; padding:120px 0;}
.gallery-grid {display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:18px;}
.gallery-item {position:relative; overflow:hidden; border-radius:18px;}
.gallery-item img {width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease, opacity .6s ease;}
.gallery-item:hover img {transform:scale(1.06); opacity:.95;}
.gallery-item.tall {grid-row:span 2;}
.gallery-item.wide {grid-column:span 2;}

@media(max-width:991px) {
.gallery-grid {grid-template-columns:repeat(2,1fr); grid-auto-rows:200px;}
.gallery-item.wide {grid-column:span 2;}
}

@media(max-width:576px) {
.gallery-grid {grid-template-columns:1fr; grid-auto-rows:220px;}
.gallery-item.wide, .gallery-item.tall {grid-column:auto; grid-row:auto;}
}