/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/************************** CUSTOM STYLES ***************************/


/***** ADMIN HEADER *****/

/* Hide both headers when editing a page in Elementor
body.elementor-editor-active .elementor-location-header,
body.elementor-editor-active .elementor-header-1,
body.elementor-editor-active .elementor-header-2 {
    display: none !important;
}
*/
/* Ensure both headers are visible when editing the header templates
body.elementor-editor-active.elementor-template-editor .elementor-location-header,
body.elementor-editor-active.elementor-template-editor .elementor-header-1,
body.elementor-editor-active.elementor-template-editor .elementor-header-2 {
    display: block !important;
}
*/

/* */
/* FIXES */
/* */
/* Full height hero section is cut from the bottom. Add below code to extend slightly
@media screen and (min-width: 1401px) and (max-width: 1800px) {
	.ast-page-builder-template .entry-header.ast-header-without-markup {
	    margin-bottom: 0.5em!important;
	}
}
@media screen and (min-width: 1311px) and (max-width: 1400px) {
	.ast-page-builder-template .entry-header.ast-header-without-markup {
	    margin-bottom: 1.1em!important;
	}
}

@media screen and (min-width: 1255px) and (max-width: 1310px) {
	.ast-page-builder-template .entry-header.ast-header-without-markup {
	    margin-bottom: 1.5em!important;
	}
}
@media screen and (min-width: 1041px) and (max-width: 1254px) {
	.ast-page-builder-template .entry-header.ast-header-without-markup {
	    margin-bottom: 1.8em!important;
	}
}
*/
/* */
/* FIXES END */
/* */

/******************** FOOTER *********************/

/* */
/* FOOTER */
/* */
/* Footer icon */
.custom-bb-icon-footer {
	font-size: 21px;
	padding-right: 10px;
}
/* Footer link */
.custom-bb-link-footer {
  text-decoration: none!important;
  color: #ffffff!important;
}

/* Scroll to top icon */
.scroll-top-icon {
    cursor: pointer !important;
}

/******************** FOOTER END *********************/





/******************** HEADER *********************/

/* */
/* STICKY HEADER */
/* */
/* Initially show Header 1 */
.elementor-header-1 {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
/* Initially, hide Header 2 */
.elementor-header-2 {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
/* When the page is scrolled, hide Header 1 and show Header 2 */
.elementor-sticky--effects .elementor-header-1 {
    opacity: 0;
    visibility: hidden;
}
.elementor-sticky--effects .elementor-header-2 {
    opacity: 1;
    visibility: visible;
}


/* */
/* MEGA HEADER */
/* */
/* Menu Container Size */
.header-container-menu-inner .e-con-inner {
  max-width: unset!important;
}
/* Ensure the wrapper doesn't restrict mega menu position */
.menu-wrapper {
    position: relative;
}
/* Style the heading text */
.mega-menu-one {
    position: relative; /* This keeps it in place on the right */
}
/* Center the mega menu on the page and keep it visible */
.mega-menu-content {
    /* display: block!important;  Ensures it's always visible */
    display: none;  /* Ensures it's always hidden when inactive */
    opacity: 1;
    position: fixed; /* Positions it relative to the viewport */
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); /* Centers it on the page */
    z-index: 1000;
    width: 100%;
}
.menu-heading {
    cursor: pointer;
}

/* HEADER MENU ITEMS TRANSPARENT */
.mega-menu-trans {
  color: #fff;
  font-weight: 600;
  font-size: 16px;
}
/* HEADER MENU ITEMS SOLID */
.mega-menu-solid  {
  color: #500019;
  font-weight: 600;
  font-size: 16px;
}
/* HEADER MENU ITEMS TILES */
.mega-menu-tiles-heading {
  color: #fff!important;
  text-decoration: none!important;
}
.mega-menu-tiles-text a {
  color: #7a7a7a!important;
  text-decoration: none!important;
}
/* Add transition for smooth color change */
.mega-menu-tiles:hover h4,
.mega-menu-tiles:hover p,
.mega-menu-tiles:hover .elementor-widget-container,
.mega-menu-tiles:hover .elementor-widget-container *,
.mega-menu-tiles:hover .mega-menu-tiles-icon .elementor-icon,
.mega-menu-tiles:hover .mega-menu-tiles-icon .elementor-social-icon svg {
    transition: color 0.3s ease, background-color 0.3s ease, fill 0.1s ease;
    /* Adjust duration and easing as needed */
}
/* Text color change on hover */
.mega-menu-tiles:hover h4,
.mega-menu-tiles:hover p,
.mega-menu-tiles:hover a,
.mega-menu-tiles:hover .elementor-widget-container,
.mega-menu-tiles:hover .elementor-widget-container * {
    color: #fff !important;
}
/* Icon background and color on hover */
.mega-menu-tiles:hover .mega-menu-tiles-icon .elementor-icon {
    background-color: #fff !important;
    color: #500019 !important;
}
.mega-menu-tiles:hover .mega-menu-tiles-icon .elementor-social-icon svg {
    fill: #500019 !important;
}


/* */
/* MEGA MENU */
/* */
.test-widget {
  max-width: 1200px!important;
}
/* MEGA MENU BOX */
.custom-hover-box {
    text-decoration: none;
}
.hover-box {
    padding: 15px 15px 5px 15px;
    text-align: left;
    border-radius: 5px;
    transition: background-color 0.4s ease, color 0.1s ease;
}
.custom-hover-box:hover .hover-box {
    background-color: #6A0700;
    color: #ffffff;
}
.custom-hover-box:hover .hover-box h2,
.custom-hover-box:hover .hover-box p {
    color: #ffffff !important;
}
.hover-box h2 {
    font-size: 18px;
}
.hover-box p {
    font-size: 14px;
    color: #76767f;
}

/******************** HEADER END *********************/


/******************** GLOBAL *********************/

/* */
/* SCROLL BAR */
/* */
.scrollable-container {
    padding-right: 20px;
    overflow-y: auto;
    height: 100vh;
}
/* Scroll bar */
::-webkit-scrollbar {
    width: 15px;
}
/* Scrollbar track */
::-webkit-scrollbar-track {
    background: #ecf0f1;
    border-radius: 7px;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
}
/* Scrollbar thumb */
::-webkit-scrollbar-thumb {
    background-color: #6A0700;
    border-radius: 50px;
    width: 8px;
    border: 3px solid #ecf0f1;
}
/* Scrollbar thumb on hover */
::-webkit-scrollbar-thumb:hover {
    background-color: #7A7A7A;
}

/* */
/* IMAGES */
/* */
/* Hide title attributes
img {
    pointer-events: none;
}
*/


/* */
/* ANIMATIONS - WP-ADMINN */
/* */
/* Ensure elements are visible in Elementor editor */
.elementor-editor-active .animation-slide-left-small,
.elementor-editor-active .animation-slide-left-long,
.elementor-editor-active .animation-slide-right-small,
.elementor-editor-active .animation-slide-right-long {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    width: 100% !important;
}
/* */
/* ANIMATIONS - SLIDE IN */
/* */
@keyframes slideInFromLeft {
    from {
        transform: scaleX(0);
        opacity: 0;
        transform-origin: left;
    }
    to {
        transform: scaleX(1);
        opacity: 1;
    }
}

@keyframes slideInFromRight {
    from {
        transform: scaleX(0);
        opacity: 0;
        transform-origin: right;
    }
    to {
        transform: scaleX(1);
        opacity: 1;
    }
}

/* Left Small (Shorter Duration) */
.animation-slide-left-small {
    display: block;
    width: 100%;
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}

.animation-slide-left-small.slide-in-active {
    animation: slideInFromLeft 0.5s ease-out forwards;
}

/* Left Long (Longer Duration) */
.animation-slide-left-long {
    display: block;
    width: 100%;
    transform: scaleX(0);
    transform-origin: left;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}

.animation-slide-left-long.slide-in-active {
    animation: slideInFromLeft 0.9s ease-out forwards;
}

/* Right Small (Shorter Duration) */
.animation-slide-right-small {
    display: block;
    width: 100%;
    transform: scaleX(0);
    transform-origin: right;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}

.animation-slide-right-small.slide-in-active {
    animation: slideInFromRight 0.5s ease-out forwards;
}

/* Right Long (Longer Duration) */
.animation-slide-right-long {
    display: block;
    width: 100%;
    transform: scaleX(0);
    transform-origin: right;
    opacity: 0;
    transition: opacity 0.3s ease-out;
}

.animation-slide-right-long.slide-in-active {
    animation: slideInFromRight 0.9s ease-out forwards;
}





/******************** GLOBAL END *********************/


/******************** MOBILE *********************/

/* */
/* SIDEBAR */
/* */

/* No-scroll on body when sidebar is open */
body.no-scroll {
    overflow: hidden;
}
/* Disable pointer events on main content when sidebar is open */
body.no-scroll #main-content {
    pointer-events: none;
}
/* Sidebar Menu Container for Mobile */
#custom-sidebar {
    width: 250px;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    background-color: #fff;
    z-index: 1000;
    overflow-y: auto;
    transform: translateX(100%); /* Initially off-canvas */
    transition: transform 0.3s ease; /* Smooth slide in/out */
    display: flex;
    flex-direction: column;
}
/* Slide sidebar in smoothly */
#custom-sidebar.mobile-visible {
    transform: translateX(0); /* Slide in from the right */
}
/* Smooth main content shift */
#main-content {
    transition: transform 0.3s ease; /* Apply smooth transition to both open and close */
}
/* Smooth main content shift when sidebar is open */
#main-content.mobile-shifted {
    transform: translateX(-250px); /* Adjust to match sidebar width */
    transition: transform 0.3s ease; /* Smooth slide in/out */
}
/* Sidebar Logo */
.sidebar-logo {
    padding: 20px;
    text-align: center;
}
/* Main Menu & Submenus */
.mobile-menu-items {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mobile-menu-items li {
    border-bottom: 1px solid #e5e5e5;
    padding: 15px;
}
.mobile-menu-items li a {
    color: #500019;
    text-decoration: none;
    display: block;
}
/* Mobile Submenu Logic */
.mobile-menu-items .sub-menu {
    display: none;
    list-style: none;
}
.mobile-menu-items .sub-menu li>ol, li>ul{
    margin-left: 0em;
}
.mobile-menu-items .sub-menu .ast-icon.icon-arrow {
    display: none!important;
}
/* Line-style arrow on the right side of menu items */
.mobile-menu-items .menu-item-has-children > a {
    position: relative;
    padding-right: 20px; /* Space for the arrow on the right */
}
.mobile-menu-items .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff; /* Arrow line color */
    border-right: 2px solid #fff; /* Arrow line color */
    position: absolute;
    right: 0; /* Position arrow at the right end of the menu item */
    top: 50%;
    transform: translateY(-50%) rotate(-315deg); /* Initial arrow pointing up */
    transition: transform 0.3s ease; /* Smooth rotation transition */
    border-color: #500019!important;
}
/* Rotate the arrow down when the submenu is open */
.mobile-menu-items .menu-item-has-children.active > a::after {
    transform: translateY(-50%) rotate(-225deg); /* Rotate to point down */
}
.mobile-menu-items .menu-item-has-children.active .sub-menu {
    display: block;
}

/******************** MOBILE END *********************/


/******************** FORMS *********************/

/* */
/* CONTACT US FOOTER */
/* */
#gform_2 .gfield_label.gform-field-label {
  color: #ffffff!important;
}

#gform_submit_button_2 {
  width: 100%;
  background-color: #fff;
  border: 2px solid #fff;
  color: #6A0700;
  transition: background-color 0.3s ease;
}
#gform_submit_button_2:hover {
  background-color: #6A0700;
  border: 2px solid #fff;
  color: #fff;
}

#input_2_4 {
  height: 100px!important;
  width: 100%!important;
}

/* */
/* CONTACT US PAGE */
/* */
#gform_3 input {
  height: 52px!important;
}

#gform_submit_button_3 {
  width: 20%;
  background-color: #fff;
  border: 2px solid #fff;
  color: #6A0700;
  transition: background-color 0.3s ease;
}
#gform_submit_button_3:hover {
  background-color: #6A0700;
  border: 2px solid #fff;
  color: #fff;
}

#input_3_4 {
  height: 100px!important;
  width: 100%!important;
}

/******************** FORMS END *********************/



















/* ############################## FEES ############################## */
/* FEE TABLE */
.fee-structure{
	border: none;
}
.fee-structure table, td, th{
	border: none;
}
.top-title  {
	text-align: left!important;
	text-decoration: underline;
	color: #6A0700;
}
#right-title {
	text-align: left!important;
	color: #626366;
	font-weight: bold;
}




/* ############################## HOME ############################## */

/* FNACY HEADING
.heading-fancy p {
	font-size: 50px!important;
	font-weight: 300!important;
	padding: 50px 0px 50px 0px !important;
	height: 50px!important;
}
.heading-fancy span {
	font-size: 50px!important;
	font-weight: 300!important;
	height: 50px!important;
}
.uael-slide-block span{
	font-size: 50px!important;
	font-weight: 300!important;
	height: 50px!important;
}
*/



/* */
/* IMAGE CAROSEL */
/* */
@media screen and (min-width: 1044px) {
	.image-carousel-academics .elementor-swiper-button-prev {
		left: 10%!important;
	}
	.image-carousel-academics .elementor-swiper-button-next {
		right: 10%!important;
	}
}
.image-carousel-academics .elementor-swiper-button-prev svg {
	fill: #6A0700!important;
}
.image-carousel-academics .elementor-swiper-button-next svg {
	fill: #6A0700!important;
}
.image-carousel-academics .elementor-swiper-button-prev svg:hover {
	fill: #DFDFE2!important;
}
.image-carousel-academics .elementor-swiper-button-next svg:hover {
	fill: #DFDFE2!important;
}
/* */
/* IMAGE CAROSEL END */
/* */











/* */
/* BLOG */
/* */
.single-post .comments-area {
    margin-bottom: 0!important;
	padding-bottom: 0!important;
}
.blog-sidebar-content h5 {
	display: none!important;
}
.blog-sidebar-content ul {
	list-style-type: none!important;
}
.blog-sidebar-content ol, ul {
    margin: 0em!important;
}
.blog-sidebar-content li {
    margin: 0px 0px 10px 0px !important;
}
/* */
/* BLOG END */
/* */




















/* */
/* TRUSTEE */
/* */
/* List */
.page-id-35357 .elementor-widget-tabs .elementor-tab-content {
    padding: 0px!important;
}

.page-id-35357 .elementor-tab-desktop-title {
    padding: 5px 20px 25px 0px!important;
}

/* Main card container */
#trustee-card {
    display: flex;
    flex-direction: column;
    padding: 0px 50px 20px 50px;
}

/* Image container */
#trustee-image-container {
    display: flex;
    justify-content: left;
    align-items: left;
}

/* Image styling */
#trustee-image {
    width: 180px;
    height: 250px;
    object-fit: cover;
    border-radius: 5px;
		box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

/* Heading container */
#trustee-heading-container {
    margin-top: 0px;
}

/* Heading styling */
#trustee-name {
    font-size: 1.2em;
    color: #6A0700!important;
    text-align: left;
}
/* Text container */
#trustee-text-container {
    text-align: left;
}

/* Text styling */
#trustee-bio {
    font-size: 0.9em;
}
/* */
/* TRUSTEE END */
/* */







/* */
/* PILLAR GRID */
/* */
.stpillars-grid {
    display: grid;
}
.stpillars-grid-4 {
    grid-gap: 1.25rem;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(4, 1fr);
}
.stpillars-grid-alt {
    grid-template-columns: 4.5fr 5.5fr;
    align-items: center;
}
.stpillars-pillar {
    position: relative;
    border: 2px solid #6A0700;
    border-radius: 5px;
    min-height: 100%;
    padding: 1.5rem 1.5rem 4.5rem 1.5rem;
}
.stpillars-pillar .stpillars-grid-alt {
    align-items: start;
}
.stpillars-pillar h2 {
    font-size: 20px;
    margin: 0;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: right;
}
.stpillars-entry-content {
    counter-reset: footnotes;
}
.stpillars-pillar ul li {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-heading);
    border-bottom: 2px solid;
    padding-top: .875rem;
    padding-bottom: .875rem;
    text-align: center;
}
.stpillars-entry-content ul li {
    position: relative;
    margin-bottom: .5rem;
    padding-left: .5rem;
}
.stpillars-pillar ul {
    list-style: none;
    padding-left: 0 !important;
}
/* Buttons */
.stpillars-pillar .stpillars-buttons {
    position: absolute;
    text-align: center;
    bottom: 0;
    left: 0;
    width: 100%;
}
.stpillars-pillar .stpillars-buttons a {
    display: block;
    background-color: #6A0700;
    color: #ffffff;
    font-size: var(--font-small);
    font-weight: var(--font-bold);
    border-top: 2px solid;
    padding: .5rem;
    text-transform: uppercase;
    transition: background-color .5s ease-in-out, color .5s ease-in-out, border-color .5s ease-in-out;
}
.stpillars-pillar .stpillars-buttons a:hover {
    color: #6A0700;
    background-color: var(--color-white);
}
.stpillars-pillar h2 span {
    display: block;
    font-size: 45px;
    color: #6A0700;
    padding: 0px 10px 0px 0px;
}

/* ========================== */
/* RESPONSIVNESS */
/* ========================== */

/* Responsive: Change to 2x2 grid on tablets (≤1024px) */
@media (max-width: 1024px) {
    .stpillars-grid-4 {
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
}

/* Responsive: Stack in 1 column on smaller screens (≤768px) */
@media (max-width: 768px) {
    .stpillars-grid-4 {
        grid-template-columns: 1fr; /* 1 column */
    }
}







@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px); /* Move slightly up for a smooth effect */
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Initial State: Keep Boxes Invisible */
.stpillars-pillar {
    opacity: 0;
    transform: translateY(40px); /* Start slightly below */
}

/* When in View: Apply Animation */
.stpillars-pillar.show {
    animation: fadeInUp 0.8s ease-out forwards;
}
/* */
/* PILLAR GRID END */
/* */




/* */
/* SLIDING TEXT BOX */
/* */
/* Main container */
#sliding-text-box {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 20px;
    position: relative;
    overflow: hidden;
    text-decoration: none; /* Remove underline */
    color: #ffffff!important;
    width: 100%; /* Dynamic width */
    height: 700px;
}

#sliding-text-box.alternative {
    height: 525px;
}

@media screen and (max-width: 1040px) {
	#sliding-text-box {
	    display: flex;
	    align-items: flex-end;
	    justify-content: flex-start;
	    padding: 20px;
	    position: relative;
	    overflow: hidden;
	    text-decoration: none; /* Remove underline */
	    color: #ffffff!important;
	    width: 100%; /* Dynamic width */
	    height: 500px;
	}
}


/* Heading (initially visible) */
.sliding-text-box-heading {
    color: #ffffff!important;
    padding: 30px;
    font-size: 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: left;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    z-index: 2;
    line-height: normal; /* Allow multiple lines */
    white-space: normal; /* Allow wrapping */
}

/* Description (initially hidden) */
.sliding-text-box-description {
    position: absolute;
    bottom: -50px;
    left: 0;
    width: 100%;
    padding: 30px;
    font-size: 16px;
    color: #ffffff;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    z-index: 1;
}

/* Hover Effects */
#sliding-text-box:hover .sliding-text-box-heading {
    transform: translateY(-100%); /* Moves fully out */
    opacity: 0;
}

#sliding-text-box:hover .sliding-text-box-description {
    opacity: 1;
    transform: translateY(-50px);
}


/* */
/* SLIDING TEXT BOX END */
/* */







/* */
/* ENGLISH ARABIC TABLE */
/* */
/* Container to ensure full-width table */
.eng-ar-table-container {
    width: 100%;
}

/* General Table Styles */
.eng-ar-table {
    width: 100%;
    border: none !important;
    border-collapse: collapse; /* Ensures proper spacing */
}

/* Header Row (First Row) */
.eng-ar-table thead tr {
    background-color: #6A0700; /* Dark red background */
    color: white; /* White text */
}

/* Header Cells */
.eng-ar-table thead th {
    padding: 15px;
    font-size: 18px;
    color: white; /* White text */
    font-weight: bold;
}

/* First header cell (left) - Rounded left corner */
.eng-ar-table thead th:first-child {
    border-top-left-radius: 10px;
}

/* Last header cell (right) - Rounded right corner */
.eng-ar-table thead th:last-child {
    border-top-right-radius: 10px;
}

/* Table Cells */
.eng-ar-cell {
    padding: 15px;
    vertical-align: middle;
}

/* Align Left for English Column */
.eng-ar-left {
    text-align: left;
}

/* Align Right for Arabic Column */
.eng-ar-right {
    text-align: right;
    direction: rtl;
}

/* Links Inside Table */
.eng-ar-link {
    text-decoration: none;
    display: flex;
    align-items: center;
    color: inherit; /* Keeps text color consistent */
}

/* Optional: Table Icons */
.eng-ar-icon {
    width: 24px;
    height: 24px;
    margin-right: 5px;
}

/* Adjust Icon Position for Arabic Text */
.eng-ar-right .eng-ar-icon {
    margin-right: 0;
    margin-left: 5px;
}
/* */
/* ENGLISH ARABIC TABLE END */
/* */
















/* */
/* TIMELINE */
/* */
/* ===================== */
/* TIMELINE */
/* ===================== */

.timeline {
    position: relative;
    max-width: 800px;
    margin: auto;
    padding: 20px 0;
}

/* The vertical line */
.timeline-line {
    position: absolute;
    left: 50%;
    width: 4px;
    height: calc(100% - 20px);
    background-color: #6A0700;
    transform: translateX(-50%);
    opacity: 0;
    animation: fadeInLine 1.5s ease-in-out forwards;
		overflow: visible;
}

/* Add the arrow using ::after pseudo-element */
.timeline-line::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 20px 12px 0 12px; /* creates triangle shape */
    border-color: #6A0700 transparent transparent transparent;
}


/* General Timeline Item Styling */
.timeline-item {
    position: relative;
    width: 70%;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

/* Alternating left and right */
.timeline-item.left {
    left: -20%;
    text-align: right;
}

.timeline-item.right {
    left: 50%;
    text-align: left;
}

/* Dot Markers */
.timeline-dot {
    position: absolute;
    top: 20px;
    width: 15px;
    height: 15px;
    background-color: #6A0700;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

/* Align dots on correct sides */
.timeline-item.left .timeline-dot {
    right: -8px;
}

.timeline-item.right .timeline-dot {
    left: -8px;
}

/* Timeline Content Box */
.timeline-content {
    background: white;
    padding: 30px 30px 20px 30px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Title Styling */
.timeline-content h3 {
    margin-top: 0;
    color: #6A0700;
    font-size: 26px;
}

/* ===================== */
/* FIX: FIRST ITEM POSITIONING */
/* ===================== */
.timeline-item.first {
    top: 0;
    left: -20%;
    text-align: right;
}

/* Ensure first dot aligns with the start of the vertical line */
.timeline-item.first .timeline-dot {
    top: 0;
    right: -8px;
}

/* ===================== */
/* RESPONSIVE DESIGN */
/* ===================== */

/* Medium Screens: Adjust width to 50% */
@media (max-width: 1120px) and (min-width: 768px) {
    .timeline-item {
        width: 50%;
    }

    .timeline-item.left {
        left: 0;
    }

    .timeline-item.right {
        left: 50%;
    }
}

/* Small Screens: Make timeline full width */
@media (max-width: 768px) {
    .timeline-line {
        left: 20px;
    }
    .timeline-item {
        width: 100%;
        left: 0;
        text-align: left;
        padding-left: 40px;
    }
    .timeline-item.left {
        left: 0;
    }
    .timeline-item.right {
        text-align: left;
        left: 0;
    }
    .timeline-content p, .timeline-content h3, .timeline-content li {
        text-align: left;
    }
    .timeline-dot {
        left: 12px !important;
    }
}

/* ===================== */
/* ANIMATIONS */
/* ===================== */

/* Fade in vertical line */
@keyframes fadeInLine {
    from {
        opacity: 0;
        height: 0;
    }
    to {
        opacity: 1;
        height: 100%;
    }
}

/* Fade in items one by one */
.timeline-item.show {
    opacity: 1;
    transform: translateY(0);
}

/* Fade in dots */
.timeline-dot.show {
    opacity: 1;
    transform: scale(1);
}


/* */
/* TIMELINE END */
/* */




/* */
/* CONTAINER HOVER */
/* */
/* Container Hover */
.select-men {
	transition: transform .2s;
}
.select-men:hover {
	transform: scale(1.1);
}
/* */
/* CONTAINER HOVER END */
/* */


/* */
/* ANIMATIONS - TILE HOME BLOG */
/* */
#homeBlogPost {
    --primary-color: #6A0700;
    --primary-font-size: 2.0vw;
    --secondary-font-size: 1vw;
}

#homeBlogPost .feat-button {
    text-decoration: none;
}

#homeBlogPost #feat-container {
    position: relative;
    width: 100%;
    display: inline-block;
    overflow: hidden;
}

/* Static Gradient Overlay - Original Red
#homeBlogPost #feat-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(106, 7, 0, 1), rgba(106, 7, 0, 0));
    z-index: 1;
    border-radius: 5px;
    pointer-events: none;
}
*/


#homeBlogPost #feat-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(135deg, #000000D4 0%, #00000029 37%);
		opacity: 0.75;
    z-index: 1;
    border-radius: 5px;
    pointer-events: none;
}




/* Ensure the image stays below the gradient */
#homeBlogPost .feat-image {
    position: relative;
    z-index: 0; /* Stays below the gradient */
    opacity: 1;
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    backface-visibility: hidden;
    border-radius: 5px;
}

#homeBlogPost .feat-middle {
    transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    z-index: 2; /* Ensure the text and hover effect are on top */
}

/* Hover Effects */
#homeBlogPost #feat-container:hover .feat-image {
    opacity: 0.5;
}

#homeBlogPost #feat-container:hover .feat-middle {
    opacity: 1;
}

#homeBlogPost .feat-title {
    margin: 0 -80px 10px -80px;
    color: var(--primary-color);
    font-size: var(--primary-font-size);
    font-weight: 700;
    word-wrap: break-word;
    white-space: pre-wrap;
    word-break: break-word;
    text-decoration: none;
    line-height: 2.5vw;
}

#homeBlogPost .feat-sub {
    text-decoration: none;
    text-align: center;
    color: var(--primary-color);
    font-size: var(--secondary-font-size);
    font-weight: 400;
}

/* Responsive font sizes */
@media screen and (max-width: 1120px) {  /* Adjust as needed for tablet size */
    #homeBlogPost {
        --primary-font-size: 28px;  /* Adjust as needed */
        --secondary-font-size: 22px;  /* Adjust as needed */
    }

    #homeBlogPost .feat-title {
        line-height: 1.5;
    }
}

@media screen and (max-width: 600px) {
    #homeBlogPost {
        --primary-font-size: 28px;
        --secondary-font-size: 22px;
    }

    #homeBlogPost .feat-title {
        line-height: 1.5;
    }
}


/* ===================== */
/* VARIATION */
/* ===================== */

/* Regular hover effects */
#homeBlogPost #feat-container:hover .feat-image,
#homeBlogPost.active-tile #feat-container .feat-image {
    opacity: 0.5; /* Dim image on hover and for active tiles */
}

#homeBlogPost #feat-container:hover .feat-middle,
#homeBlogPost.active-tile #feat-container .feat-middle {
    opacity: 1; /* Show title and subtext */
}




#homeBlogPost.active-tile .feat-title {
    color: #ffffff;
}

#homeBlogPost.active-tile .feat-sub {
    color: #ffffff;
}

#homeBlogPost.active-tile #feat-container::before {
    background: linear-gradient(to bottom, rgba(106, 7, 0, 0.80), rgba(106, 7, 0, 0.80));
}


/* */
/* ANIMATIONS - TILE HOME BLOG */
/* */












.title-sideways h2 {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-align: right;
}























/* */
/* PEOPLE AND CULTURE */
/* */


/* TAG CLOUD */
.col-tag_cloud {
    display: flex;
    flex-direction: column;
		margin: 0 0 0 -0.35rem;
}

/* Tag Cloud List */
.tag_cloud {
    display: flex;
    flex-flow: row wrap;
    list-style: none;
    padding: 0;
}

.tag_cloud li {
    display: flex;
    align-items: center;
    margin: 0.35rem;
    background-color: transparent;
    border: 2px solid;
    transition: background-color 0.2s ease-in, color 0.2s ease-in;
    cursor: default;
		border-radius: 2px;
}

/* Apply Colors in Sequence */
.tag_cloud li:nth-child(4n+1) { border-color: #6A0700; color: #6A0700; }
.tag_cloud li:nth-child(4n+2) { border-color: #68933F; color: #68933F; }
.tag_cloud li:nth-child(4n+3) { border-color: #10446F; color: #10446F; }
.tag_cloud li:nth-child(4n)   { border-color: #713F89; color: #713F89; }

/* Hover Effect - Fill in with respective color */
.tag_cloud li:nth-child(4n+1):hover { background-color: #6A0700; color: #ffffff; }
.tag_cloud li:nth-child(4n+2):hover { background-color: #68933F; color: #ffffff; }
.tag_cloud li:nth-child(4n+3):hover { background-color: #10446F; color: #ffffff; }
.tag_cloud li:nth-child(4n):hover   { background-color: #713F89; color: #ffffff; }

.tag_cloud li span {
    display: table;
    font-size: var(--font-size-h5);
    font-family: var(--font-heading);
    line-height: 1.3;
    text-transform: uppercase;
    padding: 0.738rem 1.25rem;
}


/* */
/* PEOPLE AND CULTURE - END*/
/* */






















.alumni-carousel .elementor-widget-reviews .elementor-main-swiper, .elementor-widget-testimonial-carousel .elementor-main-swiper {
    width: 100%!important;
}
.alumni-carousel .elementor-swiper-button-prev {
    margin-left: -50px !important;
}
.alumni-carousel .elementor-swiper-button-next {
    margin-right: -50px !important;
}
.alumni-carousel img {
	height: 460px!important;
	width: 350px!important;
}




.page-id-35363 .elementor-widget-tabs .elementor-tab-content {
    padding: 0px!important;
}

.page-id-35363 .elementor-tab-desktop-title {
    padding: 5px 20px 25px 0px!important;
}































/* STEPS */
ul.tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
}

ul.tabs::before {
    content: "";
    position: absolute;
    left: 25px;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #13262F;
    z-index: 0;
}

ul.tabs li {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

ul.tabs li:last-child {
    margin-bottom: 0px;
}

ul.tabs li span.number {
    width: 50px;
    height: 50px;
    background-color: #ffffff;
    border: 2px solid #02869A;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s;
}

ul.tabs li.active span.number, ul.tabs li:hover span.number {
    background-color: #02869A;
    border: 2px solid #02869A;
    color: #ffffff;
}

ul.tabs li span.step {
    margin-left: 20px;
}

.tab_content_container {
    flex-grow: 1;
    padding-left: 20px;
}

.tab_content {
    display: none;
    padding: 20px;
    border-radius: 8px;
    width: 100%;
}

.tab_content.active {
    display: block;
}

.img-steps {
	max-width: 350px!important;
	margin-bottom: 10px;
}

.img-steps-mob {
	max-width: 300px!important;
	margin-bottom: 10px;
}

@media (max-width: 768px) {
    .tabs_wrapper {
        flex-direction: column;
        align-items: center;
    }

    .tab_content_container {
        padding-left: 0;
        padding-top: 20px;
    }
}

/* STEPS MOBILE */
.tab-acc-mobile {
  border: 2px dashed #02869A;
  border-radius: 30px;
}
.tab-acc-mobile .elementor-accordion-item {
	border-bottom: 2px dashed #02869A!important;
}
.tab-acc-mobile .elementor-accordion-item:last-child {
    border-bottom: none !important;
}













.image-slider-aca .swiper-backface-hidden {
	border-radius: 15px!important;
}









/* ✅ Default: 5x4 Grid (For Desktop) */
.custom-animated-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 columns */
    grid-template-rows: repeat(4, 1fr); /* 4 rows */
    gap: 15px;
    width: 100%;
}

/* Make each box a square & scale text */
.custom-grid-box {
    position: relative;
    aspect-ratio: 1/1; /* Ensures square shape */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2vw; /* Scale text dynamically */
    font-weight: 300;
		line-height: 1.2;
    text-align: center;
    cursor: pointer!important;
    border: 3px solid transparent;
		border-radius: 3px;
    transition: color 0.3s ease-in-out;
    overflow: hidden;
    min-width: 100px; /* Prevents boxes from becoming too small */

		opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Class to trigger fade-in animation */
.custom-grid-box.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ✅ Tablet (4x5 grid) */
@media (max-width: 1024px) {
    .custom-animated-grid {
        grid-template-columns: repeat(4, 1fr); /* 4 columns */
        grid-template-rows: repeat(5, 1fr); /* 5 rows */
    }
}

/* ✅ Mobile: Ensure 3 rows & enable horizontal scrolling */
@media (max-width: 768px) {
    .custom-animated-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        white-space: nowrap;
        width: 100%;
    }

    .custom-grid-box {
        flex: 0 0 calc(33.33% - 10px); /* 3 rows high */
        scroll-snap-align: start;
    }
}

/* ✅ Hide scrollbar for a clean look */
.custom-animated-grid::-webkit-scrollbar {
    display: none;
}

/* ✅ Hover effect */
.custom-grid-box::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    z-index: -1;
    transition: transform 0.2s ease-in-out;
}

.custom-grid-box:hover {
    color: white !important;
}

.custom-grid-box:hover::before {
    transform: translateY(-100%);
    transition: transform 0.2s ease-in-out;
}




/* */
/* POLICY*/
/* */
/* List style */
.policy-list ul {
	list-style-type: disc; /* Standard bullet */
	list-style-position: outside; /* Ensures bullets remain outside */
	padding-left: 20px; /* Adjust as needed */
}
.policy-list li {
	text-indent: 0px; /* Pulls the bullet back */
	padding-left: 10px; /* Indents the text while keeping alignment */
}

.policy-list table {
    border: 1px solid #dddddd!important;
}
/* Table style */
.policy-list table, td {
    border: 1px solid #dddddd!important;
}

/* */
/* POLICY - END*/
/* */






.pdf-table-container {
		width: 100%;
}
.pdf-table {
		width: 100%;
		border-collapse: collapse;
		margin-left: -10px;
}
.pdf-cell {
		padding: 15px 0px 15px 0px;
		vertical-align: middle;
}
.pdf-left {
		text-align: left;
}
.pdf-right {
		text-align: right;
		direction: rtl;
}
.pdf-link {
		text-decoration: none;
		display: flex;
		align-items: center;
}
.pdf-icon {
		width: 24px;
		height: 24px;
		margin-right: 10px;
}
.pdf-right .pdf-icon {
		margin-right: 0;
		margin-left: 10px;
}



.pdf-table .bb-icon-file-pdf {
	font-size: 30px;
	color: #6A0700;
}
.pdf-table table, td, th {
    border: 1px solid transparent!important;
}










/* END */
