/* =====================================
Template Name: Eduland
Author Name: ThemeLamp
Author URI: http://themelamp.com/
Release By: http://codeglim.com/
Description: Eduland is a awesome Education & Courses Template.
Version:	1.0
========================================*/

/*===============================
	Header CSS 
=================================*/
.header {
	background-color: #fff;
}
/* Header Inner */
.header .header-inner {
	background-image: url('images/bg-pattern1.png');
	background-repeat: repeat-y;
	background-position: center;
	position: relative;
}
.header .header-inner::before {
	opacity: 0.95;
	background: #fff;
}
/* Logo */
.header .logo {
	float: left;
	margin-top: 15px;
	margin-bottom: 15px;
}
.header .logo a {
	font-size: 25px;
}
.header .logo a img {
	height: 90px;
	width: auto;
}
.header .menu-bar {
	position: relative;
}
.header .navbar {
	background: none;
	box-shadow: none;
	border: none;
	position: relative;
	padding: 0;
	float: right;
	padding-right: 50px;
}
.header .navbar-nav {
	display: block;
}
.header .nav li {
	float: left;
	position: relative;
	margin-right: 25px;
}
.header .nav li:last-child{
	margin-right:0px;
}
.header .nav li a {
	color: #252525;
	font-size: 14px;
	text-transform: uppercase;
	padding: 30px 0px;
	display: block;
	position: relative;
}
.header .nav li a::before {
	content: "";
	position: absolute;
	height: 2px;
	left: 50%;
	bottom: 17px;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
	border-radius: 30px;
	right: 50%;
}
.header .nav li:hover a::before,
.header .nav li.active a::before {
	opacity: 1;
	visibility: visible;
	left: 25%;
	right: 25%;
}
.header .nav li a::after {
	width: 10px;
	height: 10px;
	border-radius: 100%;
	content: "";
	position: absolute;
	left: 50%;
	margin-left: -5px;
	bottom: 13px;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.header .nav li:hover a::after,
.header .nav li.active a::after {
	opacity: 1;
	visibility: visible;
}
.header .nav li a i {
	margin-right: 5px;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
.header .nav li.active a i,
.header .nav li:hover a i{
	opacity:1;
	visibility:visible;
}
/* Dropdown Menu */
.header .nav li .dropdown {
	background: #fff;
	width: 225px;
	position: absolute;
	left: 0;
	z-index: 99;
	opacity: 0;
	-webkit-box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.2);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	margin: 0;
	-webkit-transform: scaleY(0);
	-moz-transform: scaleY(0);
	transform: scaleY(0);
	transform-origin: 0 0 0;
	border-top: 2px solid;
	top: 100%;
	padding: 15px 0;
}
.header .nav li:hover .dropdown{
	transform: scaleY(1);
	opacity:1;
	visibility:visible;
}
.header .nav li .dropdown li{
	float:none;
	margin:0;
}
.header .nav li .dropdown li a {
	padding: 5px 20px;
	color: #555;
	display: block;
	font-weight: 400;
	text-transform: capitalize;
}
.header .nav li .dropdown li a:before,
.header .nav li .dropdown li a:after{
	display:none;
}
.header .nav li .dropdown li i {
	float: right;
	margin-top: 6px;
}
.header .nav li .dropdown.submenu{
	left:100%;
	top:0;
	-webkit-transform: scaleY(0);
	-moz-transform: scaleY(0);
	transform: scaleY(0);
	transform-origin: 0 0 0;
	border-top: 2px solid;
}
.header .nav li .dropdown li:hover .dropdown.submenu{
	opacity:1;
	visibility:visible;
	transform:scaleY(1);
}
.header .nav li .dropdown li .dropdown.submenu li a {
	color: #777;
	background: transparent;
}
/* Search form */
.header .search-area {
	position: absolute;
	right: 0;
	top: 28px;
}
.header .search-area .icon {
	width: 28px;
	display: block;
	height: 28px;
	line-height: 24px;
	text-align: center;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	color: #555;
	border: 1px solid #ccc;
	border-radius: 100%;
}
.header .search-area .icon:hover{
	background:#F6921E;
	color:#fff;
	border-color:transparent;
}
.header .search-area.active .icon i:before{
	content:"\f00d";
}
.header .search-form {
	width: 300px;
	z-index: 99;
	position: absolute;
	right: 0;
	top: 57px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease 0s;
	transform-origin: 0 0 0;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.20);
	-moz-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.20);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.20);
	-webkit-transform: scaleY(0);
	-moz-transform: scaleY(0);
	transform: scaleY(0);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.header .search-area.active .search-form{
	opacity: 1;
	visibility: visible;
	transform: scaleY(1);
}
.header .search-form input {
	width: 100%;
	height: 60px;
	padding: 0 65px 0 15px;
	font-size: 14px;
	border: none;
	border-radius: 0px;
	color: #888;
}
.header .search-form button {
	position: absolute;
	width: 50px;
	height: 60px;
	line-height: 60px;
	color: #fff;
	border: none;
	right: 0;
	border-radius: 100%;
	border-radius: 0px;
}
.header .search-form button:hover{
	opacity:0.8;
}
/*===============================
	End Header CSS 
=================================*/

/*===============================
	Slider CSS 
=================================*/
.home-slider{
	overflow:hidden;
}
.home-slider,
.home-slider .single-slider{
	height: 660px;
}
.home-slider .single-slider::before {
	opacity: 0.7;
	z-index: 1;
}
.home-slider .slider-image{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
/* Slider Zoom Effect */
@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(1, 1);
  }

  to {
    -webkit-transform: scale(1.2, 1.2);
  }
}

@-moz-keyframes zoom {
  from {
    -moz-transform: scale(1, 1);
  }

  to {
    -moz-transform: scale(1.2, 1.2);
  }
}

@-o-keyframes zoom {
  from {
    -o-transform: scale(1, 1);
  }

  to {
    -o-transform: scale(1.2, 1.2);
  }
}

@keyframes zoom {
  from {
    transform: scale(1, 1);
  }

  to {
    transform: scale(1.2, 1.2);
  }
}
.home-slider .owl-item.active .slider-image {
  -webkit-animation: zoom 25s;
  animation: zoom 25s;
}
.home-slider .slider-content {
	display: inline-block;
	border-radius: 3px;
	position: relative;
	z-index: 2;
	margin: 158px 0 0;
}
.home-slider .slider-title {
	font-size: 50px;
	font-weight: 800;
	color: #fff;
	padding: 30px;
	display: inline-block;
}
.home-slider .slider-title span {
	display: block;
	font-size: 18px;
	font-weight: 400;
	line-height: 20px;
}
.home-slider .slider-title b {
	font-weight: 400;
}
.home-slider .slider-text {
	font-size: 15px;
	background: #fff;
	color: #555;
	padding: 30px;
	display: inline-block;
}
.home-slider .button {
	margin-top: 20px;
}
.home-slider .button .btn {
	margin-right: 15px;
	position: relative;
	z-index: 2;
}
.home-slider .button .btn:last-child{
	margin:0;
}
/* Slider Animation */
.home-slider .owl-item.active .slider-title{
	animation: fadeInLeft 1s both 0.8s;
}
.home-slider .owl-item.active .slider-text{
	animation: fadeInLeft 1s  both 1.2s;
}
.home-slider .owl-item.active .button{
	animation: fadeInUp 1s  both 1.5s;
}
/*===============================
	End Slider CSS 
=================================*/

/*===============================
	Courses CSS
=================================*/
.courses {
	background: #f8f8f8;
}
.courses .course-slider {
	margin-top: 30px;
}
.courses .single-course {
	padding: 12px;
	background: #fff;
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	margin-top: 30px;
}
.courses .single-course:hover{
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.30);
}
.courses .course-head{
	position:relative;
	overflow:hidden;
}
.courses .course-head::before {
	opacity: 0;
	visibility: hidden;
	z-index: 5;
}
.courses .course-head img{
	height:100%;
	width:100%;
}
.courses .course-head:hover img{
	-webkit-transform:scale(1.3);
	-moz-transform:scale(1.3);
	transform:scale(1.3);
}
.courses .course-head:hover:before{
	opacity:0.8;
	visibility:visible;
}
.courses .course-head a {
	position: absolute;
	top: 50%;
	margin: -25px 0 0 -25px;
	z-index: 10;
	border-radius: 0px;
	left: 50%;
	font-weight: 500;
	text-transform: capitalize;
	margin-left: -58px;
	padding: 12px 22px;
	opacity:0;
	-webkit-transform:scale(0);
	-moz-transform:scale(0);
	transform:scale(0);
	border-radius: 50px;
}
.courses .course-head:hover .btn{
	transform: scale(1);
	opacity: 1;
}
.courses .course-body {
	margin: 15px;
	margin-top: 0px;
}
.courses .name-price {
	padding: 0;
	width: 100%;
	position: relative;
	z-index: 333;
	margin-top: -33.5px;
}
.courses .name-price .teacher-info {
	display: inline-block;
}
.courses .teacher-info img {
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 100%;
	display: inline-block;
	border: 4px solid #fff;
	float: left;
	-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
}
.courses .single-course .teacher-info:hover img{
	-webkit-transform:rotate(360deg);
	-moz-transform:rotate(360deg);
	transform:rotate(360deg);
}
.courses .teacher-info .title {
	font-weight: 500;
	padding: 10px;
	color: #fff;
	border-radius: 30px;
	position: absolute;
	left: 0;
	bottom: -43px;
	z-index: 33;
	font-size: 13px;
	-webkit-transform:translateX(-30px);
	-moz-transform:translateX(-30px);
	transform:translateX(-30px);
	opacity:0;
	visibility:hidden;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.courses .teacher-info:hover .title{
	transform:translateX(0px);
	opacity:1;
	visibility:visible;
}
.courses .teacher-info .title::before {
	content: "";
	border-bottom: 12px solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	position: absolute;
	top: -10px;
}
/* Price */
.courses .price {
	color: #fff;
	padding: 5px 25px;
	font-weight: 700;
	position: relative;
	margin-top: 12px;
	float: right;
	border-radius: 50px;
	right: 0;
}
.courses .price::before {
	position: absolute;
	left: 0;
	content: "";
	border-left: 15px solid #fff;
	border-bottom: 15px solid transparent;
	border-top: 15px solid transparent;
	display: none;
}
.courses .course-body .c-title {
	font-size: 18px;
	text-align: left;
	margin: 5px 0 15px;
}
.courses .course-body .c-title a {
	color: #252525;
	font-weight: 700;
}
.courses .course-body p {
	color: #666;
}
.courses .course-meta {
	background: #fff;
	border-top: 1px solid rgba(204, 204, 204, 0.45);
	overflow: hidden;
	margin: 15px;
	text-align: left;
	padding-top: 15px;
}
/* Rattings */
.courses .rattings li {
	display: inline;
	margin-right: 2px;
}
.courses .rattings li.point span {
	display: inline-block;
	position: relative;
}
.courses .rattings li.point span:before {
	content: "(";
}
.courses .rattings li.point span::after {
	content: ")";
}
/* Course Info */
.courses .course-info {
	margin-top: 4px;
}
.courses .course-info span {
	display: inline-block;
	color: #888;
	margin-right: 8px;
	font-weight: 500;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
.courses .course-info span:last-child{
	margin-right:0px;
}
.courses .course-info span i{
	margin-right:5px;
}
/* Slider Meta */
.courses .owl-controls {
	margin-top: 30px;
}
.courses .owl-controls .owl-nav div {
	width: 44px;
	height: 44px;
	line-height: 44px;
	font-size: 22px;
	padding: 0;
	border-radius: 100%;
	color: #555;
	background: #fff;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	margin: 0 10px 0 0;
	border: 1px solid #ccc;
}
.courses .owl-controls .owl-nav div:last-child{
	margin:0;
}
.courses .course-slider:hover .owl-controls .owl-nav div {
	opacity: 1;
	visibility: visible;
}
.courses .owl-controls .owl-nav div:hover{
	border-color:transparent;
	color:#fff;
}
/* Courses Archive */
.courses.archive{
	padding:60px 0 90px;
}
.courses.archive .single-course {
	margin: 30px 0 0;
}
/*===============================
	End Courses CSS
=================================*/

/*===============================
	Features CSS 
=================================*/
.features {
	background-image: url('images/gallery/gallery-11.jpeg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 60px 0 90px;
}
.features .single-feature {
	position: relative;
	text-align: center;
	margin-top: 30px;
}
.features .icon-img {
	width: 80px;
	height: 80px;
	line-height: 80px;
	border-radius: 100%;
	position: relative;
	text-align: center;
	left: 0;
	display: inline-block;
	overflow:hidden;
}
.features .icon-img:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	z-index: 3;
	opacity: 1;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.features .single-feature:hover .icon-img:before {
	opacity: 0.5;
}
.features .icon-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	opacity: 0;
	visibility: hidden;
}
.features .single-feature:hover .icon-img img{
	opacity:1;
	visibility:visible;
	transform:scale(1.2);
}
.features .icon-img i {
	text-align: center;
	font-size: 25px;
	color: #fff;
	z-index: 333;
	position: relative;
}
.features .feature-content .f-title {
	font-size: 18px;
	margin: 15px 0;
	color: #fff;
}
.features .feature-content p {
	line-height: 22px;
	color: #ccc;
}
/*===============================
	End Features CSS 
=================================*/

/*===============================
	Register Today CSS
=================================*/
.register-today {
	background-image: url('images/register-bg.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.register-today.overlay::before {
	opacity: 0.6;
}
.register-today .course-countdown {
	margin: 130px 0;
}
.register-today .coming-course {
	margin-bottom: 25px;
}
.register-today .coming-course h2 {
	display: block;
	font-size: 50px;
	color: #fff;
	text-align: center;
}
.register-today .coming-course h2 span {
	display: block;
	font-weight: 300;
	font-size: 20px;
	color: #eee;
}
.register-today .coming-course h2 b {
	font-weight: 300;
}
.register-today .coming-time-inner{
	display:inline-block;
	text-align:center;
}
.register-today .coming-time {
	background: rgba(0, 0, 0, 0.6);
	padding: 30px;
}
.register-today .cdown {
	float: left;
	width: 25%;
}
.register-today .cdown {
	text-align: center;
	line-height: 40px;
}
.register-today .cdown span {
	font-size: 50px;
	display: block;
}
.register-today .cdown p{
	font-size:15px;
	line-height: initial;
	margin-top: 15px;
	color: #fff;
	font-weight: 500;
}
.register-today .coming-text{
	text-align:center;
}
.register-today .coming-text h2 {
	color: #fff;
	margin: 0 0 15px;
	text-transform: uppercase;
	font-size: 40px;
}
.register-today .coming-text p {
	color: #fff;
	padding: 0px 45px;
}
.register-today .subscription-form {
	position: absolute;
	top: 0;
	width: 600px;
	height: 350px;
	background: #353535;
	left: 50%;
	margin-left: -300px;
	transform: scale(0);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
	transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
	text-align: center;
	padding: 70px 90px;
}
.register-today .subscription-form.active{
	transform:scale(1.0);
	-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
	transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.register-today .subscription-form .cross {
	position: absolute;
	right: 0;
	top: 0;
	color: #fff;
	font-size: 15px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
}
.register-today .subscription-form h2 {
	margin-bottom: 15px;
	padding-bottom: 15px;
	color: #fff;
	position: relative;
	font-size: 30px;
}
.register-today .subscription-form h2:before{
	position:absolute;
	left:0;
	bottom:-1px;
	content:"";
	background:#fff;
	width:50px;
	height:2px;
	left:50%;
	margin-left:-25px;
}
.register-today .subscription-form p {
	color: #bbb;
}
.register-today .subscription-form form {
	position: relative;
	margin-top: 30px;
}
.register-today .subscription-form input {
	width: 100%;
	padding: 11px;
	background: transparent;
	color:#fff;
	border: none;
	border-bottom: 2px solid #fff;
}
.register-today .subscription-form button {
	position: absolute;
	right: 0;
	bottom: 0px;
	border-radius: 0px;
	padding: 8px 16px;
	background:#fff;
}
.register-today .subscription-form button i{
	font-size:25px;
}
/* Register Form */
.register-today .register-form {
	background: #fff;
	padding: 30px;
}
.register-today .form-title {
	margin-bottom: 20px;
}
.register-today .form-title h2 {
	font-size: 20px;
	margin-bottom: 5px;
	position: relative;
	font-weight: 700;
}
.register-today .form-title p {
	color: #555;
}
.register-today .form {
}
.register-today .form-group {
	position: relative;
	margin-bottom: 20px;
}
.register-today .form-group i {
	position: absolute;
	left: 0;
	top: 20px;
	z-index: 1;
}
.register-today .form-group input,
.register-today .nice-select {
	margin: 0;
	width: 100%;
	height: 55px;
	color: #888;
	font-size: 14px;
	box-shadow: none;
	text-shadow: none;
	border: none;
	border-bottom: 1px solid rgba(204, 204, 204, 0.45);
	border-radius: 0px;
	padding-left: 25px;
	line-height: 55px;
	font-weight: 500;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
.register-today .nice-select {
	margin-bottom: 15px;
	padding: 0 35px 0 25px;
	position: relative;
}
.register-today .form-group .list {
	z-index: 3;
	border-radius: 0px;
	border-top: 2px solid;
}
.register-today .form-group textarea {
	border: none;
	resize: none;
	border-bottom: 1px solid rgba(204, 204, 204, 0.45);
	font-weight: 500;
	margin-bottom: 0px;
	padding: 0;
	border-radius: 0px;
	padding-left: 25px;
	padding-top: 10px;
	height: 158px;
	color: #888;
}
.register-today .nice-select i {
	top: 21px;
}
.register-today .nice-select::after {
	right: 20px;
	color: #757575;
}
.register-today .nice-select img{
	margin-right:10px;
}
.register-today .list li{
	color:#757575;
}
.register-today .list li.selected{
	color:#757575;
	font-weight:400;
}
.register-today .list li:hover {
	color:#fff;
}
.register-today .form-group.message i {
	top: 18px;
}
.register-today .form-group.button{
	margin:0;
	text-align: center;
}
.register-today .form-group .btn {
	width: 100%;
	text-align: center;
	padding: 18px 0;
	display: block;
	color:#fff;
}
/*===============================
	End Register Today CSS
=================================*/

/*===============================
	Teachers CSS 
=================================*/
.teachers {
	background: #fff;
}
.teachers .teachers-slider{
	margin-top:30px;
}
.teachers .single-teacher {
	position: relative;
	margin-bottom: 30px;
}
.teachers .teacher-head {
	position: relative;
}
.teachers .teacher-head.overlay::before {
	opacity: 0;
	z-index: 1;
	visibility: hidden;
}
.teachers .single-teacher:hover
.teacher-head.overlay:before{
	opacity:0.8;
	visibility:visible
}
.teachers .teacher-head img{
	height:100%;
	width:100%;
	text-align:center;
}
.teachers .social {
	width: 45px;
	position: absolute;
	top: 15px;
	text-align: center;
	padding: 15px 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	left: 15px;
	z-index: 2;
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	transform: translateY(-100%);
}
.teachers .single-teacher:hover .social{
	opacity:1;
	visibility:visible;
	transform: translateY(0%);
}
.teachers .social li {
	display: block;
	margin-bottom: 10px;
}
.teachers .social li:last-child{
	margin:0;
}
.teachers .social li a {
	color: #fff;
	font-size: 14px;
	width: 28px;
	height: 28px;
	line-height: 28px;
	border: 1px solid #fff;
	display: inline-block;
	border-radius: 100%;
}
.teachers .social li a:hover{
	border-color:transparent;
	background:#fff;
}
.teachers .teacher-content {
	background: #fff;
	padding: 12px 30px;
	text-align: center;
	position: absolute;
	bottom: -15px;
	left: 15px;
	z-index: 33;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
.teachers .single-teacher:hover .teacher-content,
.teachers .single-teacher.active .teacher-content{
	transform:scale(1.0);
	opacity:1;
	visibility:visible;
}
.teachers .teacher-content:hover h4,
.teachers .teacher-content:hover span{
	color:#fff;
}
.teachers .teacher-content h4 {
	font-size: 18px;
}
.teachers .teacher-content h4 span {
	display: block;
	font-weight: 400;
	font-size: 15px;
	margin-top: 5px;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
/* Slider Meta */
.teachers .owl-controls {
	margin-top: 30px;
}
.teachers .owl-controls .owl-nav div {
	width: 44px;
	height: 44px;
	line-height: 44px;
	font-size: 22px;
	padding: 0;
	border: 1px solid #ccc;
	border-radius: 100%;
	color: #555;
	background: #fff;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	margin: 0 10px 0 0;
}
.teachers .owl-controls .owl-nav div:last-child{
	margin:0;
}
.teachers .course-slider:hover .owl-controls .owl-nav div {
	opacity: 1;
	visibility: visible;
}
.teachers .owl-controls .owl-nav div:hover{
	border-color:transparent;
	color:#fff;
}
/* Archive */
.teachers.archive{}
.teachers.archive .single-teacher {
	margin: 30px 0 30px;
}
.teachers.archive .single-teacher .social{
	transform:translateY(0%);
}
/*===============================
	End Teachers CSS 
=================================*/

/*===============================
	Events CSS 
=================================*/
.events{
	background:#F8F8F8;
}
.event-img, .coming-event {
	margin-top: 30px;
}
.coming-event {
	padding-left: 35px;
}
.events .single-event {
	background: #fff;
	position: relative;
	margin-left: 0;
	padding: 30px 20px 30px 60px;
	margin-bottom: 30px;
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.events .single-event:last-child{
	margin:0;
}
.events .event-date {
	position: absolute;
	left: -35px;
	width: 70px;
	text-align: center;
	top: 50%;
	margin-top: -35px;
	padding: 10px 0;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.events .single-event:hover .event-date {
	border-radius:100%;
}
.events .event-date p {
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.events .single-event:hover .event-date p{
	font-size:25px;
}
.events .event-date p span {
	display: block;
	font-size: 14px;
	font-weight:500;
}
.events .event-title {
	font-size: 18px;
	margin-bottom: 10px;
}
.events .event-title a {
	font-weight: 700;
	color: #252525;
}
.events .entry-date-time {
	color: #555;
	margin-top: 5px;
	display: block;
}
/* Events Archive */
.events.archive{}
.events.archive .single-event {
	padding: 15px;
	margin-top: 30px;
	margin-bottom: 0px;
}
.events.archive .event-image{
	position: relative;
	overflow:hidden;
}
.events.archive .event-image img{
	width: 100%;
	height: 100%;
}
.events.archive .single-event:hover .event-image img{
	-webkit-transform:scale(1.2);
	-moz-transform:scale(1.2);
	transform:scale(1.2);
}
.events.archive .event-date {
	top: 5px;
	margin: 0;
	left: 5px;
}
.events.archive .event-content{
	margin-top: 20px;
}
/*===============================
	End Events CSS 
=================================*/

/*===============================
	Call to Action CSS 
=================================*/
.cta {
	padding-top: 62px;
	background: #F8F8F8;
}
.cta .cta-inner{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
}
.cta .text-content {
	background: transparent;
	z-index: 333;
	position: relative;
	border-radius: 5px;
}
.cta .text-content h2 {
	font-size: 35px;
	margin-bottom: 20px;
	color: #fff;
}
.cta .text-content h2 span {
	font-weight: 500;
	font-style: italic;
	border-bottom: 2px solid;
}
.cta .text-content p{
	color:#eee;
}
.cta .button {
	margin-top: 20px;
}
.cta .button .btn {
	margin-right: 15px;
}
.cta .button .btn:last-child{
	margin:0;
}
.cta .cta-image {
	position: absolute;
	right: 0;
	top: -152px;
}
/*===============================
	End Call to Action CSS 
=================================*/

/*===============================
	Latest News CSS 
=================================*/
.latest-news{
	background:#fff;
}
.latest-news .news-slider-main{
	padding-left: 5px;
	padding-right: 5px;
}
.latest-news .news-slider{
	margin-top:30px;
}
.latest-news .single-news {
	position: relative;
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
	background: #fff;
	padding: 10px;
	margin: 10px;
}
.latest-news .news-head img{
	width:100%;
	height:100%;
}
.latest-news .news-content {
	position: absolute;
	right: 0;
	top: 0;
	width: 52%;
	background: rgba(255, 255, 255, 0.95);
	height: 100%;
	padding: 68px 25px;
}
.latest-news .news-title {
	margin-bottom: 10px;
	line-height: 25px;
}
.latest-news .news-title a {
	font-weight: 700;
	color: #252525;
	font-size: 20px;
}
.latest-news .news-meta {
	margin-bottom: 10px;
}
.latest-news .news-meta span{
	margin-right: 10px;
}
.latest-news .news-meta span:last-child{
	margin:0;
}
.latest-news .news-meta span a {
	color: #555;
	font-weight: 400;
	margin-right: 10px;
}
.latest-news .news-meta span a:last-child{
	margin:0;
}
.latest-news .news-meta span a i {
	margin-right: 5px;
}
.latest-news .news-content p {
	color: #555;
	line-height: 24px;
}
.latest-news .news-content .button {
	margin-top: 15px;
}
.latest-news .news-content .button a {
	color: #fff;
	background:#252525;
	padding: 12px 25px;
}
.latest-news .news-content .button a i {
	margin-left: 10px;
}
/* Slider Meta */
.latest-news .owl-controls {
	margin-top: 30px;
}
.latest-news .owl-controls .owl-nav div {
	width: 44px;
	height: 44px;
	line-height: 44px;
	font-size: 22px;
	padding: 0;
	border: 1px solid #ccc;
	border-radius: 100%;
	color: #555;
	background: #fff;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
	margin: 0 10px 0 0;
}
.latest-news .owl-controls .owl-nav div:last-child{
	margin:0;
}
.latest-news .owl-controls .owl-nav div:hover{
	border-color:transparent;
	color:#fff;
}
/* News Archive */
.latest-news.archive{
	padding:60px 0 90px;
	background:#f8f8f8;
}
.latest-news.archive .single-news {
	margin: 30px 0 0;
}
/*===============================
	End Latest News CSS 
=================================*/

/*=============================
	News Sidebar CSS
===============================*/
.main-sidebar {
	margin-top: 30px;
}
.main-sidebar .single-sidebar {
	background: #fff;
	position: relative;
	padding: 15px;
	margin-bottom: 30px;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	-moz-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
}
.main-sidebar .single-sidebar:last-child{
	margin:0px;
	border:none;
}
.main-sidebar .widget-title {
	text-transform: capitalize;
	font-size: 18px;
	margin-bottom: 15px;
	position: relative;
	padding-left: 20px;
}
.main-sidebar .widget-title:before{
	content:"";
	position:absolute;
	left:0;
	width:4px;
	height:100%;
	top:0;
}
.main-sidebar .widget-title i {
	left: 0;
	top: 0;
	text-align: center;
	border-radius: 100%;
	color: #fff;
	width: 25px;
	height: 25px;
	line-height: 25px;
	margin-right: 10px;
	position: absolute;
	left: -34px;
	top: 10px;
}
.main-sidebar .single-sidebar ul li a {
	color: #555;
	font-weight: 500;
	display: block;
}
.main-sidebar .single-sidebar ul li a i{
	margin-right:10px;
}
/* Course Sidebar */
.main-sidebar .single-sidebar.s-course .s-single-course {
	overflow: hidden;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #e6e6e6;
}
.main-sidebar .single-sidebar.s-course .s-single-course:last-child{
	padding:0;
	margin:0;
	border:none;
}
.main-sidebar .single-sidebar.s-course .s-single-course img {
	width: 60px;
	height: 60px;
	border-radius: 100%;
	border: 5px solid #f8f8f8;
	float: left;
	margin-right: 15px;
}
.main-sidebar .single-sidebar.s-course .s-course-content {
	float: left;
	padding-top: 5px;
}
.main-sidebar .single-sidebar.s-course h4{
	font-size:15px;
}
.main-sidebar .single-sidebar.s-course h4 a {
	color: #252525;
}
.main-sidebar .single-sidebar.s-course .meta {
	color: #555;
	font-size: 14px;
	font-weight: 500;
	border: none;
	margin: 5px 0 0 0;
	padding: 0;
	font-weight: 400;
}
.main-sidebar .single-sidebar.s-course .meta span {
	font-size: 13px;
	margin-right: 10px;
}
.main-sidebar .single-sidebar.s-course .meta span i{
	margin-right:5px;
}
/* Latest news */
.main-sidebar .small-news {
	overflow: hidden;
	position: relative;
	box-shadow: none;
	padding: 0;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #e6e6e6;
}
.main-sidebar .small-news:last-child{
	margin:0;
	padding:0;
	border:none;
}
.main-sidebar .news-img {
	float: left;
	margin-right: 15px;
	left: 0;
}
.main-sidebar .news-img img {
	width: 60px;
	height: 60px;
	border-radius: 100%;
	border: 5px solid #f8f8f8;
}
.main-sidebar .news-info {
	float: left;
	margin-top: 7px;
}
.main-sidebar .news-info h4 {
	font-size: 15px;
	font-weight: 500;
	margin: 0;
}
.main-sidebar .news-info a {
	color: #252525;
	font-weight: 500;
}
.main-sidebar .news-info p {
	margin: 0;
	font-size: 13px;
	margin-top: 5px;
}
.main-sidebar .news-info span {
	margin-right: 10px;
}
.main-sidebar .news-info span i {
	margin-right: 5px;
	font-size: 13px;
}
/* Category */
.main-sidebar .category ul li {
	font-size: 15px;
	line-height: 47px;
	position: relative;
}
.main-sidebar .category ul li span {
	width: 32px;
	height: 32px;
	border-radius: 100%;
	display: inline-block;
	text-align: center;
	font-size: 13px;
	line-height: 32px;
	float: right;
	background: #f8f8f8;
	color: #555;
	position: absolute;
	top: 5px;
	right: 0;
}
.main-sidebar .category ul li:last-child{
	margin-bottom:0px;
	padding-bottom: 0px;
}
/* Subscribe */
.main-sidebar .subscribe {
	background-image: url('images/feature1.jpg');
	background-position: center;
	background-repeat: no-repeat;
	padding: 30px;
	z-index:3;
}
.main-sidebar .subscribe:before{
	opacity:0.95;
}
.main-sidebar .subscribe p{
	color:#fff;
	z-index:3;
	position:relative;
}
.main-sidebar .subscribe form {
	position: relative;
	margin-top: 20px;
	overflow: hidden;
}
.main-sidebar .subscribe input {
	background: #fff;
	display: block;
	width: 100%;
	color: #555;
	font-weight: 500;
	height: 50px;
	border: none;
	padding: 0 95px 0 15px;
	border-radius: 0px;
}
.main-sidebar .subscribe  input::-webkit-input-placeholder {
    opacity: 1;
    color: #555 !important;
}
.main-sidebar .subscribe  input::-moz-placeholder {
    opacity: 1;
    color: #555 !important;
}
.main-sidebar .subscribe  input::-ms-input-placeholder {
    opacity: 1;
    color: #555 !important;
}
.main-sidebar .subscribe button {
	color: #fff;
	position: absolute;
	right: 0;
	top: 0;
	background: #252525;
	height: 50px;
	padding: 0 15px;
	border-radius: 0px;
	border: none;
	font-size: 14px;
}
.main-sidebar .subscribe button:hover{
	background:#fff;
}
/* Tags */
.main-sidebar .tags h2{
	margin-bottom:5px;
}
.main-sidebar .tags ul{
	margin-left:-10px;
}
.main-sidebar .tags ul li {
	display: inline-block;
	margin-left: 10px;
	margin-top: 10px;
}
.main-sidebar .tags ul li a {
	font-size: 14px;
	background: #f8f8f8;
	padding: 5px 15px;
	color: #555;
	display: block;
}
.main-sidebar .tags ul li a:hover{
	color:#fff;
}
.main-sidebar.archive.section .single-news{
	padding:15px;
}
/*=============================
	End News Sidebar CSS
===============================*/

/*=============================
	Faqs CSS
===============================*/
.faqs{
	background: #f8f8f8;
}
.faqs .faq-image,
.faqs .faq-main{
	margin-top:30px;
}
.faqs .text-content {
	text-align: left;
	padding: 0 60px 0 0;
	margin-bottom:30px;
}
.faqs .faq-img img{
	width:100%;
}
.faqs .panel-group{
	margin: 0;
	text-align:left;
}
.faqs .panel {
	background: #fff;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	border: none;
	margin-bottom: 15px;
	-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.15);
}
.faqs .panel:last-child{
	margin:0;
}
.faqs .panel-heading{
	background:none;
}
.faqs .faq-title a {
	padding: 15px;
	font-size: 15px;
	position: relative;
	color: #252525;
	background: #fff;
	width: 100%;
	display: block;
	font-weight: 700;
}
.faqs .panel.active .faq-title a {
	text-decoration: none;
	color: #fff;
}
.faqs .panel .faq-title a i {
	margin-right: 5px;
	border: 1px solid #ccc;
	border-radius: 100%;
	width: 28px;
	height: 28px;
	display: inline-block;
	line-height: 28px;
	text-align: center;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
.faqs .panel.active .faq-title a i{
	border-color:#fff;
}
.faqs .faq-body {
	padding: 25px;
	color: #555;
	font-size: 14px;
	line-height: 24px;
	background: #fff;
}
/*=============================
	End Faqs CSS
===============================*/

/*=============================
	Contact CSS
===============================*/
.contact .contact-bottom{
	margin-top:30px;
}
.contact #map {
	height: 450px;
	margin-bottom: 30px;
	border: 10px solid #f8f8f8;
}
.contact .contact-head {
	overflow: hidden;
}
.contact .form-head{
	margin-top:30px;
}
.contact .form-head .form-group {
	margin-bottom: 20px;
	position: relative;
}
.contact .form-head .form-group i {
	position: absolute;
	top: 21px;
	left: 20px;
	z-index: 1;
}
.contact .form-head .col-12:last-child .form-group{
	margin:0;
}
.contact .form-head .form-group input,
.contact .form-head .form-group textarea {
	height: 55px;
	width: 100%;
	padding-left: 40px;
	color: #555;
	font-size: 15px;
	background: #f8f8f8;
	border: none;
	border-radius: 0px;
	resize: none;
}
.contact .form-head .form-group textarea {
	height: 190px;
	padding-left: 40px;
	padding-top: 18px;
}
.contact .form-head .form-group.message i {
	top: 25px;
}
.contact .form-head .form-group button {
	color: #fff;
	background:#252525;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
/* Contact info */
.contact .contact-info {
	text-align: left;
	margin-top: 30px;
	position: relative;
}
.contact .contact-info .icon {
	left: 0;
}
.contact .contact-info .icon i {
	width: 56px;
	height: 56px;
	line-height: 56px;
	font-size: 14px;
	border-radius: 100%;
	text-align: center;
	color: #fff;
	border:1px solid transparent;
	-webkit-transition:all 0.3s ease 0s;
	-moz-transition:all 0.3s ease 0s;
	transition:all 0.3s ease 0s;
}
.contact .contact-info:hover .icon i{
	border-color:#ccc;
	background:transparent;
}
.contact .contact-info h3 {
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 5px;
	margin-top: 10px;
	text-transform: capitalize;
}
.contact .contact-info a {
	color: #777;
}
.contact .contact-info p {
	color: #555;
	font-size: 14px;
	line-height: 22px;
}
.contact .contact-info p span{}
/*=============================
	End Contact CSS
===============================*/

/*=============================
	Clinets Slider CSS
===============================*/
.clients {
	padding: 35px 0;
}
.clients::before {
	opacity: 0.95;
}
.clients .text-content h4 {
	font-size: 20px;
	margin-bottom: 5px;
	color: #fff;
}
.clients .text-content p {
	color: #f8f8f8;
	line-height: 22px;
}
.clients .client-slider {
	margin-top: 20px;
}
.clients .client-slider a{
	display:block;
}
.clients .single-slider img {
	cursor: pointer;
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	transition:all 0.3s ease;
}
.clients .single-slider img:hover{
	-webkit-transform:scale(0.9);
	-moz-transform:scale(0.9);
	transform:scale(0.9);
}
/*=============================
	End Clinets Slider CSS
===============================*/

/*======================================
	Others CSS
========================================*/
#scrollUp {
	right: 20px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	z-index: 33;
	bottom: 10px;
	text-align: center;
	-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16);
	-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16);
	box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16);
	color: #ffff;
	font-size: 18px;
	border-radius: 100%;
	font-size: 18px;
}
#scrollUp:hover{
	color:#fff;
	bottom:15px;
}
/* Breadcrumbs CSS */
.breadcrumbs {
	background-position: 100%;
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 60px 0;
}
.breadcrumbs h2 {
	color: #fff;
	font-size: 34px;
	font-weight: 700;
	margin-top: 5px;
}
.breadcrumbs p {
	color: #ccc;
	margin-top: 5px;
}
.breadcrumbs .bread-list {
	background: rgba(255, 255, 255, 0.15);
	display: inline-block;
	padding: 10px 25px;
	float: right;
}
.breadcrumbs ul li {
	display: inline-block;
	position: relative;
	margin-right: 10px;
}
.breadcrumbs ul li:last-child{
	margin:0;
}
.breadcrumbs ul li a {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	text-transform: capitalize;
}
.breadcrumbs ul li.active a {
	color: #fff;
	padding: 7px 20px;
	display: inline-block;
}
.breadcrumbs ul li.active a:hover{
	background:#fff;
	color:#252525;
}
.breadcrumbs ul li i {
	margin-left: 5px;
}
/*======================================
	End Others CSS
========================================*/

/*=============================
	Footer CSS
===============================*/
.footer {
	background: #252525;
	padding: 0;
}
.footer .footer-top {
	padding: 60px 0 90px;
	background-image: url('images/clients-bg.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.footer .footer-top:before{
	opacity:0.9;
}
.footer a, .footer p {
	font-weight: 400;
	color: #ccc;
	line-height: 22px;
}
.footer .single-widget{
	margin-top:30px;
}
.footer .single-widget h2 {
	font-size: 16px;
	margin-bottom: 25px;
	color: #fff;
	position: relative;
}
.footer .about p {
	margin-top: 20px;
}
/* List */
.footer .list li {
	line-height: 35px;
	color: #ccc;
}
.footer .list li a {
	color: #ccc;
}
.footer .list li i {
	margin-right: 15px;
}
/* Social */
.footer .social {
	margin-top: 20px;
}
.footer .social li {
	display: inline-block;
	margin-right: 5px;
}
.footer .social li:last-child{
	margin:0;
}
.footer .social li a {
	display: inline-block;
	text-align: center;
	margin: 0;
	padding: 0;
	border-radius: 100%;
	font-size: 13px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}
.footer .social li:hover a,
.footer .social li.active a{
	color:#fff;
}
/* Opening Times */
.footer .opening-times .list li {
	position: relative;
	line-height: 35px;
	color: #ccc;
}
.footer .opening-times .list li a {
	color: #ccc;
	font-size: 15px;
}
.footer .opening-times .list li i{
	margin-right:10px;
}
.footer .opening-times .list li .value {
	float: right;
}
.footer .opening-times .list li .value.off {
	color: #fff;
	border-radius: 30px;
	padding: 0 11px;
	line-height: 30px;
}
/* Newsletter Widget */
.footer .newsletter .title{
	font-size:26px;
	font-weight:600;
	color:#fff;
}
.footer .newsletter .form{
	position:relative;
	margin-top:20px;
}
.footer .newsletter .form input {
	width: 100%;
	line-height: 50px;
	color: #888;
	box-shadow: none;
	text-shadow: none;
	border: none;
	padding: 0px 50px 0px 20px;
	border-radius: 0px;
	background: #fff;
	height: 45px;
	font-size: 14px;
	font-weight: 500;
}
.footer .newsletter .button {
	height: 45px;
	color: #fff;
	box-shadow: none;
	text-shadow: none;
	border: none;
	font-size: 14px;
	padding: 10px 35px;
	border-radius: 0px;
	position: absolute;
	right: 0;
	top: 0;
	border-left: 2px solid transparent;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.footer .newsletter .button:hover{
	opacity:0.8;
}
.footer .newsletter .button i{
	margin-right:5px;
}
.footer-bottom {
	background: #121212;
	padding: 20px 0;
}
.footer .copyright {
	text-align: center;
}
.footer .copyright p {
	color: #aaa;
}
.footer .copyright a:hover{
	color:#fff;
}
/*=============================
	End Footer CSS
===============================*/
/*===============================
	EduGurukulam Additions
	(new sections + fixes only — no existing rules removed)
=================================*/

/* --- Header: fit the larger main menu on desktop --- */
@media (min-width: 992px) {
	.header .row > [class*="col-lg-2"] {
		flex: 0 0 14%;
		max-width: 14%;
	}
	.header .row > [class*="col-lg-10"] {
		flex: 0 0 86%;
		max-width: 86%;
	}
	.header #nav {
		white-space: nowrap;
	}
	.header .nav li {
		margin-right: 9px;
	}
	.header .nav li a {
		font-size: 10.5px;
		white-space: nowrap;
	}
	.header .nav li > a i {
		display: inline-block;
		width: 0;
		margin-right: 0;
		overflow: hidden;
	}
	.header .nav li.active > a i,
	.header .nav li:hover > a i {
		width: auto;
		margin-right: 5px;
	}
	.header .navbar {
		padding-right: 45px;
	}
	.header .nav li .dropdown li a {
		font-size: 13px;
	}
}

/* --- Hero Banner --- */
@media (min-width: 992px) {
	.home-slider,
	.home-slider .single-slider {
		height: 720px;
	}
	.home-slider .slider-content {
		margin: 120px 0 0;
	}
	.home-slider .slider-title {
		font-size: 42px;
	}
}
@media (max-width: 991px) {
	.home-slider,
	.home-slider .single-slider {
		height: auto;
		padding-bottom: 60px;
	}
}
.home-slider .hero-search {
	background: #fff;
	padding: 12px;
	margin-top: 20px;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
	overflow: hidden;
}
.home-slider .hero-search-field {
	position: relative;
	float: left;
	width: 34%;
	padding-right: 12px;
}
.home-slider .hero-search-field i {
	position: absolute;
	left: 14px;
	top: 18px;
	color: #888;
}
.home-slider .hero-search-field input {
	width: 100%;
	height: 50px;
	border: 1px solid rgba(204, 204, 204, 0.45);
	border-radius: 0;
	background: #fff;
	color: #555;
	font-size: 14px;
	padding: 0 15px 0 36px;
}
.home-slider .hero-search .btn {
	float: left;
	width: 32%;
	height: 50px;
	padding: 15px 10px;
	line-height: 20px;
}
@media (max-width: 767px) {
	.home-slider .hero-search-field,
	.home-slider .hero-search .btn {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 10px;
	}
	.home-slider .hero-search .btn {
		margin-bottom: 0;
	}
}

/* --- Section bottom buttons (View All Colleges / Courses) --- */
.courses .section-button {
	margin-top: 40px;
	text-align: center;
}

/* --- Free Career Counselling: supporting points --- */
.cta .cta-points {
	margin-top: 20px;
}
.cta .cta-points li {
	color: #fff;
	font-weight: 500;
	margin-bottom: 8px;
}
.cta .cta-points li i {
	margin-right: 10px;
}

/* City shortcuts on the college category pages. */
.top-cities {
	margin-bottom: 40px;
	padding: 28px;
	border: 1px solid #f0dfca;
	border-radius: 16px;
	background: #fff8ef;
}
.top-cities h3 {
	margin: 0 0 20px;
	font-size: 22px;
	font-weight: 700;
	color: #252525;
	text-align: center;
}
.top-cities-row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}
.top-city-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 112px;
	padding: 18px 12px;
	border: 1px solid #ebdfd1;
	border-radius: 10px;
	background: #fff;
	text-decoration: none;
	transition: border-color .2s, background-color .2s;
}
.top-city-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff2e0;
	color: #a85200;
	font-size: 23px;
}
.top-city-name { color: #252525; font-size: 15px; font-weight: 600; }
.top-city-item:hover { background: #fff3e2; border-color: #F6921E; text-decoration: none; }
.top-city-item:focus-visible { outline: 3px solid #a85200; outline-offset: 3px; }
@media (max-width: 767px) {
	.top-cities { padding: 20px 16px; }
	.top-cities-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.top-city-item { min-height: 100px; padding: 14px 10px; }
	.top-city-item:last-child:nth-child(odd) { grid-column: 1 / -1; flex-direction: row; }
}

/* --- Top Cities (uses the Teachers card) --- */
.teachers .single-teacher .teacher-content {
	left: 50%;
	transform: translateX(-50%);
}
.teachers .teacher-content h4 a {
	color: #252525;
}
.teachers .teacher-content:hover h4 a {
	color: #fff;
}

/* --- Student Reviews (Clients section) --- */
/* Student Reviews band. The slider carries the same white card as the review
   grids, so a student meets one card design across the site. On the orange
   band it needs its own shadow — the card's hairline border disappears here. */
.clients .single-slider {
	padding: 4px 0 6px;
}
.clients .single-slider .review-card {
	height: auto;
	margin-bottom: 0;
	border-color: transparent;
	-webkit-box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.16);
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.16);
}
.clients .single-slider .review-card:hover {
	-webkit-transform: none;
	transform: none;
}
/* One slide at a time across the full column would give a very wide, very
   short card, so the text column is held to a readable measure. */
.clients .single-slider .review-body {
	padding: 20px 24px 4px;
}
/* The band is already the brand orange, so the button inverts: white face,
   orange word. .btn.primary paints an orange ::before layer over its own
   background, so that layer is what has to be pulled back — setting the
   background alone leaves an orange button on an orange band. */
.clients .review-cta {
	background: #fff;
	color: #F6921E;
	margin-top: 18px;
}
.clients .review-cta::before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}
.clients .review-cta:hover {
	color: #fff;
}
.clients .review-cta:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
.clients .owl-controls {
	margin-top: 15px;
	text-align: center;
}
.clients .owl-controls .owl-dot {
	display: inline-block;
}
.clients .owl-controls .owl-dot span {
	width: 10px;
	height: 10px;
	margin: 0 4px;
	display: block;
	border-radius: 100%;
	background: rgba(255, 255, 255, 0.45);
}
.clients .owl-controls .owl-dot.active span {
	background: #fff;
}

/* --- Final CTA Banner (Register Today section) --- */
.register-today .coming-text .button .btn {
	margin-top: 10px;
}

/* --- College / Course cards that show a badge instead of an author avatar --- */
.courses .name-price.rating-only {
	overflow: hidden;
	min-height: 45px;
}
.courses .course-info span a {
	color: #888;
}
.courses .course-info span a i {
	margin-right: 5px;
}

/* --- About Us (Our Story / Proprietor / Our Achievements) --- */
.about-us {
	background: #fff;
}
.about-us .about-image img {
	width: 100%;
	height: auto;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
}
.about-us .about-content {
	padding-left: 20px;
}
.about-us .about-title {
	font-size: 28px;
	font-weight: 700;
	color: #252525;
	margin-bottom: 20px;
	padding-bottom: 15px;
	position: relative;
}
.about-us .about-title::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 2px;
	background: #F6921E;
}
.about-us .about-content p {
	color: #555;
	margin-bottom: 15px;
}
.about-us .about-list {
	margin: 20px 0 25px;
}
.about-us .about-list li {
	color: #555;
	font-weight: 500;
	margin-bottom: 10px;
}
.about-us .about-list li i {
	margin-right: 10px;
}
/* Full-width About Us: percentage gutters so text lines stay readable as the
   viewport grows, instead of the fixed 1170px container. */
.about-us .about-full {
	padding-left: 5%;
	padding-right: 5%;
	max-width: 100%;
}
@media (max-width: 991px) {
	.about-us .about-full {
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media (max-width: 767px) {
	.about-us .about-full {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* Proprietor */
.about-us .proprietor {
	margin-top: 70px;
}
.about-us .proprietor-box {
	background: #f8f8f8;
	padding: 45px 40px;
	position: relative;
	overflow: hidden;
	/* Stays on the standard 1170px container width even though the About Us
	   section around it is full width. */
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}
.about-us .proprietor-box::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	background: #F6921E;
}
.about-us .proprietor-box > .row {
	align-items: center;
}
.about-us .proprietor-image {
	position: relative;
	padding: 0 0 12px 12px;
	max-width: 380px;
}
.about-us .proprietor-image::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 70%;
	height: 70%;
	background: #F6921E;
	z-index: 1;
}
.about-us .proprietor-image img {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.18);
}
.about-us .proprietor-content {
	position: relative;
	padding-left: 30px;
}
.about-us .proprietor-content .quote-mark {
	position: absolute;
	right: 0;
	top: -10px;
	font-size: 70px;
	line-height: 1;
	color: #F6921E;
	opacity: 0.15;
}
.about-us .proprietor-content .about-title {
	margin-bottom: 22px;
}
.about-us .proprietor-quote {
	color: #444;
	font-size: 17px;
	line-height: 30px;
	font-style: italic;
	margin: 0;
}
.about-us .proprietor-sign {
	margin-top: 25px;
	padding-top: 22px;
	border-top: 1px solid rgba(204, 204, 204, 0.6);
}
.about-us .proprietor-name {
	font-size: 20px;
	font-weight: 700;
	color: #252525;
	margin: 0;
}
.about-us .proprietor-name span {
	display: block;
	font-size: 14px;
	font-weight: 400;
	color: #F6921E;
	margin-top: 5px;
}
.about-us .proprietor-contact {
	margin-top: 15px;
}
.about-us .proprietor-contact li {
	display: inline-block;
	margin-right: 12px;
	margin-bottom: 8px;
	color: #555;
	font-size: 14px;
	font-weight: 500;
	background: #fff;
	padding: 8px 16px;
	border-radius: 30px;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.08);
}
.about-us .proprietor-contact li a {
	color: #555;
}
.about-us .proprietor-contact li a:hover {
	color: #F6921E;
}
.about-us .proprietor-contact li i {
	margin-right: 8px;
	color: #F6921E;
}

/* Our Achievements — milestone timeline */
.about-us .achievements {
	margin-top: 70px;
	position: relative;
}
.about-us .achievements-head {
	text-align: center;
	margin-bottom: 20px;
}
.about-us .achievements-head .about-title {
	display: inline-block;
	margin-bottom: 12px;
}
.about-us .achievements-head .about-title::before {
	left: 50%;
	margin-left: -30px;
}
.about-us .achievements-head p {
	color: #555;
	max-width: 640px;
	margin: 0 auto;
}
.about-us .achievements [class*="col-lg-3"] {
	display: flex;
}
.about-us .single-milestone {
	position: relative;
	margin-top: 45px;
	text-align: center;
	padding-top: 32px;
	width: 100%;
	display: flex;
	flex-direction: column;
}
.about-us .milestone-body {
	flex: 1 1 auto;
}
.about-us .single-milestone::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 22px;
	height: 2px;
	background: rgba(246, 146, 30, 0.3);
}
.about-us .milestone-year {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	background: #F6921E;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 6px 18px;
	border-radius: 30px;
	z-index: 2;
}
.about-us .milestone-body {
	background: #fff;
	border: 1px solid rgba(204, 204, 204, 0.45);
	padding: 40px 22px 28px;
	height: 100%;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.about-us .single-milestone:hover .milestone-body {
	border-color: transparent;
	box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.12);
	transform: translateY(-5px);
}
.about-us .milestone-icon i {
	width: 54px;
	height: 54px;
	line-height: 54px;
	display: inline-block;
	border-radius: 100%;
	background: rgba(246, 146, 30, 0.12);
	color: #F6921E;
	font-size: 22px;
	margin-bottom: 18px;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.about-us .single-milestone:hover .milestone-icon i {
	background: #F6921E;
	color: #fff;
}
.about-us .milestone-body h4 {
	font-size: 17px;
	font-weight: 700;
	color: #252525;
	margin-bottom: 10px;
}
.about-us .milestone-body p {
	color: #555;
	font-size: 14px;
	line-height: 23px;
}
@media (max-width: 991px) {
	.about-us .about-content {
		padding-left: 0;
		margin-top: 30px;
	}
	.about-us .proprietor-content {
		padding-left: 0;
		margin-top: 40px;
	}
	.about-us .proprietor-box {
		padding: 35px 25px;
	}
}

/* --- What We Offer --- */
/* .single-offer is a shared card, not an ".offers" child: the college detail
   page drops the same card into its "how-we-work" bands. Keep these selectors
   unscoped, or those cards lose their box, icon and link colour. */
.offers {
	background: #f8f8f8;
}
.single-offer {
	background: #fff;
	padding: 35px 25px;
	margin-top: 30px;
	height: calc(100% - 30px);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.10);
}
.single-offer:hover {
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.25);
}
.single-offer .icon i {
	width: 60px;
	height: 60px;
	line-height: 60px;
	display: inline-block;
	text-align: center;
	border-radius: 100%;
	background: #F6921E;
	color: #fff;
	font-size: 24px;
	margin-bottom: 20px;
}
.single-offer h4 {
	font-size: 18px;
	font-weight: 700;
	color: #252525;
	margin-bottom: 12px;
}
.single-offer p {
	color: #555;
	font-size: 14px;
	line-height: 24px;
}
.offer-link {
	display: inline-block;
	margin-top: 15px;
	color: #F6921E;
	font-weight: 500;
	text-transform: uppercase;
	font-size: 13px;
}
.offer-link i {
	margin-left: 6px;
}

/* --- How We Work + Tools --- */
.how-we-work {
	background: #fff;
}
.how-we-work .single-step {
	margin-top: 30px;
	padding: 30px 25px;
	border: 1px solid rgba(204, 204, 204, 0.45);
	height: calc(100% - 30px);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.how-we-work .single-step:hover {
	border-color: transparent;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
}
.how-we-work .step-number {
	display: inline-block;
	font-size: 30px;
	font-weight: 700;
	color: #F6921E;
	line-height: 1;
	margin-bottom: 15px;
}
.how-we-work .single-step h4 {
	font-size: 17px;
	font-weight: 700;
	color: #252525;
	margin-bottom: 10px;
}
.how-we-work .single-step p {
	color: #555;
	font-size: 14px;
	line-height: 23px;
}
.how-we-work .tools-title {
	margin-top: 60px;
	margin-bottom: 10px;
	font-size: 28px;
	font-weight: 700;
	color: #252525;
	padding-bottom: 15px;
	position: relative;
}
.how-we-work .tools-title::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 2px;
	background: #F6921E;
}
.how-we-work .single-tool {
	position: relative;
	margin-top: 30px;
	padding: 30px 25px;
	background: #f8f8f8;
	height: calc(100% - 30px);
}
.how-we-work .single-tool h4 {
	font-size: 17px;
	font-weight: 700;
	color: #252525;
	margin-bottom: 12px;
}
.how-we-work .single-tool h4 i {
	margin-right: 10px;
	color: #F6921E;
}
.how-we-work .single-tool p {
	color: #555;
	font-size: 14px;
	line-height: 23px;
}
.how-we-work .tool-status {
	position: absolute;
	right: 25px;
	top: 30px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 30px;
	color: #fff;
}
.how-we-work .tool-status.live {
	background: #F6921E;
}
.how-we-work .tool-status.soon {
	background: #888;
}

/* --- Header: sizing for the main menu ---
   The bar carries 9 top-level items, several with dropdowns. These sizes keep
   them on one comfortable line without the labels running into each other. */
@media (min-width: 1200px) {
	.header .container {
		max-width: 1440px;
		padding-left: 30px;
		padding-right: 30px;
	}
	.header .navbar {
		padding-right: 55px;
	}
	.header .nav li {
		margin-right: 20px;
	}
	.header .nav li:last-child {
		margin-right: 0;
	}
	.header .nav li a {
		font-size: 14px;
		white-space: nowrap;
	}
	.header .nav li > a i {
		font-size: 15px;
		margin-right: 7px;
	}
	.header .nav li .dropdown li a {
		font-size: 14px;
		white-space: normal;
	}
}
@media (min-width: 1600px) {
	.header .nav li {
		margin-right: 26px;
	}
	.header .nav li a {
		font-size: 15px;
	}
}
/* Between 992px and 1199px the bar is tightest — shrink rather than wrap */
@media (min-width: 992px) and (max-width: 1199px) {
	.header .nav li {
		margin-right: 10px;
	}
	.header .nav li a {
		font-size: 12px;
		white-space: nowrap;
	}
	.header .nav li > a i {
		font-size: 12px;
		margin-right: 5px;
	}
}

/* --- Topbar (contact info + social icons) --- */
.topbar {
	background: #000000;
	padding: 10px 0;
}
.topbar .topbar-info li {
	display: inline-block;
	margin-right: 25px;
	color: #ccc;
	font-size: 14px;
	font-weight: 400;
}
.topbar .topbar-info li:last-child {
	margin-right: 0;
}
.topbar .topbar-info li i {
	margin-right: 8px;
	color: #F6921E;
}
.topbar .topbar-info li a {
	color: #ccc;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.topbar .topbar-info li a:hover {
	color: #F6921E;
}
.topbar .topbar-right {
	text-align: right;
}
.topbar .follow-text {
	color: #ccc;
	font-size: 14px;
	margin-right: 12px;
	display: inline-block;
	vertical-align: middle;
}
.topbar .social {
	display: inline-block;
	vertical-align: middle;
}
.topbar .social li {
	display: inline-block;
	margin-right: 6px;
}
.topbar .social li:last-child {
	margin-right: 0;
}
.topbar .social li a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	display: inline-block;
	text-align: center;
	border-radius: 100%;
	background: rgba(255, 255, 255, 0.10);
	color: #fff;
	font-size: 14px;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.topbar .social li a:hover {
	background: #F6921E;
	color: #fff;
}
@media (min-width: 1200px) {
	.topbar .container {
		max-width: 1560px;
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media (max-width: 767px) {
	.topbar {
		text-align: center;
	}
	.topbar .topbar-info li {
		display: block;
		margin: 0 0 6px;
	}
	.topbar .topbar-right {
		text-align: center;
		margin-top: 8px;
	}
}

/* --- Latest Blogs: fit the card content --- */
.latest-news .news-content {
	padding: 38px 25px;
}
.latest-news .news-content .button a {
	padding: 10px 20px;
	font-size: 13px;
}

/* --- Hero carousel: nav arrows + dots --- */
.home-slider .owl-carousel .owl-nav div {
	position: absolute;
	top: 50%;
	margin-top: -22px;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	font-size: 24px;
	color: #fff;
	border-radius: 100%;
	opacity: 0;
	visibility: hidden;
	z-index: 5;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.home-slider .owl-carousel .owl-nav div.owl-prev {
	left: 30px;
}
.home-slider .owl-carousel .owl-nav div.owl-next {
	right: 30px;
}
.home-slider:hover .owl-carousel .owl-nav div {
	opacity: 1;
	visibility: visible;
}
.home-slider .owl-carousel .owl-nav div:hover {
	background: #fff;
}
.home-slider .owl-dots {
	position: absolute;
	bottom: 30px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 5;
}
.home-slider .owl-dots .owl-dot {
	display: inline-block;
}
.home-slider .owl-dots .owl-dot span {
	display: block;
	width: 12px;
	height: 12px;
	margin: 0 5px;
	border-radius: 100%;
	background: rgba(255, 255, 255, 0.5);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.home-slider .owl-dots .owl-dot.active span,
.home-slider .owl-dots .owl-dot:hover span {
	background: #F6921E;
	width: 30px;
	border-radius: 30px;
}

/*===============================
	Inner Pages (Colleges, Exams, Team, Contact)
=================================*/
/* --- Listing filter bar (Colleges page) --- */
.listing-filter {
	background: #fff;
	padding: 12px;
	margin-bottom: 20px;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	overflow: hidden;
}
.listing-filter-field {
	position: relative;
	float: left;
	width: 27%;
	padding-right: 12px;
}
.listing-filter-field i {
	position: absolute;
	left: 14px;
	top: 18px;
	color: #888;
}
.listing-filter-field input {
	width: 100%;
	height: 50px;
	border: 1px solid rgba(204, 204, 204, 0.45);
	border-radius: 0;
	background: #fff;
	color: #555;
	font-size: 14px;
	padding: 0 15px 0 36px;
}
.listing-filter .btn {
	float: left;
	width: 19%;
	height: 50px;
	padding: 15px 10px;
	line-height: 20px;
}
@media (max-width: 767px) {
	.listing-filter-field,
	.listing-filter .btn {
		float: none;
		width: 100%;
		padding-right: 0;
		margin-bottom: 10px;
	}
	.listing-filter .btn {
		margin-bottom: 0;
	}
}

/* --- Comparison / calendar tables --- */
.compare-table-wrap {
	overflow-x: auto;
	background: #fff;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
}
.compare-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	background: #fff;
}
.compare-table th,
.compare-table td {
	padding: 16px 18px;
	text-align: left;
	font-size: 15px;
	border-bottom: 1px solid #eee;
}
.compare-table thead th {
	background: #252525;
	color: #fff;
	font-weight: 500;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-bottom: none;
}
.compare-table tbody tr:nth-child(even) {
	background: #fafafa;
}
.compare-table tbody tr:hover {
	background: #f4f4f4;
}
.compare-table td:first-child {
	font-weight: 500;
	color: #252525;
}
.compare-table td i {
	color: #F6921E;
	margin-left: 3px;
}
.table-note {
	margin-top: 18px;
	font-size: 14px;
	color: #555;
	line-height: 24px;
}
.table-note i {
	margin-right: 8px;
	color: #F6921E;
}
@media (max-width: 991px) {
	/* Stack each row into a labelled card so nothing needs sideways scrolling.
	   Raised from 767px to 991px: at iPad-portrait width the 760px min-width
	   left the table scrolling sideways inside its wrapper. */
	.compare-table {
		min-width: 0;
	}
	.compare-table thead {
		display: none;
	}
	.compare-table tbody tr {
		display: block;
		margin-bottom: 18px;
		border: 1px solid #eee;
	}
	.compare-table tbody td {
		display: block;
		padding: 10px 15px;
		border-bottom: 1px solid #f2f2f2;
	}
	.compare-table tbody td:last-child {
		border-bottom: none;
	}
	.compare-table tbody td::before {
		content: attr(data-label);
		display: block;
		font-size: 12px;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		color: #888;
		margin-bottom: 3px;
	}
}

/* --- Contact page: dropdowns styled like the text inputs --- */
.contact .form-head .form-group .nice-select {
	width: 100%;
	height: 55px;
	line-height: 53px;
	float: none;
	margin-bottom: 0;
	padding-left: 40px;
	padding-right: 30px;
	border: none;
	border-radius: 0;
	background: #f8f8f8;
	color: #555;
	font-size: 15px;
}
.contact .form-head .form-group .nice-select .list {
	width: 100%;
	border-radius: 0;
	margin-top: 0;
}
.contact .form-head .form-group .nice-select .option {
	line-height: 38px;
	min-height: 38px;
}
.contact .form-head .form-group .nice-select:hover,
.contact .form-head .form-group .nice-select.open,
.contact .form-head .form-group .nice-select:focus {
	border-color: transparent;
}
/* Keep the field icon above the dropdown surface */
.contact .form-head .form-group i {
	z-index: 2;
}
.contact .form-note {
	margin-top: 15px;
	font-size: 13px;
	color: #777;
}
.contact .form-note a {
	color: #F6921E;
}

/* --- Login / Register: heading above each form --- */
.contact .form-title {
	font-size: 22px;
	font-weight: 700;
	color: #252525;
	margin-bottom: 22px;
	padding-bottom: 14px;
	border-bottom: 1px solid #eee;
}
.contact .form-title i {
	margin-right: 10px;
	color: #F6921E;
}

/*===============================
	Page Background Pattern
=================================*/
/* Light education-icon texture behind the whole page, so no band reads as flat white.
   The white gradient layer on top controls how faint the pattern is. */
body {
	background-color: #fff;
	background-image: linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.88)), url('images/bg-pattern1.png');
	background-repeat: repeat, repeat;
	background-position: center top, center top;
	background-size: auto, 620px auto;
}
/* Let the pattern show through the light section bands.
   Cards, panels and forms stay solid so text keeps full contrast. */
.about-us,
.teachers,
.latest-news,
.how-we-work {
	background: transparent;
}
.courses,
.events,
.offers,
.faqs,
.cta {
	background: rgba(244, 244, 244, 0.55);
}

/* Opt a band out of the grey tint so two identical bands never sit side by side. */
.courses.section-alt,
.events.section-alt,
.offers.section-alt,
.faqs.section-alt,
.cta.section-alt,
.latest-news.archive.section-alt {
	background: transparent;
}

/* --- Listing pages: jump-to-city pill row --- */
.city-jump {
	background: #fff;
	padding: 14px 18px;
	margin-bottom: 20px;
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
}
.city-jump .city-jump-label {
	display: inline-block;
	font-weight: 500;
	color: #252525;
	margin-right: 12px;
	font-size: 14px;
}
.city-jump .city-jump-label i {
	margin-right: 8px;
	color: #F6921E;
}
.city-jump a {
	display: inline-block;
	margin: 4px 8px 4px 0;
	padding: 7px 16px;
	font-size: 14px;
	color: #555;
	background: #f4f4f4;
	border: 1px solid #eee;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.city-jump a:hover {
	background: #F6921E;
	border-color: #F6921E;
	color: #fff;
}
@media (max-width: 767px) {
	.city-jump .city-jump-label {
		display: block;
		margin-bottom: 8px;
	}
}

/* --- College logo cards ---------------------------------------------
   Cards show the institute's logo instead of a stock photo. The panel is a
   fixed height so every card in a row lines up, and the logo is contained
   rather than cropped, whatever its aspect ratio. */
.courses .course-head.logo-head,
.teachers .teacher-head.logo-head {
	background: #fff;
	height: 190px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 22px;
	border-bottom: 1px solid #f0f0f0;
}
.courses .course-head.logo-head img,
.teachers .teacher-head.logo-head img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
/* A logo should not zoom on hover the way a photo does */
.courses .course-head.logo-head:hover img,
.teachers .single-teacher:hover .teacher-head.logo-head img {
	-webkit-transform: none;
	-moz-transform: none;
	transform: none;
}
@media (max-width: 575px) {
	.courses .course-head.logo-head,
	.teachers .teacher-head.logo-head {
		height: 160px;
	}
}

/* --- Blogs page: grid cards ------------------------------------------
   The base .single-news is built for the homepage carousel, where the text
   sits in an absolutely-positioned panel over the right 52% of a wide card.
   In a 3-column grid that panel is far too narrow and the content overflows,
   so the archive layout puts the card back into normal flow: image on top,
   text below, all cards in a row the same height. */
.latest-news.archive .single-news {
	margin: 30px 0 0;
	padding: 0;
	height: calc(100% - 30px);
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.latest-news.archive .single-news:hover {
	-webkit-transform: translateY(-6px);
	-moz-transform: translateY(-6px);
	transform: translateY(-6px);
	-webkit-box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.18);
	-moz-box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.18);
	box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.18);
}
.latest-news.archive .news-head {
	overflow: hidden;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.latest-news.archive .news-head img {
	width: 100%;
	height: 215px;
	object-fit: cover;
	-webkit-transition: all 0.4s ease 0s;
	-moz-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
}
.latest-news.archive .single-news:hover .news-head img {
	-webkit-transform: scale(1.08);
	-moz-transform: scale(1.08);
	transform: scale(1.08);
}
/* Back into normal flow — this is the rule that fixes the broken overlay */
.latest-news.archive .news-content {
	position: static;
	width: 100%;
	height: auto;
	background: #fff;
	padding: 26px 24px 28px;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.latest-news.archive .news-title {
	margin-bottom: 12px;
	line-height: 26px;
}
.latest-news.archive .news-title a {
	font-size: 18px;
}
.latest-news.archive .news-meta {
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f0f0f0;
	font-size: 13px;
}
.latest-news.archive .news-meta span a {
	font-size: 13px;
}
/* Push the button to the bottom so it lines up across the row */
.latest-news.archive .news-content p {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	margin: 0;
	font-size: 15px;
}
.latest-news.archive .news-content .button {
	margin-top: 20px;
}
.latest-news.archive .news-content .button a {
	display: inline-block;
	padding: 11px 22px;
	font-size: 13px;
	font-weight: 500;
}
@media (max-width: 991px) {
	.latest-news.archive .news-head img {
		height: 240px;
	}
}

/* --- Sub-heading inside a card grid (e.g. Private / Government colleges) --- */
.grid-subtitle {
	font-size: 24px;
	font-weight: 700;
	color: #252525;
	margin: 45px 0 0;
	padding-bottom: 14px;
	position: relative;
}
.grid-subtitle span {
	color: #F6921E;
}
.grid-subtitle::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 2px;
	background: #F6921E;
}
@media (max-width: 767px) {
	.grid-subtitle {
		font-size: 20px;
		margin-top: 35px;
	}
}

/* --- College cards: 4 per row, equal height -------------------------
   Bootstrap stretches the columns, so making the card fill its column
   keeps every card in a row the same height however long the blurb is,
   with the meta strip pinned to the bottom. */
.courses .single-course {
	height: calc(100% - 30px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.courses .course-body {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}
.courses .course-meta {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-bottom: 0;
}
/* Tighter type so a four-up card still reads well */
@media (min-width: 992px) {
	.courses .c-title a {
		font-size: 17px;
		line-height: 24px;
	}
	.courses .course-body p {
		font-size: 14px;
		line-height: 23px;
	}
	.courses .course-info span {
		font-size: 13px;
	}
	.courses .course-head.logo-head {
		height: 165px;
		padding: 18px;
	}
}

/* --- Card grid consistency -------------------------------------------
   Every card grid on the site is built from the same idea: the card fills
   its column so all cards in a row match, the text block is clamped to a
   fixed number of lines so no card runs long, and the footer strip (meta,
   link, button) sits at the bottom so those line up across the row. */

/* College + course cards */
.courses .course-head {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
@media (min-width: 768px) {
	.courses .c-title {
		min-height: 48px;
		margin-bottom: 8px;
	}
	.courses .c-title a {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.courses .course-body p {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
		min-height: 69px;
		margin-bottom: 0;
	}
}

/* Offer cards — push the "Know More" link to the bottom */
.single-offer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.single-offer p {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	margin-bottom: 0;
}
.offer-link {
	margin-top: 18px;
	-ms-flex-item-align: start;
	align-self: flex-start;
}

/* Step + tool cards */
.how-we-work .single-step,
.how-we-work .single-tool {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

/* University logo cards ------------------------------------------------
   The base .teacher-content is absolutely positioned so a caption can float
   over the bottom of a full-bleed staff photo. Over a logo panel that overlap
   covers the lower third of the mark, so on these cards the caption goes back
   into normal flow underneath it and the card becomes a flex column, which
   also keeps every card in a row the same height. */
.teachers .single-teacher.logo-card {
	height: calc(100% - 30px);
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	-moz-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.teachers .single-teacher.logo-card:hover {
	-webkit-transform: translateY(-6px);
	-moz-transform: translateY(-6px);
	transform: translateY(-6px);
	-webkit-box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.16);
	-moz-box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.16);
	box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.16);
}
.teachers .single-teacher.logo-card .teacher-head.logo-head {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.teachers .single-teacher.logo-card .teacher-content {
	position: static;
	left: auto;
	right: auto;
	bottom: auto;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	width: 100%;
	padding: 16px 18px 20px;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.teachers .single-teacher.logo-card .teacher-content h4 {
	font-size: 16px;
	line-height: 22px;
}

/* Entrance exam cards */
.events.archive .single-event {
	height: calc(100% - 30px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.events.archive .event-image {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.events.archive .event-image img {
	height: 210px;
	object-fit: cover;
}
.events.archive .event-content {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.events.archive .event-content p {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

/*===============================
	Site Polish
=================================*/

/* --- Sticky header ---
   The spacer is inserted by js/edugurukulam.js and holds the header's place
   in the flow, so nothing jumps when the header lifts out of it. */
.header-spacer {
	height: 0;
}
.header.sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	box-shadow: 0px 2px 18px rgba(0, 0, 0, 0.14);
	-webkit-animation: eg-drop-in 0.35s ease;
	animation: eg-drop-in 0.35s ease;
}
/* Slimmer bar once stuck, so it takes less of the screen */
.header.sticky .header-inner {
	padding: 4px 0;
}
.header.sticky .logo img {
	max-height: 52px;
	width: auto;
}
@-webkit-keyframes eg-drop-in {
	from { -webkit-transform: translateY(-100%); opacity: 0; }
	to   { -webkit-transform: translateY(0); opacity: 1; }
}
@keyframes eg-drop-in {
	from { transform: translateY(-100%); opacity: 0; }
	to   { transform: translateY(0); opacity: 1; }
}

/* --- Scroll reveal ---
   The .reveal class is added by script only, so with JS disabled every
   element stays visible. Motion is skipped for prefers-reduced-motion. */
.reveal {
	opacity: 0;
	-webkit-transform: translateY(26px);
	-ms-transform: translateY(26px);
	transform: translateY(26px);
	-webkit-transition: opacity 0.65s ease, -webkit-transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	transition: opacity 0.65s ease, transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}
.reveal.is-visible {
	opacity: 1;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.reveal {
		opacity: 1 !important;
		-webkit-transform: none !important;
		transform: none !important;
		transition: none !important;
	}
}

/* --- Floating contact buttons ---
   Bottom left, clear of the template's scroll-to-top button on the right. */
.floating-actions {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 900;
}
.floating-actions .float-btn {
	display: block;
	width: 52px;
	height: 52px;
	line-height: 52px;
	margin-top: 12px;
	border-radius: 40px;
	color: #fff;
	font-size: 22px;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.25);
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.floating-actions .float-btn i {
	width: 52px;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}
.floating-actions .float-btn span {
	font-size: 15px;
	font-weight: 500;
	vertical-align: middle;
	padding-right: 20px;
	opacity: 0;
	-webkit-transition: opacity 0.25s ease 0s;
	transition: opacity 0.25s ease 0s;
}
.floating-actions .float-btn:hover {
	width: 168px;
	color: #fff;
}
.floating-actions .float-btn:hover span {
	opacity: 1;
}
.floating-actions .whatsapp {
	background: #25D366;
}
.floating-actions .call {
	background: #F6921E;
}
@media (max-width: 767px) {
	.floating-actions {
		left: 15px;
		bottom: 15px;
	}
	.floating-actions .float-btn,
	.floating-actions .float-btn i {
		width: 46px;
	}
	.floating-actions .float-btn {
		height: 46px;
		line-height: 46px;
		font-size: 20px;
	}
}

/* --- Breadcrumb banner --- */
.breadcrumbs {
	padding: 95px 0 85px;
}
.breadcrumbs.overlay::before {
	background: -webkit-linear-gradient(left, rgba(15, 17, 26, 0.90) 0%, rgba(15, 17, 26, 0.62) 55%, rgba(246, 146, 30, 0.45) 100%);
	background: linear-gradient(to right, rgba(15, 17, 26, 0.90) 0%, rgba(15, 17, 26, 0.62) 55%, rgba(246, 146, 30, 0.45) 100%);
	opacity: 1;
}
.breadcrumbs h2 {
	font-size: 40px;
	font-weight: 700;
	line-height: 48px;
	position: relative;
	padding-bottom: 16px;
}
.breadcrumbs h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 3px;
	background: #F6921E;
}
.breadcrumbs .bread-list {
	margin-top: 14px;
}
.breadcrumbs .bread-list li {
	background: rgba(255, 255, 255, 0.10);
	padding: 7px 14px;
	border-radius: 30px;
	margin-left: 6px;
}
@media (max-width: 767px) {
	.breadcrumbs {
		padding: 60px 0 55px;
		text-align: center;
	}
	.breadcrumbs h2 {
		font-size: 28px;
		line-height: 36px;
	}
	.breadcrumbs h2::after {
		left: 50%;
		margin-left: -32px;
	}
	.breadcrumbs .bread-list {
		text-align: center;
	}
}

/* --- Footer: quick enquiry form --- */
.footer .single-widget.enquiry p {
	color: #ccc;
	font-size: 14px;
	line-height: 24px;
	margin-bottom: 18px;
}
.footer .footer-form input,
.footer .footer-form select {
	width: 100%;
	height: 46px;
	margin-bottom: 12px;
	padding: 0 15px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	font-size: 14px;
	border-radius: 0;
}
.footer .footer-form input::-webkit-input-placeholder { color: #b6b6b6; }
.footer .footer-form input::-moz-placeholder { color: #b6b6b6; }
.footer .footer-form input:-ms-input-placeholder { color: #b6b6b6; }
.footer .footer-form select option {
	color: #252525;
}
.footer .footer-form .btn {
	width: 100%;
	padding: 13px 20px;
	border: none;
	cursor: pointer;
}
.footer .single-widget .list li i {
	margin-right: 8px;
}
@media (max-width: 991px) {
	.footer .single-widget {
		margin-bottom: 35px;
	}
}

/* --- Footer: proper four-column layout -------------------------------
   Four equal columns, an accent rule under each heading, tighter link
   lists, and the enquiry form restyled for a dark background — including
   the NiceSelect dropdown, which main.js swaps in for every <select> and
   which otherwise renders as a white box down here. */
.footer .footer-top {
	padding: 70px 0 60px;
}
.footer .single-widget {
	margin-top: 30px;
}
.footer .single-widget h2 {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.3px;
	margin-bottom: 26px;
	padding-bottom: 14px;
}
.footer .single-widget h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42px;
	height: 2px;
	background: #F6921E;
}
.footer .about p {
	margin-top: 0;
	font-size: 14px;
	line-height: 24px;
}
.footer .about .list {
	margin-top: 18px;
}
.footer .about .list li {
	line-height: 24px;
	margin-bottom: 12px;
	font-size: 14px;
	padding-left: 26px;
	position: relative;
}
.footer .about .list li i {
	position: absolute;
	left: 0;
	top: 5px;
	margin-right: 0;
	color: #F6921E;
}

/* Link columns */
.footer .single-widget.list ul li {
	line-height: 22px;
	margin-bottom: 13px;
	font-size: 14px;
	padding-left: 18px;
	position: relative;
}
.footer .single-widget.list ul li i {
	position: absolute;
	left: 0;
	top: 4px;
	margin-right: 0;
	font-size: 13px;
	color: #F6921E;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.footer .single-widget.list ul li a {
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.footer .single-widget.list ul li:hover a {
	color: #F6921E;
	padding-left: 4px;
}
.footer .single-widget.list ul li:hover i {
	left: 3px;
}

/* Social row */
.footer .social li a {
	width: 34px;
	height: 34px;
	line-height: 34px;
	font-size: 14px;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.footer .social li a:hover {
	background: #F6921E;
	-webkit-transform: translateY(-3px);
	transform: translateY(-3px);
}

/* Quick enquiry form */
.footer .single-widget.enquiry p {
	margin-bottom: 16px;
}
.footer .footer-form input,
.footer .footer-form .nice-select {
	height: 44px;
	line-height: 42px;
	margin-bottom: 12px;
	font-size: 14px;
}
.footer .footer-form input:focus {
	outline: none;
	border-color: rgba(246, 146, 30, 0.7);
	background: rgba(255, 255, 255, 0.10);
}
/* NiceSelect replaces the <select>, so it needs the dark treatment too */
.footer .footer-form .nice-select {
	width: 100%;
	float: none;
	display: block;
	padding-left: 15px;
	padding-right: 30px;
	border-radius: 0;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.07);
	color: #d8d8d8;
}
.footer .footer-form .nice-select:hover,
.footer .footer-form .nice-select.open,
.footer .footer-form .nice-select:focus {
	border-color: rgba(246, 146, 30, 0.7);
}
.footer .footer-form .nice-select::after {
	border-color: #d8d8d8;
}
.footer .footer-form .nice-select .list {
	width: 100%;
	border-radius: 0;
	margin-top: 0;
	background: #252525;
	border: 1px solid rgba(255, 255, 255, 0.15);
	max-height: 230px;
	overflow-y: auto;
}
.footer .footer-form .nice-select .option {
	color: #ccc;
	line-height: 36px;
	min-height: 36px;
	font-size: 14px;
}
.footer .footer-form .nice-select .option:hover,
.footer .footer-form .nice-select .option.focus,
.footer .footer-form .nice-select .option.selected.focus {
	background: rgba(246, 146, 30, 0.18);
	color: #fff;
}
.footer .footer-form .btn {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 500;
}

/* Footer bottom */
.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 12px 0;
}
.footer .copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}
.footer .copyright p {
	font-size: 13px;
	margin: 0;
	text-align: center;
}
.footer .footer-credit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	color: #ddd;
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
}
.footer .footer-credit img {
	width: 30px;
	height: 30px;
	object-fit: contain;
	background: #fff;
	border-radius: 4px;
	padding: 1px;
}
.footer .footer-credit strong {
	color: #fff;
	font-weight: 600;
}
@media (max-width: 600px) {
	.footer .copyright {
		gap: 4px 12px;
	}
	.footer .copyright p,
	.footer .footer-credit {
		font-size: 12px;
	}
}
@media (max-width: 991px) {
	.footer .footer-top {
		padding: 50px 0 30px;
	}
	.footer .single-widget {
		margin-top: 25px;
	}
}

/*===============================
	Justified Body Copy
=================================*/
/* Running text is justified across the whole site. Justification is paired
   with automatic hyphenation (the pages are lang="en") so the word spacing
   stays even in the narrow single-column tablet and phone layouts instead of
   opening up rivers of white space, and with break-word so a long unbroken
   string can never push the layout wider than the viewport. Headings, buttons
   and navigation are left out — only running text is justified. */
p,
li,
dd,
blockquote,
td,
.faq-body,
.table-note,
.proprietor-quote,
.compare-table td {
	text-align: justify;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* Everything the design deliberately centres keeps its alignment. `inherit`
   takes the value back from the container rather than hard-coding it, so
   these stay correct if the container's alignment ever changes. */
.section-title p,
.features .single-feature p,
.about-us .achievements-head p,
.about-us .single-milestone p,
.teachers .teacher-content p,
.register-today .coming-text p,
.coming-text p,
.footer .copyright p,
.breadcrumbs .bread-list li,
.nav li,
.slicknav_nav li,
.dropdown li,
.rattings li,
.social li,
.owl-dots li,
.pagination li,
.main-sidebar .category ul li,
.footer-links li,
.contact .contact-info li,
.course-meta li,
.single-course .course-meta li {
	text-align: inherit;
	-webkit-hyphens: manual;
	-ms-hyphens: manual;
	hyphens: manual;
}

/* Short single-line strings inside a justified block should never be stretched
   by the browser's last-line handling. */
p:last-child,
li {
	-webkit-text-align-last: auto;
	text-align-last: auto;
}

/*===============================
	Featured Universities — rank badge
=================================*/
/* The template's event-date badge was sized for a two-line date and left the
   rank number and its label cramped against the edges, half-overlapping the
   card. It is now a properly padded tab, centred with translateY so its height
   no longer has to be guessed, with the card padded to clear it. */
.events .single-event {
	padding: 30px 24px 30px 74px;
}
.events .event-date {
	left: -35px;
	width: 76px;
	top: 50%;
	margin-top: 0;
	padding: 12px 6px;
	border-radius: 4px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.18);
	-moz-box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.18);
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.18);
}
.events .event-date p {
	font-size: 26px;
	line-height: 1;
	letter-spacing: 1px;
}
.events .event-date p span {
	margin-top: 6px;
	font-size: 11px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1;
	opacity: 0.92;
}
/* Keep the badge still on hover — it used to morph into a circle and shrink
   the number, which made the whole row jump. */
.events .single-event:hover .event-date {
	border-radius: 4px;
}
.events .single-event:hover .event-date p {
	font-size: 26px;
}

/* Tablet and phone: the badge tucks in closer and the card padding follows,
   so the number never sits on top of the text or off the edge of the screen. */
@media (max-width: 991px) {
	.coming-event {
		padding-left: 26px;
	}
	.events .event-date {
		left: -26px;
		width: 62px;
		padding: 10px 4px;
	}
	.events .event-date p {
		font-size: 22px;
	}
	.events .single-event:hover .event-date p {
		font-size: 22px;
	}
	.events .event-date p span {
		font-size: 10px;
		letter-spacing: 1px;
	}
	.events .single-event {
		padding: 26px 18px 26px 52px;
	}
}

/*===============================
	Team cards (real photographs)
=================================*/
/* Portraits arrive at different sizes, so the frame is fixed and the image is
   cropped to it from the top — that keeps every face in shot and every card in
   the row the same height. */
.teachers .single-teacher.team-card {
	background: #fff;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	-moz-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.10);
	margin-bottom: 45px;
}
.teachers .single-teacher.team-card .teacher-head {
	height: 330px;
	overflow: hidden;
	background: #f4f4f4;
}
.teachers .single-teacher.team-card .teacher-head img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
@media (max-width: 991px) {
	.teachers .single-teacher.team-card .teacher-head {
		height: 300px;
	}
}
@media (max-width: 575px) {
	.teachers .single-teacher.team-card .teacher-head {
		height: 340px;
	}
}
/* The base caption is a narrow pill centred on the photo, which wraps a full
   name onto two lines. On team cards it spans the card instead. */
.teachers .single-teacher.team-card .teacher-content {
	left: 15px;
	right: 15px;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	padding: 14px 12px;
}
.teachers .single-teacher.team-card .teacher-content h4 {
	font-size: 17px;
	line-height: 24px;
}
/* The caption sat on top of the photo, which cut across the face on tighter
   head-and-shoulders crops. It now sits below the portrait in normal flow, and
   the card is a flex column so a row of members stays level. */
.teachers .single-teacher.team-card {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: calc(100% - 45px);
}
.teachers .single-teacher.team-card .teacher-head {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.teachers .single-teacher.team-card .teacher-content {
	position: static;
	left: auto;
	right: auto;
	bottom: auto;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	width: 100%;
	padding: 18px 15px 20px;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

/*===============================
	Live Updates — ticker strip
=================================*/
/* Sits between the dark contact bar and the white header, so it is light rather
   than a second dark slab — the three bands then read as separate strips. It
   scrolls by translating a track holding two copies of the list, so the loop
   never shows a gap. Motion pauses on hover and focus so an item can be read
   and clicked, and is dropped for anyone who asked for reduced motion. */
.news-ticker {
	background: #fff;
	border-bottom: 1px solid #eee;
	-webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.04);
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}
.news-ticker .ticker-inner {
	padding: 0 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 44px;
}
.news-ticker .ticker-label {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	background: #F6921E;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 6px 14px;
	border-radius: 20px;
	margin-right: 20px;
	white-space: nowrap;
	line-height: 1;
}
.news-ticker .ticker-label i {
	margin-right: 7px;
}
.news-ticker .ticker-viewport {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	overflow: hidden;
	position: relative;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 40px), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 24px, #000 calc(100% - 40px), transparent 100%);
}
.news-ticker .ticker-track {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: -webkit-max-content;
	width: max-content;
	-webkit-animation: ticker-scroll 200s linear infinite;
	animation: ticker-scroll 48s linear infinite;
}
.news-ticker .ticker-run {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.news-ticker:hover .ticker-track,
.news-ticker:focus-within .ticker-track {
	-webkit-animation-play-state: paused;
	animation-play-state: paused;
}
@-webkit-keyframes ticker-scroll {
	from { -webkit-transform: translateX(0); transform: translateX(0); }
	to { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}
@keyframes ticker-scroll {
	from { -webkit-transform: translateX(0); transform: translateX(0); }
	to { -webkit-transform: translateX(-50%); transform: translateX(-50%); }
}
.news-ticker .ticker-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	white-space: nowrap;
	margin-right: 42px;
	color: #444;
	font-size: 13.5px;
	line-height: 44px;
	position: relative;
	text-align: left;
	-webkit-hyphens: manual;
	-ms-hyphens: manual;
	hyphens: manual;
}
/* A small orange dot separates one headline from the next */
.news-ticker .ticker-item::after {
	content: "";
	position: absolute;
	right: -23px;
	top: 50%;
	width: 5px;
	height: 5px;
	margin-top: -2px;
	border-radius: 100%;
	background: #F6921E;
	opacity: 0.5;
}
.news-ticker .ticker-item:hover {
	color: #F6921E;
}
.news-ticker .ticker-tag {
	color: #F6921E;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.9px;
	margin-right: 10px;
	padding-right: 10px;
	border-right: 1px solid #e4e4e4;
	line-height: 1;
}
.news-ticker .ticker-src {
	color: #999;
	font-size: 11.5px;
	font-weight: 600;
	margin-left: 10px;
	padding-left: 10px;
	border-left: 1px solid #e4e4e4;
	line-height: 1;
}
.news-ticker .ticker-all {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-left: 18px;
	color: #252525;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	white-space: nowrap;
}
.news-ticker .ticker-all i {
	margin-left: 5px;
	color: #F6921E;
}
.news-ticker .ticker-all:hover {
	color: #F6921E;
}
@media (prefers-reduced-motion: reduce) {
	.news-ticker .ticker-track {
		-webkit-animation: none;
		animation: none;
	}
	.news-ticker .ticker-viewport {
		overflow-x: auto;
	}
}
@media (max-width: 767px) {
	.news-ticker .ticker-inner {
		height: 40px;
	}
	.news-ticker .ticker-label {
		padding: 5px 10px;
		font-size: 10px;
		letter-spacing: 0.5px;
		margin-right: 12px;
	}
	.news-ticker .ticker-item {
		font-size: 12.5px;
		line-height: 40px;
		margin-right: 34px;
	}
	.news-ticker .ticker-item::after {
		right: -19px;
	}
	.news-ticker .ticker-all {
		display: none;
	}
}

/*===============================
	College detail page
=================================*/
.college-hero {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.college-logo {
	background: #fff;
	border: 1px solid #eee;
	height: 190px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 22px;
	margin-bottom: 30px;
}
.college-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.college-type {
	display: inline-block;
	background: rgba(246, 146, 30, 0.12);
	color: #F6921E;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	padding: 5px 11px;
	border-radius: 3px;
	margin-bottom: 14px;
}
.college-name {
	font-size: 32px;
	line-height: 42px;
	color: #252525;
	font-weight: 700;
	margin-bottom: 10px;
}
.college-where {
	color: #666;
	margin-bottom: 16px;
}
.college-where i {
	color: #F6921E;
	margin-right: 8px;
}
.college-blurb {
	color: #555;
	line-height: 27px;
	margin-bottom: 22px;
}
.college-facts {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -10px 26px;
}
.college-facts li {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 190px;
	flex: 1 1 190px;
	margin: 0 10px 16px;
	padding-left: 14px;
	border-left: 3px solid #F6921E;
}
.college-facts li span {
	display: block;
	color: #888;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	margin-bottom: 4px;
}
.college-facts li strong {
	color: #252525;
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
}
.college-head .button .btn {
	margin: 0 10px 10px 0;
}
@media (max-width: 767px) {
	.college-name {
		font-size: 24px;
		line-height: 33px;
	}
	.college-logo {
		height: 150px;
	}
}

/*===============================
	Student review cards (text + video)
=================================*/
/* Fixed-height flex cards so a two-line review and a twenty-line one sit level,
   and every video gets the same 16:9 frame whatever shape the student filmed in. */
.review-card {
	background: #fff;
	border: 1px solid #eee;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.review-card:hover {
	-webkit-box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.12);
	box-shadow: 0px 8px 22px rgba(0, 0, 0, 0.12);
	-webkit-transform: translateY(-4px);
	transform: translateY(-4px);
}
.review-video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: #252525;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.review-video iframe,
.review-video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: contain;
	background: #252525;
}
.review-body {
	padding: 22px 24px 6px;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}
/* Which college the review is about. Printed only where a card could be about
   any college — the college's own page leaves it off as it would say the same
   thing on every card. */
.review-college {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	line-height: 20px;
	color: #252525;
	margin: 0 0 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f0f0f0;
	overflow-wrap: break-word;
	word-break: break-word;
}
.review-college i {
	color: #F6921E;
	margin-right: 8px;
}
.review-college a {
	color: #252525;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.review-college a:hover {
	color: #F6921E;
}
.review-stars {
	display: block;
	color: #F6921E;
	font-size: 13px;
	margin-bottom: 10px;
}
.review-stars i {
	margin-right: 2px;
}
/* However much a student writes, the card stays the same height */
.review-text {
	color: #555;
	line-height: 26px;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: break-word;
	word-break: break-word;
}
.review-card.is-video .review-text {
	-webkit-line-clamp: 3;
}
/* Who wrote it. The student leads the block: an initials disc anchors it, the
   name sits in the same near-black as every other heading on the site, and the
   course drops to grey so the name reads first. */
.review-who {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 15px 24px 20px;
	border-top: 1px solid #f2f2f2;
	margin-top: 14px;
}
.review-avatar {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	line-height: 44px;
	border-radius: 100%;
	background: rgba(246, 146, 30, 0.12);
	color: #F6921E;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-align: center;
	margin-right: 14px;
}
.review-who h5 {
	min-width: 0;
	font-size: 16px;
	color: #252525;
	font-weight: 700;
	line-height: 21px;
	margin: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}
.review-who h5 span {
	display: block;
	color: #777;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.2px;
	margin-top: 4px;
}
.review-empty {
	text-align: center;
	background: #fff;
	border: 1px dashed #ddd;
	padding: 44px 30px;
}
.review-empty i {
	font-size: 38px;
	color: #F6921E;
	margin-bottom: 16px;
	display: block;
}
.review-empty h4 {
	font-size: 20px;
	color: #252525;
	margin-bottom: 10px;
}
.review-empty p {
	color: #666;
	line-height: 26px;
	margin-bottom: 22px;
	text-align: center;
}

/*===============================
	Feedback / review form
=================================*/
.is-hidden {
	display: none !important;
}
.feedback-intro p {
	color: #555;
	line-height: 27px;
}
/* The three steps: what actually happens after the form is sent. This is the
   question every student asks before writing anything, so it sits beside the
   form rather than under it. */
.review-steps {
	counter-reset: none;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}
.review-steps li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	padding-bottom: 22px;
}
/* The rail joining the numbers, stopping at the last one. */
.review-steps li::before {
	content: "";
	position: absolute;
	left: 17px;
	top: 36px;
	bottom: 0;
	width: 1px;
	background: #ececec;
}
.review-steps li:last-child {
	padding-bottom: 0;
}
.review-steps li:last-child::before {
	display: none;
}
.review-step-n {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 35px;
	height: 35px;
	line-height: 35px;
	border-radius: 100%;
	background: #F6921E;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	margin-right: 16px;
}
.review-steps h5 {
	color: #252525;
	font-size: 15px;
	font-weight: 700;
	margin: 7px 0 5px;
}
.review-steps p {
	color: #666;
	font-size: 14px;
	line-height: 24px;
	margin: 0;
}
/* The QR is for the phone in someone's hand, not for the desktop reader, so it
   sits low and small rather than taking the top of the column. */
.qr-card {
	background: #fff;
	border: 1px solid #eee;
	padding: 18px;
	margin: 28px 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
}
.qr-card img {
	width: 104px;
	height: auto;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-right: 18px;
}
.qr-card-text {
	min-width: 0;
}
.qr-hint {
	color: #666;
	font-size: 13.5px;
	line-height: 22px;
	margin: 0 0 12px;
}
.qr-link {
	border-top: 1px solid #f0f0f0;
	padding-top: 12px;
	margin: 0;
}
.qr-card-text p,
.qr-hint {
	text-align: left;
}
.qr-link span {
	display: block;
	color: #999;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	margin-bottom: 5px;
}
.qr-link code {
	color: #F6921E;
	font-size: 13px;
	word-break: break-all;
}
.feedback-form-wrap {
	background: #fff;
	border: 1px solid #eee;
	padding: 34px 32px 26px;
	-webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
	box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);
}
.feedback-form .form-group {
	margin-bottom: 20px;
}
.feedback-form label {
	display: block;
	color: #252525;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 7px;
}
.feedback-form label span {
	color: #F6921E;
	margin-left: 3px;
}
.feedback-form input[type="text"],
.feedback-form input[type="url"],
.feedback-form input[type="tel"],
.feedback-form textarea {
	width: 100%;
	border: 1px solid #e4e4e4;
	padding: 12px 15px;
	font-size: 14px;
	color: #333;
	background: #fff;
	-webkit-transition: border-color 0.25s ease 0s;
	transition: border-color 0.25s ease 0s;
}
.feedback-form input:focus,
.feedback-form textarea:focus {
	border-color: #F6921E;
	outline: none;
}
.feedback-form textarea {
	resize: vertical;
	line-height: 25px;
}
.field-hint {
	color: #888;
	font-size: 13px;
	line-height: 21px;
	margin: 7px 0 0;
}
/* Stars: rendered right-to-left so hovering one lights every star before it */
.star-input {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.star-input input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.star-input label {
	color: #ddd;
	font-size: 30px;
	cursor: pointer;
	margin: 0 4px 0 0;
	-webkit-transition: color 0.15s ease 0s;
	transition: color 0.15s ease 0s;
}
.star-input input:checked ~ label,
.star-input label:hover,
.star-input label:hover ~ label {
	color: #F6921E;
}
.star-input input:focus-visible + label {
	outline: 2px solid #F6921E;
	outline-offset: 2px;
}
.type-toggle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 12px;
}
.type-toggle input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.type-toggle label {
	border: 1px solid #e4e4e4;
	padding: 11px 20px;
	margin: 0;
	cursor: pointer;
	font-weight: 500;
	color: #555;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.type-toggle label i {
	margin-right: 8px;
	color: #F6921E;
}
.type-toggle input:checked + label {
	border-color: #F6921E;
	background: #F6921E;
	color: #fff;
}
.type-toggle input:checked + label i {
	color: #fff;
}
.type-toggle input:focus-visible + label {
	outline: 2px solid #F6921E;
	outline-offset: 2px;
}
/* Video upload. The real file input is hidden behind its own label, because no
   two browsers style the native control the same way and this one has to sit
   next to the other fields without looking like a stray. */
.file-drop {
	position: relative;
}
.file-drop input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
}
.file-drop-face {
	display: block;
	border: 2px dashed #e0e0e0;
	background: #fbfbfb;
	padding: 26px 20px;
	text-align: center;
	cursor: pointer;
	margin: 0;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.file-drop-face:hover {
	border-color: #F6921E;
	background: rgba(246, 146, 30, 0.04);
}
.file-drop input[type="file"]:focus-visible + .file-drop-face {
	outline: 2px solid #F6921E;
	outline-offset: 2px;
}
.file-drop-face i {
	display: block;
	color: #F6921E;
	font-size: 30px;
	margin-bottom: 12px;
}
.file-drop-main {
	display: block;
	color: #252525;
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 5px;
}
.file-drop-sub {
	display: block;
	color: #888;
	font-size: 13px;
}
/* The required-field asterisk rule paints every span inside a label orange.
   These spans are the control's own wording, so they have to out-rank it. */
.feedback-form .file-drop .file-drop-face span {
	margin-left: 0;
}
.feedback-form .file-drop .file-drop-main {
	color: #252525;
}
.feedback-form .file-drop .file-drop-sub {
	color: #888;
}
/* Once a file is picked the box confirms what it has, so nobody submits
   wondering whether the upload took. */
.file-drop.has-file .file-drop-face {
	border-style: solid;
	border-color: #F6921E;
	background: rgba(246, 146, 30, 0.06);
}
.file-drop.has-file .file-drop-face i::before {
	content: "\f00c";
}
.form-consent {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.form-consent input {
	margin: 4px 10px 0 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.form-consent label {
	font-weight: 400;
	color: #555;
	line-height: 23px;
	margin: 0;
}
/* A header on the form card, so the page reads as "here is the form" rather
   than opening cold on an input. */
.form-head-bar {
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 20px;
	margin-bottom: 26px;
}
.form-head-bar h4 {
	color: #252525;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 7px;
}
.form-head-bar h4 i {
	color: #F6921E;
	margin-right: 10px;
}
.form-head-bar p {
	color: #666;
	font-size: 14px;
	margin: 0;
}
.form-head-bar p span {
	color: #F6921E;
	font-weight: 700;
}
/* Consent, button and the note are one decision, so they sit in one strip
   instead of drifting apart at the bottom of the card. */
.form-foot {
	background: #fafafa;
	border: 1px solid #f0f0f0;
	padding: 22px 22px 18px;
	margin-top: 6px;
}
.form-foot .form-group {
	margin-bottom: 16px;
}
.form-foot .field-hint {
	margin: 0;
}
.feedback-form .button button i {
	margin-right: 9px;
}
.feedback-form .button button {
	width: auto;
	padding: 14px 34px;
	border: 0;
	cursor: pointer;
}
@media (max-width: 575px) {
	.qr-card {
		display: block;
		text-align: center;
	}
	.qr-card img {
		margin: 0 auto 14px;
	}
}
@media (max-width: 991px) {
	.feedback-form-wrap {
		padding: 26px 20px 18px;
		margin-top: 30px;
	}
}

/* ==================================================================
   Admission enquiry popup
   The dialog js/popup-form.js opens shortly after every page loads:
   a dark contact panel on the left, the call-back form on the right.
   It is display:none until the script adds .is-open, so with JS off
   there is no dialog and nothing covers the page.
   ================================================================== */
.eg-popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2000;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.eg-popup.is-open {
	display: block;
}
/* min-height + flex on an inner wrapper, rather than centring the dialog in
   the scroll box itself: a dialog taller than the screen then scrolls from its
   own top edge instead of having its head cut off. */
.eg-popup-scroll {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	min-height: 100%;
	padding: 26px 16px;
}
body.eg-popup-open {
	overflow: hidden;
}
.eg-popup-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(9, 11, 19, 0.74);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	opacity: 0;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.eg-popup.is-visible .eg-popup-backdrop {
	opacity: 1;
}
/* margin:auto rather than align-items:center, so a tall dialog on a short
   screen scrolls from its own top instead of having its head clipped off. */
.eg-popup-dialog {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	min-width: 0;
	max-width: 900px;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	outline: none;
	box-shadow: 0px 30px 70px rgba(6, 8, 15, 0.45);
	opacity: 0;
	-webkit-transform: translateY(20px) scale(0.96);
	-ms-transform: translateY(20px) scale(0.96);
	transform: translateY(20px) scale(0.96);
	-webkit-transition: opacity 0.32s ease, -webkit-transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
	transition: opacity 0.32s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.eg-popup.is-visible .eg-popup-dialog {
	opacity: 1;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
.eg-popup-close {
	position: absolute;
	top: 13px;
	right: 13px;
	z-index: 5;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 24, 42, 0.07);
	color: #6b6b6b;
	font-size: 16px;
	line-height: 34px;
	text-align: center;
	cursor: pointer;
	-webkit-transition: all 0.28s ease;
	transition: all 0.28s ease;
}
.eg-popup-close:hover,
.eg-popup-close:focus {
	background: #F6921E;
	color: #fff;
	outline: none;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

/* --- Left panel: the numbers --- */
.eg-popup-aside {
	position: relative;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 41%;
	flex: 0 0 41%;
	min-width: 0;
	max-width: 41%;
	padding: 32px 28px 0;
	color: #fff;
	background: #252525;
	background: -webkit-linear-gradient(320deg, #252525 0%, #1f1f1f 62%, #171717 100%);
	background: linear-gradient(160deg, #252525 0%, #1f1f1f 62%, #171717 100%);
	overflow: hidden;
}
/* A soft orange glow bleeding in from the corner, so the panel is not a flat
   block of navy behind the photo. */
.eg-popup-aside::before {
	content: "";
	position: absolute;
	top: -95px;
	right: -85px;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	background: rgba(246, 146, 30, 0.22);
}
.eg-popup-aside > * {
	position: relative;
	z-index: 2;
}
.eg-popup-badge {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid rgba(246, 146, 30, 0.45);
	border-radius: 30px;
	background: rgba(246, 146, 30, 0.16);
	color: #FFC27A;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
}
.eg-popup-badge i {
	margin-right: 7px;
}
.eg-popup-aside h4 {
	margin: 16px 0 9px;
	color: #fff;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.3;
}
.eg-popup-aside p {
	margin: 0;
	color: rgba(255, 255, 255, 0.66);
	font-size: 13.5px;
	line-height: 1.65;
}
.eg-popup-contact {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}
.eg-popup-contact li {
	margin-bottom: 9px;
}
.eg-contact-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	-webkit-transition: all 0.26s ease;
	transition: all 0.26s ease;
}
.eg-contact-row:hover,
.eg-contact-row:focus {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(246, 146, 30, 0.6);
	color: #fff;
	-webkit-transform: translateX(3px);
	transform: translateX(3px);
}
.eg-contact-icon {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	margin-right: 11px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	font-size: 15px;
	line-height: 34px;
	text-align: center;
}
.eg-contact-row.wa .eg-contact-icon {
	background: #25D366;
}
.eg-contact-text {
	min-width: 0;
}
.eg-contact-text b {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.35;
}
.eg-contact-text em {
	display: block;
	margin-top: 1px;
	color: rgba(255, 255, 255, 0.58);
	font-size: 11.5px;
	font-style: normal;
}
.eg-popup-photo {
	display: block;
	width: 100%;
	max-width: 200px;
	height: 138px;
	margin: 14px auto 0;
	object-fit: contain;
	object-position: bottom center;
	-webkit-filter: drop-shadow(0px 14px 24px rgba(0, 0, 0, 0.45));
	filter: drop-shadow(0px 14px 24px rgba(0, 0, 0, 0.45));
}

/* --- Right panel: the form --- */
.eg-popup-main {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-width: 0;
	padding: 32px 32px 28px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.eg-popup-main h3 {
	margin: 0 0 8px;
	color: #252525;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.25;
}
.eg-popup-sub {
	margin: 0 0 18px;
	color: #6b6b6b;
	font-size: 13.5px;
	line-height: 1.65;
}
.eg-popup-alert {
	margin-bottom: 13px;
	padding: 10px 14px;
	border: 1px solid #f2c6c6;
	border-radius: 9px;
	background: #fdf3f3;
	color: #b4232a;
	font-size: 13px;
	line-height: 1.5;
}
/* The bot trap - off screen, never seen, never tabbed into */
.eg-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.eg-popup-form .eg-field {
	position: relative;
	margin-bottom: 11px;
}
.eg-popup-form .eg-field > i {
	position: absolute;
	top: 50%;
	left: 15px;
	margin-top: -8px;
	color: #9f9f9f;
	font-size: 15px;
	pointer-events: none;
	-webkit-transition: color 0.25s ease;
	transition: color 0.25s ease;
}
.eg-popup-form .eg-field > i.eg-caret {
	left: auto;
	right: 15px;
	font-size: 17px;
}
.eg-popup-form input,
.eg-popup-form select {
	width: 100%;
	height: 48px;
	padding: 0 16px 0 42px;
	border: 1px solid #e4e7ed;
	border-radius: 10px;
	background: #f8f9fb;
	color: #252525;
	font-size: 14.5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
.eg-popup-form select {
	padding-right: 36px;
	cursor: pointer;
}
.eg-popup-form input::-webkit-input-placeholder { color: #9f9f9f; }
.eg-popup-form input::-moz-placeholder { color: #9f9f9f; opacity: 1; }
.eg-popup-form input:-ms-input-placeholder { color: #9f9f9f; }
.eg-popup-form input::placeholder { color: #9f9f9f; }
.eg-popup-form input:focus,
.eg-popup-form select:focus {
	outline: none;
	border-color: #F6921E;
	background: #fff;
	box-shadow: 0px 0px 0px 3px rgba(246, 146, 30, 0.16);
}
.eg-popup-form .eg-field.is-invalid > input,
.eg-popup-form .eg-field.is-invalid > select {
	border-color: #e05252;
	background: #fff7f7;
}
.eg-popup-form .eg-field.is-invalid > i {
	color: #e05252;
}
.eg-popup-submit {
	display: block;
	width: 100%;
	height: 52px;
	margin-top: 5px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: -webkit-linear-gradient(200deg, #F6921E 0%, #ffb457 100%);
	background: linear-gradient(110deg, #F6921E 0%, #ffb457 100%);
	color: #fff;
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: 0.2px;
	cursor: pointer;
	box-shadow: 0px 10px 24px rgba(246, 146, 30, 0.34);
	-webkit-transition: all 0.28s ease;
	transition: all 0.28s ease;
}
.eg-popup-submit i {
	margin-right: 9px;
}
.eg-popup-submit:hover,
.eg-popup-submit:focus {
	outline: none;
	-webkit-transform: translateY(-2px);
	transform: translateY(-2px);
	box-shadow: 0px 14px 30px rgba(246, 146, 30, 0.44);
}
.eg-popup-note {
	margin: 13px 0 0;
	color: #9f9f9f;
	font-size: 12.5px;
	text-align: center;
}
.eg-popup-note i {
	margin-right: 6px;
}
/* Fallback: the template runs niceSelect over every select on the page. The
   popup select is opted out in main.js, but if that ever changes the
   replacement should still match the fields around it. */
.eg-popup-form .nice-select {
	width: 100%;
	height: 48px;
	padding: 0 36px 0 42px;
	border: 1px solid #e4e7ed;
	border-radius: 10px;
	background: #f8f9fb;
	color: #252525;
	font-size: 14.5px;
	line-height: 46px;
}
.eg-popup-form .nice-select .list {
	width: 100%;
}

/* --- Stacked layout on phones ---
   The photo and the strapline go and the two call lines share a row, so the
   offer and the form both stay above the fold. */
@media (max-width: 767px) {
	.eg-popup-scroll {
		padding: 14px 12px;
	}
	.eg-popup-dialog {
		display: block;
		max-width: 460px;
		border-radius: 14px;
	}
	.eg-popup-aside {
		max-width: none;
		width: 100%;
		padding: 20px 18px 15px;
	}
	.eg-popup-aside p,
	.eg-popup-photo {
		display: none;
	}
	.eg-popup-aside h4 {
		margin: 11px 0 13px;
		font-size: 18px;
	}
	.eg-popup-contact {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin: 0;
	}
	.eg-popup-contact li {
		width: 100%;
		margin-bottom: 8px;
	}
	.eg-popup-contact li:nth-child(2),
	.eg-popup-contact li:nth-child(3) {
		width: 48.5%;
		margin-bottom: 0;
	}
	.eg-contact-text em {
		display: none;
	}
	.eg-contact-text b {
		font-size: 12.5px;
	}
	.eg-contact-icon {
		width: 30px;
		height: 30px;
		margin-right: 9px;
		font-size: 14px;
		line-height: 30px;
	}
	.eg-popup-main {
		display: block;
		padding: 20px 18px 22px;
	}
	.eg-popup-main h3 {
		font-size: 20px;
	}
	.eg-popup-sub {
		margin-bottom: 14px;
		font-size: 13px;
	}
	.eg-popup-form input,
	.eg-popup-form select,
	.eg-popup-form .nice-select {
		height: 44px;
		font-size: 14px;
	}
	.eg-popup-submit {
		height: 48px;
		font-size: 14.5px;
	}
	.eg-popup-close {
		background: rgba(255, 255, 255, 0.16);
		color: #fff;
	}
}
@media (max-width: 400px) {
	.eg-popup-contact li:nth-child(2),
	.eg-popup-contact li:nth-child(3) {
		width: 100%;
		margin-bottom: 8px;
	}
}
/* Laptops with short screens: pull the photo and the padding in so the whole
   dialog still lands inside the viewport. */
@media (min-width: 768px) and (max-height: 730px) {
	.eg-popup-photo {
		height: 108px;
	}
	.eg-popup-aside {
		padding-top: 24px;
	}
	.eg-popup-main {
		padding-top: 26px;
		padding-bottom: 22px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.eg-popup-backdrop,
	.eg-popup-dialog,
	.eg-contact-row,
	.eg-popup-submit,
	.eg-popup-close {
		-webkit-transition: none !important;
		transition: none !important;
	}
	.eg-popup-dialog {
		-webkit-transform: none !important;
		transform: none !important;
	}
}

/* The People Behind It: five members share a single desktop row. Bootstrap 4
   has no fifth-width column, so the row opts in to 20% columns at lg and up
   and keeps the stock col-md-6 / col-12 behaviour below that. */
@media (min-width: 992px) {
	.teachers .team-row > [class*="col-"] {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.teachers .team-row .single-teacher.team-card .teacher-content h4 {
		font-size: 16px;
	}
	.teachers .team-row .single-teacher.team-card .teacher-content {
		padding: 16px 10px 18px;
	}
}

/* Proprietor page: the message box now carries a couple of body paragraphs
   under the pull quote, plus a longer "About the Proprietor" section. */
.about-us .proprietor-body {
	margin-top: 18px;
}
.about-us .proprietor-body p {
	color: #555;
	font-size: 15px;
	line-height: 27px;
	margin-bottom: 14px;
	text-align: justify;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
}
.about-us .proprietor-body p:last-child {
	margin-bottom: 0;
}
.proprietor-story .story-text h3 {
	font-size: 21px;
	font-weight: 700;
	color: #252525;
	margin: 0 0 14px;
}
.proprietor-story .story-text h3 + p {
	margin-top: 0;
}
.proprietor-story .story-text p {
	color: #555;
	font-size: 15px;
	line-height: 28px;
	margin-bottom: 26px;
	text-align: justify;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
}
.proprietor-story .story-text p:last-child {
	margin-bottom: 0;
}
.proprietor-story .story-side {
	background: #F7F8FA;
	border: 1px solid #ECECEC;
	border-top: 3px solid #F6921E;
	padding: 30px 28px;
	border-radius: 4px;
}
.proprietor-story .story-side h4 {
	font-size: 18px;
	font-weight: 700;
	color: #252525;
	margin: 0 0 20px;
}
.proprietor-story .story-points {
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}
.proprietor-story .story-points li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 16px;
	color: #555;
	font-size: 14px;
	line-height: 25px;
}
.proprietor-story .story-points li:last-child {
	margin-bottom: 0;
}
.proprietor-story .story-points li i {
	position: absolute;
	left: 0;
	top: 5px;
	color: #F6921E;
	font-size: 14px;
}
.proprietor-story .story-points li b {
	color: #252525;
	font-weight: 600;
}
@media (max-width: 991px) {
	.proprietor-story .story-side {
		margin-top: 35px;
	}
}

/*=========================
	Gallery page
=========================*/
/* The photos here are a real mix: wide banner graphics (up to 2.2:1), tall
   phone portraits (0.56:1) and near-squares. Cropping them to a common shape
   cut faces off the portraits and sliced the text off the banners, so instead
   every tile is a uniform 4:3 box and the image sits inside it whole
   (object-fit: contain). The leftover space is filled with a blurred, dimmed
   copy of the same photo, which keeps the grid tidy without hiding anything. */
.eg-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.eg-gallery-item {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	aspect-ratio: 4 / 3;
	background: #252525;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.07);
}
/* Blurred fill behind the photo. --eg-img is set inline on each tile. */
.eg-gallery-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: var(--eg-img);
	background-position: center;
	background-size: cover;
	filter: blur(18px) brightness(0.55);
	/* Overscaled so the blur never feathers in at the tile edges. */
	transform: scale(1.2);
}
.eg-gallery-item img {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.4s ease;
}
.eg-gallery-item:hover img {
	transform: scale(1.04);
}
/* The magnifier badge only shows up once the tile is hovered or focused. */
.eg-gallery-zoom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(2, 20, 46, 0.55);
	color: #fff;
	font-size: 22px;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.eg-gallery-item:hover .eg-gallery-zoom,
.eg-gallery-item:focus .eg-gallery-zoom {
	opacity: 1;
}
.eg-gallery-zoom i {
	width: 46px;
	height: 46px;
	line-height: 46px;
	text-align: center;
	border-radius: 50%;
	background: #F6921E;
}
@media (max-width: 991px) {
	.eg-gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 767px) {
	.eg-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}
@media (max-width: 480px) {
	.eg-gallery-grid {
		grid-template-columns: 1fr;
	}
}

/* Achievements page: the Careers 360 certificate leads the row as a full-width
   hero, because at a quarter of the width its text was too small to read. The
   three student photos then sit in an even row beneath it. */
.eg-proof .eg-gallery-grid {
	grid-template-columns: repeat(3, 1fr);
}
.eg-proof .eg-gallery-item.is-hero {
	grid-column: 1 / -1;
	aspect-ratio: 12 / 5;
}
@media (max-width: 767px) {
	.eg-proof .eg-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.eg-proof .eg-gallery-item.is-hero {
		aspect-ratio: 16 / 9;
	}
}
@media (max-width: 480px) {
	.eg-proof .eg-gallery-grid {
		grid-template-columns: 1fr;
	}
	.eg-proof .eg-gallery-item.is-hero {
		aspect-ratio: 4 / 3;
	}
}

/* Sitting directly under the breadcrumb, this section leads the page, so it
   gets a soft warm band in the brand colour to set it apart from the white
   milestone section that follows. */
.eg-proof {
	background: #fff8f1;
	border-bottom: 1px solid #f6e3cd;
}


/* Clickable cards
   The whole box is a click target (see clickableCards in edugurukulam.js).
   The class is added by script, so without JS the cursor stays normal and
   only the real link inside the card is clickable. */
.single-course.is-clickable,
.single-offer.is-clickable,
.single-feature.is-clickable,
.single-news.is-clickable {
	cursor: pointer;
}

/* Feedback tab
   A sticky tab pinned to the left edge, vertically centred, sitting above the
   page at all times so feedback is always one click away. Vertical writing
   mode keeps it narrow; no rotation transform is used, so the rounded edge
   and the shadow stay on the side facing the page. */
.feedback-tab {
	position: fixed;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 99;
	display: inline-flex;
	align-items: center;
	writing-mode: vertical-rl;
	padding: 18px 11px;
	background: #252525;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-decoration: none;
	border-radius: 0 6px 6px 0;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
	transition: background 0.3s ease, padding 0.3s ease;
}
.feedback-tab:hover,
.feedback-tab:focus {
	background: #F6921E;
	color: #fff;
	padding-right: 16px;
	text-decoration: none;
}
.feedback-tab i {
	margin-bottom: 8px;
	font-size: 15px;
}
@media (max-width: 767px) {
	.feedback-tab {
		padding: 14px 8px;
		font-size: 12px;
	}
	.feedback-tab i {
		font-size: 13px;
	}
}

/* A two-up variant of the photo grid, for the places that show only a couple
   of pictures — a college's own photos and the feedback page. Kept narrow and
   centred so two images do not stretch the full width of a wide screen. */
.eg-gallery-grid.eg-grid-2 {
	grid-template-columns: repeat(2, 1fr);
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 480px) {
	.eg-gallery-grid.eg-grid-2 {
		grid-template-columns: 1fr;
	}
}

/* A single photo in the two-up grid is centred rather than left in one cell,
   which is how a college with only one picture renders. */
.eg-gallery-grid.eg-grid-2 > .eg-gallery-item:only-child {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 390px;
	margin-left: auto;
	margin-right: auto;
}
.colleges-page { color: #333333; }
.colleges-page [hidden] { display: none !important; }
.colleges-hero { padding: 78px 0 72px; background: linear-gradient(120deg, #fff5e9, #fff); }
.colleges-hero .container { max-width: 1040px; }
.colleges-eyebrow { color: #a85200; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.colleges-hero h1 { max-width: 930px; margin: 12px 0 24px; color: #242424; font-size: clamp(32px, 4vw, 50px); line-height: 1.15; }
.colleges-hero p:not(.colleges-eyebrow) { max-width: 870px; font-size: 17px; line-height: 1.7; }
.colleges-hero .btn { margin-top: 14px; }
.colleges-section { padding: 78px 0; }
.colleges-section-alt { background: #faf8f5; }
.colleges-compare-cta { padding: 60px 0; text-align: center; background: #fff3e4; }
.colleges-compare-cta .container { max-width: 780px; }
.colleges-compare-cta h2 { color: #242424; font-size: clamp(27px, 3vw, 36px); margin-bottom: 12px; }
.colleges-compare-cta p { line-height: 1.7; margin-bottom: 22px; }
.colleges-section-heading { max-width: 900px; margin-bottom: 30px; }
.colleges-section-heading h2 { color: #242424; font-size: clamp(27px, 3vw, 36px); line-height: 1.24; margin-bottom: 14px; }
.colleges-section-heading p { font-size: 16px; line-height: 1.7; margin: 0; }
.colleges-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.colleges-guide-card { background: #fff; border: 1px solid #e8ded2; border-radius: 12px; padding: 28px; box-shadow: 0 8px 28px rgba(0, 0, 0, .05); }
.colleges-guide-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 16px; border-radius: 10px; background: #fff1df; color: #9e5000; font-size: 21px; }
.colleges-guide-card h3 { font-size: 21px; line-height: 1.3; margin: 0 0 12px; }
.colleges-guide-card h3 a { color: #242424; }
.colleges-guide-card p { line-height: 1.65; margin-bottom: 18px; }
.colleges-text-link { color: #9e5000; font-weight: 700; }
.colleges-text-link i { margin-left: 6px; }
.colleges-chip-list { display: flex; flex-wrap: wrap; gap: 12px; }
.colleges-chip-list a { display: inline-block; padding: 10px 18px; border: 1px solid #e0cdb9; border-radius: 30px; background: #fff; color: #9e5000; font-weight: 700; }
.colleges-chip-list a:hover, .colleges-chip-list a:focus { background: #9e5000; border-color: #9e5000; color: #fff; }
.colleges-city-list { gap: 12px; padding: 16px; background: #faf8f5; }
.colleges-city-list a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 116px; min-height: 96px; border: 1px solid #eee5da; border-radius: 10px; box-shadow: 0 3px 12px rgba(0, 0, 0, .04); color: #242424; }
.colleges-city-list a i { font-size: 30px; color: #9e5000; }
.colleges-city-list a:hover i, .colleges-city-list a:focus i { color: #fff; }
.colleges-subheading { margin: 34px 0 16px; color: #242424; font-size: 21px; }
.colleges-check-list, .colleges-steps { padding-left: 26px; line-height: 1.7; }
.colleges-check-list li, .colleges-steps li { padding-left: 6px; margin-bottom: 12px; }
.colleges-steps { columns: 2; column-gap: 48px; }
.colleges-steps li { break-inside: avoid; margin-bottom: 20px; }
.colleges-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: end; padding: 22px; background: #fff8ef; border: 1px solid #e8ddd0; border-radius: 12px; }
.colleges-filters label { display: block; color: #242424; font-size: 13px; font-weight: 700; }
.colleges-filters input, .colleges-filters select { display: block; width: 100%; height: 44px; margin-top: 7px; padding: 8px 11px; border: 1px solid #d8c8b8; border-radius: 5px; background: #fff; color: #333333; }
.colleges-filter-actions { grid-column: 1 / -1; display: flex; gap: 18px; align-items: center; }
.colleges-filter-actions .btn { border: 0; }
.colleges-clear { border: 0; background: transparent; color: #9e5000; font-weight: 700; cursor: pointer; }
.colleges-fee-note { margin: 18px 0 24px; font-size: 14px; line-height: 1.5; }
.colleges-result-count { margin: 0 0 18px; font-weight: 700; color: #242424; }
.colleges-results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.colleges-result { display: flex; flex-direction: column; padding: 24px; border: 1px solid #e9dfd5; border-radius: 10px; background: #fff; }
.colleges-result-top { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.colleges-result-stream, .colleges-result-owner { padding: 4px 8px; border-radius: 4px; background: #fff1df; color: #9e5000; }
.colleges-result-owner { background: #fff5e6; color: #81520c; }
.colleges-result h3 { margin: 16px 0 10px; font-size: 19px; line-height: 1.35; }
.colleges-result h3 a { color: #242424; }
.colleges-result p { margin-bottom: 14px; line-height: 1.55; }
.colleges-result dl { margin: auto 0 17px; }
.colleges-result dl div { display: flex; gap: 8px; padding: 5px 0; border-top: 1px solid #eee7de; font-size: 13px; }
.colleges-result dt { flex: 0 0 84px; color: #666666; }
.colleges-result dd { margin: 0; font-weight: 600; }
.colleges-empty { padding: 26px; background: #faf8f5; border-radius: 8px; }
.colleges-show-more { display: block; margin: 28px auto 0; border: 0; }
.colleges-faq-list { max-width: 950px; }
.colleges-faq-list details { border-bottom: 1px solid #e6dcd1; }
.colleges-faq-list summary { padding: 18px 28px 18px 0; color: #242424; font-size: 18px; font-weight: 700; cursor: pointer; }
.colleges-faq-list details p { padding: 0 25px 19px 0; line-height: 1.65; }
.universities-guide { color: #333; }
.universities-guide-intro { background: linear-gradient(120deg, #fff5e9, #fff); }
.universities-guide-intro h1 { color: #242424; font-size: clamp(32px, 4vw, 50px); line-height: 1.15; }
.universities-guide-intro p, .universities-guide > .colleges-section > .container > p { max-width: 950px; font-size: 16px; line-height: 1.7; }
.universities-guide .colleges-guide-card p:last-child { margin-bottom: 0; }
.universities-guide h3 { color: #242424; }
.universities-guide-list { padding-left: 26px; line-height: 1.7; }
.universities-guide-list li { margin-bottom: 7px; }
.colleges-cta { padding: 66px 0; text-align: center; background: #252525; color: #fff; }
.colleges-cta h2 { color: #fff; margin-bottom: 12px; }
.colleges-cta p { max-width: 680px; margin: 0 auto 22px; color: #fff; line-height: 1.6; }
@media (max-width: 991px) { .colleges-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .colleges-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .colleges-hero, .colleges-section { padding: 50px 0; } .colleges-guide-grid, .colleges-filters, .colleges-results-grid { grid-template-columns: 1fr; } .colleges-steps { columns: 1; } .colleges-filter-actions { flex-wrap: wrap; } }

/* IEM Kolkata college guide */
.iem-profile { color: #333333; }
.iem-profile h1, .iem-profile h2, .iem-profile h3 { color: #242424; line-height: 1.28; }
.iem-profile p, .iem-profile li { line-height: 1.72; }
.iem-profile a:not(.btn) { color: #9e5000; text-decoration: underline; text-underline-offset: 2px; }
.iem-hero { padding: 72px 0; background: linear-gradient(115deg, #fff3e3, #fff); }
.iem-hero .container { max-width: 1050px; }
.iem-kicker { color: #a85200; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.iem-hero h1 { margin: 12px 0 22px; font-size: clamp(32px, 4vw, 49px); }
.iem-hero > .container > p:not(.iem-kicker) { font-size: 17px; }
.iem-callout { margin: 26px 0 0; padding: 24px 28px; border-left: 4px solid #f6921e; border-radius: 6px; background: #fff4e8; }
.iem-callout strong { display: block; color: #8b4e0b; font-size: 19px; }
.iem-callout p { margin: 8px 0 16px; }
.iem-section { padding: 70px 0; }
.iem-section-tint { background: #fcf9f5; }
.iem-section h2 { margin-bottom: 18px; font-size: clamp(27px, 3vw, 35px); }
.iem-section h3 { margin: 30px 0 12px; font-size: 22px; }
.iem-section .container { max-width: 1100px; }
.iem-section p { max-width: 900px; }
.iem-source-note { margin-top: 18px; color: #666666; font-size: 14px; }
.iem-status-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 25px 0; }
.iem-status-grid div { padding: 18px 20px; border: 1px solid #e9dfd4; border-radius: 8px; background: #fff; }
.iem-status-grid span, .iem-status-grid strong { display: block; }
.iem-status-grid span { color: #666666; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.iem-status-grid strong { margin-top: 7px; color: #242424; font-size: 17px; }
.iem-table-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid #e7ddd1; border-radius: 8px; }
.iem-table-wrap table { width: 100%; min-width: 610px; border-collapse: collapse; background: #fff; }
.iem-table-wrap th, .iem-table-wrap td { padding: 13px 16px; border-bottom: 1px solid #e8ded2; text-align: left; vertical-align: top; line-height: 1.5; }
.iem-table-wrap thead th { background: #292929; color: #fff; font-weight: 700; }
.iem-table-wrap tbody th { width: 29%; color: #242424; font-weight: 700; }
.iem-table-wrap tr:last-child th, .iem-table-wrap tr:last-child td { border-bottom: 0; }
.iem-steps { columns: 2; column-gap: 45px; max-width: 920px; padding-left: 26px; }
.iem-steps li { padding-left: 6px; margin-bottom: 13px; break-inside: avoid; }
.iem-compare-grid, .iem-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.iem-compare-grid a { display: block; padding: 22px; border: 1px solid #e9dfd4; border-radius: 8px; background: #fff; font-weight: 700; text-decoration: none !important; }
.iem-compare-grid span { display: block; margin-top: 7px; color: #666666; font-size: 14px; font-weight: 400; }
.iem-faq-list { max-width: 950px; }
.iem-faq-list details { border-bottom: 1px solid #e8ddd1; }
.iem-faq-list summary { padding: 18px 28px 18px 0; color: #242424; font-size: 18px; font-weight: 700; cursor: pointer; }
.iem-faq-list details p { padding: 0 20px 18px 0; }
@media (max-width: 700px) { .iem-hero, .iem-section { padding: 48px 0; } .iem-status-grid, .iem-compare-grid, .iem-two-col { grid-template-columns: 1fr; } .iem-steps { columns: 1; } .iem-callout { padding: 20px; } }
.iem-admission-page .iem-section h2:not(:first-child) { margin-top: 42px; }
.iem-process-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 25px; }
.iem-process-grid article { padding: 22px; border: 1px solid #e9dfd4; border-radius: 8px; background: #fff; }
.iem-process-grid h3 { margin: 0 0 10px; font-size: 19px; }
.iem-process-grid p { margin: 0; }
.iem-checker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; max-width: 880px; padding: 22px; border: 1px solid #e9dfd4; border-radius: 8px; background: #fff; }
.iem-checker label { color: #242424; font-size: 14px; font-weight: 700; }
.iem-checker input { display: block; width: 100%; height: 45px; margin-top: 7px; padding: 8px 11px; border: 1px solid #d9c9b7; border-radius: 5px; }
.iem-checker button { grid-column: 1 / -1; justify-self: start; border: 0; }
.iem-checker-result { max-width: 880px; margin-top: 18px; padding: 21px 24px; border: 1px solid #e8c297; border-radius: 8px; background: #fff7ec; }
.iem-checker-result[hidden] { display: none; }
.iem-checker-result h3 { margin-top: 0; }
.iem-checker-result ul { columns: 2; padding-left: 21px; }
.iem-admission-actions { display: flex; flex-wrap: wrap; gap: 13px; margin: 18px 0; }
.iem-admission-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: 38px; }
.iem-admission-hero-copy > p:not(.iem-kicker) { font-size: 16px; line-height: 1.7; }
.iem-admission-hero-media { height: 420px; margin: 0; overflow: hidden; border-radius: 12px; box-shadow: 0 16px 34px rgba(0, 0, 0, .12); }
.iem-admission-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 56% center; }
@media (max-width: 900px) { .iem-admission-hero-grid { grid-template-columns: 1fr; gap: 26px; } .iem-admission-hero-media { height: 320px; } }
@media (max-width: 700px) { .iem-admission-hero-media { height: 240px; } }
@media (max-width: 700px) { .iem-process-grid, .iem-checker { grid-template-columns: 1fr; } .iem-checker-result ul { columns: 1; } }

/* Preserve the banner appearance when its label is plain text. */

.breadcrumbs .breadcrumb-title {color:#fff;font-size:40px;font-weight:700;line-height:48px;position:relative;padding-bottom:16px;margin-top:5px;}
.breadcrumbs .breadcrumb-title::after {content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;background:#F6921E;}
.eg-city-card {display:block;color:inherit;}
.eg-city-card:focus-visible {outline:3px solid #F6921E;outline-offset:4px;}
@media(max-width:767px){.breadcrumbs .breadcrumb-title{font-size:28px;line-height:36px}.breadcrumbs .breadcrumb-title::after{left:50%;margin-left:-32px}}
