/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
* {
    margin: 0;
    padding: 0;
}
html,body {
	height: 100%;
	margin: 0;
}
body {
	position: relative;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color:#2C2D3F;
	line-height: 25px;
	position: relative;
	background: #fff;
}



p {
    margin: 0;
	color:#2C2D3F;
}

ul {
    list-style: none;
    margin-bottom: 0;
}
a,button{
	font-family: 'Barlow', sans-serif;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	transition: all 0.4s ease;
	font-weight:500;
	border-radius: 0px;
}
button,a,
a:hover,
a:focus,
a:active {
    text-decoration: none;
    outline: none;
	cursor:pointer;
}

img {
    max-width: 100%;
	display:inline-block;
}
select:focus,
select:active {
    box-shadow: 0;
    border: 0;
    outline: 0
}
.table {
	display: table;
	width: 100%;
	height: 100%;
}
.table-cell {
	display: table-cell;
	vertical-align: middle;
}
.nav > li > a:focus,
.nav > li > a:hover {
    background-color: transparent;
    text-decoration: none;
}
.navbar {
	margin-bottom: 0;
	border: 0;
	padding: 0;
}
.mobile-nav{
	display:none;
}
img{
	-webkit-transition:all 0.4s ease;
	-moz-transition:all 0.4s ease;
	transition:all 0.4s ease;
}
input,
input:focus,
input:active {
    outline: none;
	font-family: 'Barlow', sans-serif;
    font-weight: 500;
}
select{
    -webkit-appearance: none;
   -moz-appearance:    none;
   appearance:         none;
}
textarea:focus {
    outline: none !important;
    box-shadow: none !important
}


/* Remove Chrome Input Field's Unwanted Yellow Background Color */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px white inset !important;
}

/* Theme Button CSS */
.theme-btn {
    background: #751919;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 10px 25px 15px 25px;
    border:2px solid transparent;
    border-radius: 10px;
    transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
}
.theme-btn:hover{
	background: #2C2D3F;
	color: #fff;
	border-color: transparent;
}
.theme-btn.primary{
	background: #2C2D3F;
}
.theme-btn.primary:hover{
	background:#751919;
}

/* Section Title CSS */ 
.section-title {
	text-align: center;
	padding: 0px 20px;
	margin-bottom: 20px;
}
.section-title span {
	font-size: 15px;
	color: #751919;
	margin-bottom: 10px;
	font-weight: 500;
	display: inline-block;
}
.section-title h3 {
	color: #751919;
	font-size: 40px;
	font-weight: 600;
	margin-bottom: 10px;
}
.section-title p {
	color: #666;
	font-size: 15px;
}
.section-img {
	margin-top: 15px;
	position:relative;
}
.section-img img {
	width: 35px;
}
.section-img::before {
	position: absolute;
	content: "";
	width: 55px;
	height: 1px;
	background: #1A76D1;
	top: 50%;
	left: 50%;
	margin-left: -90px;
}
.section-img::after {
	position: absolute;
	content: "";
	width: 55px;
	height: 1px;
	background: #1A76D1;
	top: 50%;
	right: 50%;
	margin-right: -90px;
}
 
/* ScrollUP CSS */ 
#scrollUp {
	right: 25px;
	bottom: 50px;
	color: #fff;
	font-size: 20px;
	background: #1A76D1;
	overflow: hidden;
	width: 50px;
	height: 50px;
	line-height: 48px;
	text-align: center;
	border-radius: 10px;
    box-shadow: 0px 0px 10px #0000001a;
}
#scrollUp:hover{
	background:#535572;
}
#scrollUp i {
	font-size: 25px;
}

/*Remove bootstrap tab css*/
.nav-tabs > li > a {
    border: 0
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover {
    border: 0;
    outline: 0
}

.nav-tabs {
    border: 0
}

.nav-tabs > li > a:hover {
    border: 0
}

/*navbar css icon*/
.navbar-toggle .icon-bar {
    position: relative;
    -webkit-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
    width: 28px;
}
.slick-slide {
    outline: none !important;
}

/*bootstrap form*/
.form-control:focus {
	border-color: #ccc;
	box-shadow: 0 0 0 ;
	outline: 0 none;
}

/* Preloader */
.preloader{
    width: 100%;
    position: fixed;
    height: 100%;
    background: #751919;
    left: 0;
    top: 0;
    z-index: 99999;
}

.loader-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    text-align: center;
}
    
/*.loader:before {
    content: '';
    display: block;
    width: 4em;
    height: 4em;   
    margin: 0 auto 1em;
    border: 1.5em solid;
    color: #FCBD12;
    box-sizing: border-box;
    animation: 
        2.37s ShiftRadius,
        3.57s ShiftColor,
        2.77s ShiftWidth,
        2.1s ShiftScale;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}*/

/* From Uiverse.io by Shoh2008 */ 
.loader {
  width: 175px;
  height: 80px;
  display: block;
  margin: auto;
  background-image: radial-gradient(circle 25px at 25px 25px, #FFF 100%, transparent 0), radial-gradient(circle 50px at 50px 50px, #FFF 100%, transparent 0), radial-gradient(circle 25px at 25px 25px, #FFF 100%, transparent 0), linear-gradient(#FFF 50px, transparent 0);
  background-size: 50px 50px, 100px 76px, 50px 50px, 120px 40px;
  background-position: 0px 30px, 37px 0px, 122px 30px, 25px 40px;
  background-repeat: no-repeat;
  position: relative;
  box-sizing: border-box;
}

.hedf{
   color: #fff;
   font-weight: bold; 
}

.loader::before {
  content: '';
  left: 60px;
  bottom: 18px;
  position: absolute;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #FF3D00;
  background-image: radial-gradient(circle 8px at 18px 18px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 18px 0px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 0px 18px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 36px 18px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 18px 36px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 30px 5px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 30px 5px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 30px 30px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 5px 30px, #FFF 100%, transparent 0), radial-gradient(circle 4px at 5px 5px, #FFF 100%, transparent 0);
  background-repeat: no-repeat;
  box-sizing: border-box;
  animation: rotationBack 3s linear infinite;
}

.loader::after {
  content: '';
  left: 94px;
  bottom: 15px;
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #FF3D00;
  background-image: radial-gradient(circle 5px at 12px 12px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 12px 0px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 0px 12px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 24px 12px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 12px 24px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 20px 3px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 20px 3px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 20px 20px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 3px 20px, #FFF 100%, transparent 0), radial-gradient(circle 2.5px at 3px 3px, #FFF 100%, transparent 0);
  background-repeat: no-repeat;
  box-sizing: border-box;
  animation: rotationBack 4s linear infinite reverse;
}

@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(-360deg);
  }
}

    


@keyframes Spin {
    100% {
        transform: rotate(1turn);    
    }
}

@keyframes ShiftRadius {
    50% {
        border-radius: 50%;
    }
}

@keyframes ShiftWidth {
    50% {
        border-width: .3em;
    }
}

@keyframes ShiftColor {
    33% {
        color: #fff;
    }
    66% {
        color: #fff;
    }
}

@keyframes ShiftScale {
    33% {
        transform: scale(1.1) rotateZ(120deg);
    }
    66% {
        transform: scale(0.9) rotateZ(240deg);
    }
    100% {
        transform: scale(1) rotateZ(360deg);
    }
}

/* video popup waves Animation */
@-webkit-keyframes waves {
    0% {
        -webkit-transform: scale(0.2, 0.2);
        transform: scale(0.2, 0.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    50% {
        opacity: 0.9;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    }
    100% {
        -webkit-transform: scale(0.9, 0.9);
        transform: scale(0.9, 0.9);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}
@keyframes waves {
    0% {
        -webkit-transform: scale(0.2, 0.2);
        transform: scale(0.2, 0.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    50% {
        opacity: 0.9;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    }
    100% {
        -webkit-transform: scale(0.9, 0.9);
        transform: scale(0.9, 0.9);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}

.wrapper {
    width: 80%;
    margin: 50px auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 30px;
}
.wrapper img {
    width: 100%;
    cursor: pointer;
    transition: 1s ease;
}
.wrapper img:hover {
    transform: scale(0.9);
}


.news-letter-area {
            background: linear-gradient(135deg, rgba(0,0,0,0.6), rgba(0,0,0,0.3)), url('assets/img/gal.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed; /* subtle parallax feel */
            padding: 70px 0;
            position: relative;
        }

        /* fallback gradient if bg image fails */
        .news-letter-area::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(10, 25, 35, 0.5);
            backdrop-filter: blur(2px);
            z-index: 0;
        }

        .container {
            max-width: 1300px;
            margin: 0 auto;
            padding: 0 20px;
            position: relative;
            z-index: 2;
        }

        .row {
            display: flex;
            justify-content: center;
        }

        .col-lg-12 {
            width: 100%;
        }

        /* ---------- ENHANCED GALLERY WRAPPER (your original class, upgraded) ---------- */
        .wrapper {
            width: 100%;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 28px;
            padding: 20px 0;
        }

        /* gallery item – each image container gets an overlay effect */
        .gallery-item {
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 15px 30px -12px rgba(0, 0, 0, 0.25);
            transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1.1);
            background: #fff;
            aspect-ratio: 4 / 3; /* fixed proportion for uniform height */
            cursor: pointer;
        }

        .wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.6s ease, filter 0.4s ease;
        }

        /* stylish overlay (dark gradient + caption) */
        .overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%);
            color: white;
            padding: 20px 16px 12px;
            transform: translateY(100%);
            transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
            text-align: left;
            font-weight: 500;
            backdrop-filter: blur(2px);
        }

        .overlay span {
            display: block;
            font-size: 1rem;
            letter-spacing: 0.5px;
            font-weight: 500;
            text-shadow: 0 1px 3px rgba(0,0,0,0.3);
        }

        .overlay small {
            font-size: 0.75rem;
            opacity: 0.8;
            font-weight: 400;
        }

        /* hover effects: image scale + overlay slide up + border glow */
        .gallery-item:hover {
            transform: translateY(-8px);
            box-shadow: 0 28px 36px -16px rgba(0, 0, 0, 0.4);
        }

        .gallery-item:hover img {
            transform: scale(1.08);
            filter: brightness(0.95) contrast(1.05);
        }

        .gallery-item:hover .overlay {
            transform: translateY(0);
        }

        /* optional: subtle border radius & initial state */
        .wrapper .gallery-item:focus-visible {
            outline: 3px solid #ffb347;
            outline-offset: 2px;
        }

        /* responsive touches */
        @media (max-width: 640px) {
            .wrapper {
                gap: 18px;
                grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            }
            .overlay {
                padding: 12px 12px 8px;
            }
            .overlay span {
                font-size: 0.85rem;
            }
        }

        /* optional decorative title inside section */
        .gallery-title {
            text-align: center;
            margin-bottom: 30px;
            color: white;
            text-shadow: 0 2px 10px rgba(0,0,0,0.4);
        }
        .gallery-title h2 {
            font-size: 4.2rem;
            font-weight: 600;
            letter-spacing: -0.3px;
        }
        .gallery-title p {
            opacity: 0.9;
            font-size: 1rem;
        }