/********** Common CSS Starts **********/
* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

html,
body {
	font-family: 'Merriweather', sans-serif !important;
	overflow-x: hidden;
	font-size: 16px;
	color: #fff;
	scroll-padding: 50px;
	background-color: #131111;
	scroll-behavior: smooth;
}

p {
	font-family: 'Lato', sans-serif !important;
}

h1,
h2,
h3 {
	font-family: 'Montserrat', sans-serif !important;
}

button {
	font-family: 'Lato', sans-serif !important;
}

a {
	text-decoration: none;
}

.container {
	margin: 0px auto;
	display: table;
}

/********** Common CSS Ends **********/

/********** Top Header CSS Starts **********/
.top-header {
	background: #181818;
	padding: 10px;
}

/********** Top Header CSS Ends **********/

/********** Logo CSS Starts **********/
.logo {
	height: 30px;
	stroke-width: 5px;
	float: left;
}

/********** Logo CSS Ends **********/


/********** Menu/Nav CSS Starts **********/
.top-section {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: auto;
	z-index: 50;
}

nav {
	float: right;
	padding: 19px 30px;
	background-color: rgb(22, 22, 22);
	width: 100%;
}

nav.navItems>a {
	color: rgb(255, 255, 255);
	text-decoration: none;
	font-size: 18px;
	padding: 2px 10px;
	font-weight: 500;
	transition: all 100ms ease-out;
	float: right;
}

nav a:hover {
	color: #1c0dec;
}

nav p {
	margin-bottom: -2%;
}

nav.navItems p>a {
	color: rgb(20, 155, 189);
	font-weight: bold;
	font-size: 1.3em;
}

nav.navItems p>a:hover {
	color: yellowgreen;
}

i.fa-bars {
	color: rgb(255, 255, 255);
	height: 17px;
	width: 17px;
	margin: 0 10px 0 15px;
	font-weight: bolder;
	float: right;
}

i.fa-times {
	color: white;
	font-size: 1.5em;
	position: absolute;
	top: 15px;
	right: 30px;
}

nav.mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 75%;
	background-color: #161616;
	color: white;
	z-index: 999;
	display: flex;
	flex-direction: column;
	justify-items: flex-start;
	gap: 30px;
	align-items: left;
	padding-top: 80px;
	transition: transform 500ms ease-in;
}

nav.mobile-menu a {
	color: white;
	font-size: 20px;
}

nav.mobile-menu a:hover {
	color: #1c0dec;
}

nav.mobile-menu a::after {
	content: '';
	background-color: white;
	height: 1px;
	width: 100%;
	opacity: 25%;
	display: block;
	margin-top: 10px;
}

.hidden {
	transform: translateX(-100%);
}

/********** Menu/Nav CSS Ends **********/

.slider {
	line-height: 0px;
	margin-top: 90px;
}

.slider img {
	width: 100%;
	height: auto;
}

/********** School NEWS CSS Starts **********/
.news {
	background: #161616;
	padding: 18px;
}

.news b {
	background: #ffffff;
	color: rgb(0, 0, 0);
	border-radius: .3em;
	padding: 12px 35px;
	font-size: 20px;
}

.news marquee {
	font-size: 18px;
	width: 100%;
	margin-top: 30px;
}

/********** School NEWS CSS Ends **********/

/********** Notice Board CSS Starts **********/
.main-section {
	width: 100%;
	float: left;
	padding: 90px 0px 90px 0px;
}

.main-section:nth-child(odd) {
	background: #161616;
	padding: 50px 0px 50px 0px;
}

.heading {
	font-size: 35px;
	font-weight: 500;
	margin-bottom: 70px;
	color: rgb(255, 255, 255);
	text-align: center;
	position: relative;
}

.heading:after {
	content: '';
	background: #ffffff;
	height: 3px;
	width: 9%;
	position: absolute;
	bottom: -11px;
	right: 45%;
}

.notice-board {
	width: 88%;
	margin-left: 6%;
	background: #2a7f2e;
	border: 10px solid #ffac88;
	color: #fff;
	padding: 10px;
	border-radius: 10px;
}

.notice-board li {
	width: 100%;
	float: left;
	padding: 20px;
}

.notice-board li span {
	background: #FF9800;
	float: left;
	text-align: center;
	font-size: 14px;
	color: #fff;
	padding: 8px 12px;
	margin-right: 10px;
	position: relative;
	top: -8px;
}

/********** Notice Board CSS Ends **********/
/********** About My School CSS Starts **********/

.about-us {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
	padding: 0 30px 0 30px;
}

#about-us {
	background-color: #161616;
}

.about-us p {
	font-size: 1.2em;
	margin-bottom: 20px;
	padding-right: 30px;
	line-height: 23px;
}

.about-us img {
	width: 40%;
	height: auto;
	border-radius: .5em;
	transition: transform 150ms ease-in;
}

.about-us img:hover {
	transform: scale(1.03);
}

/********** About My School CSS Ends **********/

/********** My School Topper CSS Starts **********/
ul.topper li {
	list-style: none;
	float: left;
	width: 20%;
	margin-right: 1%;
	margin-bottom: 20px;
	padding: 4px 2px 0px 2px;
}

ul.topper li img {
	width: 100%;
}

ul.topper li div {
	background: #FF5722;
	text-align: center;
	color: #fff;
	padding: 8px;
}

ul.topper li div p {
	margin-bottom: 5px;
}

/********** My School Topper CSS Ends **********/

/********** My School Facility CSS Starts **********/
.facilities-section {
	background-color: #161616;
	color: white;
}

.facility {
	width: 100%;
	background-color: gray;
	border: 1px solid black;
	border-radius: .5em;
}

.facilities {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	padding: 10px;
}


.facility .heading {
	padding: 10px;
	color: #ffffff;
	background: #000000;
	text-align: center;
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 10px;
}

.facility img {
	width: 100%;
	transition: transform 150ms ease-in;
}

.facility img:hover {
	transform: scale(1.01);
}

.facility-list {
	background: #fff;
	margin-top: 50px;
}

.facility-list img {
	height: 200px;
}

/********** My School Facility CSS Ends **********/
/********** School Gallery CSS Starts **********/
#gallery {
	background-color: #161616;
	color: white;
}

.gallery img {
	margin-bottom: 20px;
	border: 4px solid skyblue;
	border-radius: .5em;
	width: 100%;
	transition: transform 150ms ease-in;
}

.gallery img:hover {
	transform: scale(1.02)
}

.gallery-images {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	padding: 10px;
}

/********** School Gallery CSS Ends **********/

/********** Footer CSS Starts **********/

.footer {
	background-color: #000000;
	padding: 40px 0px 0px 0px;
	width: 100%;
	float: left;
}

.footer>.footer-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	padding: 20px;
	place-items: center;
	margin: 30px auto 20px 10px;
}

.footer h4 {
	font-size: 22px;
	padding-bottom: 20px;
}

.footer p {
	font-size: 16px;
	padding-bottom: 6px;
}

.footer-menu ul {
	padding: 0px;
}

.footer-menu li {
	width: 50%;
	float: left;
	list-style: none;
}

.footer-inner .social-links {
	display: flex;
	padding: 3px;
	margin-bottom: 10px;
	gap: 15px;
	align-items: center;
	justify-content: center;
}

.footer-menu li a {
	text-decoration: none;
	border-right: 1px solid lightgrey;
	padding: 2px 20px;
	color: #111;
}

/********** Footer CSS Ends **********/

/********** Copyright CSS Starts **********/

.copyright {
	border-top: 1px solid lightgrey;
	padding-top: 30px;
}

.copyright p {
	text-align: center;
	margin-bottom: 20px;
}

/********** Copyright CSS Ends **********/

/* MEDIA QUERIES FOR BREAKPOINTS */

@media (max-width: 510px) {
    .navbar .navItems{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 19px 18px;
	}
	.navbar .navItems > a {
		display: none;
	}

	nav p {
		margin-bottom: unset;
	}

	nav.navItems p>a {
		font-size: 1em;
	}

	.slider,
	.slider img {
		height: 45vh;
		object-fit: cover;
	}

	.news {
		padding: 12px;
	}

	.news b {
		padding: 7px;
	}

	.about-us {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
	}

	.heading {
		font-size: 20px;
	}

	.heading:after {
		right: 42%;
		width: 12%;
	}

	.about-us img {
		width: 100%;
		height: auto;
		margin-top: 40px;
	}

	.footer>.footer-links {
		place-items: unset;
	}

	.footer-top {
		padding-left: 10px;
	}

	.footer-inner .social-links {
		justify-content: flex-start;
		margin-left: 10px;
	}
}

@media (min-width: 510px) {

	nav.mobile-menu {
		display: none;
	}

	i.fa-bars {
		display: none;
	}
}