/*==================================================
SA Jain Senior Secondary School
Responsive Website
style.css
===================================================*/

:root{

--primary:#0d6efd;
--secondary:#0a4ca3;
--gold:#ffc107;
--light:#f8f9fa;
--dark:#1b1b1b;
--text:#555;
--white:#ffffff;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;
font-size:16px;
line-height:1.7;
color:var(--text);
background:#fff;

}

img{

max-width:100%;
display:block;

}

a{

text-decoration:none;
transition:.3s;

}

ul{

list-style:none;
padding:0;

}

.section-title{

font-size:38px;
font-weight:700;
color:var(--secondary);
margin-bottom:25px;
position:relative;

}

.section-title::after{

content:"";
width:90px;
height:4px;
background:var(--gold);
display:block;
margin-top:10px;

}

.text-center .section-title::after{

margin-left:auto;
margin-right:auto;

}

/*============================
TOP BAR
============================*/

.top-bar{

background:#0a3d80;
color:#fff;
font-size:14px;
padding:10px 0;

}

.top-bar i{

color:#ffc107;
margin-right:6px;

}

/*============================
NAVBAR
============================*/

.navbar{

padding:10px 0;
transition:.4s;

}

.navbar-brand{

font-size:24px;
font-weight:700;
display:flex;
align-items:center;

}

.navbar-brand img{

margin-right:10px;

}

.navbar-nav .nav-link{

font-size:16px;
font-weight:500;
margin-left:10px;
padding:10px 16px !important;
border-radius:6px;

}

.navbar-nav .nav-link:hover{

background:#ffffff22;

}

.navbar-nav .active{

background:#ffc107;
color:#000 !important;

}

/*============================
HERO
============================*/

.hero-image{

height:650px;
object-fit:cover;

}

.carousel-caption{

background:rgba(0,0,0,.55);
padding:35px;
border-radius:12px;
bottom:18%;

}

.carousel-caption h1{

font-size:52px;
font-weight:700;
margin-bottom:15px;

}

.carousel-caption h3{

font-size:28px;
margin-bottom:15px;

}

.carousel-caption p{

font-size:18px;
margin-bottom:25px;

}

/*============================
BUTTONS
============================*/

.btn{

padding:12px 30px;
border-radius:40px;
font-weight:600;

}

.btn-primary{

background:var(--primary);
border:none;

}

.btn-primary:hover{

background:var(--secondary);

}

.btn-warning{

color:#000;
font-weight:700;

}

/*============================
WELCOME SECTION
============================*/

section{

padding-top:70px;
padding-bottom:70px;

}

section p{

font-size:17px;

}

.shadow{

box-shadow:0 15px 40px rgba(0,0,0,.10)!important;

}

.rounded{

border-radius:18px!important;

}

/*============================
IMAGES
============================*/

img{

transition:.4s;

}

img:hover{

transform:scale(1.02);

}

/*============================
FEATURE BOX
============================*/

.feature-box{

background:#fff;
padding:35px;
border-radius:15px;
text-align:center;
box-shadow:0 15px 35px rgba(0,0,0,.08);
transition:.35s;

}

.feature-box:hover{

transform:translateY(-10px);

}

.feature-box h4{

font-size:24px;
font-weight:600;
margin:15px 0;

}

.feature-box p{

font-size:15px;

}

/*============================
GENERAL CARDS
============================*/

.card{

border:none;
border-radius:18px;
overflow:hidden;

}

.card img{

height:260px;
object-fit:cover;

}

.card-body{

padding:25px;

}

.card h4{

font-weight:600;
color:var(--secondary);

}

.card:hover{

transform:translateY(-8px);
transition:.4s;

}

/*============================
HEADINGS
============================*/

h1,h2,h3,h4,h5{

font-weight:700;
color:#183153;

}

p{

margin-bottom:18px;

}

/*============================
UTILITY CLASSES
============================*/

.bg-light{

background:#f5f8fc!important;

}

.text-primary{

color:var(--primary)!important;

}

.text-warning{

color:#ffc107!important;

}

.text-success{

color:#28a745!important;

}

.text-danger{

color:#dc3545!important;

}
/*==================================================
PART 2B
Counter • Gallery • Events • Footer
==================================================*/

/*============================
COUNTER SECTION
============================*/

.counter-section{

background:linear-gradient(rgba(13,110,253,.92),rgba(10,76,163,.92)),
url("../images/building.jpg");

background-size:cover;
background-position:center;
background-attachment:fixed;

color:#fff;

padding:80px 0;

}

.counter{

font-size:52px;
font-weight:700;
margin-bottom:10px;

}

.counter-section p{

font-size:18px;
margin:0;
font-weight:500;

}

/*============================
LATEST EVENTS
============================*/

.card{

transition:.35s ease;

}

.card:hover{

transform:translateY(-10px);

box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.card-title{

font-weight:700;

color:var(--secondary);

}

.card-text{

font-size:15px;

}

/*============================
GALLERY
============================*/

.gallery-img{

width:100%;

height:240px;

object-fit:cover;

border-radius:15px;

cursor:pointer;

transition:.4s;

box-shadow:0 10px 25px rgba(0,0,0,.12);

}

.gallery-img:hover{

transform:scale(1.05);

box-shadow:0 20px 35px rgba(0,0,0,.20);

}

/*============================
GALLERY GRID
============================*/

.gallery-item{

overflow:hidden;

border-radius:15px;

position:relative;

}

.gallery-item img{

transition:.5s;

}

.gallery-item:hover img{

transform:scale(1.12);

}

.gallery-overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(13,110,253,.70);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

transition:.4s;

}

.gallery-item:hover .gallery-overlay{

opacity:1;

}

.gallery-overlay i{

font-size:42px;

color:#fff;

}

/*============================
PHOTO CAPTIONS
============================*/

.gallery-caption{

padding:15px;

background:#fff;

text-align:center;

font-weight:600;

border-radius:0 0 15px 15px;

}

/*============================
FOOTER
============================*/

.footer{

background:#0b2d63;

color:#fff;

padding:60px 0 20px;

}

.footer h4{

color:#fff;

margin-bottom:20px;

}

.footer p{

color:#ddd;

}

.footer ul{

padding:0;

}

.footer ul li{

margin-bottom:12px;

}

.footer ul li a{

color:#ddd;

transition:.3s;

}

.footer ul li a:hover{

color:#ffc107;

padding-left:8px;

}

.footer hr{

border-color:rgba(255,255,255,.2);

margin:35px 0 20px;

}

.footer img{

background:#fff;

padding:6px;

border-radius:10px;

}

/*============================
SOCIAL ICONS
============================*/

.social-icons{

display:flex;

gap:12px;

margin-top:20px;

}

.social-icons a{

width:42px;

height:42px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#ffffff22;

color:#fff;

font-size:18px;

transition:.3s;

}

.social-icons a:hover{

background:#ffc107;

color:#000;

transform:translateY(-4px);

}

/*============================
NEWS BOX
============================*/

.news-box{

background:#fff;

padding:25px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

margin-bottom:25px;

transition:.3s;

}

.news-box:hover{

transform:translateY(-6px);

}

.news-box h5{

color:var(--secondary);

margin-bottom:12px;

}

/*============================
NOTICE BOARD
============================*/

.notice-board{

background:#fff8e6;

border-left:6px solid #ffc107;

padding:25px;

border-radius:12px;

}

.notice-board ul{

margin:0;

}

.notice-board li{

padding:10px 0;

border-bottom:1px dashed #ddd;

}

.notice-board li:last-child{

border-bottom:none;

}

/*============================
SCROLL TO TOP BUTTON
============================*/

#topBtn{

position:fixed;

right:25px;

bottom:25px;

width:50px;

height:50px;

border:none;

border-radius:50%;

background:var(--primary);

color:#fff;

font-size:22px;

display:none;

cursor:pointer;

z-index:999;

transition:.3s;

}

#topBtn:hover{

background:var(--secondary);

transform:translateY(-5px);

}

/*============================
ANIMATIONS
============================*/

.fade-up{

animation:fadeUp .8s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.zoom-in{

animation:zoomIn .8s ease;

}

@keyframes zoomIn{

from{

opacity:0;

transform:scale(.8);

}

to{

opacity:1;

transform:scale(1);

}

}
/*==================================================
PART 2C
Contact • Management • Disclosure • Responsive
==================================================*/

/*============================
CONTACT PAGE
============================*/

.contact-info{

background:#fff;
padding:35px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
height:100%;

}

.contact-info h3{

color:var(--secondary);
margin-bottom:20px;

}

.contact-info p{

margin-bottom:18px;

}

.contact-info i{

color:var(--primary);
font-size:20px;
width:30px;

}

/*============================
CONTACT FORM
============================*/

.contact-form{

background:#fff;
padding:35px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.contact-form .form-control{

height:52px;
border-radius:8px;
margin-bottom:18px;

}

.contact-form textarea{

height:160px !important;
resize:none;

}

.contact-form .btn{

padding:12px 35px;

}

/*============================
GOOGLE MAP
============================*/

.map-container{

overflow:hidden;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.10);

}

.map-container iframe{

width:100%;
height:400px;
border:0;

}

/*============================
MANAGEMENT
============================*/

.management-card{

background:#fff;
border-radius:15px;
padding:30px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;
height:100%;

}

.management-card:hover{

transform:translateY(-8px);

}

.management-card img{

width:180px;
height:180px;
border-radius:50%;
object-fit:cover;
margin:auto;
margin-bottom:20px;
border:5px solid #0d6efd;

}

.management-card h4{

margin-bottom:5px;
color:var(--secondary);

}

.management-card h6{

color:#777;
margin-bottom:15px;

}

/*============================
MANDATORY DISCLOSURE
============================*/

.disclosure-table{

background:#fff;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.disclosure-table table{

margin:0;

}

.disclosure-table th{

background:var(--primary);
color:#fff;
text-align:center;

}

.disclosure-table td{

vertical-align:middle;

}

.disclosure-table tr:nth-child(even){

background:#f8f9fa;

}

/*============================
DOWNLOAD BUTTON
============================*/

.download-btn{

display:inline-block;
padding:10px 22px;
background:var(--primary);
color:#fff;
border-radius:30px;
transition:.3s;

}

.download-btn:hover{

background:var(--secondary);
color:#fff;

}

/*============================
PAGE HEADER
============================*/

.page-banner{

background:linear-gradient(rgba(13,110,253,.80),rgba(10,76,163,.80)),
url("../images/building.jpg");

background-size:cover;
background-position:center;

padding:120px 0;

color:#fff;
text-align:center;

}

.page-banner h1{

font-size:48px;
font-weight:700;

}

.page-banner p{

font-size:18px;

}

/*============================
TABLES
============================*/

.table{

background:#fff;

}

.table th{

background:#0d6efd;
color:#fff;

}

/*============================
LIST GROUP
============================*/

.list-group-item{

padding:15px;

}

/*============================
BACK TO TOP
============================*/

.show{

display:flex !important;
align-items:center;
justify-content:center;

}

/*============================
RESPONSIVE
============================*/

@media(max-width:991px){

.navbar-brand{

font-size:18px;

}

.hero-image{

height:450px;

}

.carousel-caption{

bottom:10%;
padding:20px;

}

.carousel-caption h1{

font-size:34px;

}

.carousel-caption h3{

font-size:22px;

}

.section-title{

font-size:30px;

}

.counter{

font-size:38px;

}

.management-card{

margin-bottom:30px;

}

}

@media(max-width:768px){

.top-bar{

text-align:center;
font-size:13px;

}

.hero-image{

height:350px;

}

.carousel-caption{

padding:15px;

}

.carousel-caption h1{

font-size:26px;

}

.carousel-caption h3{

font-size:18px;

}

.carousel-caption p{

font-size:14px;

}

.section-title{

font-size:28px;

}

.feature-box{

padding:25px;

}

.card img{

height:220px;

}

.gallery-img{

height:180px;

}

.page-banner{

padding:80px 0;

}

.page-banner h1{

font-size:34px;

}

.footer{

text-align:center;

}

.footer img{

margin:auto;

}

}

@media(max-width:576px){

.navbar-brand img{

height:45px;

}

.hero-image{

height:280px;

}

.btn{

padding:10px 22px;

font-size:14px;

}

.counter{

font-size:30px;

}

.contact-form,
.contact-info{

padding:20px;

}

.management-card img{

width:140px;
height:140px;

}

}

/*============================
PRINT
============================*/

@media print{

.navbar,
.footer,
#topBtn{

display:none !important;

}

body{

background:#fff;

}

a{

color:#000;
text-decoration:none;

}

}

/*============================
END OF FILE
============================*/