/******************************

    00 - Home
    01 - Inner Page
		01 - About Us
		02 - Our History
        03 - Service Detail
        04 - Event Detail
        05 - Blog Detail
             Sidebar Right
             Blog Classic
             Blog Single
        06 - Team Single
		07 -  Course Single
        08 - Contact Us
        09 - Comment Form
    
******************************/

/*----------------------------------------*/
/*  00 - Home
/*----------------------------------------*/
body{
	background-color: var(--pbmit-light-color);
}
/** Homepage 01 **/
#page{
	overflow: hidden;
	position: relative;
}
.marquee-one_bg {
	position: relative;
}
.marquee-one_bg .swiper-slider{
	padding: 10px 0;
    background-color: var(--pbmit-white-color);
    -webkit-transform: rotate(-0.8deg);
    -ms-transform: rotate(-0.8deg);
    transform: rotate(-0.8deg);
}
.marquee-one_bg:before{
	position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    content: "";
    display: block;
    z-index: 1;
	background-color: var(--pbmit-secondary-color);
}
.about-section_one{
	padding: 80px 0;
}
.about-one_leftbox{
	position: relative;
}
.about-one_img1{
	position: relative;
	margin-left: -70px;
	text-align: center;
}
.about-one_img1 img{
	mask-image: url(../images/homepage-1/bg/about-mask-img-01.png);
	mask-size: contain;
	mask-position: center center;
	mask-repeat: no-repeat;
}
.about-one_img1:after{
	content: '';
    position: absolute;
    top: -38px;
    left: 0;
    width: 100%;
    height: 613px;
    background: url(../images/homepage-1/bg/about-stroke-01.png);
    background-repeat: no-repeat;
}
.about-one-pattern_img1,
.about-one-pattern_img2,
.about-one-pattern_img3{
	position: absolute;
	max-width: 100%;
	width: auto;
}
.about-one-pattern_img1{
	left: 0;
	top: 50px;
}
.about-one-pattern_img2{
	top: 30px;
	right: 50px;
}
.about-one-pattern_img3{
	right: 190px;
	bottom: -35px;
}
.about-one_rightbox{
	padding-left: 50px;
}
.service_one{
	padding-top: 40px;
	padding-bottom: 80px;
}
.service-one_btn{
	text-align: end;
}
.ihbox-section_one{
	position: relative;
	background-image: url(../images/homepage-1/bg/cloud-bg-img.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	padding: 50px 0 80px 0;
}
.ihbox-section_one .container{
	position: relative;
}
.ihbox-section_one .pbmit-img-animation-01,
.ihbox-section_one .pbmit-img-animation-03,
.ihbox-section_one .pbmit-img-animation-02,
.ihbox-section_one .pbmit-img-animation-04,
.testimonial-one_leftbox .pbmit-img-animation-02,
.testimonial-one_leftbox .pbmit-img-animation-03,
.testimonial-one_area .pbmit-img-animation-04,
.testimonial-one_area .pbmit-img-animation-01,
.ihbox-style-7_bg .pbmit-col_1 .pattern_img,
.ihbox-style-7_area .actionbox_img_01,
.ihbox-style-7_area .pattern-icon_02,
.ihbox-style-7_area .pattern_img_02,
.ihbox-style-7_area .actionbox_img_02,
.video-section_three .contact-pattern-02_img,
.video-section_three .video-btn_box,
.faq-three_leftbox .faq-pattern-02_img,
.faq-three_leftbox .faq-pattern-01_img,
.faq-three_leftbox .faq-pattern-03_img,
.testimonial_three .testimonial-img_first,
.testimonial_three .testimonial-img_second,
.testimonial_three .testimonial-img_third,
.testimonial_three .testimonial-img_four,
.testimonial_three .testimonial-img_five,
.testimonial_three .testimonial-img_six,
.appointment-three_leftbox .contact-pattern_img,
.appointment-three_form .contact-pattern_02_img,
.contact-form-rightbox .contact-pattern-02-img{
	position: absolute;
	max-width: 100%;
	width: auto;
}
.ihbox-section_one .pbmit-img-animation-01{
	left: -180px;
	top: -20px;
}
.ihbox-section_one .pbmit-img-animation-03{
	right: -135px;
	top: -30px;
}
.ihbox-section_one .info-pattern_5{
	left: -120px;
	top: 80px;
}
.ihbox-section_one .info-pattern_3{
	left: -140px;
	bottom: -50px;
}
.ihbox-section_one .pbmit-img-animation-04{
	right: -170px;
	bottom: -30px;
}
.pbmit-head-btn{
	text-align: end;
}
.pbmit-element-gallery-style-1 .row .row>*{
    margin-bottom: 24px;
}
.pbmit-element-gallery-style-1 img{
	border-radius: 15px;
	-webkit-transition: all 0.9s ease 0s;
    -o-transition: all 0.9s ease 0s;
    transition: all 0.9s ease 0s;
	position: relative;
    width: 100%;
}
.pbmit-element-gallery-style-1 .pbmit-gallery-thumb{
	overflow: hidden;
	border-radius: 15px;
}
.pbmit-element-gallery-style-1 .pbmit-gallery-thumb a:hover img{
	-webkit-transform: scale(1.10);
    -ms-transform: scale(1.10);
    transform: scale(1.10);
}
.testimonial-one_area{
	position: relative;
	padding: 130px 0;
}
.testimonial-one_bg{
	position: absolute;
    height: 100%;
    right: 0;
    top: 0;
    left: 0;
    width: auto;
    z-index: 0;
    overflow: hidden;
	margin: 0px -250px 0px -250px;
	background-color: var(--pbmit-white-color);
}
.testimonial-one_leftbox{
	padding-right: 50px;
	position: relative;
}
.testimonial-one_leftbox .testimonial-pettern_1{
	left: 200px;
	top: -250px;
}
.testimonial-one_leftbox .testimonial-pettern_2{
	left: -280px;
	bottom: 70px;
}
.testimonial-one_leftbox .testimonial-pettern_3{
	right: 0;
	bottom: -215px;
}
.testimonial-one_leftbox .swiper-button-prev{
	left: inherit;
	right: 70px;
}
.testimonial-one_leftbox .swiper-button-prev,
.testimonial-one_leftbox .swiper-button-next{
	top: inherit;
	bottom: 5px;
}
.testimonial-one_area .testimonial-pettern_4{
	right: -180px;
	top: -50px;
}
.testimonial-one_area .testimonial-pettern_5{
	right: -150px;
	bottom: 90px;
}
.testimonial-one_img{
	position: relative;
	text-align: center;
}
.testimonial-one_img img{
	-webkit-mask-image: url(../images/homepage-1/bg/testimonial-quotes.png) !important;
    -webkit-mask-size: contain !important;
    -webkit-mask-position: center center !important;
    -webkit-mask-repeat: no-repeat !important;
	/* mask-image: url(../images/homepage-1/bg/testimonial-quotes.png);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat; */
}
.testimonial-one_img:after{
	content: '';
    position: absolute;
	width: 100%;
	top: 0;
    left: 12px;
    height: 530px;
    background: url(../images/homepage-1/bg/about-stroke-03.png);
    background-repeat: no-repeat;
}
.blog_one{
	padding: 40px 0 40px 0;
}
.client_one{
	padding-bottom: 200px;
	position: relative;
}
.client_one .fid-style-4_area{
	position: absolute;
	left: 32%;
	width: auto;
	top: -90px;
	max-width: 100%;
	z-index: 1;
}
.blog-one_btn{
	text-align: end;
}
/** Homepage 02 **/ 
.fid_two .fid-style-2_bg{
	padding: 80px 40px 80px 40px;
	border-radius: 15px;
	background-color: var(--pbmit-white-color);
}
.course-section_two{
	background-image: url(../images/homepage-2/bg/cloud-bg-img.png);
    background-position: bottom center;
    background-repeat: no-repeat;
	background-color: var(--pbmit-white-color);
}
.course-section_two .swiper-button-next, 
.course-section_two .swiper-button-prev{
	width: 80px;
    height: 80px;
	top: 47%;
	border-radius: 50%;
    background-color: rgba(102, 33, 186,.9);
}
.course-section_two .swiper-button-next:after, 
.course-section_two .swiper-button-prev:after{
	font-size: 22px;
	color: var(--pbmit-white-color);
}
.course-section_two .swiper-button-prev{
	left: 16%;
    right: inherit;
}
.course-section_two .swiper-button-next{
	right: 16%;
}
.ihbox-style-7_bg{
	background-image: url(../images/homepage-2/bg/patten-img-new.png);
    background-position: center center;
    background-repeat: repeat;
    background-size: auto;
	background-color: var(--pbmit-white-color);
	margin: 100px 0 0 0;
	position: relative;
	z-index: 1;
}
.ihbox-style-7_bg .pbmit-col_1,
.ihbox-style-7_bg .pbmit-col_3{
	width: 15%;
}
.ihbox-style-7_bg .pbmit-col_1 .pattern_img{
	left: 120px;
	bottom: -10px;
}
.ihbox-style-7_bg .pbmit-col_2{
	width: 70%;
}
.ihbox-style-7_area{
	padding: 200px 0 180px 0;
	position: relative;
}
.ihbox-style-7_area .actionbox_img_01{
	left: -80px;
	bottom: -100px;
	margin: -130px -150px 0px -100px;
}
.ihbox-style-7_area .pattern-icon_02{
	right: 180px;
	top: 80px;
}
.ihbox-style-7_area .pattern_img_02{
	right: 360px;
	bottom: 100px;
}
.ihbox-style-7_area .actionbox_img_02{
	right: -160px;
	bottom: 0px;
}
.team_two{
	padding: 200px 0 100px 0;
}
.testimonial_two .container{
	width: 1265px;
    overflow: hidden;
    border-radius: 15px;
	position: relative;
	z-index: 1;
	max-width: none !important;
}
.testimonial_two .container:after{
	position: absolute;
    z-index: -1;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	background-color: var(--pbmit-global-color);
}
.testimonial-two_area{
	padding: 130px 0 135px 0;
}
.testimonial-two_slider{
	max-width: none;
	width: 1220px;
    overflow: hidden;
	margin-left: auto;
}
.testimonial-two_area .pbmit-heading-subheading .pbmit-subtitle{
	color: var(--pbmit-secondary-color);
}
.testimonial-two_slider .swiper-slider{
	padding-bottom: 65px;
}
.testimonial-two_slider .swiper-button-next{
	top: inherit;
    bottom: 0px;
    left: inherit;
    right: 48%;
}
.testimonial-two_slider .swiper-button-next:after, 
.testimonial-two_slider .swiper-button-prev:after{
	color: var(--pbmit-white-color);
}
.testimonial-two_slider .swiper-button-prev{
	top: inherit;
    bottom: 0px;
    left: 44%;
}
/** Homepage 03 **/
.stratum-countdown_bg{
	border-radius: 15px;
	background-color: var(--pbmit-global-color);
}
.stratum-countdown_bg .pbmit-col_1,
.stratum-countdown_bg .pbmit-col_2,
.stratum-countdown_bg .pbmit-col_3{
	height: 100%;
}
.stratum-countdown_bg .pbmit-col_1{
	width: 30%;
}
.stratum-countdown_bg .pbmit-col_1 img{
	border-radius: 15px;
}
.stratum-countdown_bg .pbmit-col_2{
	width: 50%;
}
.stratum-countdown_bg .pbmit-col_3{
	width: 20%;
}
.stratum-countdown_box{
	padding: 29px 60px 10px 80px;
}
#pbmit-clock{
	display: flex;
	font-size: 32px;
}
#pbmit-clock .count-time{
	min-width: 70px;
    margin-right: calc(10px / 2);
	text-align: left;
    position: relative;
}
#pbmit-clock .countdown-amount{
	font-size: 24px;
    line-height: 30px;
	color: var(--pbmit-secondary-color);
}
#pbmit-clock .countdown-period{
	font-size: 14px;
    line-height: 14px;
	display: block;
	color: var(--pbmit-white-color);
}
#pbmit-clock .count-time:not(:last-child):after{
	content: '\e824';
    font-family: 'pbminfotech-base-icons';
    position: absolute;
    top: 12px;
    right: 8px;
    font-size: 30px;
    line-height: 30px;
	color: var(--pbmit-white-color);
}
.pbmit-btn-style-text{
	text-align: center;
}
.pbmit-btn-style-text .pbmit-widget-container{
	transform: rotate(-18deg);
	position: relative;
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s, transform var(--e-transform-transition-duration, .4s);
}
.pbmit-btn-style-text .pbmit-button-wrapper{
	display: inline-block;
	position: relative;
}
.pbmit-btn-style-text .pbmit-button-wrapper .pbmit-button{
	display: flex;
	align-items: center;
	width: 136px;
    height: 136px;
    padding: 25px;
	font-weight: 600;
	border-radius: 100%;
    position: relative;
    overflow: hidden;
	transition: all .3s;
	color: var(--pbmit-global-color);
	background-color: var(--pbmit-white-color);
	font-family: var(--pbmit-body-typography-font-family);
}
.pbmit-btn-style-text .pbmit-button-wrapper .pbmit-button:hover{
	color: var(--pbmit-white-color);
}
.pbmit-btn-style-text .button-content-wrapper{
	display: flex;
    justify-content: center;
}
.pbmit-btn-style-text .button-content-wrapper .button-text{
	flex-grow: 1;
    order: 10;
    display: inline-block;
}
.pbmit-btn-style-text .button-content-wrapper .button-text,
.pbmit-btn-style-text .pbmit-button-wrapper .pbmit-button:hover .button-text{
	transform: unset;
}
.pbmit-btn-style-text .pbmit-button-hover{
	position: absolute;
    content: "";
    width: 0;
    height: 0;
    left: 0;
    top: 0;
    z-index: -1;
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.9s;
    transition: all 0.9s;
}
.pbmit-btn-style-text .pbmit-widget-container:hover{
	transform: rotate(0deg);
}
.pbmit-btn-style-text .pbmit-button-wrapper a:hover .pbmit-button-hover{
	width: 350px;
    height: 350px;
	background-color: var(--pbmit-secondary-color);
}
.pbmit-btn-style-text .button-content-wrapper .button-text
.pbmit-btn-style-text .pbmit-button-wrapper a:hover .button-content-wrapper .button-text{
	transform: unset;
}
.course-style-arrow_btn{
	position: relative;
}
.course-style-arrow_btn .swiper-button-next,
.course-style-arrow_btn .swiper-button-prev{
	position: static;
	width: 80px;
    height: 80px;
	border-radius: 50%;
    background-color: rgba(102, 33, 186, .9);
}
.course-style-arrow_btn .swiper-button-next{
	margin-left: 10px;
}
.course-style-arrow_btn .swiper-button-next:after,
.course-style-arrow_btn .swiper-button-prev:after{
	font-size: 22px;
	color: var(--pbmit-white-color);
}
.service_three{
	padding: 130px 0 80px 0;
	background-image: url(../images/homepage-3/bg/fly-pattern-img-01.png);
    background-position: top left;
    background-repeat: no-repeat;
	position: relative;
}
.service-three-bg-overlay{
	height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
	background-image: url(../images/homepage-3/bg/fly-pattern-img-02.png);
    background-position: top right;
    background-repeat: no-repeat;
    opacity: 1;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}
.video-section_three{
	position: relative;
	margin-top: 30px;
}
.video-section_three .contact-pattern-02_img{
	right: -10px;
	top: -50px;
}
.video-section_three .contact-pattern-02_img img{
	animation: animation01 2s infinite alternate;
}
.video-section_three .video-bg_img{
	position: relative;
	text-align: center;
}
.video-section_three .video-bg_img img{
	-webkit-mask-image: url(../images/homepage-3/bg/video-bg-sahpe.png);
	background-image: url(../images/homepage-3/bg/video-bg-sahpe.png);
    -webkit-mask-size: contain;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
}
.video-section_three .video-bg_img:after{
	content: '';
    position: absolute;
	left: 0;
    width: 100%;
	top: -30px;
    height: 539px;
    background: url(../images/homepage-3/bg/about-stroke-02.png);
    background-repeat: no-repeat;
}
.video-section_three .video-btn_box{
	top: 33%;
	left: 44%;
}
.video-section_three .video-btn_box .pbmit-icon{
	position: relative;
	border-radius: 50%;
	font-size: 25px;
    padding: 45px;
	display: inline-block;
    line-height: 1;
    transition: all .3s;
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
}
.video-section_three .video-btn_box .pbmit-icon:after,
.video-section_three .video-btn_box .pbmit-icon:before{
	position: absolute;
    content: '';
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    opacity: 0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    border: 8px solid rgba(102, 33, 186, .2);
}
.video-section_three .video-btn_box .pbmit-icon:before{
	-webkit-animation: pulse-border-2 1.5s linear infinite;
    -moz-animation: pulse-border-2 1.5s linear infinite;
    -o-animation: pulse-border-2 1.5s linear infinite;
    animation: pulse-border-2 1.5s linear infinite;
}
@keyframes pulse-border-2{
	0% {
		transform: scale(1);
		-webkit-transform: scale(1);
		opacity: 1;
	}
	
	100% {
		transform: scale(1.7);
		-webkit-transform: scale(1.7);
		opacity: 0;
	}
}
.video-section_three .video-btn_box .pbmit-icon:after {
    -webkit-animation: pulse-border 1s linear infinite;
    -moz-animation: pulse-border 1s linear infinite;
    -o-animation: pulse-border 1s linear infinite;
    animation: pulse-border 1s linear infinite;
}
@keyframes pulse-border{
	0% {
		transform: scale(1);
		-webkit-transform: scale(1);
		opacity: 1;
	}
	
	100% {
		transform: scale(1.5);
		-webkit-transform: scale(1.5);
		opacity: 0;
	}
}
.team_three{
	padding: 130px 0px 120px 0px;
}
.team_three .swiper-slider{
	padding-bottom: 80px;
}
.team_three .swiper-button-next{
	top: inherit;
    bottom: 0px;
    left: inherit;
    right: 47%;
}
.team_three .swiper-button-prev{
	top: inherit;
    bottom: 0px;
    left: 47%;
}
.faq-three_box{
	padding: 130px 0;
	position: relative;
	z-index: 1;
}
.faq-three-bg_layer{
	position: absolute;
    height: 100%;
    right: 0;
    top: 0;
    left: 0;
    width: auto;
    z-index: -1;
    overflow: hidden;
	border-radius: 15px;
	margin: 0px -220px 0px -220px;
	background-color: var(--pbmit-global-color);
}
.faq-three_leftbox{
	position: relative;
}
.faq-three_leftbox .faq-pattern-02_img{
	left: 70px;
	top: 125px;
}
.faq-three_leftbox .faq-pattern-01_img{
	right: 60px;
	top: 50px;
}
.faq-three_leftbox .faq-pattern-03_img{
	right: 15px;
	bottom: 150px;
}
.faq-three_rightbox{
	margin-left: 50px;
}
.faq-three_rightbox .pbmit-heading-subheading .pbmit-subtitle{
	color: var(--pbmit-secondary-color);
}
.pbmit-element-award-box-style-1 .row{
	position: relative;
}
.pbmit-element-award-box-style-1 .row:before{
	content: '\e828';
    font-family: 'pbminfotech-base-icons';
    font-size: 250px;
    line-height: 250px;
    position: absolute;
    top: 48%;
    left: 50%;
    z-index: 1;
    color: var(--pbmit-global-color);
    -khtml-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
.testimonial_three{
	margin-top: 40px;
	margin-bottom: 40px;
	position: relative;
}
.testimonial_three img{
	border-radius: 500px;
}
.testimonial_three .container{
	position: relative;
}
.testimonial_three .testimonial-img_first{
	left: 75px;
	top: 0;
}
.testimonial_three .testimonial-img_second{
	left: -10%;
	top: 45%;
}
.testimonial_three .testimonial-img_third{
	left: -20%;
	bottom: 0;
}
.testimonial_three .testimonial-img_four{
	right: -10%;
	top: 35%;
}
.testimonial_three .testimonial-img_five{
	right: -24%;
	bottom: 0;
}
.testimonial_three .testimonial-img_six{
	right: 75px;
	top: 0;
}
.testimonial_three .swiper-button-next,
.testimonial_three .swiper-button-prev{
	bottom: 20%;
    top: inherit;
}
.testimonial_three .swiper-button-next{
	right: 37%;
}
.testimonial_three .swiper-button-prev{
	left: 37%;
}
.appointment-three_leftbox{
	padding-right: 50px;
	position: relative;
}
.appointment-three_leftbox .pbmit_heading{
	font-size: 20px;
    line-height: 26px;
	color: #030304;
	margin-bottom: 20px;
}
.appointment-three_leftbox .list-group{
	padding-right: 60px;
}
.appointment-three_leftbox .contact-pattern_img{
	left: -200px;
	bottom: -90px;
}
.appointment-three_form{
	position: relative;
	padding: 60px 40px 40px 40px;
	border-radius: 15px;
	background-color: var(--pbmit-white-color);
}
.appointment-three_form form .form-control{
	background-color: var(--pbmit-light-color);
}
.appointment-three_form .contact-pattern_02_img{
	right: -60px;
	top: -60px;
}

/*----------------------------------------*/
/*01 - Inner Page 
/*----------------------------------------*/
/** 01 - About Us **/
.about-us-page .client_one{
	margin-top: 180px;
}
/** 02 - Our History **/
.pbmit-timeline-inner{
	position: relative;
}
.history_arrow{
	position: absolute;
	top: 13px;
	right: 0;
}
.history_arrow .swiper-button-next{
	margin-left: 10px;
}
.history_arrow .swiper-button-next, 
.history_arrow .swiper-button-prev{
	position: static;
	width: 80px;
    height: 80px;
	border-radius: 50%;
    background-color: rgba(249, 138, 23,.9);
}
.history_arrow .swiper-button-next:after, 
.history_arrow .swiper-button-prev:after{
	font-size: 22px;
	color: var(--pbmit-white-color);
}
.history_arrow .swiper-button-next:hover, 
.history_arrow .swiper-button-prev:hover{
	background-color: var(--pbmit-secondary-color);
}
.pbmit-element-timeline-style-1{
	margin-top: 90px;
	color: var(--pbmit-white-color);
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper.pbmit-slide-even .pbmit-feature-image {
    order: 1;
    justify-content: start;
    transition: all 0.4s, opacity 0.4s 0.9s, transform 0.4s 0.9s;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .pbmit-timeline-year {
	font-size: 20px;
	line-height: 30px;
	margin-bottom: 15px;
	letter-spacing: 0;
	font-weight: 600;
	color: var(--pbmit-secondary-color);
	font-family: var(--pbmit-heading-typography-font-family);
}
.pbmit-element-timeline-style-1 .pbmit-timeline-title {
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 10px;
	font-weight: 600;
	padding: 0 80px;
	color: var(--pbmit-white-color);
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .pbmit-timeline-desc {
	margin: 0;
	padding: 0 50px;
	line-height: 22px;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper {
	display: grid;
	width: 100%;
	height: auto;
	position: relative;
	justify-items: center;
	grid-template-rows: 1fr 1fr;
	text-align: center;
	grid-gap: 160px;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .pbmit-same-height.steps-content_wrap{
	justify-content: flex-end;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .dot{
	background-color: var(--pbmit-white-color);
	display: block;
	line-height: normal;
	font-size: 14px;
	margin: auto;
	width:  10px;
	height:  10px;
	transform: rotate(45deg);
	z-index: 2;
	position: relative;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot{
	position: absolute;
	z-index: 2;
	width: 100%;
	left: 0;
	bottom: 0;
	top: 0;
	right: 0;
	height: -moz-fit-content;
	height: fit-content;
	margin: auto !important;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .dot:after {
	content: "";
	position: absolute;
	left: -11px;
	right: 0;
	bottom: 0;
	width: 1px;
	height: 40px;
	margin: 0;
	background: rgb(255,255,255,.40);
	transform: rotate(-45deg);
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper.pbmit-slide-even .steps-dot .dot:after {
    left: 19px;
    top: 0;
    bottom: auto;
}
.pbmit-element-timeline-style-1 .pbmit-element-posts-wrapper .pbmit-timeline-wrapper.pbmit-slide-even  .steps-dot .dot:after{
	left: 19px;
	top: 0;
	bottom: auto;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .steps-dot-line {
	color: transparent;
	line-height: 10px;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
} 
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .steps-dot-line::before, 
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .steps-dot-line::after {
	content: "";
	width: calc(50% + 10px * 100);
	height: 1px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background-repeat: no-repeat;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .steps-dot-line::after {
	left: 50%;
	background: linear-gradient(90deg, rgb(255,255,255,0.05 ) ,rgb(255,255,255 ,0.05 ));
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot .steps-dot-line::before {
	right: 50%;
	background: linear-gradient(90deg,rgb(255,255,255,.10),rgb(255,255,255,.10));
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .pbmit-same-height {
	display: flex;
	flex-direction: column;
	justify-content: end;
}
.pbmit-element-timeline-style-1 .pbmit-element-posts-wrapper .pbmit-timeline-wrapper.pbmit-slide-even.swiper-slide-duplicate:nth-last-child(2) .pbmit-feature-image{
	order: 0;
}
.pbmit-element-timeline-style-1 .pbmit-element-posts-wrapper .pbmit-timeline-wrapper.pbmit-slide-even .pbmit-feature-image{
	order: 1;
	justify-content: start;
	transition: all 0.4s, opacity 0.4s 0.9s, transform 0.4s 0.9s;
}
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper:not(.pbmit-slide-even) .pbmit-feature-image {
	transition: all 0.4s, opacity 0.4s 0.9s, transform 0.4s 0.9s;
} 
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-dot,
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .pbmit-feature-image,
.pbmit-element-timeline-style-1 .pbmit-timeline-wrapper .steps-content_wrap {
	opacity: 1;
} 
.pbmit-element-timeline-style-1 .pbmit-element-posts-wrapper{
	margin-top: 100px;
}

/** 03 - Service Detail **/
.service_details{
	padding-top: 80px;
	padding-bottom: 80px;
}
.service-right-col{
	position: relative;
}
.service-right-col::before{
	position: absolute;
    content: '';
    top: -45px;
	right: -45px;
    width: 73px;
    height: 60px;
    z-index: 1;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	background-image: url(../images/pattern-icon-02.svg);
}
.service_details .all-post-list li{
	border-radius: 50px;
    margin: 0;
    padding: 12px 30px;
    position: relative;
	transition: all 0.4s ease 0s;
}
.service_details .all-post-list li:not(:last-child){
	margin-bottom: 2px;
}
.service_details .all-post-list li:before{
	position: absolute;
    content: " ";
    display: inline-block;
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 50px;
    -webkit-transition: all .500s ease-in-out;
    transition: all .500s ease-in-out;
}
.service_details .all-post-list ul > li a{
	display: block;
    position: relative;
    border-radius: 0;
    font-size: 17px;
    line-height: 27px;
    padding: 0 25px;
    font-weight: 600;
	font-family: var(--pbmit-heading-typography-font-family);
}
.service_details .all-post-list ul > li a:before{
	content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50px;
    z-index: -1;
    -webkit-transition: all .500s ease-in-out;
    transition: all .500s ease-in-out;
    background-color: var(--pbmit-global-color);
    -khtml-transform: translateX(0%) translateY(-50%);
    -moz-transform: translateX(0%) translateY(-50%);
    -ms-transform: translateX(0%) translateY(-50%);
    -o-transform: translateX(0%) translateY(-50%);
    transform: translateX(0%) translateY(-50%);
}
.service_details .all-post-list ul > li a:after{
	content: "\e814";
    font-family: 'pbminfotech-base-icons';
    position: absolute;
    left: inherit;
    right: 0;
    font-size: 20px;
    top: 50%;
    z-index: 1;
    color: var(--pbmit-global-color);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .500s ease-in-out;
    transition: all .500s ease-in-out;
}
.service_details .all-post-list ul > li.post-active:before,
.service_details .all-post-list ul > li:hover:before{
	width: 100%;
    background-color: var(--pbmit-global-color);
}
.service_details .all-post-list ul > li.post-active a,
.service_details .all-post-list ul > li:hover a{
	color: var(--pbmit-white-color);
}
.service_details .all-post-list ul > li.post-active a:before,
.service_details .all-post-list ul > li:hover a:before{
	background-color: var(--pbmit-white-color);
}
.service_details .all-post-list ul > li.post-active a:after,
.service_details .all-post-list ul > li:hover a:after{
	color: var(--pbmit-white-color);
}
.widget .download .item-download:first-child a{
    margin-bottom: 10px;
}
.widget .download .item-download a{
	position: relative;
    text-align: center;
    display: flex;
    align-items: center;
    border-radius: 50px;
    padding: 15px 25px;
    justify-content: space-between;
    border: 1px solid rgba(102, 33, 186, .5);
}
.widget .download .item-download .pbmit-download-icon{
	display: flex;
    align-items: center;
	margin-right: 10px;
}
.widget .download .item-download .pbmit-download-icon i{
	font-size: 25px;
    line-height: 25px;
    margin-right: 10px;
	color: var(--pbmit-global-color);
}
.widget .download .item-download .pbmit-download-title{
	font-size: 14px;
    line-height: 24px;
    margin-bottom: 0;
    text-transform: uppercase;
    color: var(--pbmit-global-color);
}
.widget .download .item-download .pbmit-download-arrow i{
	font-size: 20px;
	line-height: 20px;
	color: var(--pbmit-global-color);
	transition: all 0.4s ease 0s;
}
.widget .download .item-download:nth-child(2) a{
	background-color: var(--pbmit-global-color);
}
.widget .download .item-download:nth-child(2) a .pbmit-download-icon i,
.widget .download .item-download:nth-child(2) a .pbmit-download-title,
.widget .download .item-download:nth-child(2) a .pbmit-download-arrow i,
.widget .download .item-download a:hover .pbmit-download-icon i,
.widget .download .item-download a:hover .pbmit-download-title,
.widget .download .item-download a:hover .pbmit-download-arrow i{
	color: var(--pbmit-white-color);
}
.widget .download .item-download a:hover{
	background-color: var(--pbmit-global-color);
}
.widget .download .item-download:nth-child(2) a:hover{
	background-color: var(--pbmit-secondary-color);
	border-color: var(--pbmit-secondary-color);
} 
.pbmit-service-feature-image{
	margin-bottom: 50px;
}
.pbmit-service-feature-image img{
	border-radius: 15px;
}
.pbmit-heading .pbmit-title{
	margin-bottom: 20px;
}
.pbmit-service_imgbox{
	margin-top: 50px;
}
.pbmit-service-single .list-group{
	margin-top: 40px;
}
.pbmit-service-single .service-single-img{
	background-image: url(../images/service/service-single-02.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	height: 100%;
	border-radius: 15px;
}
.pbmit-service-single .accordion{
	margin-top: 50px;
}
.pbmit-service-single .pbmit-ihbox-style-4 .pbmit-element-title{
	font-size: 22px;
	line-height: 22px;
}
.pbmit-service-single .pbmit-ihbox-style-4 .pbmit-ihbox-headingicon{
	text-align: left;
}
.pbmit-service-single .pbmit-ihbox-style-4 .pbmit-icon-type-icon{
    margin-left: 30px;
    margin-bottom: 60px;
}
.pbmit-service-single .pbmit-miconheading-style-4:not(:last-child) .pbmit-ihbox-style-4 .pbmit-ihbox-icon::after{
	right: -7px;
	font-size: 35px;
}
.pbmit-service-single .pbmit-entry-content .service-single-img img{
	border-radius: 15px;
}
.pbmit-service-single .faq-area{
	margin-top: 50px;
}
.pbmit-service-single .accordion .accordion-button{
	color: var(--pbmit-blackish-color);
}
.pbmit-service-single .accordion .accordion-item{
	border-color: rgba(0, 0, 0, .1);
}
.pbmit-service-single .accordion .accordion-body{
	color: inherit;
}
.pbmit-service-single .accordion .pbmit-accordion-icon{
	margin-right: 12px;
}
.pbmit-service-single .accordion .pbmit-accordion-icon i{
	font-size: 13px;
}

/** 04 - Event Detail **/
.pbmit-event-single-image{
	margin-bottom: 40px;
}
.pbmit-event-single-image img{
	border-radius: 15px;
}
.pbmit-single-event-body{
	margin-bottom: 50px;
}
.pbmit-single-event-short-info .pbmit-event-details{
	margin-bottom: 30px;
}
.pbmit-single-event-short-info .pbmit-event-title{
	margin-bottom: 10px;
}
.pbmit-single-event-short-info .pbmit-event-organizer{
	display: inline-block;
    margin-right: 10px;
	color: #555555;
}
.pbmit-single-event-short-info .pbmit-viewed-event{
	position: relative;
    display: inline-block;
	margin-right: 10px;
}
.pbmit-single-event-short-info .pbmit-viewed-event i{
	color: #0096ff;
	transition: color .2s ease-in-out;
}
.pbmit-single-event-short-info .pbmit-tooltiptext{
	top: 100%;
    left: 50%;
    transform: translate(-50%, 0);
	min-width: 180px;
    font-size: 14px;
	visibility: hidden;
    width: auto;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    background: var(--pbmit-white-color);
    color: var(--pbmit-dark-color);
    text-align: center;
    padding: 10px;
    border-radius: 4px;
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: opacity 1s;
}
.pbmit-single-event-short-info .pbmit-viewed-event:hover i{
	color: #111111;
}
.pbmit-single-event-short-info .pbmit-viewed-event:hover .pbmit-tooltiptext{
	opacity: 1;
	visibility: visible;
}
.pbmit-single-event-body-sidebar .nav-tabs{
	border-bottom: none;
}
.pbmit-single-event-body-sidebar .nav-tabs .nav-item{
	width: 100%;
}
.single-event-listing .pbmit-single-event-body-sidebar .nav-tabs .nav-link{
	padding: 16px 30px;
    border-radius: 50px;
	width: 100%;
	font-weight: 600;
    text-align: center;
	border: none;
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
	font-family: var(--pbmit-heading-typography-font-family);
	transition: .2s;
}
.single-event-listing .pbmit-single-event-body-sidebar .nav-tabs .nav-link:hover{
	background-color: var(--pbmit-secondary-color);
}
.pbmit-single-event-sidebar-info{
	border-radius: 15px;
    margin-top: 20px;
    padding: 40px 40px 40px 40px;
	margin-bottom: 35px;
	background-color: var(--pbmit-white-color);
}
.pbmit-single-event-sidebar-info .pbmit-event-sidebar-info:not(:last-child){
	margin-bottom: 30px;	
}
.pbmit-single-event-right-content .pbmit-heading-text{
	font-size: 17px;
    line-height: 27px;
	margin-bottom: 5px;
	font-weight: 700;
	color: #111111;
}
.single-event-listing .pbmit-share-this-event .pbmit-social-icon{
	height: 35px;
    width: 35px;
	line-height: 35px;
    display: inline-block;
    position: relative;
    margin: 4px;
    float: left;
	text-align: center;
}
.single-event-listing .pbmit-share-this-event .pbmit-social-icon a{
	height: 35px;
    width: 35px;
    display: inline-block;
	border-radius: 100%;
    opacity: 1;
    transition: .2s;
	color: var(--pbmit-white-color);
}
.single-event-listing .pbmit-share-this-event .pbmit-facebook a{
	background: #38529a;
}
.single-event-listing .pbmit-share-this-event .pbmit-twitter a{
	background: #000000;
}
.single-event-listing .pbmit-share-this-event .pbmit-linkedin a{
	background: #3671ae;
}
.single-event-listing .pbmit-share-this-event .pbmit-xing a{
	background: #265c60;
}
.single-event-listing .pbmit-share-this-event .pbmit-pinterest a{
	background: #b81d1a;
}
.single-event-listing .pbmit-share-this-event .pbmit-social-icon a:hover{
	opacity: .8;
}
.pbmit-single-event-footer .accordion .accordion-item{
	border-radius: 30px;
    margin-bottom: 20px;
    overflow: hidden;
	border: none;
    background-color: var(--pbmit-white-color);
}
.pbmit-single-event-footer .accordion .accordion-header .accordion-button{
	display: flex !important;
	position: relative;
	padding: 30px;
	border: 0;
	margin-bottom: 0;
	align-items: center;
}
.pbmit-single-event-footer .accordion .accordion-header{
	position: relative;
}
.pbmit-single-event-footer .accordion .accordion-header:after{
	content: "";
    position: absolute;
    width: 35px;
    height: 3px;
    left: 30px;
    bottom: 27px;
	background-color: var(--pbmit-secondary-color);
}
.pbmit-single-event-footer .accordion .accordion-button{
	border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}
.pbmit-single-event-footer .accordion .accordion-button:before{
	display: block;
    height: 1px;
    content: '';
    position: absolute;
    width: auto;
    bottom: 28px;
    left: 30px;
    right: 30px;
    background-color: rgba(0, 0, 0, .1);
}
.pbmit-single-event-footer .accordion-button:not(.collapsed){
	background-color: transparent;
	color: var(--pbmit-blackish-color);
}
.pbmit-single-event-footer .accordion .pbmit-accordion-title{
	font-size: 22px;
    line-height: 32px;
	padding-bottom: 8px;
    font-weight: 700;
	color: var(--pbmit-blackish-color);
}
.pbmit-single-event-footer .accordion-button::after{
	display: none;
}
.pbmit-single-event-footer .accordion-item:last-of-type .accordion-button.collapsed{
	border-radius: 0px;
}
.pbmit-single-event-footer .accordion-item:last-of-type .accordion-button:focus{
	border: none;
	box-shadow: none;
}
.pbmit-single-event-footer .accordion-item .pbmit-accordion-icon{
	display: block;
	width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 10px;
    text-align: center;
    border-radius: 50px;
    position: relative;
	margin-left: auto;
    color: var(--pbmit-white-color);
    background-color: var(--pbmit-global-color);
}
.pbmit-single-event-footer .accordion-item .pbmit-accordion-icon span i{
	font-size: 10px;
}
.pbmit-single-event-footer .accordion-item .accordion-body{
	padding: 0px 40px 30px 40px;
	color: inherit;
}
.pbmit-single-event-footer .accordion-item .accordion-body .col-md-3{
	flex: 1;
    max-width: 260px;
}
.pbmit-single-event-footer .accordion-item .accordion-body .col-md-9{
	flex: 1;
}
.pbmit-single-event-footer .accordion-item .accordion-body .pbmit-organizer-logo-wrapper{
	text-align: center;
}
.pbmit-single-event-footer .accordion-item .accordion-body .pbmit-organizer-logo{
	display: inline-block;
}
.pbmit-single-event-footer .accordion-item .accordion-body .pbmit-organizer-logo img{
	width: 220px;
    height: 220px;
    border-radius: 100%;
    border: 4px solid var(--pbmit-secondary-color);
}
.pbmit-single-event-footer .accordion-item .accordion-body .pbmit-heading-text{
	font-size: 18px;
    line-height: 1.42;
    margin: 10px 0;
    font-weight: 700;
}
.pbmit-single-event-footer .accordion-item .accordion-body .pbmit-heading-text span{
	font-size: 18px;
    line-height: 28px;
    color: var(--pbmit-global-color);
}
.pbmit-single-event-footer .accordion-item .pbmit-organizer-social-links{
	display: inline-block;
    width: 100%;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon{
	height: 35px;
    width: 35px;
	line-height: 35px;
    display: inline-block;
    position: relative;
    margin: 4px;
	text-align: center;
    float: left;
    font-size: 13px;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon a{
	height: 35px;
    width: 35px;
    display: inline-block;
    background: transparent;
    border-radius: 100%;
    opacity: 1;
    transition: .2s;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon a:hover{
	opacity: .8;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon a:hover i{
	color: var(--pbmit-white-color);
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon a i{
	color: var(--pbmit-white-color);
} 
.pbmit-single-event-footer .accordion-item .pbmit-social-icon.pbmit-weblink a{
	background: #555555;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon.pbmit-facebook a{
	background: #38529a;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon.pbmit-instagram a{
	background: radial-gradient(circle at 30% 107%,#fdf497 0,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon.pbmit-twitter a{
	background: #000;
}
.pbmit-single-event-footer .accordion-item .pbmit-social-icon.pbmit-youtube a{
	background: #ea1717;
}
.pbmit-single-event-footer .accordion-item .pbmit-organizer-contact-actions{
	margin-top: 15px;
}
/** 05 - Blog Detail **/
.pbmit-column_four .container-fluid{
	padding: 0 30px;
}
/** Sidebar Right**/
.blog-right-col .sidebar{
	position: relative;
}
.blog-right-col .sidebar:before{
	position: absolute;
    content: '';
    top: -45px;
    right: -36px;
    width: 73px;
    height: 60px;
    z-index: 1;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
	background-image: url(../images/pattern-icon-02.svg);
} 
.sidebar .widget{ 
    border: none;
    padding: 0;
    margin-bottom: 45px;
    background-color:transparent;
}
.sidebar .widget:last-child{
    margin-bottom: 0;
}
.single-blog-author {
    text-align: center;
    padding: 40px 40px 30px 40px;
    border-radius: 15px;
    background-color: var(--pbmit-global-color);
}
.single-blog-author .author-img {
    display: inline-block;
    border-radius: 50%;
    margin-bottom: 25px;
    border: 3px solid var(--pbmit-secondary-color);
}
.single-blog-author img {
    height: 192px;
    max-width: 192px;
    border-radius: 50%;
}
.single-blog-author .pbmit-author-detail {
    margin-bottom: 20px;
}
.single-blog-author .pbmit-author-title {
    font-size: 24px;
    line-height: 30px;
    text-transform: capitalize;
    margin-bottom: 3px;
    color: var(--pbmit-white-color);
}
.single-blog-author .pbmit-author-cat {
    font-size: 15px;
    line-height: 15px;
    color: var(--pbmit-white-color);
}
.single-blog-author .pbmit-author-position {
    font-size: 15px;
    line-height: 20px;
    color: var(--pbmit-white-color);
}
.single-blog-author .pbmit-social-links li:not(:last-child){
	padding-right: 5px;
}
.single-blog-author .pbmit-social-links li a {
    height: 40px;
    width: 40px;
    font-size: 14px;
    line-height: 40px;
    border-radius: 50%;
	display: inline-block;
    color: var(--pbmit-white-color);
    border: 1px solid var(--pbmit-white-color);
}
.single-blog-author .pbmit-social-links li a:hover{
	color: var(--pbmit-blackish-color);
	background-color: var(--pbmit-white-color);
}
.widget .search-form {
    position: relative;
}
.widget .search-form input{
	height: 50px;
	padding: 0 25px;
	padding-right: 50px;
    border-radius: 50px;
	display: block;
    width: 100%;
	font-size: 15px;
	line-height: normal;
	font-weight: 300;
    color: var(--pbmit-blackish-color);
    background-color: var(--pbmit-white-color);
    border: 1px solid var(--pbmit-global-color);
}
.widget .search-form input::placeholder{
	color: rgba(0, 0, 0 , .9);
}
.widget .search-form .search-submit{
	position: absolute;
    top: 50%;
    right: 20px;
    width: 0;
    height: 0;
    font-size: 16px;
	line-height: 58px;
    z-index: 1;
    padding: 0;
    margin: 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--pbmit-white-color);
}
.widget .search-form .search-submit:after{
	position: absolute;
    font-family: 'pbminfotech-base-icons';
    content: '\e8c4';
    right: 0px;
    top: 50%;
    font-size: 16px;
    color: var(--pbmit-blackish-color);
    line-height: normal;
    font-weight: 400;
    font-style: normal;
    -khtml-transform: translateX(0%) translateY(-50%);
    -moz-transform: translateX(0%) translateY(-50%);
    -ms-transform: translateX(0%) translateY(-50%);
    -o-transform: translateX(0%) translateY(-50%);
    transform: translateX(0%) translateY(-50%);
}
.sidebar .widget .widget-title{ 
    font-weight: 600;
    font-size: 24px;
    line-height: 24px;
    letter-spacing: 0px;
    text-transform: capitalize;
    font-style: normal;
	margin-bottom: 30px;
	color: var(--pbmit-blackish-color);
	font-family: var(--pbmit-heading-typography-font-family);
} 
.sidebar .widget-categories li{
	position: relative;
	padding: 0;
}
.sidebar .widget-categories .pbmit-cat-li{
	display: flex;
    align-items: center;
    justify-content: space-between;
	font-weight: 600;
	color: var(--pbmit-blackish-color);
	font-family: var(--pbmit-heading-typography-font-family);
}
.sidebar .widget-categories .pbmit-cat-li a{
	font-size: 16px;
    line-height: 26px;
    position: relative;
    letter-spacing: 0;
	font-weight: 600;
	text-transform: capitalize;
	padding-left: 20px;
    margin: 5px 0;
	font-family: var(--pbmit-heading-typography-font-family);
}
.sidebar .widget-categories .pbmit-cat-li a:before{
	position: absolute;
    content: '';
    left: 0;
    top: 50%;
    margin-top: -3px;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background-color: var(--pbmit-global-color);
	transition: all .25s ease-in-out;
}
.sidebar .widget-categories .pbmit-brackets{
	margin-left: 8px;
    transition: all .25s ease-in-out;
}
.sidebar .widget-categories .pbmit-cat-li a:hover,
.sidebar .widget-categories .pbmit-cat-li a:hover+.pbmit-brackets{
	color: var(--pbmit-global-color);
}
.widget-recent-post .recent-post-list-li{
	display: flex!important;
    align-items: center;
    width: 100%;
    margin-top: 8px;
	padding-bottom: 12px;
}
.widget-recent-post .recent-post-list-li:first-child{
	margin-top: 0;
}
.widget-recent-post .recent-post-list-li>a{
	width: 91px;
    flex-shrink: 0;
    margin-right: 20px;
	display: inline-block;
}
.widget-recent-post .recent-post-list-li>a img{
	border-radius: 10px;
}
.widget-recent-post .pbmit-rpw-content{
	display: flex;
	flex-direction: column-reverse;
}
.widget-recent-post .pbmit-rpw-title a{
	margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-transform: capitalize;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
	font-family: var(--pbmit-heading-typography-font-family);
}
.widget-recent-post .pbmit-rpw-title a:hover{
	color: var(--pbmit-global-color);
}
.pbmit-rpw-content .pbmit-rpw-date a{
	font-size: 13px;
    margin-bottom: 5px;
    font-weight: 600;
	display: inline-block;
    color: var(--pbmit-global-color);
}
.widget-tag-cloud ul li{
	padding-bottom: 8px;
	display: inline-block;
	margin-right: 8px;
}
aside.widget.widget-tag-cloud a,
.pbmit-blog-meta-bottom .pbmit-meta-tags a{
    display: inline-block;
    font-size: 13px;
    padding: 0 15px;
    height: 30px;
    line-height: 30px;
    letter-spacing: 0;
    font-weight: 600;
    text-transform: capitalize;
    transition: 0.4s ease-out 0s;
    border-radius: 20px;
    color: var(--pbmit-blackish-color);
    background-color: var(--pbmit-white-color);
	font-family: var(--pbmit-heading-typography-font-family);
}
aside.widget.widget-tag-cloud a:hover,
.pbmit-blog-meta-bottom .pbmit-meta-tags a:hover{
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
} 
aside.widget.pbmit-service-ad{
	background-image: url(../images/bg/ads-bg-img.jpg);
	position: relative;
    overflow: hidden;
    background-size: cover;
	background-repeat: no-repeat;
	border-radius: 15px;
}
aside.widget.pbmit-service-ad:before{
	position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: repeat;
	background-image: url(../images/bg/ad-bg-pattern.png);
}
.widget.pbmit-service-ad .textwidget:before,
.widget.pbmit-service-ad .textwidget:after{
	content: "";
    display: table;
}
.widget.pbmit-service-ad .textwidget:after{
	clear: both;
}
.widget.pbmit-service-ad .pbmit-service-ads-wrapper{
	position: relative;
    overflow: hidden;
	z-index: 1;
	text-align: center;
    padding: 50px 20px 40px 20px;
	border-radius: 15px;
    color: var(--pbmit-global-color);
}
.widget.pbmit-service-ad .pbmit-service-ads-wrapper:before,
.widget.pbmit-service-ad .pbmit-service-ads-wrapper:after{
	content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .8;
    z-index: -1;
	background: linear-gradient(to top, rgba(102, 33, 186, 1) 0%, rgba(102, 33, 186, 0) 100%);
}
.widget.pbmit-service-ad .pbmit-service-ads-wrapper:after{
	top: 0;
    bottom: inherit;
	background: linear-gradient(to bottom, rgba(102, 33, 186, 1) 0%, rgba(102, 33, 186, 0) 100%);
}
.pbmit-service-ads-wrapper .pbmit-ads-img {
    margin-bottom: 35px;
}
.pbmit-service-ads-wrapper .pbmit-ads-img img{
	width: 60px;
}
.widget .pbmit-service-ads-wrapper .pbmit-ads-title {
    font-size: 26px;
    line-height: 32px;
	margin-bottom: 20px;
    color: var(--pbmit-white-color);
}
.pbmit-ads-btn .pbmit-btn-white{
	color: var(--pbmit-global-color);
}
.pbmit-ads-btn .pbmit-btn-white:hover{
	color: var(--pbmit-white-color);
}
/** Blog Classic **/
.site_content{
	padding-top: 80px;
	padding-bottom: 80px;
}
.post.blog-classic{
    margin-bottom: 60px;
    position: relative;
    background: transparent;
}
.post.blog-classic:last-child {
    margin-bottom: 0px;
}
.post.blog-classic .pbmit-featured-img-wrapper{
	position: relative;
    margin-bottom: 30px;
}
.post.blog-classic .pbmit-featured-img-wrapper img {
    border-radius: 15px;
}
.post.blog-classic .pbmit-blog-classic-inner{
	position: relative;
}
.pbmit-blog-meta.pbmit-blog-meta-top{
	position: relative;
    font-size: 14px;
}
.pbmit-blog-meta.pbmit-blog-meta-top,
.pbmit-blog-meta.pbmit-blog-meta-top a{
	color: #999;
}
.pbmit-blog-meta-top .pbmit-meta {
    display: inline-block;
    margin-right: 25px;
    position: relative;
    padding-left: 0;
    font-size: 14px;
	font-weight: 500;
    text-transform: capitalize;
}
.pbmit-blog-meta-top .pbmit-meta:last-child{
	margin-right: 0;
	padding: 0;
}
.post.blog-classic .pbmit-meta-cat i{
	display: none;
}
.post.blog-classic .pbmit-meta-cat a{
	font-size: 14px;
    font-weight: 600;
    line-height: normal;
    border-radius: 15px;
	position: relative;
    padding-left: 10px;
    display: inline-block;
	color: var(--pbmit-global-color);
}
.post.blog-classic .pbmit-meta-cat a:before{
	content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50px;
    background-color: var(--pbmit-global-color);
	transform: translateX(0%) translateY(-50%);
	transition: all .25s ease-in-out;
}
.post.blog-classic .pbmit-meta-cat a:hover{
	color: var(--pbmit-secondary-color);
}
.pbmit-blog-meta-top .pbmit-meta:not(:last-child):before{
	position: absolute;
    content: '/';
    font-size: 13px;
    right: -15px;
    top: 50%;
	transform: translateX(0%) translateY(-50%);
}
.pbmit-blog-meta-top .pbmit-meta a:hover{
	color: var(--pbmit-global-color);
}
.blog-classic .pbmit-post-title{
	margin-bottom: 0;
    font-size: 34px;
    line-height: 40px;
	margin-top: 15px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(0, 0, 0,.1);
}
.blog-classic .pbmit-entry-content{
	margin-top: 20px;
    margin-bottom: 0;
}
/** Blog Single **/
.blog-details:before,
.blog-details:after{
	content: "";
    display: table;
}
.blog-details:after{
	clear: both;
}
.blog-details .post.blog-classic{
	margin-bottom: 0;
}
.blog-details .pbmit-blog-meta.pbmit-blog-meta-top{
	margin-bottom: 20px;
}
.pbmit-firstletter::first-letter{
	font-size: 30px;
	line-height: 30px;
	display: inline-block;
	float: left;
	font-weight: 600;
	margin-right: 8px;
	padding: 8px 10px;
	width: 46px;
	height: 46px;
	border-radius: 5px;
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
}
a.pbmit-text-link{
	color: var(--pbmit-secondary-color);
	text-decoration: underline !important;
}
.pbmit-text-link:hover{
	color: var(--pbmit-global-color);
}
.pbmit-entry_content blockquote{
	padding: 50px 40px 40px 115px;
    border: none;
    font-size: 18px;
    line-height: 24px;
    margin: 40px 0 50px 0;
    position: relative;
    letter-spacing: 0;
    font-weight: 600;
    border-radius: 15px;
    text-transform: capitalize;
    color: var(--pbmit-blackish-color);
    background: var(--pbmit-white-color);
	font-family: var(--pbmit-heading-typography-font-family);
}
.pbmit-entry_content blockquote:before{
	content: '\e822';
    font-family: "pbminfotech-base-icons";
    font-size: 35px;
    position: absolute;
    left: 55px;
    color: var(--pbmit-global-color);
    line-height: normal;
}
.pbmit-entry_content blockquote cite{
	position: relative;
	display: block;
    text-transform: capitalize;
    font-size: 16px;
    line-height: 22px;
    font-style: normal;
    margin-top: 10px;
	font-weight: 600;
	padding-left: 10px;
	color: var(--pbmit-global-color);
}
.pbmit-entry_content blockquote cite:before{
	content: '-';
    position: absolute;
    left: 0;
}
.pbmit-entry_content blockquote cite em{
	display: inline-block;
    font-size: 16px;
    font-weight: 600;
    padding-left: 25px;
    text-transform: initial;
    color: #666;
    position: relative;
	font-style: normal;
}
.pbmit-entry_content blockquote cite em:before{
	content: '/';
    position: absolute;
    left: 10px;
    font-size: 14px;
}
.pbmit-entry_content .pbmit-block-columns{
	margin-bottom: 1.75em;
}
.pbmit-entry_content .pbmit-block-column img{
	margin: 15px 0;
	border-radius: 15px;
}
.blog-details .list-group{
	margin-bottom: 20px;
}
.blog-details .list-group .pbmit-icon-list-text{
	font-weight: 600;
}
.pbmit-blog-meta-bottom{
	display: flex;
    margin-top: 25px;
}
.post-navigation .nav-links{
	margin-top: 0;
    padding: 40px 0;
	padding-bottom: 0;
    display: -ms-flexbox;
    display: flex;
    align-items: normal;
    width: 100%;
}
.blog-details .post-navigation .nav-links{
	padding: 40px 0 0 0;
    margin-top: 45px;
    border-top: 1px solid rgba(0, 0, 0, .1);
}
.blog-details .post-navigation .nav-previous,
.blog-details .post-navigation .nav-next{
	position: relative;
    width: calc(50% - 15px);
}
.post-navigation .nav-previous{
	text-align: left;
    margin-right: auto!important;
}
.blog-details .post-navigation .nav-links a{
	display: block;
    text-align: left;
    width: 300px;
	color: var(--pbmit-blackish-color);
}
.blog-details .post-navigation .nav-links a:hover{
	color: var(--pbmit-global-color);
}
.post-navigation .pbmit-post-nav-icon{
	display: flex;
    align-items: center;
	font-size: 14px;
    line-height: 30px;
}
.blog-details .post-navigation .pbmit-post-nav-icon{
	justify-content: flex-start;
    position: relative;
	margin-bottom: 10px;
}
.post-navigation .pbmit-post-nav-icon i{
	font-size: 18px;
	color: var(--pbmit-global-color);
    transition: all 0.3s ease-in;
}
.post-navigation .nav-previous .pbmit-post-nav-head{
	padding-left: 8px;
}
.post-navigation .pbmit-post-nav-head{
	font-size: 13px;
	line-height: 13px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0px;
    transition: all 0.3s ease-in;
	color: var(--pbmit-global-color);
}
span.pbmit-post-nav-wrapper{
	display: block;
	text-align: left;
    word-break: break-word;
}
.pbmit-post-nav-wrapper .pbmit-post-nav{
	font-size: 18px;
    line-height: 24px;
    margin-top: 5px;
    font-weight: 600;
    text-transform: capitalize;
    transition: all .25s ease-in-out;
	font-family: var(--pbmit-heading-typography-font-family);
}
.post-navigation .nav-previous a:hover .pbmit-post-nav-icon i:before,
.post-navigation .nav-next a:hover .pbmit-post-nav-icon i:before{
	transform: rotate(0);
}
.post-navigation .nav-next{
	text-align: right;
    margin-left: auto;
}
.post-navigation .nav-next .pbmit-post-nav-head{
	padding-right: 8px;
}
.blog-details .post-navigation .nav-next .pbmit-post-nav-icon{
	justify-content: flex-end;
}
.blog-details .post-navigation .nav-next a{
	display: block;
    text-align: right;
    margin-left: auto;
}
.post-navigation .nav-next .pbmit-post-nav-wrapper{
	text-align: right;
}
.blog-details .pbmit-author-box{
	position: relative;
    overflow: hidden;
	display: flex;
	align-items: center;
    margin-top: 45px;
    margin-bottom: 0;
    padding: 40px;
	border-radius: 15px;
    background-color: var(--pbmit-global-color);
}
.pbmit-author-image img{
	width: 140px;
    min-width: 140px;
    height: 140px;
    display: block;
    overflow: hidden;
    margin-right: 35px;
	border-radius: 50%;
	border: 3px solid var(--pbmit-secondary-color);
}
.pbmit-author-content{
    -webkit-flex-shrink: 100;
    -moz-flex-shrink: 100;
    -ms-flex-negative: 100;
    flex-shrink: 100;
}
.pbmit-author-name a{
	font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    margin-bottom: 0;
    display: inline-block;
    text-transform: capitalize;
	color: var(--pbmit-white-color);
}
.pbmit-author-content .pbmit-author-bio{
	color: var(--pbmit-white-color);
	line-height: 25px;
	margin-bottom: 0;
}
.comments-area{
	margin-top: 60px;
}
.comments-area .comments-title{
	font-size: 34px;
    line-height: 40px;
	text-transform: none;
	margin-bottom: 48px;
}
.comment-list li:not(:last-child) .pbmit-comment{
	margin-bottom: 30px;
    border-bottom: 1px solid rgba(42, 72, 64, 0.1);
}
.comment-list .pbmit-comment-avatar{
	float: left;
}
.comment-list .pbmit-comment-avatar img{
	border-radius: 15px;
    width: 90px;
    height: 90px;
}
.comments-area .pbmit-comment-content{
	position: relative;
    flex-grow: 1;
    padding: 0 0 30px 0;
    margin-left: 125px;
	min-height: 125px;
}
.comments-area .pbmit-comment-meta{
	display: inline-flex;
    align-items: center;
}
.pbmit-comment-content .pbmit-comment-author {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 25px;
	font-weight: 600;
    display: inline-flex;
    position: relative;
	text-transform: capitalize;
	color: var(--pbmit-body-typography-color);
	font-family: var(--pbmit-heading-typography-font-family);
}
.pbmit-comment-content .pbmit-comment-author-inner{
	margin-left: 3px;
	font-weight: 600;
	text-transform: capitalize;
	color: var(--pbmit-global-color);
}
.pbmit-comment-content .pbmit-comment-author-inner a{
	color: var(--pbmit-global-color);
}
.comments-area .pbmit-comment-date{
	display: block;
    margin: 0 0 0 30px;
}
.comments-area .pbmit-comment-date a{
	color: var(--pbmit-body-typography-color);
    position: relative;
    font-size: 15px;
    line-height: 24px;
	font-weight: 600;
}
.comments-area .pbmit-comment-date a::before{
	position: absolute;
    content: '';
    left: -17px;
    height: 12px;
    top: 50%;
    width: 2px;
    background-color: rgba(0, 0, 0, .3);
	transform: translateX(0%) translateY(-50%) rotate(20deg);
}
.comments-area .pbmit-comment-content p{
	margin: 12px 0 20px 0;
}
.comments-area .pbmit-comment-content .reply a{
	display: inline-block;
    font-size: 13px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: 0;
    border-radius: 50px;
    padding: 3px 25px 3px 20px;
    text-transform: capitalize;
	transition: 0.4s ease-out 0s;
    color: var(--pbmit-white-color);
    background-color: var(--pbmit-global-color);
	font-family: var(--pbmit-heading-typography-font-family);
}
.comments-area .pbmit-comment-content .reply a:hover{
	background-color: var(--pbmit-secondary-color);
}
.comments-area .pbmit-comment-content .reply a:after{
	content: '\e814';
	font-family: 'pbminfotech-base-icons';
    font-style: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    text-align: center;
    opacity: 1;
    font-variant: normal;
    text-transform: none;
    line-height: 24px;
    font-size: 14px;
    right: -7px;
    position: relative;
}
.comment-list .children{
	margin-left: 125px;
    padding-top: 8px;
}
.comments-area .comment-respond{
	margin-bottom: 0;
    padding: 40px 0 0;
}
.comment-respond .comment-reply-title,
.course-detail-left-col .comment-respond .comment-reply-title{
	font-size: 34px;
    line-height: 40px;
	margin-bottom: 20px;
}
.comment-respond .comment-form .comment-notes,
.comment-respond .comment-form .form-check-label{
	font-size: 15px;
}
.comment-respond .comment-form textarea{
	margin-bottom: 0;
}
.comment-respond .comment-form .form-control{
	background-color: var(--pbmit-white-color);
}
.comment-respond .comment-form .form-check{
	margin-bottom: 25px;
}
.comment-respond .comment-form button{
	padding: 15px 40px;
}

/** 06 - Team Single **/
.pbmit-team-single{
	padding-bottom: 80px;
}
.pbmit-team-single .pbmit-sticky-col {
	padding-top: 100px !important;
}
.pbmit-team-single .pbmit-team-detail-inner{
	position: relative;
	text-align: center;
    border-radius: 15px;
	overflow: hidden;
    padding: 40px 45px 30px 45px;
    background-color: var(--pbmit-global-color);
}
.pbmit-team-single .pbmit-team-detail-inner .pbmit-featured-img-wrapper{
	margin-bottom: 25px;
}
.pbmit-team-single .pbmit-team-detail-inner img{
	width: 190px;
    height: 190px;
    border-radius: 100%;
    border: 3px solid var(--pbmit-secondary-color);
}
.pbmit-team-single .pbmit-team-summary {
    padding-bottom: 3px;
}
.pbmit-team-single .pbmit-team-title {
    font-size: 24px;
    line-height: 30px;
	margin-bottom: 0;
    color: var(--pbmit-white-color);
}
.pbmit-team-single .pbmit-team-designation {
    font-size: 15px;
    line-height: 25px;
    margin-bottom: 0;
    text-transform: unset;
    font-weight: normal;
    color: var(--pbmit-white-color);
	font-family: var(--pbmit-body-typography-font-family);
}
.pbmit-single-team-info {
    position: relative;
    list-style: none;
    margin: 10px 0 25px;
    padding: 0;
}
.pbmit-single-team-info li,
.pbmit-single-team-info li a{
	margin: 0;
    font-size: 15px;
    line-height: 25px;
    color: var(--pbmit-white-color);
}
.pbmit-single-team-info li label{
	position: relative;
	font-size: 15px;
    font-weight: 400;
    padding-right: 15px;
	display: inline-block;
}
.pbmit-single-team-info li label:after{
	content: ':';
    position: absolute;
    right: 3px;
}
.pbmit-team-single .pbmit-team-social-links li{
	margin-bottom: 5px;
    margin-right: 5px;
	padding: 0 !important;
}
.pbmit-team-single .pbmit-team-social-links li a{
	position: relative;
    display: inline-block;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-size: 13px;
    border-radius: 50%;
    color: var(--pbmit-white-color);
    border: 1px solid var(--pbmit-white-color);
}
.pbmit-team-single .pbmit-team-social-links li a:hover{
	color: var(--pbmit-blackish-color);
	background-color: var(--pbmit-white-color);
}
.pbmit-team-single .pbmit-entry-content{
	padding: 100px 0 0 40px;
}
.pbmit-team-single .pbmit-team-inner_box{
	margin-top: 30px;
}
.pbmit-team-inner_box ul li{
	display: flex;
	position: relative;
	border-bottom: 1px solid #D8D5DF;
}
.pbmit-team-inner_box ul li:not(:first-child){
	margin-top: 20px;
}
.pbmit-team-inner_box ul li .pbmit-title {
    margin-bottom: 20px;
    width: 20%;
	font-size: 18px;
	line-height: 24px;
}
.pbmit-team-inner_box ul li .pbmit-content {
    width: 80%;
}
.pbmit-team-personal_info{
	margin-top: 60px;
}
.pbmit-team-personal_info .pbmit-ihbox-style-5:last-child{
	border-top: 1px solid #D8D5DF;
	padding-top: 20px;
	margin-top: 20px;
}
.team-details-contact{
	margin-top: 60px;
}
.team-details-contact form .form-control{
	background-color: var(--pbmit-white-color);
}
/** 07 - Course Single **/
.course-single .site-header .pbmit-pre-header-left .pbmit-contact-info li a,
.course-single .header-style-1 .pbmit-pre-header-wrapper,
.course-single .header-style-1 .pbmit-contact-info li a,
.course-single .header-style-1 .pbmit-social-links .pbmit-social-li a{
	color: var(--pbmit-white-color);
}
.course-single .pbmit-contact-info li i{
	color: var(--pbmit-secondary-color);
}
.course-detail-info{
	padding-top: 250px;
    padding-bottom: 80px;
	background-color: var(--pbmit-global-color);
    color: var(--pbmit-white-color);
    position: relative;
}
.course-detail-info:before,
.course-detail-info:after{
	content: "";
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
	background-color: var(--pbmit-global-color);
}
.course-detail-info:before{
	right: 100%;
	left: auto;
}
.course-detail-info::after{
	left: 100%;
	right: auto;
}
.course-summary-content .course-meta{
	display: flex;
}
.course-summary-content .course-meta-primary {
    margin-bottom: 20px;
}
.course-summary-content .course-meta-primary .course-meta-pull-left{
	gap: 16px;
}
.course-summary-content .course-meta-pull-left{
	display: flex;
    flex-wrap: wrap;
	flex: 1;
	font-size: .925em;
}
.course-meta-primary .meta-item {
    flex: 1;
	display: flex;
    height: 50px;
	font-weight: 300;
    text-transform: capitalize;
}
.course-meta-primary .course-meta-pull-left .meta-item-image{
	margin-right: 10px;
    flex: 0 0 46px;
}
.course-meta-primary .course-meta-pull-left .meta-item-image img{
	overflow: hidden;
    position: relative;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: block;
}
.course-meta-pull-left .meta-item-value label{
	font-size: .8em;
	line-height: 1.5;
    display: block;
	font-weight: 800;
	color: var(--pbmit-secondary-color);
}
.course-meta-pull-left .meta-item-value>div{
	line-height: 1.5;
}
.course-meta-pull-left .meta-item-value>div a{
	font-weight: 400;
	text-transform: capitalize;
	color: var(--pbmit-white-color);
}
.course-summary-content .course-meta-pull-left .meta-item span{
	padding-right: 4px;
}
.course-meta-primary .meta-item-categories{
	align-items: center;
}
.course-meta-primary .meta-item-categories:before{
	content: "\f097";
	font-family: "FontAwesome";
	margin-right: 10px;
    font-size: 2.25em;
	font-weight: 500;
	color: var(--pbmit-secondary-color);
}
.course-detail-info .course-title {
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 500;
    font-size: 2.2em;
    padding-bottom: 20px;
	color: var(--pbmit-white-color);
}
.course-meta-pull-left .meta-item{
	display: flex;
    height: auto;
    margin-right: 48px;
    font-weight: 300;
    text-transform: capitalize;
}
.course-meta-pull-left .meta-item:before{
	margin-right: 8px;
    font-family: "FontAwesome";
    font-weight: 900;
	color: var(--pbmit-secondary-color);
}
.course-meta-pull-left .meta-item.meta-item-duration:before{
	content: "\f017";
}
.course-meta-pull-left .meta-item.meta-item-level::before {
    content: "\f012";
}
.course-meta-pull-left .meta-item.meta-item-lesson::before {
    content: "\f02d";
}
.course-meta-pull-left .meta-item.meta-item-quiz::before {
    content: "\f12e";
}
.course-meta-pull-left .meta-item.meta-item-student::before {
    content: "\f19d";
}
.course-detail-left-col{
	width: calc(100% - 300px);
    max-width: 100%;
	padding-bottom: 80px;
}
.course-detail-right-col{
	width: 300px;
    max-width: 100%;
}
.course-summary-content .entry-content-left{
	padding: 60px 40px 0 0;
}
.course-summary-content .entry-content-left .course-tabs{
	padding-bottom: 60px;
}
.course-summary-sidebar{
	margin-top: -267px;
	position: relative;
}
.course-summary-sidebar .course-sidebar-top{
	border-radius: 15px;
	background-color: var(--pbmit-white-color);
}
.course-summary-sidebar-inner .course-sidebar-secondary{
	padding: 0;
}
.course-summary-sidebar-inner>div{
	overflow: hidden;
    padding: 20px;
}
.course-sidebar-preview{
	margin-bottom: 35px;
}
.course-sidebar-preview .media-preview{
	overflow: hidden;
    position: relative;
    margin: -20px -20px 10px;
}
.course-sidebar-preview .featured-course{
	position: absolute;
    z-index: 1;
    top: 15px;
    left: -120px;
    width: 300px;
    background: #ff2828;
    text-align: center;
    transform: rotate(-45deg);
    height: auto;
    padding: 5px 0;
	display: flex;
	line-height: 1;
	align-items: center;
	font-size: .75em;
	font-weight: bold;
    justify-content: center;
	text-transform: uppercase;
	color: var(--pbmit-white-color);
}
.course-sidebar-preview .course-price{
	text-align: center;
	margin-bottom: 10px;
}
.course-sidebar-preview .course-price .origin-price{
	font-size: 12px;
    line-height: 18px;
	font-weight: 300;
	margin-right: 10px;
	text-decoration: line-through;
}
.course-sidebar-preview .course-price .origin-price,
.course-sidebar-preview .course-price .price{
	color: var(--pbmit-secondary-color);
}
.course-sidebar-preview .course-price .price{
	line-height: 24px;
	font-weight: 500;
}
.course-sidebar-preview .lp-course-buttons{
	text-align: center;
}
.course-sidebar-preview .lp-course-buttons button{
	width: 100%;
	background-color: var(--pbmit-blackish-color);
}
.course-sidebar-preview .lp-course-buttons button:hover{
	background-color: var(--pbmit-secondary-color);
}
.course-sidebar-secondary{
	margin-top: 30px;
}
.course-sidebar-secondary .widgettitle{
	font-size: 24px;
    line-height: 24px;
	margin-bottom: 30px;
}
.learnpress-widget-wrapper{
	margin-top: 16px;
}
.learnpress-widget-wrapper .lp-widget-course{
	display: flex;
	margin-bottom: 20px;
}
.learnpress-widget-wrapper .lp-widget-course img{
	max-width: 120px;
	border-radius: 6px;
}
.lp-widget-course .lp-widget-course-content{
	padding-left: 20px;
}
.lp-widget-course-content .lp-widget-course-title{
	font-size: 18px;
    line-height: 24px;
    margin-bottom: 10px;
}
.lp-widget-course-description{
	display: none;
}
.lp-widget-course-content .lp-widget-course-meta{
	gap: 8px;
    margin: 8px 0 0 0;
    grid-template-columns: repeat(1, 1fr);
	display: grid;
}
.lp-widget-course-content .lp-widget-course-price{
	font-size: .875em;
    font-weight: 600;
}
.lp-widget-course-content .lp-widget-course-price .course-item-price{
	color: var(--pbmit-global-color);
}
.lp-widget-course-content .course-item-price .origin-price{
	font-size: 12px;
    line-height: 18px;
	margin-right: 10px;
	font-style: italic;
	text-decoration: line-through;
}
.lp-widget-course-meta .course-price .price{
	font-size: 16px;
	line-height: 24px;
}
.lp-widget-course-meta .lp-widget-course-instructor {
	display: flex;
	align-items: center;
}
.lp-widget-course-meta .lp-widget-course-instructor-avatar{
	margin-right: 5px;
}
.lp-widget-course-meta .lp-widget-course-instructor-avatar img{
	width: 20px;
    border-radius: 20px;
    height: 20px;
    display: block;
}
.lp-widget-course-meta .lp-widget-course-instructor a{
	font-size: .875em;
}
.lp-widget-course-meta .lp-widget-course-instructor a:hover{
	color: var(--pbmit-secondary-color);
}
.learnpress-widget-wrapper .lp-widget-recent-courses-footer{
	margin-top: 20px;
    padding-top: 10px;
}
.learnpress-widget-wrapper .lp-widget-recent-courses-footer a::before{
	content: "Ã¢â€ Â";
}
.learnpress-widget-wrapper .lp-widget-recent-courses-footer a:hover{
	color: var(--pbmit-secondary-color);
}
/** 08 - Contact us **/
.contact-col-1{
	width: 55%;
}
.contact-col-2{
	width: 45%;
}
.contact-form-leftbox{
	padding-right: 30px;
}
.contact-form-leftbox form .form-control{
	background-color: var(--pbmit-white-color);
}
.contact-form-rightbox{
	position: relative;
	border-radius: 15px;
	background-image: url(../images/bg/contact-form-bg.png);
    background-position: center center;
    background-repeat: no-repeat;
	background-color: var(--pbmit-global-color);
	margin: 40px 0px 60px 30px;
	padding: 70px 50px 60px 50px;
}
.contact-form-rightbox .contact-pattern-02-img{
	right: -60px;
	top: -60px;
}
.contact-form-rightbox .pbmit-heading{
	margin-bottom: 40px;
}
.contact-form-rightbox .pbmit-heading h3{
	font-size: 36px;
    line-height: 42px;
	margin-bottom: 0;
	color: var(--pbmit-white-color);
}
.contact-us .client_one{
	margin-top: 180px;
}
label.error {
	background: red;
	color: white;
	border-radius: 0px 0 10px 10px;
	margin-bottom: 15px;
	padding: 0 10px;
	font-size: 12px;
	display: block;
	margin-top: 0px;
	margin-right: 20%;
}
.message-status{
	margin-top: 30px;
}
.form-control.error{
	margin-bottom: 0;
}
.iframe-section{
	padding-bottom: 80px;
}
.iframe-section iframe{
	width: 100%;
	height: 550px;
	max-width: 100%;
    filter: brightness(100%) contrast(71%) saturate(31%) blur(0px) hue-rotate(0deg);
}
/**09 - Comment Form **/
.form-control{
	height: 50px;
	font-weight: 500;
	font-size: 16px;
	line-height: normal;
	padding: 0 20px;
	margin-bottom: 20px;
	border-radius: 15px;
    border: none;
	background-color: transparent;
	font-family: inherit;
}
.form-control:focus{
	background-color: transparent;
	border-color: rgba(7, 19, 35,.08);
}
textarea.form-control{
	height: 150px;
	resize: none;
	padding-top: 20px;
}

.footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 0;
}

.footer-contact-list li > .fa {
    color: #e9b64c;
    font-size: 21px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    background: #ffffff;
    border-radius: 4px;
    text-align: center;
    margin-top: 0;
}

.footer-contact-list strong {
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
}

.footer-contact-list p {
    color: #ffffff;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
    overflow-wrap: anywhere;
}

.footer-contact-list a {
    color: #d1d7e2;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-contact-list a:hover {
    color: #e9b64c;
}

.site-footer .widget p {
	text-align: justify;
}

.footer-social-links {
    display: flex;
    align-items: center;
    justify-content: end;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-social-links a {
    width: 35px;
    height: 35px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #f98a17;
    color: #fff;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
    font-size: 18px;
    text-decoration: none;
    transition: all .3s ease;
}

.footer-social-links a:hover {
    background: #e9b64c;
    color: #18243b;
    border-color: #e9b64c;
    transform: translateY(-4px);
}

.footer-social-links a:focus-visible {
    outline: 2px solid #e9b64c;
    outline-offset: 3px;
}

.qr-code img {
	width: 170px;
	border-radius: 5px;
}

img.footer {
    width: 100px;
    margin-left: 5px;
    border-radius: 5px;
}


/* ==========================================
   FOUNDERS SECTION
========================================== */

:root {
    --pbmit-global-color: #6621ba;
    --pbmit-secondary-color: #f98a17;
    --founder-text: #000000;
    --founder-light: #faf8ff;
}

.founders-section {
    position: relative;
    overflow: hidden;
    padding: 50px 0;
    /* background:
        radial-gradient(circle at 4% 12%,
            rgba(102, 33, 186, 0.07), transparent 23%),
        radial-gradient(circle at 96% 78%,
            rgba(249, 138, 23, 0.08), transparent 22%),
        #fff; */
}

.founders-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

/* Heading */

.founders-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.founders-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--pbmit-global-color);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
}

.founders-heading h2 {
    margin: 0;
    color: var(--pbmit-global-color);
    font-size: 40px;
    font-weight: 800;
    line-height: 1.15;
}

.founders-heading h2 span {
    color: var(--pbmit-secondary-color);
}

.heading-decoration {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 13px;
    margin: 5px 0;
    color: var(--pbmit-secondary-color);
}

.heading-decoration span {
    width: 55px;
    height: 2px;
    background: var(--pbmit-global-color);
}

.heading-decoration b {
    font-size: 22px;
}

.founders-heading p {
    margin: 0;
    color: var(--founder-text);
    font-size: 16px;
    line-height: 1.8;
}

/* One founder per row */

.founder-row {
    display: grid;
    grid-template-columns: 0.6fr 1.4fr;
    align-items: center;
    gap: 55px;
    margin-bottom: 85px;
}

.founder-row:last-child {
    margin-bottom: 0;
}

.founder-row-reverse {
	grid-template-columns: 1.4fr 0.6fr;
}

.founder-row-reverse .founder-visual {
    order: 2;
}

.founder-row-reverse .founder-content {
    order: 1;
}

/* Image area */

.founder-visual {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-width: 0;
    min-height: 400px;
    padding: 15px 10px 0;
}

/* Organic decorative shapes */

.founder-pattern {
    position: absolute;
    z-index: -1;
    width: 83%;
    height: 78%;
    transition:
        transform 0.7s ease,
        border-radius 0.7s ease;
    pointer-events: none;
}

.pattern-purple {
    top: 5%;
    left: 5%;
    background: var(--pbmit-global-color);
    border-radius: 48% 52% 38% 62% / 47% 36% 64% 53%;
    transform: rotate(-9deg);
}

.pattern-orange {
    right: 2%;
    bottom: 7%;
    background: var(--pbmit-secondary-color);
    border-radius: 58% 42% 57% 43% / 38% 58% 42% 62%;
    transform: rotate(12deg);
    opacity: 0.95;
}

.founder-visual:hover .pattern-purple {
    transform: rotate(3deg) scale(1.06);
    border-radius: 38% 62% 51% 49% / 57% 39% 61% 43%;
}

.founder-visual:hover .pattern-orange {
    transform: rotate(-5deg) scale(1.08);
    border-radius: 46% 54% 39% 61% / 53% 44% 56% 47%;
}

/* Dotted pattern */

.founder-dots {
    position: absolute;
    top: 12%;
    right: 0;
    z-index: -1;
    width: 85px;
    height: 85px;
    background-image: radial-gradient(
        var(--pbmit-global-color) 1.6px,
        transparent 1.6px
    );
    background-size: 13px 13px;
    opacity: 0.6;
    transition: transform 0.5s ease;
}

.founder-visual:hover .founder-dots {
    transform: translate(8px, -8px);
}

/* Founder image */

.founder-image-wrap {
    position: relative;
    width: 100%;
    height: 390px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.founder-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    transition:
        transform 0.65s cubic-bezier(.2, .7, .3, 1),
        filter 0.5s ease;
}

.founder-visual:hover .founder-image {
    transform: scale(1.045) translateY(-5px);
    filter: drop-shadow(0 14px 18px rgba(55, 27, 85, 0.14));
}

/* Decorative star */

.founder-star {
    position: absolute;
    top: 20%;
    left: 3%;
    color: var(--pbmit-secondary-color);
    font-size: 28px;
    animation: founder-star-float 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes founder-star-float {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-10px) rotate(18deg);
    }
}

/* Content card */

.founder-content {
    position: relative;
    padding: 20px 22px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(102, 33, 186, 0.08);
    border-radius: 24px;
    box-shadow: 0 12px 45px rgba(59, 32, 97, 0.07);
    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease,
        border-color 0.4s ease;
}

.founder-content:hover {
    transform: translateY(-7px);
    border-color: rgba(102, 33, 186, 0.25);
    box-shadow: 0 22px 55px rgba(59, 32, 97, 0.13);
}

.founder-quote {
    display: block;
    margin-bottom: 10px;
    color: var(--pbmit-global-color);
    font-family: Georgia, serif;
    font-size: 60px;
    font-weight: bold;
    line-height: 0.8;
}

.founder-label {
    display: inline-block;
    margin-bottom: 12px;
    color: #777080;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.founder-content h3 {
    margin: 0 0 7px;
    color: var(--pbmit-global-color);
    font-size: clamp(25px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.3;
}

.founder-content h4 {
    margin: 0;
    color: var(--pbmit-secondary-color);
    font-size: 20px;
    font-weight: 700;
}

.founder-line {
    width: 58px;
    height: 3px;
    margin: 10px 0;
    background: var(--pbmit-secondary-color);
    border-radius: 5px;
    transition: width 0.4s ease;
}

.founder-content:hover .founder-line {
    width: 105px;
}

.founder-content p {
    margin: 0;
    color: var(--founder-text);
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.5px;
    text-align: justify;
}

.founder-quote-end {
    display: block;
    margin-top: 12px;
    color: rgba(102, 33, 186, 0.18);
    font-family: Georgia, serif;
    font-size: 60px;
    font-weight: bold;
    line-height: 0.5;
    text-align: right;
}

/* Tablet */

@media (max-width: 991px) {
    .founders-section {
        padding: 70px 0;
    }

    .founder-row {
        grid-template-columns: 0.6fr 1.4fr;
        gap: 28px;
        margin-bottom: 60px;
    }

	.founder-row-reverse {
		grid-template-columns: 1.4fr 0.6fr;
	}

    .founder-visual {
        min-height: 330px;
    }

    .founder-image-wrap {
        height: 320px;
    }

    .founder-content {
        padding: 30px 26px;
    }

    .founder-content p {
        font-size: 14px;
        line-height: 1.8;
    }
}

/* Mobile: image above content */

@media (max-width: 767px) {
    .founders-section {
        padding: 55px 0;
    }

    .founders-container {
        width: min(100% - 30px, 540px);
    }

    .founders-heading {
        margin-bottom: 40px;
    }

    .founders-heading p {
        font-size: 14px;
    }

    .founder-row {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 50px;
    }

	.founder-row-reverse {
		grid-template-columns: 1fr;
	}

    .founder-row-reverse .founder-visual,
    .founder-row-reverse .founder-content {
        order: initial;
    }

    .founder-visual {
        min-height: 320px;
        max-width: 430px;
        width: 100%;
        margin: 0 auto;
    }

    .founder-image-wrap {
        height: 315px;
    }

    .founder-content {
        padding: 30px 25px;
        border-radius: 20px;
    }

    .founder-content h3 {
        font-size: 26px;
    }

    .founder-content h4 {
        font-size: 18px;
    }

    .founder-content p {
        font-size: 14px;
        line-height: 1.85;
    }
}

/* Respect reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {
    .founders-section *,
    .founders-section *::before,
    .founders-section *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* =====================================
   ALTERNATIVE FOUNDER IMAGE PATTERNS
===================================== */

.founder-visual {
    isolation: isolate;
}

/* Large decorative orbit ring */
.founder-orbit {
    position: absolute;
    z-index: -1;
    width: 95%;
    height: 88%;
    top: 2%;
    left: 0;
    border: 2px solid var(--pbmit-secondary-color);
    border-radius: 48% 52% 50% 50%;
    transform: rotate(-24deg);
    transition: transform .7s ease;
    pointer-events: none;
}

.founder-visual:hover .founder-orbit {
    transform: rotate(-8deg) scale(1.05);
}

/* Floating decorative circles */
.founder-circle {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    transition: transform .6s ease;
}

.circle-one {
    width: 65px;
    height: 65px;
    top: 12%;
    left: 2%;
    background: rgba(102, 33, 186, .12);
    border: 1px solid rgba(102, 33, 186, .3);
}

.circle-two {
    width: 35px;
    height: 35px;
    right: 7%;
    bottom: 18%;
    background: var(--pbmit-secondary-color);
    box-shadow: 0 0 0 9px rgba(249, 138, 23, .13);
}

.founder-visual:hover .circle-one {
    transform: translate(-8px, -12px) scale(1.1);
}

.founder-visual:hover .circle-two {
    transform: translate(8px, 8px) scale(1.15);
}

/* Modern dotted grid */
.founder-grid-pattern {
    position: absolute;
    z-index: -1;
    top: 4%;
    right: 0;
    width: 95px;
    height: 105px;
    background-image: radial-gradient(
        var(--pbmit-global-color) 1.7px,
        transparent 1.7px
    );
    background-size: 12px 12px;
    opacity: .55;
    mask-image: linear-gradient(
        135deg,
        #000 20%,
        transparent 90%
    );
    -webkit-mask-image: linear-gradient(
        135deg,
        #000 20%,
        transparent 90%
    );
    transition: transform .6s ease;
}

.founder-visual:hover .founder-grid-pattern {
    transform: translate(8px, -5px);
}

/* Decorative sparkles */
.founder-sparkle {
    position: absolute;
    z-index: 2;
    color: var(--pbmit-secondary-color);
    font-size: 30px;
    pointer-events: none;
    animation: founder-sparkle-float 3s ease-in-out infinite;
}

.sparkle-one {
    top: 25%;
    right: 4%;
}

.sparkle-two {
    left: 1%;
    bottom: 25%;
    color: var(--pbmit-global-color);
    font-size: 25px;
    animation-delay: .8s;
}

@keyframes founder-sparkle-float {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
        opacity: .7;
    }

    50% {
        transform: translateY(-10px) rotate(20deg);
        opacity: 1;
    }
}

/* Keep all patterns behind the portrait */
.founder-image-wrap {
    z-index: 1;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .founder-orbit {
        width: 90%;
        height: 85%;
        left: 4%;
    }

    .founder-grid-pattern {
        width: 65px;
        height: 75px;
    }

    .circle-one {
        width: 45px;
        height: 45px;
    }

    .circle-two {
        width: 25px;
        height: 25px;
    }
}

/* =========================================
   PRINCIPAL MESSAGE SECTION
========================================= */

:root {
    --principal-purple: #6621ba;
    --principal-orange: #f98a17;
    --principal-text: #000000;
    --principal-light: #faf7ff;
}

.principal-section {
    position: relative;
    overflow: hidden;
    padding: 50px 0;
}

.principal-container {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: .6fr 1.4fr;
    align-items: center;
    gap: 48px;
}

/* =========================================
   IMAGE AND DECORATIVE PATTERNS
========================================= */

.principal-visual {
    position: relative;
    isolation: isolate;
    min-width: 0;
    min-height: auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 30px 0 20px;
}

.principal-shape {
    position: absolute;
    z-index: -2;
    pointer-events: none;
    transition: transform .7s ease, border-radius .7s ease;
}

.principal-shape-purple {
    width: 94%;
    height: 77%;
    top: 12%;
    left: 0;
    background: var(--principal-purple);
    border-radius: 48% 52% 40% 60% / 44% 36% 64% 56%;
    transform: rotate(-7deg);
}

.principal-shape-orange {
    width: 82%;
    height: 73%;
    right: 0;
    bottom: 9%;
    background: var(--principal-orange);
    border-radius: 55% 45% 52% 48% / 42% 58% 42% 58%;
    transform: rotate(9deg);
}

.principal-visual:hover .principal-shape-purple {
    transform: rotate(1deg) scale(1.04);
    border-radius: 38% 62% 48% 52% / 55% 40% 60% 45%;
}

.principal-visual:hover .principal-shape-orange {
    transform: rotate(-4deg) scale(1.06);
}

/* Orbit ring */

.principal-orbit {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 85%;
    top: 5%;
    left: -3%;
    border: 2px dashed var(--principal-orange);
    border-radius: 50%;
    transform: rotate(-20deg);
    transition: transform .7s ease;
    pointer-events: none;
}

.principal-visual:hover .principal-orbit {
    transform: rotate(-5deg) scale(1.03);
}

/* Dotted pattern */

.principal-dots {
    position: absolute;
    z-index: -1;
    top: 7%;
    right: 0;
    width: 95px;
    height: 100px;
    background-image: radial-gradient(
        var(--principal-purple) 1.7px,
        transparent 1.7px
    );
    background-size: 13px 13px;
    opacity: .65;
    transition: transform .5s ease;
    pointer-events: none;
}

.principal-visual:hover .principal-dots {
    transform: translate(8px, -8px);
}

/* Floating stars */

.principal-star {
    position: absolute;
    z-index: 3;
    color: var(--principal-orange);
    font-size: 32px;
    animation: principal-float 3s ease-in-out infinite;
    pointer-events: none;
}

.principal-star-one {
    top: 15%;
    left: 2%;
}

.principal-star-two {
    right: 2%;
    bottom: 25%;
    color: var(--principal-purple);
    animation-delay: 1s;
}

@keyframes principal-float {
    0%, 100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-12px) rotate(18deg);
    }
}

/* Motto bubble */

.principal-motto {
    position: absolute;
    z-index: 3;
    top: -15%;
    left: -2%;
    width: 155px;
    min-height: 125px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 20px;
    color: #fff;
    background: var(--principal-purple);
    border: 3px solid #fff;
    border-radius: 36% 64% 55% 45% / 50% 36% 64% 50%;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    transform: rotate(-7deg);
    box-shadow: 0 12px 28px rgba(102, 33, 186, .15);
    transition: transform .45s ease;
}

.principal-motto span:last-child {
    color: #ffd29b;
}

.principal-visual:hover .principal-motto {
    transform: rotate(0deg) translateY(-5px);
}

/* Principal portrait */

.principal-image-wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.principal-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 10px 14px rgba(30, 20, 45, .1));
    transition: transform .65s cubic-bezier(.2, .7, .3, 1),
                filter .5s ease;
}

.principal-visual:hover .principal-image {
    transform: scale(1.035) translateY(-5px);
    filter: drop-shadow(0 18px 22px rgba(30, 20, 45, .18));
}

/* Caption below portrait */

.principal-image-caption {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--principal-purple);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transform: translateX(-50%);
}

.caption-line {
    width: 30px;
    height: 3px;
    background: var(--principal-orange);
    border-radius: 10px;
}

/* =========================================
   MESSAGE CONTENT CARD
========================================= */

.principal-content {
    position: relative;
    min-width: 0;
    padding: 20px;
    overflow: hidden;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(102, 33, 186, .09);
    border-radius: 26px;
    box-shadow: 0 15px 50px rgba(58, 32, 96, .08);
    transition: transform .4s ease,
                box-shadow .4s ease,
                border-color .4s ease;
}

.principal-content:hover {
    transform: translateY(-5px);
    border-color: rgba(102, 33, 186, .22);
    box-shadow: 0 24px 60px rgba(58, 32, 96, .13);
}

/* Heading */

.principal-title {
    display: flex;
    align-items: center;
    gap: 18px;
}

.principal-title-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--principal-orange);
    border-radius: 16px;
    font-size: 27px;
    transition: transform .4s ease;
}

.principal-content:hover .principal-title-icon {
    transform: rotate(-8deg) scale(1.07);
}

.principal-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--principal-purple);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.principal-title h2 {
    margin: 0;
    color: var(--principal-purple);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.principal-title h2 span {
    color: var(--principal-orange);
}

.principal-title-line {
    height: 4px;
    margin: 23px 0 26px;
    background: #f1e8fc;
    border-radius: 5px;
}

.principal-title-line span {
    display: block;
    width: 110px;
    height: 100%;
    background: linear-gradient(
        90deg,
        var(--principal-purple) 0 65%,
        var(--principal-orange) 65% 100%
    );
    border-radius: inherit;
    transition: width .5s ease;
}

.principal-content:hover .principal-title-line span {
    width: 180px;
}

/* Greeting */

.principal-content > h3 {
    margin: 0 0 22px;
    color: var(--principal-purple);
    font-size: 18px;
    font-weight: 800;
}

/* Message paragraphs with icons */

.principal-message-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 15px;
    margin-bottom: 23px;
}

.message-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    font-size: 22px;
    transition: transform .35s ease;
}

.purple-icon {
    background: var(--principal-purple);
}

.orange-icon {
    background: var(--principal-orange);
}

.principal-message-item:hover .message-icon {
    transform: scale(1.1) rotate(-8deg);
}

.principal-message-item p {
    margin: 0;
    color: var(--principal-text);
    font-size: 15px;
    line-height: 1.85;
    letter-spacing: 0.5px;
    text-align: justify;
}

.principal-message-item strong {
    color: var(--principal-orange);
    font-weight: 800;
}

.principal-message-item .motto-highlight {
    color: var(--principal-purple);
}

/* Signature */

.principal-signature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #eee5fa;
}

.signature-line {
    width: 65px;
    height: 3px;
    margin-bottom: 5px;
    background: var(--principal-orange);
    border-radius: 5px;
    transition: width .4s ease;
}

.principal-content:hover .signature-line {
    width: 100px;
}

.signature-text {
    color: var(--principal-purple);
    font-family: Georgia, serif;
    font-size: 20px;
    font-style: italic;
}

.principal-signature strong {
    color: var(--principal-purple);
    font-size: 17px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.principal-signature small {
    color: #f98a17;
    font-size: 15px;
    letter-spacing: .5px;
}

/* Decorative quote */

.principal-quote-mark {
    position: absolute;
    right: 18px;
    bottom: 5px;
    color: rgba(102, 33, 186, .09);
    font-family: Georgia, serif;
    font-size: 130px;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
    transition: color .4s ease;
}

.principal-content:hover .principal-quote-mark {
    color: rgba(249, 138, 23, .14);
}

/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 991px) {
    .principal-section {
        padding: 65px 0;
    }

    .principal-container {
        grid-template-columns: .85fr 1.15fr;
        gap: 25px;
    }

    .principal-visual {
        min-height: 460px;
    }

    .principal-image-wrap {
        height: 420px;
    }

    .principal-content {
        padding: 28px;
    }

    .principal-title {
        gap: 12px;
    }

    .principal-title-icon {
        width: 42px;
        height: 42px;
    }

    .principal-eyebrow {
        font-size: 9px;
    }

    .principal-message-item {
        gap: 10px;
        grid-template-columns: 35px minmax(0, 1fr);
    }

    .message-icon {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }

    .principal-message-item p {
        font-size: 13px;
    }

    .principal-motto {
        width: 125px;
        min-height: 105px;
        font-size: 13px;
    }
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 767px) {
    .principal-section {
        padding: 45px 0;
    }

    .principal-container {
        width: min(100% - 30px, 540px);
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .principal-visual {
        width: 100%;
        max-width: 440px;
        min-height: 390px;
        margin: 0 auto;
    }

    .principal-image-wrap {
        height: 365px;
    }

    .principal-motto {
        top: 0;
        left: 0;
        width: 110px;
        min-height: 90px;
        padding: 12px;
        font-size: 12px;
    }

    .principal-orbit {
        height: 83%;
    }

    .principal-content {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .principal-title h2 {
        font-size: clamp(25px, 6vw, 34px);
    }

    .principal-eyebrow {
        font-size: 9px;
        letter-spacing: 1px;
    }

    .principal-content > h3 {
        font-size: 17px;
    }

    .principal-message-item {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 12px;
        margin-bottom: 20px;
    }

    .message-icon {
        width: 34px;
        height: 34px;
        font-size: 17px;
    }

    .principal-message-item p {
        font-size: 13px;
        line-height: 1.8;
    }

    .principal-quote-mark {
        font-size: 90px;
    }

    .principal-image-caption {
        font-size: 11px;
    }
}

/* Small phones */

@media (max-width: 380px) {
    .principal-container {
        width: calc(100% - 24px);
    }

    .principal-content {
        padding: 23px 17px;
    }

    .principal-title {
        gap: 10px;
    }

    .principal-title-icon {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        font-size: 20px;
    }

    .principal-title h2 {
        font-size: 24px;
    }

    .principal-message-item p {
        font-size: 12px;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .principal-section *,
    .principal-section *::before,
    .principal-section *::after {
        animation: none !important;
        transition: none !important;
    }
}
.principal-image {
    object-fit: cover;
    object-position: center top;
    border-radius: 180px 180px 20px 20px;
}

/* ==========================================
   VISION & MISSION
========================================== */

:root {
    --vm-purple: #6621ba;
    --vm-orange: #f98a17;
    --vm-text: #000000;
    --vm-light: #faf7ff;
}

.vision-mission-section {
    position: relative;
    overflow: hidden;
    padding: 50px 0;
    /* background:
        radial-gradient(circle at 0% 15%,
            rgba(102, 33, 186, .07), transparent 24%),
        radial-gradient(circle at 100% 85%,
            rgba(249, 138, 23, .08), transparent 25%),
        #fff; */
}

.vm-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

/* Section heading */

.vm-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.vm-eyebrow {
    display: inline-block;
    margin-bottom: 13px;
    color: var(--vm-purple);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.vm-heading h2 {
    margin: 0;
    color: var(--vm-purple);
    font-size: 35px;
    font-weight: 800;
    line-height: 1.2;
}

.vm-heading h2 span {
    color: var(--vm-orange);
}

.vm-heading > p {
    margin: 18px auto 0;
    color: var(--vm-text);
    font-size: 15px;
    line-height: 1.8;
}

.vm-heading-line {
    width: 100px;
    height: 4px;
    margin: 22px auto 0;
    overflow: hidden;
    background: #eee5fa;
    border-radius: 10px;
}

.vm-heading-line span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        var(--vm-purple) 0 60%,
        var(--vm-orange) 60%
    );
}

/* Cards layout */

.vm-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: stretch;
    gap: 28px;
}

.vm-card {
    position: relative;
    isolation: isolate;
    min-width: 0;
    padding: 36px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(102, 33, 186, .1);
    border-radius: 25px;
    box-shadow: 0 12px 40px rgba(53, 31, 83, .07);
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.vm-card:hover {
    transform: translateY(-8px);
    border-color: rgba(102, 33, 186, .25);
    box-shadow: 0 24px 55px rgba(53, 31, 83, .13);
}

/* Decorative background shapes */

.vm-card-pattern {
    position: absolute;
    z-index: -1;
    top: -80px;
    right: -90px;
    width: 230px;
    height: 230px;
    background: rgba(102, 33, 186, .055);
    border-radius: 38% 62% 53% 47% / 48% 35% 65% 52%;
    transform: rotate(20deg);
    transition: transform .7s ease, border-radius .7s ease;
    pointer-events: none;
}

.mission-card .vm-card-pattern {
    background: rgba(249, 138, 23, .09);
}

.vm-card:hover .vm-card-pattern {
    transform: rotate(45deg) scale(1.18);
    border-radius: 50%;
}

/* Dotted pattern */

.vm-pattern-dots {
    position: absolute;
    z-index: -1;
    top: 20px;
    right: 20px;
    width: 72px;
    height: 72px;
    background-image: radial-gradient(
        var(--vm-purple) 1.5px,
        transparent 1.5px
    );
    background-size: 12px 12px;
    opacity: .35;
    transition: transform .5s ease;
    pointer-events: none;
}

.mission-card .vm-pattern-dots {
    background-image: radial-gradient(
        var(--vm-orange) 1.5px,
        transparent 1.5px
    );
}

.vm-card:hover .vm-pattern-dots {
    transform: translate(-5px, 8px);
}

/* Decorative circles */

.vm-circle {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    transition: transform .5s ease;
}

.vm-circle-one {
    right: 30px;
    bottom: 35px;
    width: 45px;
    height: 45px;
    border: 2px solid rgba(102, 33, 186, .15);
}

.vm-circle-two {
    right: 75px;
    bottom: 75px;
    width: 15px;
    height: 15px;
    background: rgba(249, 138, 23, .55);
}

.vm-card:hover .vm-circle-one {
    transform: translate(-10px, -8px) scale(1.2);
}

.vm-card:hover .vm-circle-two {
    transform: translate(8px, 8px) scale(1.4);
}

/* Card header */

.vm-card-top {
    display: flex;
    align-items: center;
    gap: 18px;
}

.vm-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 19px;
    transition: transform .45s ease, border-radius .45s ease;
}

.vm-icon svg {
    width: 37px;
    height: 37px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vision-icon {
    color: #fff;
    background: var(--vm-purple);
    box-shadow: 0 8px 18px rgba(102, 33, 186, .2);
}

.mission-icon {
    color: #fff;
    background: var(--vm-orange);
    box-shadow: 0 8px 18px rgba(249, 138, 23, .2);
}

.vm-card:hover .vm-icon {
    transform: rotate(-8deg) scale(1.08);
    border-radius: 50%;
}

.vm-label {
    display: block;
    margin-bottom: 5px;
    color: #81768f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.vm-card h3 {
    margin: 0;
    color: var(--vm-purple);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.25;
}

.mission-card h3 {
    color: var(--vm-orange);
}

/* Accent divider */

.vm-card-divider {
    width: 75px;
    height: 4px;
    margin: 25px 0;
    background: linear-gradient(
        90deg,
        var(--vm-purple) 0 65%,
        var(--vm-orange) 65%
    );
    border-radius: 10px;
    transition: width .45s ease;
}

.vm-card:hover .vm-card-divider {
    width: 125px;
}

/* Vision content */

.vm-description {
    margin: 0;
    color: var(--vm-text);
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.5px;
    text-align: justify;
}

.vm-description strong {
    color: var(--vm-purple);
    font-weight: 800;
}

/* Vision highlight */

.vm-highlight {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    padding: 15px;
    color: var(--vm-purple);
    background: var(--vm-light);
    border-left: 3px solid var(--vm-orange);
    border-radius: 0 12px 12px 0;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
    transition: background .35s ease;
}

.vm-card:hover .vm-highlight {
    background: #f2eaff;
}

.vm-highlight-icon {
    color: var(--vm-orange);
    font-size: 23px;
}

/* Mission content */

.vm-mission-intro {
    margin: 0 0 24px;
    color: var(--vm-text);
    font-size: 15px;
    line-height: 1.8;
}

/* Mission list */

.vm-mission-list {
    display: flex;
    flex-direction: column;
    gap: 23px;
}

.vm-mission-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
}

.vm-item-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--vm-purple);
    background: #f1e9fc;
    border-radius: 13px;
    font-size: 12px;
    font-weight: 800;
    transition:
        color .35s ease,
        background .35s ease,
        transform .35s ease;
}

.vm-mission-item:nth-child(even) .vm-item-icon {
    color: #b85b00;
    background: #fff0de;
}

.vm-mission-item:hover .vm-item-icon {
    color: #fff;
    background: var(--vm-purple);
    transform: translateY(-4px) rotate(-5deg);
}

.vm-mission-item:nth-child(even):hover .vm-item-icon {
    background: var(--vm-orange);
}

.vm-mission-item h4 {
    margin: 0 0 7px;
    color: var(--vm-purple);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
    transition: color .3s ease;
}

.vm-mission-item:nth-child(even) h4 {
    color: #bd670b;
}

.vm-mission-item:hover h4 {
    color: var(--vm-orange);
}

.vm-mission-item p {
    margin: 0;
    color: var(--vm-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
    text-align: justify;
}

/* Card numbering */

.vm-card-number {
    position: absolute;
    right: 20px;
    bottom: -15px;
    z-index: -1;
    color: rgba(102, 33, 186, .045);
    font-size: 115px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
    transition: color .4s ease, transform .4s ease;
}

.mission-card .vm-card-number {
    color: rgba(249, 138, 23, .07);
}

.vm-card:hover .vm-card-number {
    transform: translateY(-5px);
    color: rgba(102, 33, 186, .08);
}

/* Decorative corner */

.vm-card-corner {
    position: absolute;
    right: -32px;
    bottom: -32px;
    width: 90px;
    height: 90px;
    border: 12px solid rgba(249, 138, 23, .14);
    border-radius: 50%;
    pointer-events: none;
}

/* Bottom motto */

.vm-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 40px;
    text-align: center;
}

.vm-bottom p {
    margin: 0;
    color: var(--vm-purple);
    font-size: 16px;
    font-weight: 700;
}

.vm-bottom strong {
    color: var(--vm-orange);
}

.vm-bottom-star {
    color: var(--vm-orange);
    font-size: 22px;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 991px) {
    .vision-mission-section {
        padding: 70px 0;
    }

    .vm-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .vm-card {
        padding: 32px;
    }

    .vm-description {
        max-width: 760px;
    }
}

@media (max-width: 575px) {
    .vision-mission-section {
        padding: 50px 0;
    }

    .vm-container {
        width: calc(100% - 28px);
    }

    .vm-heading {
        margin-bottom: 35px;
    }

    .vm-eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .vm-heading h2 {
        font-size: 31px;
    }

    .vm-heading > p {
        font-size: 13px;
    }

    .vm-card {
        padding: 25px 21px;
        border-radius: 20px;
    }

    .vm-card-top {
        gap: 13px;
    }

    .vm-icon {
        width: 52px;
        height: 52px;
        border-radius: 15px;
    }

    .vm-icon svg {
        width: 30px;
        height: 30px;
    }

    .vm-card h3 {
        font-size: 26px;
    }

    .vm-label {
        font-size: 9px;
        letter-spacing: 1.2px;
    }

    .vm-description {
        font-size: 14px;
        line-height: 1.85;
    }

    .vm-mission-item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 11px;
    }

    .vm-item-icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: 11px;
    }

    .vm-mission-item h4 {
        font-size: 14px;
    }

    .vm-mission-item p,
    .vm-mission-intro {
        font-size: 13px;
    }

    .vm-bottom {
        gap: 10px;
    }

    .vm-bottom p {
        font-size: 13px;
    }
}

/* Reduced motion accessibility */

@media (prefers-reduced-motion: reduce) {
    .vision-mission-section *,
    .vision-mission-section *::before,
    .vision-mission-section *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ==========================================
   ACADEMICS SECTION
========================================== */

:root {
    --academic-purple: #6621ba;
    --academic-orange: #f98a17;
    --academic-text: #000000;
    --academic-light: #faf7ff;
}

.academics-section {
    position: relative;
    overflow: hidden;
    padding: 50px 0;
    /* background:
        radial-gradient(circle at 0% 5%,
            rgba(102, 33, 186, .08), transparent 24%),
        radial-gradient(circle at 100% 90%,
            rgba(249, 138, 23, .08), transparent 24%),
        #fff; */
}

.academics-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

/* ==========================================
   SECTION HEADING
========================================== */

.academics-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.academics-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--academic-purple);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.academics-heading h2 {
    margin: 0;
    color: var(--academic-purple);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
}

.academics-heading h2 span {
    color: var(--academic-orange);
}

.academics-heading-line {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 10px 0;
}

.academics-heading-line span {
    width: 45px;
    height: 3px;
    background: var(--academic-purple);
    border-radius: 10px;
}

.academics-heading-line b {
    color: var(--academic-orange);
    font-size: 22px;
    animation: academic-star-spin 8s linear infinite;
}

.academics-heading p {
    margin: 0 auto;
    color: var(--academic-text);
    font-size: 15px;
    line-height: 1.8;
}

/* ==========================================
   EARLY LEARNING CARDS
========================================== */

.early-learning-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 30px;
}

.academic-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(102, 33, 186, .08);
    border-radius: 22px;
    box-shadow: 0 10px 35px rgba(51, 30, 85, .07);
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.academic-card:hover {
    transform: translateY(-9px);
    border-color: rgba(102, 33, 186, .22);
    box-shadow: 0 22px 45px rgba(51, 30, 85, .14);
}

/* Image container */

.academic-image {
    position: relative;
    isolation: isolate;
    height: 245px;
    overflow: hidden;
    background: var(--academic-light);
}

.academic-image img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition:
        transform .7s cubic-bezier(.2, .7, .3, 1),
        filter .5s ease;
}

.academic-card:hover .academic-image img {
    transform: scale(1.09);
    filter: saturate(1.08);
}

/* Decorative organic shapes */

.academic-blob {
    position: absolute;
    z-index: 0;
    width: 190px;
    height: 190px;
    border-radius: 43% 57% 60% 40% / 45% 42% 58% 55%;
    transition: transform .7s ease;
    pointer-events: none;
}

.purple-blob {
    top: 10px;
    left: 15px;
    background: rgba(102, 33, 186, .17);
    transform: rotate(-15deg);
}

.orange-blob {
    right: 10px;
    bottom: -30px;
    background: rgba(249, 138, 23, .2);
    transform: rotate(18deg);
}

.academic-card:hover .purple-blob {
    transform: rotate(0) scale(1.12);
}

.academic-card:hover .orange-blob {
    transform: rotate(-8deg) scale(1.1);
}

/* Dotted image pattern */

.academic-dots {
    position: absolute;
    z-index: 2;
    top: 15px;
    right: 15px;
    width: 55px;
    height: 55px;
    background-image: radial-gradient(
        var(--academic-purple) 1.5px,
        transparent 1.5px
    );
    background-size: 10px 10px;
    opacity: .65;
    transition: transform .5s ease;
    pointer-events: none;
}

.academic-card:hover .academic-dots {
    transform: translate(-5px, 7px);
}

/* Floating decorative doodles */

.academic-doodle {
    position: absolute;
    z-index: 3;
    color: var(--academic-orange);
    font-size: 30px;
    animation: academic-float 3s ease-in-out infinite;
    pointer-events: none;
}

.doodle-one {
    top: 16px;
    left: 17px;
}

.doodle-two {
    top: 20px;
    left: 20px;
    color: var(--academic-purple);
    animation-delay: .8s;
}

.doodle-three {
    top: 20px;
    right: 22px;
    animation-delay: 1.2s;
}

/* Card content */

.academic-card-content {
    position: relative;
    padding: 25px 22px 30px;
    text-align: center;
}

.academic-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin: -53px auto 14px;
    border: 4px solid #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    box-sizing: content-box;
    transition: transform .4s ease;
}

.purple-icon {
    background: var(--academic-purple);
}

.orange-icon {
    background: var(--academic-orange);
}

.academic-card:hover .academic-icon {
    transform: translateY(-5px) rotate(-8deg);
}

.academic-card h3 {
    margin: 0;
    color: var(--academic-purple);
    font-size: 28px;
    font-weight: 800;
}

.academic-card:nth-child(2) h3 {
    color: var(--academic-orange);
}

.academic-line {
    display: block;
    width: 45px;
    height: 3px;
    margin: 10px auto 10px;
    background: var(--academic-orange);
    border-radius: 10px;
    transition: width .4s ease;
}

.academic-card:nth-child(2) .academic-line {
    background: var(--academic-purple);
}

.academic-card:hover .academic-line {
    width: 85px;
}

.academic-card-content p {
    margin: 0;
    color: var(--academic-text);
    font-size: 15px;
    line-height: 1.8;
}

.academic-card-number {
    position: absolute;
    right: 12px;
    bottom: 0;
    color: rgba(102, 33, 186, .06);
    font-size: 65px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

/* ==========================================
   STD 1 TO 5 WIDE CARD
========================================== */

.primary-academic-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 35px;
    min-width: 0;
    padding: 25px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(102, 33, 186, .08);
    border-radius: 25px;
    box-shadow: 0 12px 40px rgba(51, 30, 85, .07);
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.primary-academic-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(51, 30, 85, .12);
}

/* Wide image */

.primary-academic-visual {
    position: relative;
    isolation: isolate;
    min-width: 0;
    height: 330px;
    overflow: hidden;
    border-radius: 18px;
    background: var(--academic-light);
}

.primary-blob {
    position: absolute;
    z-index: -1;
    width: 75%;
    height: 85%;
    border-radius: 45% 55% 56% 44% / 47% 38% 62% 53%;
    transition: transform .7s ease;
    pointer-events: none;
}

.primary-blob-purple {
    top: 0;
    left: 5%;
    background: rgba(102, 33, 186, .19);
    transform: rotate(-9deg);
}

.primary-blob-orange {
    right: 0;
    bottom: -10px;
    background: rgba(249, 138, 23, .25);
    transform: rotate(12deg);
}

.primary-academic-card:hover .primary-blob-purple {
    transform: rotate(0) scale(1.08);
}

.primary-academic-card:hover .primary-blob-orange {
    transform: rotate(-5deg) scale(1.08);
}

.primary-academic-visual img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform .7s ease;
}

.primary-academic-card:hover .primary-academic-visual img {
    transform: scale(1.06);
}

/* Orbit and dots */

.primary-orbit {
    position: absolute;
    z-index: 2;
    inset: 12px;
    border: 2px dashed var(--academic-orange);
    border-radius: 45% 55% 52% 48%;
    transform: rotate(-8deg);
    transition: transform .7s ease;
    pointer-events: none;
}

.primary-academic-card:hover .primary-orbit {
    transform: rotate(0) scale(.97);
}

.primary-dots {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    width: 60px;
    height: 60px;
    background-image: radial-gradient(
        var(--academic-purple) 1.5px,
        transparent 1.5px
    );
    background-size: 10px 10px;
    pointer-events: none;
}

.primary-doodle {
    position: absolute;
    z-index: 3;
    color: var(--academic-orange);
    font-size: 30px;
    animation: academic-float 3s ease-in-out infinite;
    pointer-events: none;
}

.primary-doodle-one {
    top: 15px;
    left: 15px;
}

.primary-doodle-two {
    right: 20px;
    bottom: 20px;
    color: var(--academic-purple);
    animation-delay: 1s;
}

/* Wide card content */

.primary-academic-content {
    min-width: 0;
    padding: 20px 15px 20px 0;
}

.primary-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #7a6c8e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.primary-academic-content h3 {
    margin: 0;
    color: var(--academic-orange);
    font-size: 30px;
    font-weight: 900;
    line-height: 1.2;
}

.primary-academic-content h3 span {
    color: var(--academic-purple);
}

.primary-academic-line {
    display: block;
    width: 80px;
    height: 4px;
    margin: 18px 0;
    background: linear-gradient(
        90deg,
        var(--academic-purple) 0 60%,
        var(--academic-orange) 60%
    );
    border-radius: 10px;
    transition: width .45s ease;
}

.primary-academic-card:hover .primary-academic-line {
    width: 135px;
}

.primary-academic-content > p {
    margin: 0;
    color: var(--academic-text);
    font-size: 15px;
    line-height: 1.9;
    text-align: justify;
}

/* Learning benefit row */

.academic-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}

.academic-benefit {
    min-width: 0;
    text-align: center;
}

.benefit-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 10px;
    color: var(--academic-purple);
    background: #f1e8fc;
    border-radius: 50%;
    font-size: 23px;
    transition:
        transform .4s ease,
        color .4s ease,
        background .4s ease;
}

.academic-benefit:nth-child(even) .benefit-icon {
    color: #fff;
    background: var(--academic-orange);
}

.academic-benefit:hover .benefit-icon {
    color: #fff;
    background: var(--academic-purple);
    transform: translateY(-5px) rotate(-8deg);
}

.academic-benefit h4 {
    margin: 0;
    color: var(--academic-purple);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.6;
}

/* ==========================================
   KEYFRAME ANIMATIONS
========================================== */

@keyframes academic-float {
    0%, 100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-9px) rotate(12deg);
    }
}

@keyframes academic-star-spin {
    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }
}

/* ==========================================
   TABLET
========================================== */

@media (max-width: 991px) {
    .academics-section {
        padding: 65px 0;
    }

    .early-learning-grid {
        gap: 15px;
    }

    .academic-image {
        height: 200px;
    }

    .academic-card-content {
        padding: 23px 15px 25px;
    }

    .academic-card h3 {
        font-size: 24px;
    }

    .academic-card-content p {
        font-size: 13px;
    }

    .primary-academic-card {
        gap: 22px;
        padding: 20px;
    }

    .primary-academic-visual {
        height: 290px;
    }

    .academic-benefits {
        gap: 8px;
    }

    .benefit-icon {
        width: 40px;
        height: 40px;
    }
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {
    .academics-section {
        padding: 50px 0;
    }

    .academics-container {
        width: calc(100% - 30px);
    }

    .academics-heading {
        margin-bottom: 35px;
    }

    .academics-heading h2 {
        font-size: 32px;
    }

    .academics-heading p {
        font-size: 14px;
    }

    .early-learning-grid {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 22px;
    }

    .academic-image {
        height: 260px;
    }

    .academic-card-content {
        padding: 25px 25px 30px;
    }

    .academic-card-content p {
        max-width: 350px;
        margin: 0 auto;
        font-size: 14px;
    }

    .academic-card h3 {
        font-size: 27px;
    }

    .primary-academic-card {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 15px;
        border-radius: 20px;
    }

    .primary-academic-visual {
        height: 270px;
    }

    .primary-academic-content {
        padding: 15px 10px 20px;
    }

    .primary-academic-content h3 {
        font-size: 34px;
    }

    .primary-academic-content > p {
        font-size: 14px;
    }

    .academic-benefits {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
        margin-top: 25px;
    }

    .benefit-icon {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .academic-benefit h4 {
        font-size: 10px;
    }
}

@media (max-width: 380px) {
    .academics-heading h2 {
        font-size: 28px;
    }

    .academic-image {
        height: 220px;
    }

    .academic-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .primary-academic-visual {
        height: 220px;
    }
}

/* Accessibility: reduced motion */

@media (prefers-reduced-motion: reduce) {
    .academics-section *,
    .academics-section *::before,
    .academics-section *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ======================================
   STUDENT CODE OF CONDUCT
====================================== */

:root {
    --conduct-purple: #6621ba;
    --conduct-orange: #f98a17;
    --conduct-text: #000000;
}

.conduct-section {
    position: relative;
    overflow: hidden;
    padding: 50px 0;
}

.conduct-container {
    width: min(1150px, calc(100% - 40px));
    margin: 0 auto;
}

/* Heading */

.conduct-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.conduct-eyebrow {
    color: var(--conduct-purple);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.conduct-heading h2 {
    margin: 12px 0;
    color: var(--conduct-purple);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
}

.conduct-heading h2 span {
    color: var(--conduct-orange);
}

.conduct-heading-line {
    width: 85px;
    height: 4px;
    margin: 10px auto;
    overflow: hidden;
    background: #eee5fa;
    border-radius: 10px;
}

.conduct-heading-line span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        var(--conduct-purple) 0 60%,
        var(--conduct-orange) 60%
    );
}

.conduct-heading p {
    margin: 0;
    color: var(--conduct-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Grid */

.conduct-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

/* Individual cards */

.conduct-card {
    position: relative;
    isolation: isolate;
    min-width: 0;
    padding: 30px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(102, 33, 186, .1);
    border-radius: 22px;
    box-shadow: 0 10px 35px rgba(50, 30, 80, .06);
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.conduct-card:hover {
    transform: translateY(-7px);
    border-color: rgba(102, 33, 186, .25);
    box-shadow: 0 22px 45px rgba(50, 30, 80, .13);
}

/* Card decorative background */

.conduct-card-pattern {
    position: absolute;
    z-index: -1;
    top: -65px;
    right: -65px;
    width: 170px;
    height: 170px;
    background: rgba(102, 33, 186, .055);
    border-radius: 40% 60% 55% 45%;
    transform: rotate(15deg);
    transition: transform .65s ease, border-radius .65s ease;
    pointer-events: none;
}

.conduct-card:nth-child(even) .conduct-card-pattern {
    background: rgba(249, 138, 23, .09);
}

.conduct-card:hover .conduct-card-pattern {
    transform: rotate(45deg) scale(1.25);
    border-radius: 50%;
}

/* Icon and number */

.conduct-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 23px;
}

.conduct-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #fff;
    border-radius: 17px;
    font-size: 23px;
    transition: transform .4s ease, border-radius .4s ease;
}

.purple-bg {
    background: var(--conduct-purple);
    box-shadow: 0 8px 18px rgba(102, 33, 186, .18);
}

.orange-bg {
    background: var(--conduct-orange);
    box-shadow: 0 8px 18px rgba(249, 138, 23, .18);
}

.conduct-card:hover .conduct-icon {
    transform: rotate(-8deg) scale(1.08);
    border-radius: 50%;
}

.conduct-number {
    color: rgba(102, 33, 186, .12);
    font-size: 48px;
    font-weight: 900;
    /* line-height: 1; */
    transition: color .4s ease;
}

.conduct-card:hover .conduct-number {
    color: rgba(249, 138, 23, .3);
}

/* Card content */

.conduct-card h3 {
    margin: 0;
    color: var(--conduct-purple);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.4;
}

.conduct-card:nth-child(even) h3 {
    color: #bd670b;
}

.conduct-line {
    width: 48px;
    height: 3px;
    margin: 15px 0;
    background: var(--conduct-orange);
    border-radius: 5px;
    transition: width .4s ease;
}

.conduct-card:nth-child(even) .conduct-line {
    background: var(--conduct-purple);
}

.conduct-card:hover .conduct-line {
    width: 95px;
}

.conduct-card p {
    margin: 0;
    color: var(--conduct-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    text-align: justify;
    line-height: 1.9;
}

.conduct-card p strong {
    color: var(--conduct-purple);
    font-weight: 800;
}

/* Wide final card */

.conduct-card-wide {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 125px 220px 1fr;
    align-items: center;
    gap: 20px;
}

.conduct-card-wide .conduct-card-top {
    margin: 0;
}

.conduct-card-wide h3 {
    font-size: 21px;
}

.conduct-card-wide .conduct-line {
    display: none;
}

/* Footer motto */

.conduct-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 38px;
    color: var(--conduct-purple);
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.conduct-footer i {
    color: var(--conduct-orange);
    font-size: 15px;
}

/* ======================================
   RESPONSIVE
====================================== */

@media (max-width: 900px) {
    .conduct-card-wide {
        grid-template-columns: 60px 1fr;
        gap: 15px;
    }

    .conduct-card-wide p {
        grid-column: 2;
    }
}

@media (max-width: 600px) {
    .conduct-section {
        padding: 55px 0;
    }

    .conduct-container {
        width: calc(100% - 28px);
    }

    .conduct-heading {
        margin-bottom: 32px;
    }

    .conduct-heading h2 {
        font-size: 31px;
    }

    .conduct-heading p {
        font-size: 14px;
    }

    .conduct-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .conduct-card {
        padding: 24px;
        border-radius: 19px;
    }

    .conduct-card h3 {
        font-size: 20px;
    }

    .conduct-card p {
        font-size: 13px;
        line-height: 1.85;
    }

    .conduct-icon {
        width: 51px;
        height: 51px;
        font-size: 20px;
    }

    .conduct-card-wide {
        grid-column: auto;
        display: block;
    }

    .conduct-card-wide .conduct-card-top {
        margin-bottom: 23px;
    }

    .conduct-card-wide p {
        grid-column: auto;
    }

    .conduct-card-wide .conduct-line {
        display: block;
    }

    .conduct-footer {
        gap: 8px;
        font-size: 11px;
        flex-wrap: wrap;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .conduct-section *,
    .conduct-section *::before,
    .conduct-section *::after {
        animation: none !important;
        transition: none !important;
    }
}
/* ======================================
   SCHOOL RULES & REGULATIONS
====================================== */
.school-rules-section {
    --rules-purple: #6621ba;
    --rules-orange: #f98a17;
    --rules-text: #000000;
    --rules-light: #f7f4fc;
    padding: 50px 0px;
    overflow: hidden;
    font-family: inherit;
}

.school-rules-container {
    max-width: 1200px;
    margin: 0 auto;
}

.rules-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.rules-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 17px;
    border-radius: 50px;
    background: #f0e7fc;
    color: var(--rules-purple);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.rules-heading h2 {
    margin: 20px 0 14px;
    color: #252033;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 800;
}

.rules-heading h2 span {
    color: var(--rules-purple);
    position: relative;
}

.rules-heading h2 span::after {
    content: "";
    position: absolute;
    width: 65%;
    height: 4px;
    background: var(--rules-orange);
    border-radius: 10px;
    left: 0;
    bottom: -7px;
}

.rules-heading > p {
    color: var(--rules-text);
    line-height: 1.8;
    font-size: 15px;
    letter-spacing: 0.5px;
    margin: 22px 0 0;
}

/* TIMINGS */
.rules-timing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 35px;
}

.timing-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 25px;
    background: #fff;
    border: 1px solid #eee7f7;
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(47, 24, 75, .06);
    transition: transform .35s ease, box-shadow .35s ease;
}

.timing-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(102,33,186,.12);
}

.timing-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #f0e7fc;
    color: var(--rules-purple);
    font-size: 25px;
}

.timing-icon.orange {
    background: #fff0df;
    color: var(--rules-orange);
}

.timing-card span {
    display: block;
    margin-bottom: 7px;
    color: #77717f;
    font-size: 13px;
    font-weight: 600;
}

.timing-card h3 {
    margin: 0;
    color: #292237;
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 800;
}

/* RULE CARDS */
.rules-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.rule-card {
    position: relative;
    padding: 30px;
    background: rgba(255,255,255,.96);
    border: 1px solid #eee8f6;
    border-radius: 20px;
    box-shadow: 0 10px 35px rgba(42, 24, 68, .055);
    transition: transform .4s ease, box-shadow .4s ease,
                border-color .4s ease;
    isolation: isolate;
}

.rule-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 5px;
    height: 55px;
    top: 30px;
    left: -1px;
    background: var(--rules-purple);
    border-radius: 0 8px 8px 0;
    transition: height .35s ease;
}

.rule-card:nth-child(even)::before {
    background: var(--rules-orange);
}

.rule-card:hover {
    transform: translateY(-7px);
    border-color: #ded0f1;
    box-shadow: 0 20px 45px rgba(62, 31, 99, .11);
}

.rule-card:hover::before {
    height: 85px;
}

.rule-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rule-icon {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--rules-purple);
    background: #f0e7fc;
    font-size: 24px;
    transition: transform .35s ease, background .35s ease;
}

.rule-icon.orange {
    background: #fff0df;
    color: var(--rules-orange);
}

.rule-card:hover .rule-icon {
    transform: rotate(-7deg) scale(1.08);
}

.rule-number {
    color: #e8e0f1;
    font-size: 36px;
    line-height: 1;
    font-weight: 900;
}

.rule-card h3 {
    margin: 0 0 20px;
    color: #2b2239;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.4;
}

.rule-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rule-card li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 14px;
    color: var(--rules-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    text-align: justify;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.rule-card li:last-child {
    margin-bottom: 0;
}

.rule-card li::before {
    content: "\f00c";
    font-family: FontAwesome;
    position: absolute;
    left: 0;
    top: 4px;
    color: var(--rules-orange);
    font-size: 12px;
}

.rule-card li strong {
    color: #332544;
    font-weight: 700;
}

.rule-card li a {
    color: var(--rules-purple);
    font-weight: 700;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.rule-card li a:hover {
    text-decoration: underline;
}

/* ADMINISTRATION */
.rule-card-wide {
    grid-column: 1 / -1;
}

.admin-policy {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 22px;
    background: var(--rules-light);
    border-radius: 15px;
}

.admin-policy-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--rules-purple);
    border-radius: 13px;
    font-size: 20px;
}

.admin-policy h4 {
    margin: 0 0 7px;
    color: #30213f;
    font-size: 17px;
    font-weight: 800;
}

.admin-policy p {
    margin: 0;
    color: var(--rules-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* CLOSING NOTE */
.rules-footer-note {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    padding: 28px 30px;
    background: #6621ba;
    border-radius: 20px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.rules-footer-note::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -50px;
    top: -80px;
    border: 25px solid rgba(255,255,255,.08);
    border-radius: 50%;
    pointer-events: none;
}

.note-icon {
    width: 55px;
    height: 55px;
    flex: 0 0 55px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: var(--rules-orange);
    font-size: 23px;
}

.rules-footer-note h3 {
    margin: 0 0 7px;
    font-size: 21px;
    font-weight: 800;
    color: #fff;
}

.rules-footer-note p {
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255,255,255,.88);
}

/* SCROLL REVEAL */
.reveal {
    opacity: 0;
    transform: translateY(35px);
    transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.rules-grid .rule-card:nth-child(2) {
    transition-delay: .08s;
}

.rules-grid .rule-card:nth-child(3) {
    transition-delay: .14s;
}

.rules-grid .rule-card:nth-child(4) {
    transition-delay: .2s;
}

.rules-grid .rule-card:nth-child(5) {
    transition-delay: .12s;
}

/* RESPONSIVE */
@media (max-width: 767px) {
    .school-rules-section {
        padding: 60px 16px;
    }

    .rules-heading {
        margin-bottom: 30px;
    }

    .rules-timing-grid,
    .rules-grid {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .timing-card {
        padding: 20px;
        gap: 14px;
    }

    .timing-icon {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        font-size: 22px;
    }

    .rule-card {
        padding: 24px 21px;
    }

    .rule-card h3 {
        font-size: 19px;
    }

    .rule-card-wide {
        grid-column: auto;
    }

    .rules-footer-note {
        align-items: flex-start;
        padding: 23px 20px;
        gap: 14px;
    }

    .note-icon {
        width: 45px;
        height: 45px;
        flex-basis: 45px;
        font-size: 19px;
    }

    .rules-footer-note h3 {
        font-size: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reveal,
    .rule-card,
    .rule-card::before,
    .rule-icon,
    .timing-card {
        transition: none !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}
/* ===================================
   SCHOOL BUS REGULATIONS
=================================== */
.bus-regulations-section {
    --bus-purple: #6621ba;
    --bus-orange: #f98a17;
    --bus-text: #000000;
    padding: 50px 0px;
    overflow: hidden;
}

.bus-regulations-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading */
.bus-heading {
    margin: 0 auto 30px;
    text-align: center;
}

.bus-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 17px;
    background: #efe5fc;
    color: var(--bus-purple);
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.bus-heading h2 {
    margin: 20px 0 14px;
    color: #292036;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
}

.bus-heading h2 span {
    color: var(--bus-purple);
    position: relative;
}

.bus-heading h2 span::after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 0;
    width: 65%;
    height: 4px;
    border-radius: 10px;
    background: var(--bus-orange);
}

.bus-heading p {
    margin: 22px 0 0;
    color: var(--bus-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Banner */
.bus-info-banner {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px 32px;
    margin-bottom: 30px;
    border-radius: 20px;
    color: #fff;
    background: var(--bus-purple);
    overflow: hidden;
}

.bus-banner-icon {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: var(--bus-orange);
    font-size: 26px;
}

.bus-banner-content {
    position: relative;
    z-index: 1;
}

.bus-banner-content h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
}

.bus-banner-content p {
    margin: 0;
    color: rgba(255,255,255,.88);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

.bus-banner-decoration {
    margin-left: auto;
    padding-left: 15px;
    color: rgba(255,255,255,.13);
    font-size: 80px;
    transform: rotate(-8deg);
    transition: transform .4s ease;
}

.bus-info-banner:hover .bus-banner-decoration {
    transform: rotate(0) scale(1.1);
}

/* Grid */
.bus-regulations-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

/* Cards */
.bus-rule-card {
    position: relative;
    padding: 28px;
    background: #fff;
    border: 1px solid #eee7f6;
    border-radius: 20px;
    box-shadow: 0 10px 32px rgba(49, 26, 75, .05);
    transition: transform .4s ease, box-shadow .4s ease,
                border-color .4s ease;
}

.bus-rule-card::before {
    content: "";
    position: absolute;
    top: 28px;
    left: -1px;
    width: 5px;
    height: 48px;
    background: var(--bus-purple);
    border-radius: 0 8px 8px 0;
    transition: height .35s ease;
}

.bus-rule-card:nth-child(even)::before {
    background: var(--bus-orange);
}

.bus-rule-card:hover {
    transform: translateY(-7px);
    border-color: #ddc9f5;
    box-shadow: 0 20px 42px rgba(70, 34, 112, .11);
}

.bus-rule-card:hover::before {
    height: 80px;
}

.bus-rule-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.bus-rule-icon {
    display: grid;
    place-items: center;
    width: 55px;
    height: 55px;
    border-radius: 16px;
    color: var(--bus-purple);
    background: #f0e7fc;
    font-size: 23px;
    transition: transform .35s ease;
}

.bus-rule-icon.orange {
    color: var(--bus-orange);
    background: #fff0df;
}

.bus-rule-card:hover .bus-rule-icon {
    transform: rotate(-7deg) scale(1.08);
}

.bus-rule-number {
    color: #e9e1f1;
    font-size: 35px;
    font-weight: 900;
    line-height: 1;
}

.bus-rule-card h3 {
    margin: 0 0 13px;
    color: #2e243c;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.4;
}

.bus-rule-card > p {
    margin: 0;
    color: var(--bus-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    text-align: justify;
    line-height: 1.9;
}

/* Highlight */
.bus-rule-highlight {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    padding: 14px;
    background: #f3ecfc;
    color: #4e2a79;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
}

.bus-rule-highlight > i {
    flex: 0 0 auto;
    margin-top: 3px;
    color: var(--bus-purple);
}

.bus-rule-highlight.warning {
    background: #fff3e5;
    color: #865018;
}

.bus-rule-highlight.warning > i {
    color: #d8790d;
}

/* Closing note */
.bus-closing-note {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 30px;
    padding: 26px 30px;
    border: 1px solid #eee4fa;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(49, 26, 75, .05);
}

.bus-closing-icon {
    display: grid;
    place-items: center;
    width: 53px;
    height: 53px;
    flex: 0 0 53px;
    background: #fff0df;
    color: var(--bus-orange);
    border-radius: 16px;
    font-size: 22px;
}

.bus-closing-note h3 {
    margin: 0 0 7px;
    color: #30223f;
    font-size: 20px;
    font-weight: 800;
}

.bus-closing-note p {
    margin: 0;
    color: var(--bus-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Scroll reveal */
.bus-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .7s ease, transform .7s ease;
}

.bus-reveal.bus-visible {
    opacity: 1;
    transform: translateY(0);
}

.bus-regulations-grid .bus-rule-card:nth-child(2) {
    transition-delay: .08s;
}

.bus-regulations-grid .bus-rule-card:nth-child(3) {
    transition-delay: .14s;
}

.bus-regulations-grid .bus-rule-card:nth-child(4) {
    transition-delay: .20s;
}

.bus-regulations-grid .bus-rule-card:nth-child(5) {
    transition-delay: .12s;
}

.bus-regulations-grid .bus-rule-card:nth-child(6) {
    transition-delay: .18s;
}

/* Responsive */
@media (max-width: 767px) {
    .bus-regulations-section {
        padding: 60px 16px;
    }

    .bus-regulations-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .bus-rule-card {
        padding: 24px 21px;
    }

    .bus-rule-card h3 {
        font-size: 19px;
    }

    .bus-info-banner {
        align-items: flex-start;
        padding: 23px 20px;
        gap: 14px;
    }

    .bus-banner-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
        font-size: 21px;
    }

    .bus-banner-content h3 {
        font-size: 19px;
    }

    .bus-banner-decoration {
        display: none;
    }

    .bus-closing-note {
        align-items: flex-start;
        padding: 22px 19px;
        gap: 13px;
    }

    .bus-closing-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        font-size: 18px;
    }

    .bus-closing-note h3 {
        font-size: 18px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .bus-reveal,
    .bus-rule-card,
    .bus-rule-card::before,
    .bus-rule-icon,
    .bus-banner-decoration {
        transition: none !important;
    }

    .bus-reveal {
        opacity: 1;
        transform: none;
    }
}
.facilities-section {
    position: relative;
    padding: 40px 0px;
    overflow: hidden;
    background:
        radial-gradient(circle at 5% 15%, #fbeafa 0, transparent 18%),
        radial-gradient(circle at 95% 80%, #fff0d9 0, transparent 18%),
        #f9f7ff;
}

.facilities-container {
    max-width: 1200px;
    margin: auto;
}

/* Heading */
.facilities-heading {
    text-align: center;
    margin: 0 auto 30px;
}

.facilities-label {
    display: inline-block;
    padding: 9px 20px;
    border-radius: 50px;
    color: var(--facility-purple);
    background: #ece1ff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.facilities-label i {
    margin-right: 7px;
}

.facilities-heading h2 {
    margin: 20px 0 12px;
    color: #29163f;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 900;
}

.facilities-heading h2 span {
    color: var(--facility-purple);
    position: relative;
}

.facilities-heading h2 span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 70%;
    height: 4px;
    border-radius: 5px;
    background: var(--facility-orange);
}

.facilities-heading p {
    margin: 22px 0 0;
    color: var(--facility-text);
    font-size: 16px;
    line-height: 1.8;
}

/* Cards Grid: 3 per row */
.facilities-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

/* Facility Card */
.facility-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #eee7f8;
    border-radius: 22px;
    box-shadow: 0 10px 35px rgba(65, 33, 102, .07);
    transition: transform .4s ease, box-shadow .4s ease;
}

.facility-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 22px 45px rgba(102, 33, 186, .15);
}

/* Image */
.facility-image {
    position: relative;
    height: 250px;
    display: flex;
    overflow: hidden;
    background: #eee4ff;
    justify-content: center;
}

.facility-image::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(transparent, rgba(40, 15, 65, .15));
    pointer-events: none;
}

.facility-image img {
    width: 230px;
    height: 100%;
    display: block;
    transition: transform .6s ease;
}

.facility-card:hover .facility-image img {
    transform: scale(1.08);
}

/* Number badge */
.facility-number {
    position: absolute;
    z-index: 2;
    top: 15px;
    left: 15px;
    padding: 7px 13px;
    color: var(--facility-purple);
    background: #fff;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 4px 15px rgba(0,0,0,.08);
}

/* Icon overlapping image */
.facility-icon {
    position: relative;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 65px;
    height: 65px;
    margin: -32px auto 0;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #f0e6ff;
    color: var(--facility-purple);
    font-size: 25px;
    transition: transform .35s ease, background .35s ease, color .35s ease;
}

.facility-card:nth-child(even) .facility-icon {
    background: #fff0df;
    color: var(--facility-orange);
}

.facility-card:hover .facility-icon {
    transform: rotate(-10deg) scale(1.08);
}

/* Content */
.facility-content {
    padding: 16px 24px 20px;
    text-align: center;
}

.facility-content h3 {
    margin: 0 0 12px;
    color: var(--facility-purple);
    font-size: 23px;
    font-weight: 900;
    line-height: 1.3;
}

.facility-card:nth-child(even) .facility-content h3 {
    color: #e8790a;
}

.facility-content p {
    margin: 0 0 10px;
    color: #000000;
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Button */
.facility-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 13px 18px;
    color: #fff;
    background: var(--facility-purple);
    border: 0;
    border-radius: 50px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    transition: background .3s ease, transform .3s ease;
}

.facility-card:nth-child(even) .facility-button {
    background: var(--facility-orange);
}

.facility-button i {
    transition: transform .3s ease;
}

.facility-button:hover {
    color: #fff;
    background: #4d168f;
}

.facility-card:nth-child(even) .facility-button:hover {
    background: #df7106;
}

.facility-button:hover i {
    transform: translateX(5px);
}

/* Bottom message */
.facilities-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 17px;
    max-width: max-content;
    margin: 40px auto 0;
    padding: 18px 35px;
    color: var(--facility-purple);
    background: #eee4ff;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 900;
}

.facilities-footer i {
    color: var(--facility-orange);
    font-size: 23px;
}

.facilities-footer .dot {
    color: var(--facility-orange);
}

/* Scroll animation */
.facility-reveal {
    opacity: 0;
    transform: translateY(35px);
    transition: opacity .7s ease, transform .7s ease;
}

.facility-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.facility-card:nth-child(2) { transition-delay: .08s; }
.facility-card:nth-child(3) { transition-delay: .16s; }
.facility-card:nth-child(4) { transition-delay: .04s; }
.facility-card:nth-child(5) { transition-delay: .12s; }
.facility-card:nth-child(6) { transition-delay: .20s; }

/* Tablet: 2 columns */
@media (max-width: 991px) {
    .facilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .facility-image {
        height: 230px;
    }
}

/* Mobile: 1 column */
@media (max-width: 575px) {
    .facilities-section {
        padding: 60px 16px;
    }

    .facilities-heading {
        margin-bottom: 30px;
    }

    .facilities-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .facility-image {
        height: 250px;
    }

    .facility-content {
        padding: 16px 22px 24px;
    }

    .facility-content h3 {
        font-size: 22px;
    }

    .facility-content p {
        min-height: 0;
    }

    .facilities-footer {
        gap: 10px;
        padding: 15px 18px;
        font-size: 14px;
    }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .facility-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .facility-card,
    .facility-image img,
    .facility-icon,
    .facility-button,
    .facility-button i {
        transition: none;
    }
}
:root {
    --facility-purple: #6621ba;
    --facility-orange: #f98a17;
    --facility-text: #000000;
    --facility-light: #f7f3ff;
}
/* =========================================
   SCHOOL CONTACT SECTION
========================================= */
.school-contact-section {
    --contact-purple: #6621ba;
    --contact-orange: #f98a17;
    --contact-text: #000000;
    padding: 50px 0px;
    overflow: hidden;
}

.school-contact-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading */
.school-contact-heading {
    text-align: center;
    margin: 0 auto 30px;
}

.contact-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border-radius: 50px;
    color: var(--contact-purple);
    background: #eee4fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.school-contact-heading h2 {
    margin: 20px 0 12px;
    color: #2d203e;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 900;
}

.school-contact-heading h2 span {
    color: var(--contact-purple);
    position: relative;
}

.school-contact-heading h2 span::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 65%;
    height: 4px;
    border-radius: 5px;
    background: var(--contact-orange);
}

.school-contact-heading p {
    margin: 20px 0 0;
    color: var(--contact-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Two-column layout */
.school-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: 28px;
    align-items: stretch;
}

/* Contact information panel */
.school-contact-info {
    padding: 32px;
    background: #fff;
    border: 1px solid #eee6f8;
    border-radius: 22px;
    box-shadow: 0 15px 45px rgba(51, 24, 81, .07);
}

.contact-mini-label {
    color: var(--contact-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.contact-info-top h3 {
    margin: 12px 0;
    color: #2e213f;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 900;
}

.contact-info-top h3 span {
    color: var(--contact-purple);
}

.contact-info-top > p {
    margin: 0 0 25px;
    color: var(--contact-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Contact items */
.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 18px 0;
    border-top: 1px solid #eee9f4;
}

.contact-info-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 14px;
    background: #f0e6ff;
    color: var(--contact-purple);
    font-size: 21px;
    transition: transform .3s ease, background .3s ease;
}

.contact-info-icon.orange {
    background: #fff0df;
    color: var(--contact-orange);
}

.contact-info-item:hover .contact-info-icon {
    transform: translateY(-4px) rotate(-5deg);
}

.contact-info-content {
    min-width: 0;
}

.contact-info-content h4 {
    margin: 1px 0 5px;
    color: #30223e;
    font-size: 16px;
    font-weight: 800;
}

.contact-info-content p,
.contact-info-content span {
    display: block;
    margin: 0 0 5px;
    color: var(--contact-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.contact-info-content a {
    display: inline-block;
    color: var(--contact-purple);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.7;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.contact-info-content a:hover {
    color: var(--contact-orange);
}

.contact-info-content a i {
    margin-left: 5px;
}

/* WhatsApp button */
.contact-whatsapp-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: 18px;
    padding: 15px 18px;
    border-radius: 12px;
    background: var(--contact-purple);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: background .3s ease, transform .3s ease;
}

.contact-whatsapp-button > i:first-child {
    font-size: 20px;
}

.contact-whatsapp-button:hover {
    background: #4f168f;
    color: #fff;
    transform: translateY(-3px);
}

.contact-button-arrow {
    margin-left: auto;
}

/* Map panel */
.school-contact-map {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #eee6f8;
    box-shadow: 0 15px 45px rgba(51, 24, 81, .07);
}

.contact-map-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 28px;
}

.contact-map-header span {
    color: var(--contact-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.contact-map-header h3 {
    margin: 7px 0 0;
    color: #30223e;
    font-size: 23px;
    font-weight: 900;
}

.map-heading-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #f0e6ff;
    color: var(--contact-purple);
    font-size: 22px;
}

.contact-map-frame {
    position: relative;
    flex: 1;
    min-height: 430px;
    margin: 0 15px;
    overflow: hidden;
    border-radius: 15px;
    background: #f0eaf8;
}

.contact-map-frame iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

/* Map footer */
.contact-map-footer {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 22px 25px;
}

.map-footer-icon {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    border-radius: 12px;
    background: #fff0df;
    color: var(--contact-orange);
    font-size: 19px;
}

.contact-map-footer > div:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.contact-map-footer h4 {
    margin: 0 0 4px;
    color: #30223e;
    font-size: 15px;
    font-weight: 800;
}

.contact-map-footer p {
    margin: 0;
    color: var(--contact-text);
    font-size: 14px;
    line-height: 1.6;
}

.contact-map-footer > a {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    color: #fff;
    background: var(--contact-purple);
    text-decoration: none;
    transition: background .3s ease;
}

.contact-map-footer > a:hover {
    background: var(--contact-orange);
}

/* Scroll animations */
.contact-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .75s ease, transform .75s ease;
}

.contact-reveal.contact-visible {
    opacity: 1;
    transform: translateY(0);
}

.school-contact-map.contact-reveal {
    transition-delay: .12s;
}

/* Responsive */
@media (max-width: 991px) {
    .school-contact-layout {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .school-contact-info {
        padding: 24px;
    }

    .contact-info-top h3 {
        font-size: 26px;
    }

    .contact-map-frame {
        min-height: 500px;
    }
}

@media (max-width: 767px) {
    .school-contact-section {
        padding: 60px 16px;
    }

    .school-contact-heading {
        margin-bottom: 30px;
    }

    .school-contact-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .school-contact-info {
        padding: 25px 20px;
    }

    .contact-info-top h3 {
        font-size: 27px;
    }

    .contact-map-header {
        padding: 22px 20px;
    }

    .contact-map-frame {
        min-height: 350px;
        margin: 0 10px;
    }

    .contact-map-footer {
        padding: 20px 15px;
    }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .contact-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .contact-info-icon,
    .contact-whatsapp-button,
    .contact-map-footer > a {
        transition: none;
    }
}
/* =========================================
   ADMISSIONS SECTION
========================================= */
.school-admissions-section {
    --adm-purple: #6621ba;
    --adm-orange: #f98a17;
    --adm-text: #000000;
    padding: 50px 0px;
    overflow: hidden;
}

.admissions-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading */
.admissions-heading {
    text-align: center;
    margin: 0 auto 30px;
}

.admissions-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 18px;
    color: var(--adm-purple);
    background: #eee4fc;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.4px;
}

.admissions-heading h2 {
    margin: 20px 0 12px;
    color: #2c203d;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.25;
}

.admissions-heading h2 span {
    color: var(--adm-purple);
    position: relative;
}

.admissions-heading h2 span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 65%;
    height: 4px;
    background: var(--adm-orange);
    border-radius: 5px;
}

.admissions-heading p {
    margin: 20px 0 0;
    color: var(--adm-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.8;
}

/* Two-column layout */
.admissions-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 28px;
    align-items: stretch;
}

/* Form card */
.admission-form-card,
.admission-process-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid #eee6f7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 15px 45px rgba(51, 24, 81, .065);
}

.admission-form-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 24px;
    margin-bottom: 23px;
    border-bottom: 1px solid #eee9f4;
}

.admission-form-icon {
    display: grid;
    place-items: center;
    width: 55px;
    height: 55px;
    flex: 0 0 55px;
    border-radius: 16px;
    color: var(--adm-purple);
    background: #f0e6ff;
    font-size: 24px;
}

.admission-small-label {
    color: var(--adm-orange);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.4px;
}

.admission-form-header h3,
.admission-process-header h3 {
    margin: 7px 0;
    color: #30213f;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
}

.admission-form-header p,
.admission-process-header > p {
    margin: 0;
    color: var(--adm-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    line-height: 1.7;
}

/* Form fields */
.admission-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px 16px;
}

.admission-field {
    min-width: 0;
}

.admission-field-full {
    grid-column: 1 / -1;
}

.admission-field > label:not(.admission-consent) {
    display: block;
    margin-bottom: 8px;
    color: #362944;
    font-size: 14px;
    font-weight: 800;
}

.admission-field > label span {
    color: #d93025;
}

.admission-input-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 0 13px;
    border: 1px solid #e7e0ef;
    border-radius: 11px;
    background: #fdfcff;
    transition: border-color .3s ease, box-shadow .3s ease;
}

.admission-input-wrap:focus-within {
    border-color: var(--adm-purple);
    box-shadow: 0 0 0 3px rgba(102,33,186,.09);
}

.admission-input-wrap > i {
    flex: 0 0 auto;
    color: var(--adm-purple);
    font-size: 15px;
}

.admission-input-wrap input,
.admission-input-wrap select,
.admission-input-wrap textarea {
    width: 100%;
    min-width: 0;
    padding: 13px 0;
    border: 0;
    outline: none;
    background: transparent;
    color: #30213f;
    font-family: inherit;
    font-size: 13px;
}

.admission-input-wrap input::placeholder,
.admission-input-wrap textarea::placeholder {
    color: #a39bab;
}

.admission-input-wrap select {
    cursor: pointer;
}

.admission-textarea-wrap {
    align-items: flex-start;
}

.admission-textarea-wrap > i {
    margin-top: 15px;
}

.admission-input-wrap textarea {
    resize: vertical;
    min-height: 78px;
}

/* Consent */
.admission-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--adm-text);
    font-size: 12px;
    line-height: 1.7;
    cursor: pointer;
}

.admission-consent input {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin-top: 3px;
    accent-color: var(--adm-purple);
}

/* Submit button */
.admission-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 15px 20px;
    border: 0;
    border-radius: 12px;
    background: var(--adm-purple);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: background .3s ease, transform .3s ease;
}

.admission-submit-btn i {
    transition: transform .3s ease;
}

.admission-submit-btn:hover {
    background: #4e168f;
    transform: translateY(-2px);
}

.admission-submit-btn:hover i {
    transform: translateX(5px);
}

.admission-form-bottom {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 18px;
    color: #898194;
    font-size: 15px;
    line-height: 1.7;
}

.admission-form-bottom i {
    margin-top: 3px;
    color: var(--adm-purple);
}

/* Process card */
.admission-process-card {
    background: linear-gradient(145deg, #fff, #fcf9ff);
}

.admission-process-header {
    padding-bottom: 23px;
    border-bottom: 1px solid #eee7f6;
}

.admission-process-header h3 {
}

/* Steps */
.admission-steps {
    padding-top: 24px;
}

.admission-step {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding-bottom: 27px;
}

.admission-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 51px;
    left: 24px;
    bottom: 0;
    border-left: 2px dashed #e1d2f5;
}

.admission-step-number {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border: 1px solid #e6d8f8;
    border-radius: 15px;
    background: #f0e6ff;
    color: var(--adm-purple);
    font-size: 20px;
    transition: transform .3s ease;
}

.admission-step-number.orange {
    color: var(--adm-orange);
    background: #fff0df;
    border-color: #ffe3c1;
}

.admission-step:hover .admission-step-number {
    transform: scale(1.08) rotate(-5deg);
}

.admission-step-content {
    padding-top: 2px;
}

.admission-step-content > span {
    color: var(--adm-orange);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.3px;
}

.admission-step-content h4 {
    margin: 5px 0 6px;
    color: #30213f;
    font-size: 17px;
    font-weight: 900;
}

.admission-step-content p {
    margin: 0;
    color: var(--adm-text);
    font-size: 15px;
    letter-spacing: 0.5px;
    text-align: justify;
    line-height: 1.8;
}

/* Help box */
.admission-help-box {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-top: 2px;
    padding: 20px;
    border-radius: 15px;
    background: #f0e6ff;
}

.admission-help-icon {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    border-radius: 13px;
    color: #fff;
    background: var(--adm-purple);
    font-size: 18px;
}

.admission-help-box h4 {
    margin: 0 0 6px;
    color: #30213f;
    font-size: 15px;
    font-weight: 900;
}

.admission-help-box p {
    margin: 0 0 7px;
    color: var(--adm-text);
    font-size: 12px;
    line-height: 1.7;
}

.admission-help-box a {
    color: var(--adm-purple);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.admission-help-box a:hover {
    color: #d8730a;
}

/* Scroll animation */
.admission-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .75s ease, transform .75s ease;
}

.admission-reveal.admission-visible {
    opacity: 1;
    transform: translateY(0);
}

.admission-process-card.admission-reveal {
    transition-delay: .12s;
}

/* Responsive */
@media (max-width: 991px) {
    .admissions-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .admission-form-card,
    .admission-process-card {
        padding: 27px;
    }
}

@media (max-width: 575px) {
    .school-admissions-section {
        padding: 60px 15px;
    }

    .admissions-heading {
        margin-bottom: 30px;
    }

    .admission-form-card,
    .admission-process-card {
        padding: 22px 17px;
        border-radius: 17px;
    }

    .admission-form-header {
        gap: 12px;
    }

    .admission-form-header h3,
    .admission-process-header h3 {
        font-size: 22px;
    }

    .admission-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .admission-field-full {
        grid-column: auto;
    }

    .admission-step {
        gap: 13px;
    }

    .admission-step-content h4 {
        font-size: 16px;
    }

    .admission-help-box {
        padding: 16px 13px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .admission-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .admission-step-number,
    .admission-submit-btn,
    .admission-submit-btn i {
        transition: none;
    }
}
/* Newton's Apple Nursery and Primary School — Event Gallery
   Palette: purple #6621ba, orange #f98a17 */
.event-gallery-page {
  --event-purple: #6621ba;
  --event-orange: #f98a17;
  --event-ink: #252137;
  --event-muted: #6f6b7a;
  --event-soft: #f8f5fd;
  color: var(--event-ink);
}
.event-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.event-hero { padding: 76px 0 70px; background: var(--event-soft); position: relative; overflow: hidden; }
.event-hero::after { content: ""; position: absolute; width: 250px; height: 250px; border-radius: 50%; background: rgba(249,138,23,.12); right: -70px; top: -90px; pointer-events: none; }
.event-eyebrow { display: inline-block; color: var(--event-orange); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 12px; }
.event-hero h1 { max-width: 850px; margin: 0 0 14px; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.08; font-weight: 850; letter-spacing: -.04em; }
.event-hero h1 span { color: var(--event-purple); }
.event-hero p { max-width: 650px; margin: 0; color: var(--event-muted); font-size: 1.05rem; line-height: 1.75; }
.event-hero-small { padding-top: 46px; padding-bottom: 48px; }
.event-back-link { display: inline-block; margin-bottom: 24px; color: var(--event-purple); font-weight: 750; text-decoration: none; }
.event-back-link:hover { color: var(--event-orange); }
.event-section {padding: 50px 0 50px;}
.event-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.event-section-heading .event-eyebrow { margin-bottom: 8px; }
.event-section-heading h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 850; letter-spacing: -.035em; }
.event-section-heading > p { color: var(--event-muted); margin: 0 0 4px; }
.event-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.event-card { display: block; min-width: 0; color: inherit; text-decoration: none; background: #fff; border: 1px solid #eee8f5; border-radius: 18px; overflow: hidden; box-shadow: 0 8px 28px rgba(43, 22, 76, .06); transition: transform .25s ease, box-shadow .25s ease; }
.event-card:hover { transform: translateY(-7px); box-shadow: 0 18px 38px rgba(43, 22, 76, .13); }
.event-card-image { position: relative; height: 235px; background: #eee8f5; overflow: hidden; }
.event-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.event-card:hover .event-card-image img { transform: scale(1.06); }
.event-card-arrow { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--event-purple); font-size: 1.25rem; box-shadow: 0 4px 14px #0001; }
.event-image-placeholder { height: 100%; display: grid; place-items: center; padding: 20px; text-align: center; color: var(--event-muted); background: linear-gradient(135deg, #f6f0ff, #fff6eb); }
.event-card-content { padding: 23px 23px 25px; }
.event-card-meta { color: var(--event-orange); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.event-card-content h3 { margin: 8px 0 9px; font-size: 1.35rem; font-weight: 800; }
.event-card-content p { color: var(--event-muted); line-height: 1.65; margin: 0 0 18px; font-size: .95rem; }
.event-card-link { color: var(--event-purple); font-weight: 800; }
.event-card-link span { display: inline-block; transition: transform .2s ease; }
.event-card:hover .event-card-link span { transform: translateX(5px); }
.event-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.event-photo { display: block; height: 255px; position: relative; overflow: hidden; border-radius: 14px; background: #f1edf6; }
.event-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.event-photo:hover img { transform: scale(1.06); }
.event-photo-zoom { position: absolute; right: 12px; bottom: 12px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--event-purple); font-size: 1.15rem; opacity: 0; transform: translateY(5px); transition: .2s ease; }
.event-photo:hover .event-photo-zoom, .event-photo:focus-visible .event-photo-zoom { opacity: 1; transform: translateY(0); }
.event-empty-state { padding: 45px 24px; text-align: center; background: var(--event-soft); border-radius: 16px; }
.event-empty-state h3 { margin-top: 0; }
.event-empty-state p { color: var(--event-muted); margin-bottom: 0; }
.event-bottom-link { margin-top: 38px; text-align: center; }
.event-button {display: inline-block;padding: 13px 22px;border-radius: 999px;color: var(--academic-purple);background: var(--event-purple);font-weight: 750;text-decoration: none;transition: background .2s ease, transform .2s ease;}
.event-button:hover {background: var(--event-orange);color: var(--academic-orange);transform: translateY(-2px);}
.mfp-fade.mfp-bg { opacity: 0; transition: opacity .18s ease-out; }
.mfp-fade.mfp-bg.mfp-ready { opacity: .88; }
.mfp-fade.mfp-bg.mfp-removing { opacity: 0; }
.mfp-fade.mfp-wrap .mfp-content { opacity: 0; transition: opacity .18s ease-out; }
.mfp-fade.mfp-wrap.mfp-ready .mfp-content { opacity: 1; }
.mfp-fade.mfp-wrap.mfp-removing .mfp-content { opacity: 0; }
@media (max-width: 991px) {
  .event-card-grid, .event-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-card-image { height: 220px; }
  .event-photo { height: 230px; }
}
@media (max-width: 600px) {
  .event-container { width: min(100% - 30px, 1180px); }
  .event-hero { padding: 54px 0 48px; }
  .event-hero-small { padding-top: 34px; padding-bottom: 38px; }
  .event-section { padding: 48px 0 58px; }
  .event-section-heading { display: block; }
  .event-section-heading > p { margin-top: 10px; }
  .event-card-grid, .event-photo-grid { grid-template-columns: 1fr; gap: 18px; }
  .event-card-image { height: 230px; }
  .event-photo { height: 250px; }
}
