/*==================================================
    SANCHI GROUP OF EDUCATION
    Main Stylesheet
    File : css/style.css
===================================================*/

/*==========================
        GOOGLE FONTS
===========================*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==========================
      CSS VARIABLES
===========================*/

:root{

    --primary:#0A2A7A;
    --secondary:#B30000;
    --gold:#f5b400;
    --white:#ffffff;
    --black:#222222;
    --text:#555555;
    --light:#f5f7fa;
    --border:#e4e4e4;

}

/*==========================
       RESET CSS
===========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.7;
    overflow-x:hidden;

}

img{

    width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.container{

    width:90%;
    max-width:1200px;
    margin:auto;

}

section{

    padding:80px 0;

}

/*==========================
      COMMON BUTTON
===========================*/

.btn{

    display:inline-block;
    background:var(--secondary);
    color:#fff;
    padding:14px 34px;
    border-radius:5px;
    transition:.4s;
    font-weight:600;
    letter-spacing:.5px;

}

.btn:hover{

    background:var(--primary);

}

/*==========================
       TOP HEADER
===========================*/

.top-header{

    background:var(--primary);
    color:#fff;
    font-size:14px;

}

.top-header .container{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 0;

}

.top-left span{

    margin-right:25px;

}

.top-left i{

    color:var(--gold);
    margin-right:8px;

}

.top-right a{

    color:#fff;
    margin-left:18px;
    transition:.4s;

}

.top-right a:hover{

    color:var(--gold);

}

/*==========================
      MAIN HEADER
===========================*/

header{

    background:#fff;
    box-shadow:0 5px 15px rgba(0,0,0,.05);

}

.header-area{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;

}

.logo{

    width:110px;

}

.school-details{

    flex:1;
    text-align:center;
    padding:0 20px;

}

.school-details h1{

    color:var(--primary);
    font-size:34px;
    font-weight:700;

}

.school-details h3{

    color:var(--secondary);
    font-size:18px;
    margin-top:5px;

}

.school-details p{

    margin-top:10px;
    font-weight:500;

}

.school-details span{

    color:#444;

}

.admission-btn a{

    background:var(--secondary);
    color:#fff;
    padding:14px 24px;
    border-radius:5px;
    transition:.4s;
    font-weight:600;

}

.admission-btn a:hover{

    background:var(--primary);

}

/*==========================
        NAVIGATION
===========================*/

nav{

    background:var(--primary);
    position:sticky;
    top:0;
    z-index:9999;

}

nav .container{

    display:flex;
    justify-content:space-between;
    align-items:center;

}

#menu{

    display:flex;

}

#menu li{

    position:relative;

}

#menu li a{

    display:block;
    color:#fff;
    padding:18px 22px;
    font-size:15px;
    transition:.4s;
    font-weight:500;

}

#menu li a:hover{

    background:var(--secondary);

}

#menu li a.active{

    background:var(--secondary);

}

/*==========================
      MOBILE BUTTON
===========================*/

.menu-btn{

    display:none;
    color:#fff;
    font-size:28px;
    cursor:pointer;
    padding:15px 0;

}

/*==========================
     COMMON HEADING
===========================*/

.section-title{

    text-align:center;
    margin-bottom:50px;

}

.section-title h5{

    color:var(--secondary);
    font-size:18px;
    letter-spacing:2px;
    text-transform:uppercase;

}

.section-title h2{

    color:var(--primary);
    font-size:40px;
    margin-top:10px;

}

.section-title p{

    width:700px;
    max-width:100%;
    margin:15px auto 0;
    color:#666;

}

/*==========================
      WELCOME SECTION
===========================*/

.welcome{

    background:#fff;

}

.welcome .container{

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;

}

.welcome-left{

    flex:1;

}

.welcome-left img{

    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);

}

.welcome-right{

    flex:1;

}

.welcome-right h5{

    color:var(--secondary);
    font-size:18px;
    letter-spacing:2px;

}

.welcome-right h2{

    color:var(--primary);
    font-size:42px;
    margin:12px 0;

}

.welcome-right p{

    margin-bottom:20px;
    text-align:justify;

}


/*=========================================
            HERO SLIDER
=========================================*/

.slider{
    position:relative;
    width:100%;
    height:85vh;
    overflow:hidden;
    background:#000;
}

.slide{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity:0;
    visibility:hidden;
    transition:all .8s ease-in-out;
}

.slide.active{
    opacity:1;
    visibility:visible;
    z-index:1;
}

.slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.55);
}

.slider-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    color:#fff;
    width:90%;
    max-width:900px;
    z-index:2;
}

.slider-content h4{
    font-size:22px;
    letter-spacing:4px;
    color:#ffd700;
    text-transform:uppercase;
    margin-bottom:15px;
    animation:fadeDown .8s ease;
}

.slider-content h1{
    font-size:60px;
    font-weight:700;
    margin-bottom:20px;
    animation:fadeUp .8s ease;
}

.slider-content p{
    font-size:22px;
    margin-bottom:35px;
    animation:fadeUp 1s ease;
}

.slider-content .btn{
    font-size:16px;
    padding:15px 35px;
}

.slider-content .btn:hover{
    background:#fff;
    color:var(--primary);
}

/*=========================================
          PREVIOUS NEXT BUTTON
=========================================*/

.prev,
.next{

    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:55px;
    height:55px;
    background:rgba(255,255,255,.18);
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    font-size:22px;
    transition:.4s;
    z-index:10;
    backdrop-filter:blur(4px);

}

.prev{
    left:25px;
}

.next{
    right:25px;
}

.prev:hover,
.next:hover{

    background:var(--secondary);

}

/*=========================================
              DOTS
=========================================*/

.dots{

    position:absolute;
    bottom:30px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:12px;
    z-index:20;

}

.dot{

    width:14px;
    height:14px;
    border-radius:50%;
    background:#fff;
    opacity:.5;
    cursor:pointer;
    transition:.4s;

}

.dot.active{

    background:var(--secondary);
    opacity:1;
    transform:scale(1.3);

}

/*=========================================
        SLIDER ANIMATION
=========================================*/

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(50px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes fadeDown{

    from{
        opacity:0;
        transform:translateY(-40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/*=========================================
          HOVER EFFECT
=========================================*/

.slide img{

    transform:scale(1);
    transition:transform 8s linear;

}

.slide.active img{

    transform:scale(1.08);

}

/*=========================================
       SLIDER RESPONSIVE
=========================================*/

@media(max-width:1200px){

.slider{
height:75vh;
}

.slider-content h1{
font-size:48px;
}

.slider-content p{
font-size:20px;
}

}

@media(max-width:992px){

.slider{
height:70vh;
}

.slider-content h1{
font-size:40px;
}

.slider-content h4{
font-size:18px;
}

.slider-content p{
font-size:18px;
}

.prev,
.next{

width:48px;
height:48px;

}

}

@media(max-width:768px){

.slider{
height:60vh;
}

.slider-content{

width:92%;

}

.slider-content h1{

font-size:32px;

}

.slider-content h4{

font-size:16px;
letter-spacing:2px;

}

.slider-content p{

font-size:16px;

}

.slider-content .btn{

padding:12px 28px;
font-size:15px;

}

.prev,
.next{

display:none;

}

}

@media(max-width:480px){

.slider{

height:55vh;

}

.slider-content h1{

font-size:26px;

}

.slider-content h4{

font-size:14px;

}

.slider-content p{

font-size:15px;

margin-bottom:25px;

}

.dots{

bottom:18px;

}

}


/*=========================================
            WHY CHOOSE US
=========================================*/

.why-choose{
    background:var(--light);
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:50px;
}

.why-box{
    background:#fff;
    padding:35px 25px;
    text-align:center;
    border-radius:10px;
    transition:.4s;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.why-box:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.why-box i{
    width:80px;
    height:80px;
    line-height:80px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    font-size:32px;
    margin-bottom:20px;
    transition:.4s;
}

.why-box:hover i{
    background:var(--secondary);
    transform:rotate(360deg);
}

.why-box h3{
    color:var(--primary);
    margin-bottom:15px;
    font-size:24px;
}

.why-box p{
    color:#666;
    font-size:15px;
}

/*=========================================
            FACILITIES
=========================================*/

.facilities{
    background:#fff;
}

.facilities-area{
    display:flex;
    align-items:center;
    gap:60px;
}

.facilities-image{
    flex:1;
}

.facilities-image img{
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.facilities-content{
    flex:1;
}

.facilities-content h2{
    color:var(--primary);
    font-size:40px;
    margin-bottom:20px;
}

.facilities-content p{
    margin-bottom:25px;
    text-align:justify;
}

.facilities-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.facilities-list li{
    background:#f8f8f8;
    padding:15px;
    border-radius:8px;
    font-weight:600;
    transition:.3s;
}

.facilities-list li:hover{
    background:var(--primary);
    color:#fff;
}

.facilities-list i{
    color:var(--secondary);
    margin-right:10px;
}

/*=========================================
        ADMISSION BANNER
=========================================*/

.admission-banner{

    background:linear-gradient(rgba(10,42,122,.88),rgba(10,42,122,.88)),
    url("../images/admission-banner.jpg");

    background-size:cover;
    background-position:center;
    background-attachment:fixed;

    text-align:center;
    color:#fff;
    padding:90px 20px;

}

.admission-banner h2{

    font-size:46px;
    margin-bottom:20px;

}

.admission-banner p{

    width:800px;
    max-width:100%;
    margin:auto;
    font-size:18px;
    margin-bottom:35px;

}

.admission-banner .btn{

    background:#fff;
    color:var(--primary);

}

.admission-banner .btn:hover{

    background:var(--secondary);
    color:#fff;

}

/*=========================================
          SCHOOL HIGHLIGHTS
=========================================*/

.highlights{

    background:var(--light);

}

.counter-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    margin-top:50px;

}

.counter-box{

    background:#fff;
    text-align:center;
    padding:40px 20px;
    border-radius:10px;
    transition:.4s;
    box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.counter-box:hover{

    transform:translateY(-8px);

}

.counter-box i{

    font-size:45px;
    color:var(--secondary);
    margin-bottom:20px;

}

.counter-box h2{

    color:var(--primary);
    font-size:42px;
    margin-bottom:10px;

}

.counter-box h4{

    color:#444;
    font-size:18px;
    font-weight:600;

}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:992px){

.why-grid{
grid-template-columns:repeat(2,1fr);
}

.facilities-area{
flex-direction:column;
}

.counter-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.why-grid{
grid-template-columns:1fr;
}

.facilities-list{
grid-template-columns:1fr;
}

.admission-banner h2{
font-size:32px;
}

.admission-banner p{
font-size:16px;
}

.counter-grid{
grid-template-columns:1fr;
}

.facilities-content h2{
font-size:32px;
}

}

@media(max-width:480px){

.admission-banner{
padding:70px 20px;
}

.admission-banner h2{
font-size:26px;
}

.counter-box h2{
font-size:34px;
}

}

/*=========================================
            LATEST NEWS
=========================================*/

.latest-news{
    background:var(--white);
}

.news-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:50px;
}

.news-box{
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
    transition:.4s;
}

.news-box:hover{
    transform:translateY(-10px);
}

.news-box img{
    height:230px;
    object-fit:cover;
}

.news-content{
    padding:25px;
}

.news-date{
    color:var(--secondary);
    font-size:14px;
    font-weight:600;
}

.news-content h3{
    margin:12px 0;
    color:var(--primary);
    font-size:22px;
}

.news-content p{
    margin-bottom:18px;
}

.news-content a{
    color:var(--secondary);
    font-weight:600;
}

/*=========================================
            GALLERY
=========================================*/

.gallery-preview{
    background:var(--light);
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-top:50px;
}

.gallery-item{
    overflow:hidden;
    border-radius:10px;
    position:relative;
    cursor:pointer;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
}

.gallery-item img{
    width:100%;
    height:260px;
    object-fit:cover;
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.12);
}

.gallery-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(10,42,122,.45);
    opacity:0;
    transition:.4s;
}

.gallery-item:hover::before{
    opacity:1;
}

.gallery-item::after{
    content:"+";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:60px;
    height:60px;
    border-radius:50%;
    background:#fff;
    color:var(--primary);
    font-size:36px;
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    transition:.4s;
}

.gallery-item:hover::after{
    opacity:1;
}

/*=========================================
            CONTACT STRIP
=========================================*/

.contact-strip{
    background:var(--primary);
    color:#fff;
    padding:70px 0;
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.contact-card{
    text-align:center;
}

.contact-card i{
    width:75px;
    height:75px;
    line-height:75px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    font-size:30px;
    margin-bottom:18px;
}

.contact-card h3{
    margin-bottom:12px;
    font-size:24px;
}

.contact-card p{
    color:#e9e9e9;
}

/*=========================================
            FOOTER
=========================================*/

footer{
    background:#081d55;
    color:#ddd;
    padding:70px 0 20px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.5fr;
    gap:40px;
}

.footer-logo{
    width:90px;
    margin-bottom:20px;
}

.footer-about p{
    margin-top:15px;
}

.footer-title{
    color:#fff;
    margin-bottom:20px;
    font-size:22px;
}

.footer-links li{
    margin-bottom:12px;
}

.footer-links li a{
    color:#ddd;
    transition:.3s;
}

.footer-links li a:hover{
    color:var(--gold);
    padding-left:8px;
}

.footer-contact p{
    margin-bottom:15px;
}

.footer-contact i{
    color:var(--gold);
    width:25px;
}

.social-icons{
    margin-top:20px;
}

.social-icons a{
    display:inline-flex;
    width:42px;
    height:42px;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    margin-right:10px;
    transition:.3s;
}

.social-icons a:hover{
    background:var(--secondary);
}

.footer-bottom{
    margin-top:50px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    text-align:center;
    font-size:15px;
}

/*=========================================
        BACK TO TOP BUTTON
=========================================*/

#topBtn{
    position:fixed;
    right:25px;
    bottom:25px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:var(--secondary);
    color:#fff;
    cursor:pointer;
    display:none;
    z-index:999;
    transition:.3s;
}

#topBtn:hover{
    background:var(--primary);
}

/*=========================================
        WHATSAPP BUTTON
=========================================*/

.whatsapp-btn{
    position:fixed;
    left:25px;
    bottom:25px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:30px;
    z-index:999;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    transition:.3s;
}

.whatsapp-btn:hover{
    transform:scale(1.1);
}

/*=========================================
            RESPONSIVE
=========================================*/

@media(max-width:992px){

.news-wrapper{
grid-template-columns:repeat(2,1fr);
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
}

.contact-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.news-wrapper{
grid-template-columns:1fr;
}

.gallery-grid{
grid-template-columns:1fr;
}

.gallery-item img{
height:240px;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.footer-logo{
margin:auto;
}

.social-icons{
justify-content:center;
}

}

@media(max-width:480px){

.contact-strip{
padding:50px 0;
}

.contact-card i{
width:60px;
height:60px;
line-height:60px;
font-size:24px;
}

.footer-title{
font-size:20px;
}

}

/*=========================================
        IMAGE LIGHTBOX
=========================================*/

.lightbox{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.92);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
    padding:30px;

}

.lightbox.active{

    display:flex;
    animation:fadeIn .4s;

}

.lightbox img{

    max-width:90%;
    max-height:90%;
    border-radius:10px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);

}

.lightbox-close{

    position:absolute;
    top:30px;
    right:35px;
    color:#fff;
    font-size:40px;
    cursor:pointer;

}

.lightbox-prev,
.lightbox-next{

    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:55px;
    height:55px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    font-size:22px;
    transition:.3s;

}

.lightbox-prev{

    left:30px;

}

.lightbox-next{

    right:30px;

}

.lightbox-prev:hover,
.lightbox-next:hover{

    background:var(--secondary);

}

/*=========================================
        PAGE BANNER
=========================================*/

.page-banner{

    background:linear-gradient(rgba(10,42,122,.75),rgba(10,42,122,.75)),
    url("../images/banner.jpg");

    background-size:cover;
    background-position:center;
    padding:120px 20px;
    text-align:center;
    color:#fff;

}

.page-banner h1{

    font-size:48px;
    margin-bottom:15px;

}

.page-banner p{

    font-size:18px;

}

/*=========================================
        CARD HOVER EFFECT
=========================================*/

.card-hover{

    transition:.35s;

}

.card-hover:hover{

    transform:translateY(-10px);

}

/*=========================================
        IMAGE SHADOW
=========================================*/

.shadow-img{

    border-radius:10px;
    box-shadow:0 15px 35px rgba(0,0,0,.18);

}

/*=========================================
        TEXT COLORS
=========================================*/

.text-primary{

    color:var(--primary);

}

.text-secondary{

    color:var(--secondary);

}

.text-center{

    text-align:center;

}

/*=========================================
        BACKGROUND COLORS
=========================================*/

.bg-primary{

    background:var(--primary);

}

.bg-secondary{

    background:var(--secondary);

}

.bg-light{

    background:var(--light);

}

/*=========================================
        SPACING
=========================================*/

.mt-20{

margin-top:20px;

}

.mt-30{

margin-top:30px;

}

.mt-40{

margin-top:40px;

}

.mt-50{

margin-top:50px;

}

.mb-20{

margin-bottom:20px;

}

.mb-30{

margin-bottom:30px;

}

.mb-40{

margin-bottom:40px;

}

.mb-50{

margin-bottom:50px;

}

/*=========================================
        LOADING ANIMATION
=========================================*/

.loader{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:999999;

}

.loader::before{

    content:"";
    width:60px;
    height:60px;
    border:6px solid #ddd;
    border-top:6px solid var(--secondary);
    border-radius:50%;
    animation:spin 1s linear infinite;

}

@keyframes spin{

from{

transform:rotate(0deg);

}

to{

transform:rotate(360deg);

}

}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1;

}

}

/*=========================================
        SCROLLBAR
=========================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#f1f1f1;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:10px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--secondary);

}

/*=========================================
        SELECTION
=========================================*/

::selection{

background:var(--secondary);

color:#fff;

}

/*=========================================
        FORM ELEMENTS
=========================================*/

input,
textarea,
select{

    width:100%;
    padding:14px 16px;
    border:1px solid #ddd;
    border-radius:6px;
    outline:none;
    font-family:'Poppins',sans-serif;
    transition:.3s;

}

input:focus,
textarea:focus,
select:focus{

    border-color:var(--primary);
    box-shadow:0 0 8px rgba(10,42,122,.2);

}

textarea{

    resize:vertical;
    min-height:150px;

}

/*=========================================
        TABLE
=========================================*/

table{

width:100%;
border-collapse:collapse;

}

table th{

background:var(--primary);
color:#fff;
padding:14px;

}

table td{

padding:12px;
border:1px solid #ddd;

}

/*=========================================
        FINAL RESPONSIVE
=========================================*/

@media(max-width:992px){

.page-banner h1{

font-size:40px;

}

}

@media(max-width:768px){

.page-banner{

padding:90px 20px;

}

.page-banner h1{

font-size:32px;

}

.lightbox img{

max-width:95%;

}

.lightbox-prev,
.lightbox-next{

display:none;

}

}

@media(max-width:480px){

.page-banner h1{

font-size:26px;

}

.page-banner p{

font-size:15px;

}

.lightbox-close{

font-size:32px;

}

}



/*=========================================
      MOBILE MENU
=========================================*/

@media(max-width:992px){

.menu-btn{
display:block;
}

#menu{

position:absolute;
top:100%;
left:0;
width:100%;
background:#0A2A7A;
display:none;
flex-direction:column;
z-index:999;

}

#menu.show{

display:flex;

}

#menu li{

width:100%;

}

#menu li a{

padding:16px 20px;
border-top:1px solid rgba(255,255,255,.10);

}

}


/*=========================================
GALLERY SECTION
=========================================*/

.gallery-section{
    padding:80px 0;
    background:#f8f9fc;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin-top:40px;
}

.gallery-item{
    overflow:hidden;
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    cursor:pointer;
    transition:.4s;
}

.gallery-item:hover{
    transform:translateY(-6px);
}

.gallery-item img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.12);
}

/*=========================================
LIGHTBOX
=========================================*/

.lightbox{
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.92);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
    animation:fadeIn .35s;
}

.lightbox.active{
    display:flex;
}

.lightbox img{
    max-width:90%;
    max-height:85%;
    border-radius:10px;
    box-shadow:0 10px 35px rgba(0,0,0,.6);
    animation:zoomIn .35s;
}

.close-lightbox,
.prev,
.next{

    position:absolute;

    color:#fff;

    cursor:pointer;

    user-select:none;

    transition:.3s;
}

.close-lightbox{

    top:20px;

    right:35px;

    font-size:45px;
}

.prev{

    left:25px;

    font-size:55px;

    top:50%;

    transform:translateY(-50%);
}

.next{

    right:25px;

    font-size:55px;

    top:50%;

    transform:translateY(-50%);
}

.close-lightbox:hover,
.prev:hover,
.next:hover{

    color:#ffd000;
}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1;

}

}

@keyframes zoomIn{

from{

transform:scale(.75);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:992px){

.gallery-grid{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:768px){

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

.gallery-item img{

height:220px;

}

}

@media(max-width:576px){

.gallery-grid{

grid-template-columns:1fr;

}

.gallery-item img{

height:250px;

}

.close-lightbox{

font-size:38px;

right:20px;

}

.prev,
.next{

font-size:40px;

}

}

/*=========================================
CONTACT FORM
=========================================*/

.contact-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-form input,
.contact-form textarea{

    width:100%;
    padding:15px 18px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:16px;
    outline:none;
    transition:.3s;
    font-family:inherit;
}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:#0d6efd;
    box-shadow:0 0 8px rgba(13,110,253,.2);
}

.contact-form textarea{

    resize:vertical;
    min-height:160px;
}

.map-section{

    padding:80px 0;
    background:#f8f9fc;
}

.map-area{

    overflow:hidden;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}


/*=========================================
LOGIN PAGE
=========================================*/

.login-section{
    padding:80px 0;
    background:#f5f7fb;
}

.login-card{
    max-width:1050px;
    margin:auto;
    display:flex;
    background:#ffffff;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.login-left{
    width:40%;
    background:linear-gradient(135deg,#0d47a1,#1565c0);
    color:#fff;
    text-align:center;
    padding:60px 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.login-left img{
    width:120px;
    height:120px;
    background:#fff;
    border-radius:50%;
    padding:10px;
    margin-bottom:20px;
}

.login-left h2{
    font-size:30px;
    margin-bottom:15px;
}

.login-left p{
    font-size:17px;
    line-height:28px;
}

.login-right{
    width:60%;
    padding:60px;
}

.login-right h2{
    color:#0d47a1;
    margin-bottom:10px;
}

.login-right p{
    color:#777;
    margin-bottom:30px;
}

.login-right .input-group{
    position:relative;
    margin-bottom:22px;
}

.login-right .input-group input{
    width:100%;
    height:55px;
    padding:0 50px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:16px;
    box-sizing:border-box;
}

.login-right .input-group input:focus{
    border-color:#1565c0;
    outline:none;
}

.login-right .input-group .fa-user,
.login-right .input-group .fa-lock{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    color:#1565c0;
}

.toggle-password{
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    color:#666;
}

.login-options{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
    font-size:15px;
}

.login-options label{
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}

.login-options a{
    text-decoration:none;
    color:#1565c0;
    font-weight:600;
}

.login-options a:hover{
    color:#0d47a1;
}

.login-btn{
    width:100%;
    padding:15px;
    background:#1565c0;
    color:#fff;
    border:none;
    border-radius:8px;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
}

.login-btn:hover{
    background:#0d47a1;
}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:992px){

.login-card{
    flex-direction:column;
}

.login-left,
.login-right{
    width:100%;
}

.login-left{
    padding:40px 20px;
}

.login-right{
    padding:35px 25px;
}

}

@media(max-width:576px){

.login-left img{
    width:90px;
    height:90px;
}

.login-left h2{
    font-size:24px;
}

.login-right h2{
    font-size:24px;
}

.login-options{
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
}

}